frags apostar frags
#1
este plugins apuesta el dinero , me ayudan a editarlo para que sea por frags
porfa

en vez de dinero x Frags

y que solo se pueda aportar una vez por ronda



Código PHP:
#include <amxmodx>
#include <cstrike>

new const Ganar[] = { "events/enemy_died.wav" // Ganar una apuesta
new const Perder[] = { "events/friend_died.wav" // Perer una apuesta

enum Colors
{
    
Gris 33,
    
Rojo,
    
Azul
}

enum _DATA_BET BET_AMOUNTBET_MULTIPLIER };

new const 
g_PluginInfo[][] = { "Betting System""v1.0""RusselNight""AMXX" };

new const 
g_BetAmounts[][_DATA_BET] =
{
    { 
2},
    { 
4},
    { 
6},
    { 
8}
};

new 
bool:g_bPlayerBetting[33] = falseg_iBetAmount[33], Float:g_fTimeBetProgress 5.0g_iPozog_iMinAmountDoN;

new 
bool:g_bFirstRound true;

public 
plugin_init()
{
    
register_plugin(g_PluginInfo[0], g_PluginInfo[1], g_PluginInfo[2]);
    
    
register_event("HLTV""ev_NewRound""a""1=0""2=0");

    
register_clcmd("say /ganar""clcmd_Bet");
    
register_clcmd("say /ganartodo""clcmd_Bet");
    
register_clcmd("say /bono""clcmd_Pozo");
}

public 
plugin_precache()
{
    
precache_sound(Ganar)
    
precache_sound(Perder)


public 
client_disconnect(id
{
    
g_bPlayerBetting[id] = false;
    
g_iBetAmount[id] = 0
}

public 
ev_NewRound()
{
    if(
g_bFirstRound)
    {
        
g_iPozo 10;
        
g_iMinAmountDoN 100;
        
g_bFirstRound false;
    }
}

public 
clcmd_Bet(id)
{
    
Show_BetM(id);

    return 
PLUGIN_HANDLED;
}

public 
Show_BetM(id)
{
    static 
szText[256], iMenui;
    
formatex(szTextcharsmax(szText), "Menu de Suerte");
    
iMenu menu_create(szText"Handled_BetM");

    for(
0sizeof(g_BetAmounts); i++)
    {
        
formatex(szTextcharsmax(szText), "%d de $$ - x%d (Multiplicar ganancia por x%d)" g_BetAmounts[i][BET_AMOUNT], g_BetAmounts[i][BET_MULTIPLIER], g_BetAmounts[i][BET_MULTIPLIER]);
        
menu_additem(iMenuszText);
    }

    if(
cs_get_user_money(id) >= g_iMinAmountDoN)
    {
        
menu_additem(iMenu"\wJugar\y ME LA JUEGO");
    }
    else
    {
        
formatex(szTextcharsmax(szText), "\dJugar ME LA JUEGO \y[Necesitas $%d]"g_iMinAmountDoN);
        
menu_additem(iMenuszText);
    }

    
menu_setprop(iMenuMPROP_EXITNAME"\d[\rCerrar Menu\d]");
    
menu_display(idiMenu);
    return 
PLUGIN_HANDLED
}

public 
Handled_BetM(idiMenuiItem)
{
    new 
szName[32];
    
get_user_name(idszNamecharsmax(szName));

    if(
iItem == MENU_EXIT)
    {
        
menu_destroy(iMenu);
        return 
PLUGIN_HANDLED;
    }

    if(
g_bPlayerBetting[id])
    {
        
ChatColor(idAzul"!g[%s]!y Ya estas!g realizando una apuesta."g_PluginInfo[3]);
        return 
PLUGIN_HANDLED;
    }

    if(
iItem >= sizeof(g_BetAmounts))
    {
        if(
cs_get_user_money(id) < g_iMinAmountDoN)
        {
            
ChatColor(idAzul,"!g[%s]!y No tienes!g suficiente $$."g_PluginInfo[3]);
            return 
PLUGIN_HANDLED;
        }

        
ChatColor(0Azul"!g[%s]!t %s!y aposto toda su dinero!g (%d)!y en!g Me la juego!!"g_PluginInfo[3], szNamecs_get_user_money(id));
        
set_task(g_fTimeBetProgress"Bet_DoN_Result"id);
    }
    else
    {
        if(
cs_get_user_money(id) < g_BetAmounts[iItem][BET_AMOUNT])
        {
            
ChatColor(idAzul"!g[%s]!y No tienes!g dinero suficiente!."g_PluginInfo[3]);
            return 
PLUGIN_HANDLED;
        }

        
ChatColor(0Azul"!g[%s]!t %s!y - aposto!g %d de $$."g_PluginInfo[3], szNameg_BetAmounts[iItem][BET_AMOUNT]);
        
set_task(g_fTimeBetProgress"Bet_Result"id);
    }

    
g_bPlayerBetting[id] = true;
    
g_iBetAmount[id] = iItem;

    return 
PLUGIN_HANDLED;
}

public 
Bet_Result(id)
{
    if(!
is_user_connected(id))
        return;

    new 
szName[32];
    
get_user_name(idszNamecharsmax(szName));

    switch(
random_num(1103))
    {
        case 
1..25:
        {
            
ChatColor(0Azul"!g[%s]!t %s!y - Gano!g %d de $$..."g_PluginInfo[3], szNameg_BetAmounts[g_iBetAmount[id]][BET_AMOUNT]);
            
client_cmd(id"spk %s"Ganar)
            
cs_set_user_money(id, (cs_get_user_money(id) + g_BetAmounts[g_iBetAmount[id]][BET_AMOUNT]));
        }
        case 
26..85:
        {
            
ChatColor(0Azul"!g[%s]!t %s!y perdio!g %d de $$!"g_PluginInfo[3], szNameg_BetAmounts[g_iBetAmount[id]][BET_AMOUNT]);
            
client_cmd(id"spk %s"Perder)

            
g_iPozo += (g_BetAmounts[g_iBetAmount[id]][BET_AMOUNT]/4);
        }
        case 
86:
        {
            
ChatColor(0Azul"!g[%s]!t %s -!g GANO EL POZO! - !y%d de $$!"g_PluginInfo[3], szNameg_iPozo);
            
client_cmd(id"spk %s"Ganar)
            
cs_set_user_money(id, (cs_get_user_money(id) + g_iPozo));
            
g_iPozo 10;
        }
        case 
87..90:
        {
            
ChatColor(0Azul"!g[%s]!t %s!y Gano!g %d de $$ X%d!!g ( +%d $$)"g_PluginInfo[3], szNameg_BetAmounts[g_iBetAmount[id]][BET_AMOUNT], g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER], g_BetAmounts[g_iBetAmount[id]][BET_AMOUNT]*g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]);
            
cs_set_user_money(idcs_get_user_money(id) + g_BetAmounts[g_iBetAmount[id]][BET_AMOUNT] * g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER])
            
client_cmd(id"spk %s"Ganar)
        }
        case 
91..94:
        {
            
ChatColor(0Azul"!g[%s]!t %s!y Gano!g 16x%d de $$!g (+%d $$)"g_PluginInfo[3], szNameg_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER], (16*g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]));
            
client_cmd(id"spk %s"Ganar)
            
cs_set_user_money(idcs_get_user_money(id) + g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]*16);
        }
        case 
95..98:
        {
            
ChatColor(0Azul"!g[%s]!t %s!y Gano!g 32x%d de $$!g (+%d $$)"g_PluginInfo[3], szNameg_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER], (32*g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]));
            
client_cmd(id"spk %s"Ganar)
            
cs_set_user_money(idcs_get_user_money(id) + g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]*32);
        }
        case 
99..102:
        {
            
ChatColor(0Azul"!g[%s]!t %s!y Gano!g 88x%d de $$!g (+%d $$)"g_PluginInfo[3], szNameg_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER], (88*g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]));
            
client_cmd(id"spk %s"Ganar)
            
cs_set_user_money(idcs_get_user_money(id) + g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]*88);
        }
        case 
103:
        {
            
ChatColor(0Azul"!g[%s]!t %s!y Gano!g 160x%d de $$!g (+%d $$)"g_PluginInfo[3], szNameg_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER], (160*g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]));
            
client_cmd(id"spk %s"Ganar)
            
cs_set_user_money(idcs_get_user_money(id) + g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]*160);
        }
    }

    
g_bPlayerBetting[id] = false;
    
g_iBetAmount[id] = 0;
}

public 
Bet_DoN_Result(id)
{
    if(!
is_user_connected(id))
        return;

    new 
szName[32];
    
get_user_name(idszNamecharsmax(szName));

    switch(
random_num(1100))
    {
        case 
1..20:
        {
            
ChatColor(0Azul"!g[%s]!t %s!y gano el!g DOBLE DE SU DINERO!! !g(+%d $$)"g_PluginInfo[3], szNamecs_get_user_money(id));
            
cs_set_user_money(idcs_get_user_money(id) * 2);
        }
        case 
21..100:
        {
            
ChatColor(0Azul"!g[%s]r!t %s!y perdio toda su!g DINEROy en el!g Me la juego!! (-%d $$)"g_PluginInfo[3], szNamecs_get_user_money(id))
            
client_cmd(id"spk %s"Perder)
            
g_iPozo += (cs_get_user_money(id) / 4);
            
cs_set_user_money(id0);
        }
    }

    
g_bPlayerBetting[id] = false;
    
g_iBetAmount[id] = 0;
}

public 
clcmd_Pozo(id)
{
    
ChatColor(idAzul"!g[%s]!y Dinero acumulado en el!g POZO: %d $$"g_PluginInfo[3], g_iPozo);
    return 
PLUGIN_HANDLED;
}

stock ChatColor(idColors:colormsg[], any:...)
{
    static 
szMsg[191], msgSayText;
    
#define teaminfo_sent(%0) (TeamInfoSent & (1<<%0))
    
    
if (!msgSayText)
        
msgSayText get_user_msgid("SayText");
    
    
vformat(szMsg190msg4);

    
replace_all(szMsg190"!g""^4");
    
replace_all(szMsg190"!y""^1");
    
replace_all(szMsg190"!t""^3");
    
    
message_begin(id MSG_ONE_UNRELIABLE MSG_BROADCASTmsgSayText, .player id);
    
write_byte(color ? (_:color) : 33);
    
write_string(szMsg);
    
message_end();
}

public 
chatcolor_send_teaminfo(id)
{
    if (!
is_user_connected(id))
        return;
    
    static 
msgTeamInfo;
    if (!
msgTeamInfo)
        
msgTeamInfo get_user_msgid("TeamInfo");
    
    static const 
pTeams[][] = { """TERRORIST""CT" };
    
    for (new 
pid 0pid 3pid++)
    {
        
message_begin(MSG_ONE_UNRELIABLEmsgTeamInfo, .player id)
        
write_byte(pid+33)
        
write_string(pTeams[pid])
        
message_end()
    }

Responder
#2
Agrega #include <fun> al code y modiifica todo lo que dice cs_get_user_money por get_user_frags Con ello bastaría.
Con eso apostarías frags y ganarías dinero.
g_iMinAmountDoN = 100; cambialo por g_iMinAmountDoN = 5; Eso sería cada para apostar el minmo de 5 frags.
PD: Líneas como estas: [cs_set_user_money(id, cs_get_user_money(id) + g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]*160);] Dejalas como esta.
Responder
#3
la ides es ganar frags no dinero . apostar los frags perder los frags

me mataste nose como hacerlo

nose mucho editar pero cambie lo que me dijiste .. si hay alguien que sepa me de una manito

de esta linea hace abajo
public Bet_Result(id)
no me deja cambiar

cs_set_user_money(id, (cs_get_user_money(id) + g_BetAmounts[g_iBetAmount[id]][BET_AMOUNT]));

por

get_user_frags(id, (get_user_frags(id) + g_BetAmounts[g_iBetAmount[id]][BET_AMOUNT]));

Código PHP:
#include <amxmodx>
#include <cstrike>
#include <fun>

new const Ganar[] = { "events/enemy_died.wav" // Ganar una apuesta
new const Perder[] = { "events/friend_died.wav" // Perer una apuesta

enum Colors
{
    
Gris 33,
    
Rojo,
    
Azul
}

enum _DATA_BET BET_AMOUNTBET_MULTIPLIER };

new const 
g_PluginInfo[][] = { "Betting System""v1.0""RusselNight""AMXX" };

new const 
g_BetAmounts[][_DATA_BET] =
{
    { 
2},
    { 
4},
    { 
6},
    { 
8}
};

new 
bool:g_bPlayerBetting[33] = falseg_iBetAmount[33], Float:g_fTimeBetProgress 5.0g_iPozog_iMinAmountDoN;

new 
bool:g_bFirstRound true;

public 
plugin_init()
{
    
register_plugin(g_PluginInfo[0], g_PluginInfo[1], g_PluginInfo[2]);
    
    
register_event("HLTV""ev_NewRound""a""1=0""2=0");

    
register_clcmd("say /ganar""clcmd_Bet");
    
register_clcmd("say /ganartodo""clcmd_Bet");
    
register_clcmd("say /bono""clcmd_Pozo");
}

public 
plugin_precache()
{
    
precache_sound(Ganar)
    
precache_sound(Perder)


public 
client_disconnect(id
{
    
g_bPlayerBetting[id] = false;
    
g_iBetAmount[id] = 0
}

public 
ev_NewRound()
{
    if(
g_bFirstRound)
    {
        
g_iPozo 10;
        
g_iMinAmountDoN 100;
        
g_bFirstRound false;
    }
}

public 
clcmd_Bet(id)
{
    
Show_BetM(id);

    return 
PLUGIN_HANDLED;
}

public 
Show_BetM(id)
{
    static 
szText[256], iMenui;
    
formatex(szTextcharsmax(szText), "Menu de Suerte");
    
iMenu menu_create(szText"Handled_BetM");

    for(
0sizeof(g_BetAmounts); i++)
    {
        
formatex(szTextcharsmax(szText), "%d de $$ - x%d (Multiplicar ganancia por x%d)" g_BetAmounts[i][BET_AMOUNT], g_BetAmounts[i][BET_MULTIPLIER], g_BetAmounts[i][BET_MULTIPLIER]);
        
menu_additem(iMenuszText);
    }

    if(
get_user_frags(id) >= g_iMinAmountDoN)
    {
        
menu_additem(iMenu"\wJugar\y ME LA JUEGO");
    }
    else
    {
        
formatex(szTextcharsmax(szText), "\dJugar ME LA JUEGO \y[Necesitas $%d]"g_iMinAmountDoN);
        
menu_additem(iMenuszText);
    }

    
menu_setprop(iMenuMPROP_EXITNAME"\d[\rCerrar Menu\d]");
    
menu_display(idiMenu);
    return 
PLUGIN_HANDLED
}

public 
Handled_BetM(idiMenuiItem)
{
    new 
szName[32];
    
get_user_name(idszNamecharsmax(szName));

    if(
iItem == MENU_EXIT)
    {
        
menu_destroy(iMenu);
        return 
PLUGIN_HANDLED;
    }

    if(
g_bPlayerBetting[id])
    {
        
ChatColor(idAzul"!g[%s]!y Ya estas!g realizando una apuesta."g_PluginInfo[3]);
        return 
PLUGIN_HANDLED;
    }

    if(
iItem >= sizeof(g_BetAmounts))
    {
        if(
get_user_frags(id) < g_iMinAmountDoN)
        {
            
ChatColor(idAzul,"!g[%s]!y No tienes!g suficiente $$."g_PluginInfo[3]);
            return 
PLUGIN_HANDLED;
        }

        
ChatColor(0Azul"!g[%s]!t %s!y aposto toda su dinero!g (%d)!y en!g Me la juego!!"g_PluginInfo[3], szNameget_user_frags(id));
        
set_task(g_fTimeBetProgress"Bet_DoN_Result"id);
    }
    else
    {
        if(
get_user_frags(id) < g_BetAmounts[iItem][BET_AMOUNT])
        {
            
ChatColor(idAzul"!g[%s]!y No tienes!g dinero suficiente!."g_PluginInfo[3]);
            return 
PLUGIN_HANDLED;
        }

        
ChatColor(0Azul"!g[%s]!t %s!y - aposto!g %d de $$."g_PluginInfo[3], szNameg_BetAmounts[iItem][BET_AMOUNT]);
        
set_task(g_fTimeBetProgress"Bet_Result"id);
    }

    
g_bPlayerBetting[id] = true;
    
g_iBetAmount[id] = iItem;

    return 
PLUGIN_HANDLED;
}

public 
Bet_Result(id)
{
    if(!
is_user_connected(id))
        return;

    new 
szName[32];
    
get_user_name(idszNamecharsmax(szName));

    switch(
random_num(1103))
    {
        case 
1..25:
        {
            
ChatColor(0Azul"!g[%s]!t %s!y - Gano!g %d de $$..."g_PluginInfo[3], szNameg_BetAmounts[g_iBetAmount[id]][BET_AMOUNT]);
            
client_cmd(id"spk %s"Ganar)
           
cs_set_user_money(id, (cs_get_user_money(id) + g_BetAmounts[g_iBetAmount[id]][BET_AMOUNT]));
        }
        case 
26..85:
        {
            
ChatColor(0Azul"!g[%s]!t %s!y perdio!g %d de $$!"g_PluginInfo[3], szNameg_BetAmounts[g_iBetAmount[id]][BET_AMOUNT]);
            
client_cmd(id"spk %s"Perder)

            
g_iPozo += (g_BetAmounts[g_iBetAmount[id]][BET_AMOUNT]/4);
        }
        case 
86:
        {
            
ChatColor(0Azul"!g[%s]!t %s -!g GANO EL POZO! - !y%d de $$!"g_PluginInfo[3], szNameg_iPozo);
            
client_cmd(id"spk %s"Ganar)
    
cs_set_user_money(id, (cs_get_user_money(id) + g_iPozo));
            
g_iPozo 10;
        }
        case 
87..90:
        {
            
ChatColor(0Azul"!g[%s]!t %s!y Gano!g %d de $$ X%d!!g ( +%d $$)"g_PluginInfo[3], szNameg_BetAmounts[g_iBetAmount[id]][BET_AMOUNT], g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER], g_BetAmounts[g_iBetAmount[id]][BET_AMOUNT]*g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]);
            
cs_set_user_money(idcs_get_user_money(id) + g_BetAmounts[g_iBetAmount[id]][BET_AMOUNT] * g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER])
            
client_cmd(id"spk %s"Ganar)
        }
        case 
91..94:
        {
            
ChatColor(0Azul"!g[%s]!t %s!y Gano!g 16x%d de $$!g (+%d $$)"g_PluginInfo[3], szNameg_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER], (16*g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]));
            
client_cmd(id"spk %s"Ganar)
            
cs_set_user_money(idcs_get_user_money(id) + g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]*16);
        }
        case 
95..98:
        {
            
ChatColor(0Azul"!g[%s]!t %s!y Gano!g 32x%d de $$!g (+%d $$)"g_PluginInfo[3], szNameg_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER], (32*g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]));
            
client_cmd(id"spk %s"Ganar)
            
cs_set_user_money(idcs_get_user_money(id) + g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]*32);
        }
        case 
99..102:
        {
            
ChatColor(0Azul"!g[%s]!t %s!y Gano!g 88x%d de $$!g (+%d $$)"g_PluginInfo[3], szNameg_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER], (88*g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]));
            
client_cmd(id"spk %s"Ganar)
            
cs_set_user_money(idcs_get_user_money(id) + g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]*88);
        }
        case 
103:
        {
            
ChatColor(0Azul"!g[%s]!t %s!y Gano!g 160x%d de $$!g (+%d $$)"g_PluginInfo[3], szNameg_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER], (160*g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]));
            
client_cmd(id"spk %s"Ganar)
            
cs_set_user_money(idcs_get_user_money(id) + g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]*160);
        }
    }

    
g_bPlayerBetting[id] = false;
    
g_iBetAmount[id] = 0;
}

public 
Bet_DoN_Result(id)
{
    if(!
is_user_connected(id))
        return;

    new 
szName[32];
    
get_user_name(idszNamecharsmax(szName));

    switch(
random_num(1100))
    {
        case 
1..20:
        {
            
ChatColor(0Azul"!g[%s]!t %s!y gano el!g DOBLE DE SU DINERO!! !g(+%d $$)"g_PluginInfo[3], szNamecs_get_user_money(id));
            
cs_set_user_money(idcs_get_user_money(id) * 2);
        }
        case 
21..100:
        {
            
ChatColor(0Azul"!g[%s]r!t %s!y perdio toda su!g DINEROy en el!g Me la juego!! (-%d $$)"g_PluginInfo[3], szNamecs_get_user_money(id))
            
client_cmd(id"spk %s"Perder)
            
g_iPozo += (cs_get_user_money(id) / 4);
            
cs_set_user_money(id0);
        }
    }

    
g_bPlayerBetting[id] = false;
    
g_iBetAmount[id] = 0;
}

public 
clcmd_Pozo(id)
{
    
ChatColor(idAzul"!g[%s]!y Dinero acumulado en el!g POZO: %d $$"g_PluginInfo[3], g_iPozo);
    return 
PLUGIN_HANDLED;
}

stock ChatColor(idColors:colormsg[], any:...)
{
    static 
szMsg[191], msgSayText;
    
#define teaminfo_sent(%0) (TeamInfoSent & (1<<%0))
    
    
if (!msgSayText)
        
msgSayText get_user_msgid("SayText");
    
    
vformat(szMsg190msg4);

    
replace_all(szMsg190"!g""^4");
    
replace_all(szMsg190"!y""^1");
    
replace_all(szMsg190"!t""^3");
    
    
message_begin(id MSG_ONE_UNRELIABLE MSG_BROADCASTmsgSayText, .player id);
    
write_byte(color ? (_:color) : 33);
    
write_string(szMsg);
    
message_end();
}

public 
chatcolor_send_teaminfo(id)
{
    if (!
is_user_connected(id))
        return;
    
    static 
msgTeamInfo;
    if (!
msgTeamInfo)
        
msgTeamInfo get_user_msgid("TeamInfo");
    
    static const 
pTeams[][] = { """TERRORIST""CT" };
    
    for (new 
pid 0pid 3pid++)
    {
        
message_begin(MSG_ONE_UNRELIABLEmsgTeamInfo, .player id)
        
write_byte(pid+33)
        
write_string(pTeams[pid])
        
message_end()
    }

Responder
#4
Código PHP:
#include <amxmodx>
#include <cstrike>

#define BET_FRAGS

#if defined BET_FRAGS
#include <fun>
#endif

new const Ganar[] = { "events/enemy_died.wav" // Ganar una apuesta
new const Perder[] = { "events/friend_died.wav" // Perer una apuesta

enum Colors
{
    
Gris 33,
    
Rojo,
    
Azul
}

enum _DATA_BET BET_AMOUNTBET_MULTIPLIER };

new const 
g_PluginInfo[][] = { "Betting System""v1.0""RusselNight""AMXX" };

new const 
g_BetAmounts[][_DATA_BET] =
{
    { 
2},
    { 
4},
    { 
6},
    { 
8}
};

new 
bool:g_bPlayerBetting[33] = falseg_iBetAmount[33], Float:g_fTimeBetProgress 5.0g_iPozog_iMinAmountDoN;

new 
bool:g_bFirstRound true;

public 
plugin_init()
{
    
register_plugin(g_PluginInfo[0], g_PluginInfo[1], g_PluginInfo[2]);
    
    
register_event("HLTV""ev_NewRound""a""1=0""2=0");

    
register_clcmd("say /ganar""clcmd_Bet");
    
register_clcmd("say /ganartodo""clcmd_Bet");
    
register_clcmd("say /bono""clcmd_Pozo");
}

public 
plugin_precache()
{
    
precache_sound(Ganar)
    
precache_sound(Perder)


public 
client_disconnect(id
{
    
g_bPlayerBetting[id] = false;
    
g_iBetAmount[id] = 0
}

public 
ev_NewRound()
{
    if(
g_bFirstRound)
    {
        
g_iPozo 10;
        
g_iMinAmountDoN 100;
        
g_bFirstRound false;
    }
}

public 
clcmd_Bet(id)
{
    
Show_BetM(id);

    return 
PLUGIN_HANDLED;
}

public 
Show_BetM(id)
{
    static 
szText[256], iMenui;
    
formatex(szTextcharsmax(szText), "Menu de Suerte");
    
iMenu menu_create(szText"Handled_BetM");

    for(
0sizeof(g_BetAmounts); i++)
    {
        
#if defined BET_FRAGS
        
formatex(szTextcharsmax(szText), "%d frags - x%d (Multiplicar ganancia por x%d)" g_BetAmounts[i][BET_AMOUNT], g_BetAmounts[i][BET_MULTIPLIER], g_BetAmounts[i][BET_MULTIPLIER]);
        
#else 
        
formatex(szTextcharsmax(szText), "%d de $$ - x%d (Multiplicar ganancia por x%d)" g_BetAmounts[i][BET_AMOUNT], g_BetAmounts[i][BET_MULTIPLIER], g_BetAmounts[i][BET_MULTIPLIER]);
        
#endif
        
        
menu_additem(iMenuszText);
    }

    if(
cs_get_user_money(id) >= g_iMinAmountDoN)
    {
        
menu_additem(iMenu"\wJugar\y ME LA JUEGO");
    }
    else
    {
        
#if defined BET_FRAGS
        
formatex(szTextcharsmax(szText), "\dJugar ME LA JUEGO \y[Necesitas %d Frags]"g_iMinAmountDoN);
        
#else 
        
formatex(szTextcharsmax(szText), "\dJugar ME LA JUEGO \y[Necesitas $%d]"g_iMinAmountDoN);
        
#endif
        
menu_additem(iMenuszText);
    }

    
menu_setprop(iMenuMPROP_EXITNAME"\d[\rCerrar Menu\d]");
    
menu_display(idiMenu);
    return 
PLUGIN_HANDLED
}

public 
Handled_BetM(idiMenuiItem)
{
    new 
szName[32];
    
get_user_name(idszNamecharsmax(szName));

    if(
iItem == MENU_EXIT)
    {
        
menu_destroy(iMenu);
        return 
PLUGIN_HANDLED;
    }

    if(
g_bPlayerBetting[id])
    {
        
ChatColor(idAzul"!g[%s]!y Ya estas!g realizando una apuesta."g_PluginInfo[3]);
        return 
PLUGIN_HANDLED;
    }

    if(
iItem >= sizeof(g_BetAmounts))
    {
        
#if defined BET_FRAGS
        
if(get_user_frags(id) < g_iMinAmountDoN)
        {
            
ChatColor(idAzul,"!g[%s]!y No tienes!g suficientes frags."g_PluginInfo[3]);
            return 
PLUGIN_HANDLED;
        }

        
ChatColor(0Azul"!g[%s]!t %s!y aposto todos sus frags!g (%d)!y en!g Me la juego!!"g_PluginInfo[3], szNameget_user_frags(id));
           
#else
           
if(cs_get_user_money(id) < g_iMinAmountDoN)
        {
            
ChatColor(idAzul,"!g[%s]!y No tienes!g suficiente $$."g_PluginInfo[3]);
            return 
PLUGIN_HANDLED;
        }

        
ChatColor(0Azul"!g[%s]!t %s!y aposto toda su dinero!g (%d)!y en!g Me la juego!!"g_PluginInfo[3], szNamecs_get_user_money(id));
        
#endif
        
        
set_task(g_fTimeBetProgress"Bet_DoN_Result"id);
    }
    else
    {
        
#if defined BET_FRAGS
        
if(get_user_frags(id) < g_BetAmounts[iItem][BET_AMOUNT])
        {
            
ChatColor(idAzul"!g[%s]!y No tienes!g frags suficientes!."g_PluginInfo[3]);
            return 
PLUGIN_HANDLED;
        }

        
ChatColor(0Azul"!g[%s]!t %s!y - aposto!g %d frags."g_PluginInfo[3], szNameg_BetAmounts[iItem][BET_AMOUNT]);
        
#else 
        
if(cs_get_user_money(id) < g_BetAmounts[iItem][BET_AMOUNT])
        {
            
ChatColor(idAzul"!g[%s]!y No tienes!g dinero suficiente!."g_PluginInfo[3]);
            return 
PLUGIN_HANDLED;
        }

        
ChatColor(0Azul"!g[%s]!t %s!y - aposto!g %d de $$."g_PluginInfo[3], szNameg_BetAmounts[iItem][BET_AMOUNT]);
        
#endif

        
set_task(g_fTimeBetProgress"Bet_Result"id);
    }

    
g_bPlayerBetting[id] = true;
    
g_iBetAmount[id] = iItem;

    return 
PLUGIN_HANDLED;
}

public 
Bet_Result(id)
{
    if(!
is_user_connected(id))
        return;

    new 
szName[32];
    
get_user_name(idszNamecharsmax(szName));

    switch(
random_num(1103))
    {
        
#if defined BET_FRAGS
        
case 1..25:
        {
            
ChatColor(0Azul"!g[%s]!t %s!y - Gano!g %d Frags..."g_PluginInfo[3], szNameg_BetAmounts[g_iBetAmount[id]][BET_AMOUNT]);
            
client_cmd(id"spk %s"Ganar)            
            
set_user_frags(id, (get_user_frags(id) + g_BetAmounts[g_iBetAmount[id]][BET_AMOUNT]));
        }
        case 
26..85:
        {
            
ChatColor(0Azul"!g[%s]!t %s!y perdio!g %d Frags!"g_PluginInfo[3], szNameg_BetAmounts[g_iBetAmount[id]][BET_AMOUNT]);
            
client_cmd(id"spk %s"Perder)

            
g_iPozo += (g_BetAmounts[g_iBetAmount[id]][BET_AMOUNT]/4);
        }
        case 
86:
        {
            
ChatColor(0Azul"!g[%s]!t %s -!g GANO EL POZO! - !y%d Frags!"g_PluginInfo[3], szNameg_iPozo);
            
client_cmd(id"spk %s"Ganar)
            
set_user_frags(id, (get_user_frags(id) + g_iPozo));
            
g_iPozo 10;
        }
        case 
87..90:
        {
            
ChatColor(0Azul"!g[%s]!t %s!y Gano!g %d Frags X%d!!g ( +%d Frags)"g_PluginInfo[3], szNameg_BetAmounts[g_iBetAmount[id]][BET_AMOUNT], g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER], g_BetAmounts[g_iBetAmount[id]][BET_AMOUNT]*g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]);
            
set_user_frags(idget_user_frags(id) + g_BetAmounts[g_iBetAmount[id]][BET_AMOUNT] * g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER])
            
client_cmd(id"spk %s"Ganar)
        }
        case 
91..94:
        {
            
ChatColor(0Azul"!g[%s]!t %s!y Gano!g 16x%d Frags (+%d Frags)"g_PluginInfo[3], szNameg_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER], (16*g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]));
            
client_cmd(id"spk %s"Ganar)
            
set_user_frags(idget_user_frags(id) + g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]*16);
        }
        case 
95..98:
        {
            
ChatColor(0Azul"!g[%s]!t %s!y Gano!g 32x%d Frags!g (+%d Frags)"g_PluginInfo[3], szNameg_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER], (32*g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]));
            
client_cmd(id"spk %s"Ganar)
            
set_user_frags(idget_user_frags(id) + g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]*32);
        }
        case 
99..102:
        {
            
ChatColor(0Azul"!g[%s]!t %s!y Gano!g 88x%d Frags!g (+%d Frags)"g_PluginInfo[3], szNameg_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER], (88*g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]));
            
client_cmd(id"spk %s"Ganar)
            
set_user_frags(idget_user_frags(id) + g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]*88);
        }
        case 
103:
        {
            
ChatColor(0Azul"!g[%s]!t %s!y Gano!g 160x%d Frags!g (+%d Frags)"g_PluginInfo[3], szNameg_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER], (160*g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]));
            
client_cmd(id"spk %s"Ganar)
            
set_user_frags(idget_user_frags(id) + g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]*160);
        }
        
#else 
         
case 1..25:
        {
            
ChatColor(0Azul"!g[%s]!t %s!y - Gano!g %d de $$..."g_PluginInfo[3], szNameg_BetAmounts[g_iBetAmount[id]][BET_AMOUNT]);
            
client_cmd(id"spk %s"Ganar)
            
cs_set_user_money(id, (cs_get_user_money(id) + g_BetAmounts[g_iBetAmount[id]][BET_AMOUNT]));
        }
        case 
26..85:
        {
            
ChatColor(0Azul"!g[%s]!t %s!y perdio!g %d de $$!"g_PluginInfo[3], szNameg_BetAmounts[g_iBetAmount[id]][BET_AMOUNT]);
            
client_cmd(id"spk %s"Perder)

            
g_iPozo += (g_BetAmounts[g_iBetAmount[id]][BET_AMOUNT]/4);
        }
        case 
86:
        {
            
ChatColor(0Azul"!g[%s]!t %s -!g GANO EL POZO! - !y%d de $$!"g_PluginInfo[3], szNameg_iPozo);
            
client_cmd(id"spk %s"Ganar)
            
cs_set_user_money(id, (cs_get_user_money(id) + g_iPozo));
            
g_iPozo 10;
        }
        case 
87..90:
        {
            
ChatColor(0Azul"!g[%s]!t %s!y Gano!g %d de $$ X%d!!g ( +%d $$)"g_PluginInfo[3], szNameg_BetAmounts[g_iBetAmount[id]][BET_AMOUNT], g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER], g_BetAmounts[g_iBetAmount[id]][BET_AMOUNT]*g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]);
            
cs_set_user_money(idcs_get_user_money(id) + g_BetAmounts[g_iBetAmount[id]][BET_AMOUNT] * g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER])
            
client_cmd(id"spk %s"Ganar)
        }
        case 
91..94:
        {
            
ChatColor(0Azul"!g[%s]!t %s!y Gano!g 16x%d de $$!g (+%d $$)"g_PluginInfo[3], szNameg_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER], (16*g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]));
            
client_cmd(id"spk %s"Ganar)
            
cs_set_user_money(idcs_get_user_money(id) + g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]*16);
        }
        case 
95..98:
        {
            
ChatColor(0Azul"!g[%s]!t %s!y Gano!g 32x%d de $$!g (+%d $$)"g_PluginInfo[3], szNameg_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER], (32*g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]));
            
client_cmd(id"spk %s"Ganar)
            
cs_set_user_money(idcs_get_user_money(id) + g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]*32);
        }
        case 
99..102:
        {
            
ChatColor(0Azul"!g[%s]!t %s!y Gano!g 88x%d de $$!g (+%d $$)"g_PluginInfo[3], szNameg_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER], (88*g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]));
            
client_cmd(id"spk %s"Ganar)
            
cs_set_user_money(idcs_get_user_money(id) + g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]*88);
        }
        case 
103:
        {
            
ChatColor(0Azul"!g[%s]!t %s!y Gano!g 160x%d de $$!g (+%d $$)"g_PluginInfo[3], szNameg_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER], (160*g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]));
            
client_cmd(id"spk %s"Ganar)
            
cs_set_user_money(idcs_get_user_money(id) + g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]*160);
        }
        
#endif
    
}

    
g_bPlayerBetting[id] = false;
    
g_iBetAmount[id] = 0;
}

public 
Bet_DoN_Result(id)
{
    if(!
is_user_connected(id))
        return;

    new 
szName[32];
    
get_user_name(idszNamecharsmax(szName));

    switch(
random_num(1100))
    {
        
#if defined BET_FRAGS
        
case 1..20:
        {

            
ChatColor(0Azul"!g[%s]!t %s!y gano el!g DOBLE DE SUS FRAGS!! !g(+%d Frags)"g_PluginInfo[3], szNameget_user_frags(id));            
            
set_user_frags(idget_user_frags(id) * 2);
        }
        case 
21..100:
        {
            
ChatColor(0Azul"!g[%s]r!t %s!y perdio todos sus!g FRAGS !yen el!g Me la juego!! (-%d Frags)"g_PluginInfo[3], szNameget_user_frags(id))
            
client_cmd(id"spk %s"Perder)
            
g_iPozo += (get_user_frags(id) / 4);
            
set_user_frags(id0);
        }
        
#else
        
case 1..20:
        {

            
ChatColor(0Azul"!g[%s]!t %s!y gano el!g DOBLE DE SU DINERO!! !g(+%d $$)"g_PluginInfo[3], szNamecs_get_user_money(id));
            
cs_set_user_money(idcs_get_user_money(id) * 2);
        }
        case 
21..100:
        {
            
ChatColor(0Azul"!g[%s]r!t %s!y perdio toda su!g DINEROy en el!g Me la juego!! (-%d $$)"g_PluginInfo[3], szNamecs_get_user_money(id))
            
client_cmd(id"spk %s"Perder)
            
g_iPozo += (cs_get_user_money(id) / 4);
            
cs_set_user_money(id0);
        }
        
#endif
    
}

    
g_bPlayerBetting[id] = false;
    
g_iBetAmount[id] = 0;
}

public 
clcmd_Pozo(id)
{
    
#if defined BET_FRAGS
    
ChatColor(idAzul"!g[%s]!y Frags acumulados en el!g POZO: %d"g_PluginInfo[3], g_iPozo);
    
#else
    
ChatColor(idAzul"!g[%s]!y Dinero acumulado en el!g POZO: %d $$"g_PluginInfo[3], g_iPozo);
    
#endif
    
return PLUGIN_HANDLED;
}

stock ChatColor(idColors:colormsg[], any:...)
{
    static 
szMsg[191], msgSayText;
    
#define teaminfo_sent(%0) (TeamInfoSent & (1<<%0))
    
    
if (!msgSayText)
        
msgSayText get_user_msgid("SayText");
    
    
vformat(szMsg190msg4);

    
replace_all(szMsg190"!g""^4");
    
replace_all(szMsg190"!y""^1");
    
replace_all(szMsg190"!t""^3");
    
    
message_begin(id MSG_ONE_UNRELIABLE MSG_BROADCASTmsgSayText, .player id);
    
write_byte(color ? (_:color) : 33);
    
write_string(szMsg);
    
message_end();
}

public 
chatcolor_send_teaminfo(id)
{
    if (!
is_user_connected(id))
        return;
    
    static 
msgTeamInfo;
    if (!
msgTeamInfo)
        
msgTeamInfo get_user_msgid("TeamInfo");
    
    static const 
pTeams[][] = { """TERRORIST""CT" };
    
    for (new 
pid 0pid 3pid++)
    {
        
message_begin(MSG_ONE_UNRELIABLEmsgTeamInfo, .player id)
        
write_byte(pid+33)
        
write_string(pTeams[pid])
        
message_end()
    }

[Imagen: bvpq9q-6.png]

NO DOY AYUDA VIA MENSAJE PRIVADO

* Si requieres algún servicio de pago puedes contactarme vía MP o en mi facebook
Responder
#5
plugins funciona bien pero ,
me sale eso
[AMXX] No tienes suficientes frags.


se supone que tengo artos frags
este es mi carpeta donde estan guardados los frags


nfvault/Ranguitos.txt

tonces cuando apusto me sale esto

[AMXX] No tienes suficientes frags.


tonces me gustaria ver si se puede agregar ese archivo donde estan registrados todo los frags de los player y que sea 1 apuesta por ronda si es que se puede
Responder
#6
(12/05/2019, 01:28 AM)javier123 escribió: plugins funciona bien pero ,
me sale eso
[AMXX] No tienes suficientes frags.


se supone que tengo artos frags
este es mi carpeta donde estan guardados los frags


nfvault/Ranguitos.txt

tonces cuando apusto me sale esto

[AMXX] No tienes suficientes frags.


tonces me gustaria ver si se puede agregar ese archivo donde estan registrados todo los frags de los player y que sea 1 apuesta por ronda si es que se puede


off : Deberias haber explicado de ante de que tenias un plugins de rangos por frags ya que penso kikizon que ocuparias los frags por default que trae el cs

On : Debes crear una native para llamar la variable de tus frags a tu plugin de apostar
Responder
#7
estoy usando los rangos del kikizon solo que modifique Ranguitos.txt

nfvault/Ranguitos.txt

nose como se hace eso por eso estaba pidiendo ayuda a los amigos de este foro
Responder
#8
quien me puede ayudar ?



plugins funciona bien pero ,
me sale eso
[AMXX] No tienes suficientes frags.


se supone que tengo artos frags
este es mi carpeta donde estan guardados los frags


nfvault/Ranguitos.txt

tonces cuando apusto me sale esto

[AMXX] No tienes suficientes frags.


tonces me gustaria ver si se puede agregar ese archivo donde estan registrados todo los frags de los player y que sea 1 apuesta por ronda si es que se puede

estoy usando los rangos del kikizon solo que modifique Ranguitos.txt

nfvault/Ranguitos.txt
Responder
#9
Debes unir los plugins, si no quieres unirlos sacale una native que de los frags que tienes y puedas editarlos.
Responder
#10
YA COMO LO HAGO
Código PHP:
/*    -----------------------------------------
Creditos: Solo para Raulitop, por el hook say :3

Version Con Guardado NFVAULT
-------------------------------            */

#include <amxmisc>
#include <fakemeta>
#include <nfvault>

new const PLUGIN[] = "Rangos CS:GO"
#define VERSION "1.0"
new const AUTHOR[] = "kikizon"

/* =============================================
|= [EMPIEZA SECCION MODIFICABLE] =|
==============================================*/
/* ====================================
*[CONSTANTES]*
=====================================*/ 
new const Prefijo[] = "!g[RANGOS]!y" // Prefijo en say
new const Sonido[] = "rango/powerup.wav" // Sonido Rango UP
/* ====================================
*[CONST NOMBRES DE RANGOS]*
=====================================*/
enum _:DATA
{
    
NOMBRE[30],
    
FRAGS
}
new const 
Rangos[][DATA] = {
    { 
"[topo]"200 },
    { 
"[chchi]"400 },
    { 
"[feli]"500 },
    { 
"[tol]"700 },
    { 
"[666]"800 },
    { 
"[anues]"1000 },
    { 
"[luli]"1500 },
    { 
"[lego]"2000 },
    { 
"[maisis]"3000 },
    { 
"[trico]"4000 },
    { 
"[corazon]"5000 },
    { 
"[mamita]"8000 },
    { 
"[papito]",9000 },
    { 
"[feliz]"20000 }
}

/* =============================================
|= [TERMINA SECCION MODIFICABLE] =|
==============================================*/

/* ====================================
*[VARIABLES]*
=====================================*/
new g_rango[33], g_frags[33]
new 
g_maxplayersg_msgTeamInfog_msgSayTextg_playername[33][32];
#define TASK_HUD 2100
#define ID_HUD (taskid - TASK_HUD)
#define XD is_user_connected(id) || !is_user_bot(id) || !is_user_hltv(id)
new VaultRango[128], szRangos[180], szKey[30]

/* ====================================
*[Cvars]*
=====================================*/
new cvar_knifex2cvar_hsx2
/* ====================================
*[INIT]*
=====================================*/
public plugin_init() {
    
register_plugin(PLUGINVERSIONAUTHOR)


    
register_concmd("dar_frags""cmdFrags"ADMIN_RCON"- <Nombre> <Cantidad> Vende y/o Regala Frags a un Users")
    
register_event("DeathMsg""Event_DeathMsg""a")
    
register_logevent("logevent_round_end"2"1=Round_End")
    
    
    
register_event("DeathMsg""Event_DeathMsg""a")
    
register_logevent("logevent_round_end"2"1=Round_End")
    
        
// este tenia que ir primero
    
register_clcmd("say /rango""ver_rango")
    
    
register_clcmd("say""message_saytext"
    
register_clcmd("say_team""message_sayteam")
    
    
    
    
/* =============================================
    |= [EMPIEZA SECCION MODIFICABLE] =|
    ==============================================*/
    
cvar_knifex2 register_cvar("rangos_knifex2""0")    // 1 - x2 frags con knife | 0 - ÑO :v
    
cvar_hsx2 register_cvar("rangos_hsx2""0")        // 1 - x2 frags de HeadShot | 0 - ÑO :v
    /* =============================================
    |= [TERMINA SECCION MODIFICABLE] =|
    ==============================================*/
    
    
g_maxplayers get_maxplayers()
    
g_msgTeamInfo get_user_msgid("TeamInfo")
    
g_msgSayText get_user_msgid("SayText")
    
    
nfv_file("Ranguitos.txt"VaultRangocharsmax(VaultRango))
}
/* ====================================
*[PRECACHE]*
=====================================*/
public plugin_precache() 
    
precache_sound(Sonido)
/* ===================================
*[VER RANGO]*
=====================================*/
public ver_rango(id) {

    
chatcolor(id"!g%s!y |!tRango Actual: !y%s|!tFrags: !y%d|"PrefijoRangos[g_rango[id]][NOMBRE], g_frags[id])
    
chatcolor(id"!g%s!y |!tProximo Rango: !y%s|!tFrags Restantes: !y%d|"PrefijoRangos[g_rango[id]+1][NOMBRE], Rangos[g_rango[id]][FRAGS] -  g_frags[id])    

/* ==================================
    [PUTINSERVER]
===================================*/
public client_putinserver(id) {
    
get_user_nameidg_playernameid ], charsmaxg_playername[ ] ) );
    
g_rango[id] = 0
    g_frags
[id] = 0
    
    Cargar
(id)
}
/* ==================================
    [DISCONNECT]
===================================*/
public client_disconnect(id) {
    if(
XDGuardar(id);
}

/* ==================================
    [ROUND END]
===================================*/
public logevent_round_end() {
    for(new 
id 1id <= g_maxplayersid++) {
        if(
XD
            
Guardar(id); 
    }
}
/* ==================================
    [DEATHMSG]
===================================*/
public Event_DeathMsg() {
    new 
attacker read_data(1)
    new 
victim read_data(2)
    new 
hs read_data(3)
    new 
weaponid get_user_weapon(attacker)
    
    if(
victim == attacker) return;
    
    if(
is_user_alive(attacker)) {
        
g_frags[attacker]++
        
        if(
get_pcvar_num(cvar_knifex2)) {
            if(
weaponid == CSW_KNIFE
                
g_frags[attacker]++
        }
        if(
get_pcvar_num(cvar_hsx2)) {
            if(
hsg_frags[attacker]++
        }
        
AumentarRango(attacker)
    }
}
/*========
 cmdFrags| aca Registramos el evento de Dar Frags
==========*/
public cmdFrags(idlevelcid) {
        if(!
cmd_access(idlevelcid2)) 
                return 
PLUGIN_HANDLED;
                
        new 
name[32]; read_argv(1namecharsmax(name))
        new 
player cmd_target(idnameCMDTARGET_ALLOW_SELF)
        if(!
player)
                return 
PLUGIN_HANDLED;
        
        new 
num[10]; read_argv(2numcharsmax(num))
        
g_frags[player] += str_to_num(num)
        new 
nameuser[32], nameadmin[32]
        
get_user_name(idnameadmincharsmax(nameadmin))
        
get_user_name(playernameusercharsmax(nameuser))
        
        
client_print(0print_chat"[AMXX] Administrador %s: Regalar %s Frags a %s"nameadminnumnameuser)
        
AumentarRango(player)
        return 
PLUGIN_HANDLED;
}
/* ================================
    [UPDATE RANGO]
=================================*/
AumentarRango(id) {    
    new 
Aumento false
    
    
while(g_frags[id] >= Rangos[g_rango[id]][FRAGS]) {
        
Aumento true
        g_rango
[id]++
    }
        
    if(
Aumento) {
        
chatcolor(id"%s Felicidades subiste al rango: !g[ %s ]"PrefijoRangos[g_rango[id]][NOMBRE])
        
client_cmd(id"spk %s"Sonido)
        
Aumento false
    
}
}
/*=====================================
*[SAY]*
=====================================*/
public message_saytext(id) { 
    static 
said[192
    
read_args(saidcharsmax(said)) 
    
remove_quotes(said
    
    if (
said[0] == '@' || said[0] == '%' || said[0] == '/' || said[0] == '.' || said[0] == '!' || equal (said""))
        return 
PLUGIN_HANDLED

    
if (!ValidMessage(said1)) return PLUGIN_CONTINUE;
    
    static 
color[11], name[32], alive[11]
    
get_user_team(id,color,charsmax(color))
    
get_user_name(id,name,charsmax(name))

    if (
is_user_alive (id)) {
        
alive ""
    
} else {
        
alive "[Muerto]"
    
}

    if (
is_user_admin(id)) {
        if (
get_user_flags(id) & ADMIN_KICK
            
format(saidcharsmax(said), "^x01%s^x04%s ^x03%s ^x04: %s"aliveRangos[g_rango[id]][NOMBRE], namesaid)
    } else {
        
format(saidcharsmax(said), "^x01%s^04%s ^x03%s ^x01: %s"aliveRangos[g_rango[id]][NOMBRE], namesaid)
    }
    
    static 
iteam[11
    for (
1<= g_maxplayersi++) {
        if (!
is_user_connected(i)) continue
        
get_user_name(id,name,charsmax(name))
        
        if (
is_user_admin(i) || is_user_alive(id) && is_user_alive(i) || !is_user_alive(id) && !is_user_alive(i)) {
            
get_user_team(iteamcharsmax(team))
            
changeTeamInfo(icolor)
            
writeMessage(isaid)
            
changeTeamInfo(iteam)
        }
    }
    return 
PLUGIN_HANDLED_MAIN;
}

public 
message_sayteam(id)
{    
    static 
said[192
    
read_args(saidcharsmax(said)) 
    
remove_quotes(said
    
    if (
said[0] == '@' || said[0] == '%' || said[0] == '/' || said[0] == '.' || said[0] == '!' || equal (said""))
        return 
PLUGIN_HANDLED

    
if (!ValidMessage(said1)) return PLUGIN_CONTINUE
    
    static 
playerTeamplayerTeamName[19]
    
playerTeam get_user_team(id)
    
    switch (
playerTeam) {
        case 
1copy (playerTeamName6"TE")
        case 
2copy (playerTeamName8"CT"
        default: 
copy (playerTeamName11"SPEC"
    }

    static 
color[11], name[32], alive[11]
    
get_user_team(id,color,charsmax(color))
    
get_user_name(id,name,charsmax(name))

    if (
is_user_alive (id)) {
        
alive ""
    
} else {
        
alive "[MUERTO]"
    
}

    if (
is_user_admin(id)) {
        if (
get_user_flags(id) & ADMIN_RCON)
            
format(saidcharsmax(said), "^x01%s [ %s ] ^x04%s ^x03%s ^x04: %s"aliveplayerTeamRangos[g_rango[id]], namesaid)
    } else {
        
format(saidcharsmax(said), "^x01%s [ %s ] ^04%s ^x03%s ^x01: %s"aliveplayerTeamRangos[g_rango[id]],namesaid)
    }

    static 
iteam[11
    for (
1<= g_maxplayersi++) {
        if (!
is_user_connected(i)) continue;
        
get_user_name(id,name,charsmax(name))
        
        if (
get_user_team(i) == playerTeam || is_user_admin(i)) {
            if (
is_user_alive(id) && is_user_alive(i) || !is_user_alive(id) && !is_user_alive(i)) {
                
get_user_team(iteamcharsmax(team))
                
changeTeamInfo(icolor)
                
writeMessage(isaid)
                
changeTeamInfo(iteam)
            }
        }
    }
    return 
PLUGIN_HANDLED_MAIN;
}
public 
changeTeamInfo(playerteam[]) {
    
message_begin(MSG_ONEg_msgTeamInfo_player)
    
write_byte(player)
    
write_string(team)
    
message_end()
}




public 
writeMessage(playermessage[]) {
    
message_begin(MSG_ONEg_msgSayText, {000}, player)
    
write_byte(player)
    
write_string(message)
    
message_end()
}
/* ===================================
*[GUARDADO]*
=====================================*/
Guardar(id) {
    
formatex(szKeycharsmax(szKey), "data_rangos"
    
formatex(szRangoscharsmax(szRangos), "%d %d"g_frags[id], g_rango[id])
    
    
nfv_set_data(VaultRangoszKeyg_playername[id], szRangos)
}

Cargar(id) {
    new 
g_load_c1[25], g_load_c2[25]
    
formatex(szKeycharsmax(szKey), "data_rangos"
    
    if(!
nfv_get_data(VaultRangoszKeyg_playername[id], szRangossizeof(szRangos) - 1)) return; 
   
    
parse(szRangosg_load_c1charsmax(g_load_c1), g_load_c2charsmax(g_load_c2))
    
    
g_frags[id] = str_to_num(g_load_c1)
    
g_rango[id] = str_to_num(g_load_c2)

/* ===================================
*[STOCKS]*
=====================================*/
// stock de chatcolor
stock chatcolor(id, const input[], any:...) {
    new 
count 1players[32]; 
    static 
msg[191]; 
    
vformat(msg190input3); 
     
    
replace_all(msg190"!g""^4"); // Verde
    
replace_all(msg190"!y""^1"); // Default
    
replace_all(msg190"!t""^3"); // Color del Equipo 
     
    
if (idplayers[0] = id; else get_players(playerscount"ch"); { 
        for (new 
0counti++)  { 
            if (
is_user_connected(players[i])) { 
                
message_begin(MSG_ONE_UNRELIABLEget_user_msgid("SayText"), _players[i]); 
                
write_byte(players[i]); 
                
write_string(msg); 
                
message_end(); 
            } 
        } 
    } 

// Stock para Saber Si el mensaje es valido
stock ValidMessage(text[], maxcount) {
    static 
lenicount
    len 
strlen(text)
    
count 0
    
    
if (!len)
        return 
false;
    
    for (
0leni++) {
        if (
text[i] != ' ') {
            
count++
            if (
count >= maxcount)
                return 
true;
        }
    }
    return 
false;


ese es el quee uso como lo tendria que hacer funciona para que el otro funcione ? me ayudaaa
Responder
#11
Ay tienes ya las natives creadas, si te esperas a que llegue de clases te ayudo con el otro codigo.
Código PHP:
/*    -----------------------------------------
Creditos: Solo para Raulitop, por el hook say :3

Version Con Guardado NFVAULT
-------------------------------            */

#include <amxmisc>
#include <fakemeta>
#include <nfvault>

new const PLUGIN[] = "Rangos CS:GO"
#define VERSION "1.0"
new const AUTHOR[] = "kikizon"

/* =============================================
|= [EMPIEZA SECCION MODIFICABLE] =|
==============================================*/
/* ====================================
*[CONSTANTES]*
=====================================*/ 
new const Prefijo[] = "!g[RANGOS]!y" // Prefijo en say
new const Sonido[] = "rango/powerup.wav" // Sonido Rango UP
/* ====================================
*[CONST NOMBRES DE RANGOS]*
=====================================*/
enum _:DATA
{
    
NOMBRE[30],
    
FRAGS
}
new const 
Rangos[][DATA] = {
    { 
"[topo]"200 },
    { 
"[chchi]"400 },
    { 
"[feli]"500 },
    { 
"[tol]"700 },
    { 
"[666]"800 },
    { 
"[anues]"1000 },
    { 
"[luli]"1500 },
    { 
"[lego]"2000 },
    { 
"[maisis]"3000 },
    { 
"[trico]"4000 },
    { 
"[corazon]"5000 },
    { 
"[mamita]"8000 },
    { 
"[papito]",9000 },
    { 
"[feliz]"20000 }
}

/* =============================================
|= [TERMINA SECCION MODIFICABLE] =|
==============================================*/

/* ====================================
*[VARIABLES]*
=====================================*/
new g_rango[33], g_frags[33]
new 
g_maxplayersg_msgTeamInfog_msgSayTextg_playername[33][32];
#define TASK_HUD 2100
#define ID_HUD (taskid - TASK_HUD)
#define XD is_user_connected(id) || !is_user_bot(id) || !is_user_hltv(id)
new VaultRango[128], szRangos[180], szKey[30]

/* ====================================
*[Cvars]*
=====================================*/
new cvar_knifex2cvar_hsx2
/* ====================================
*[INIT]*
=====================================*/
public plugin_init() {
    
register_plugin(PLUGINVERSIONAUTHOR)


    
register_concmd("dar_frags""cmdFrags"ADMIN_RCON"- <Nombre> <Cantidad> Vende y/o Regala Frags a un Users")
    
register_event("DeathMsg""Event_DeathMsg""a")
    
register_logevent("logevent_round_end"2"1=Round_End")
    
    
    
register_event("DeathMsg""Event_DeathMsg""a")
    
register_logevent("logevent_round_end"2"1=Round_End")
    
        
// este tenia que ir primero
    
register_clcmd("say /rango""ver_rango")
    
    
register_clcmd("say""message_saytext"
    
register_clcmd("say_team""message_sayteam")
    
    
    
    
/* =============================================
    |= [EMPIEZA SECCION MODIFICABLE] =|
    ==============================================*/
    
cvar_knifex2 register_cvar("rangos_knifex2""0")    // 1 - x2 frags con knife | 0 - ÑO :v
    
cvar_hsx2 register_cvar("rangos_hsx2""0")        // 1 - x2 frags de HeadShot | 0 - ÑO :v
    /* =============================================
    |= [TERMINA SECCION MODIFICABLE] =|
    ==============================================*/
    
    
g_maxplayers get_maxplayers()
    
g_msgTeamInfo get_user_msgid("TeamInfo")
    
g_msgSayText get_user_msgid("SayText")
    
    
nfv_file("Ranguitos.txt"VaultRangocharsmax(VaultRango))
}
/* ====================================
*[PRECACHE]*
=====================================*/
public plugin_precache() 
    
precache_sound(Sonido)
/* ===================================
*[VER RANGO]*
=====================================*/
public ver_rango(id) {

    
chatcolor(id"!g%s!y |!tRango Actual: !y%s|!tFrags: !y%d|"PrefijoRangos[g_rango[id]][NOMBRE], g_frags[id])
    
chatcolor(id"!g%s!y |!tProximo Rango: !y%s|!tFrags Restantes: !y%d|"PrefijoRangos[g_rango[id]+1][NOMBRE], Rangos[g_rango[id]][FRAGS] -  g_frags[id])    

/* ==================================
    [PUTINSERVER]
===================================*/
public client_putinserver(id) {
    
get_user_nameidg_playernameid ], charsmaxg_playername[ ] ) );
    
g_rango[id] = 0
    g_frags
[id] = 0
    
    Cargar
(id)
}
/* ==================================
    [DISCONNECT]
===================================*/
public client_disconnect(id) {
    if(
XDGuardar(id);
}

/* ==================================
    [ROUND END]
===================================*/
public logevent_round_end() {
    for(new 
id 1id <= g_maxplayersid++) {
        if(
XD
            
Guardar(id); 
    }
}
/* ==================================
    [DEATHMSG]
===================================*/
public Event_DeathMsg() {
    new 
attacker read_data(1)
    new 
victim read_data(2)
    new 
hs read_data(3)
    new 
weaponid get_user_weapon(attacker)
    
    if(
victim == attacker) return;
    
    if(
is_user_alive(attacker)) {
        
g_frags[attacker]++
        
        if(
get_pcvar_num(cvar_knifex2)) {
            if(
weaponid == CSW_KNIFE
                
g_frags[attacker]++
        }
        if(
get_pcvar_num(cvar_hsx2)) {
            if(
hsg_frags[attacker]++
        }
        
AumentarRango(attacker)
    }
}
/*========
 cmdFrags| aca Registramos el evento de Dar Frags
==========*/
public cmdFrags(idlevelcid) {
        if(!
cmd_access(idlevelcid2)) 
                return 
PLUGIN_HANDLED;
                
        new 
name[32]; read_argv(1namecharsmax(name))
        new 
player cmd_target(idnameCMDTARGET_ALLOW_SELF)
        if(!
player)
                return 
PLUGIN_HANDLED;
        
        new 
num[10]; read_argv(2numcharsmax(num))
        
g_frags[player] += str_to_num(num)
        new 
nameuser[32], nameadmin[32]
        
get_user_name(idnameadmincharsmax(nameadmin))
        
get_user_name(playernameusercharsmax(nameuser))
        
        
client_print(0print_chat"[AMXX] Administrador %s: Regalar %s Frags a %s"nameadminnumnameuser)
        
AumentarRango(player)
        return 
PLUGIN_HANDLED;
}
/* ================================
    [UPDATE RANGO]
=================================*/
AumentarRango(id) {    
    new 
Aumento false
    
    
while(g_frags[id] >= Rangos[g_rango[id]][FRAGS]) {
        
Aumento true
        g_rango
[id]++
    }
        
    if(
Aumento) {
        
chatcolor(id"%s Felicidades subiste al rango: !g[ %s ]"PrefijoRangos[g_rango[id]][NOMBRE])
        
client_cmd(id"spk %s"Sonido)
        
Aumento false
    
}
}
/*=====================================
*[SAY]*
=====================================*/
public message_saytext(id) { 
    static 
said[192
    
read_args(saidcharsmax(said)) 
    
remove_quotes(said
    
    if (
said[0] == '@' || said[0] == '%' || said[0] == '/' || said[0] == '.' || said[0] == '!' || equal (said""))
        return 
PLUGIN_HANDLED

    
if (!ValidMessage(said1)) return PLUGIN_CONTINUE;
    
    static 
color[11], name[32], alive[11]
    
get_user_team(id,color,charsmax(color))
    
get_user_name(id,name,charsmax(name))

    if (
is_user_alive (id)) {
        
alive ""
    
} else {
        
alive "[Muerto]"
    
}

    if (
is_user_admin(id)) {
        if (
get_user_flags(id) & ADMIN_KICK
            
format(saidcharsmax(said), "^x01%s^x04%s ^x03%s ^x04: %s"aliveRangos[g_rango[id]][NOMBRE], namesaid)
    } else {
        
format(saidcharsmax(said), "^x01%s^04%s ^x03%s ^x01: %s"aliveRangos[g_rango[id]][NOMBRE], namesaid)
    }
    
    static 
iteam[11
    for (
1<= g_maxplayersi++) {
        if (!
is_user_connected(i)) continue
        
get_user_name(id,name,charsmax(name))
        
        if (
is_user_admin(i) || is_user_alive(id) && is_user_alive(i) || !is_user_alive(id) && !is_user_alive(i)) {
            
get_user_team(iteamcharsmax(team))
            
changeTeamInfo(icolor)
            
writeMessage(isaid)
            
changeTeamInfo(iteam)
        }
    }
    return 
PLUGIN_HANDLED_MAIN;
}

public 
message_sayteam(id)
{    
    static 
said[192
    
read_args(saidcharsmax(said)) 
    
remove_quotes(said
    
    if (
said[0] == '@' || said[0] == '%' || said[0] == '/' || said[0] == '.' || said[0] == '!' || equal (said""))
        return 
PLUGIN_HANDLED

    
if (!ValidMessage(said1)) return PLUGIN_CONTINUE
    
    static 
playerTeamplayerTeamName[19]
    
playerTeam get_user_team(id)
    
    switch (
playerTeam) {
        case 
1copy (playerTeamName6"TE")
        case 
2copy (playerTeamName8"CT"
        default: 
copy (playerTeamName11"SPEC"
    }

    static 
color[11], name[32], alive[11]
    
get_user_team(id,color,charsmax(color))
    
get_user_name(id,name,charsmax(name))

    if (
is_user_alive (id)) {
        
alive ""
    
} else {
        
alive "[MUERTO]"
    
}

    if (
is_user_admin(id)) {
        if (
get_user_flags(id) & ADMIN_RCON)
            
format(saidcharsmax(said), "^x01%s [ %s ] ^x04%s ^x03%s ^x04: %s"aliveplayerTeamRangos[g_rango[id]], namesaid)
    } else {
        
format(saidcharsmax(said), "^x01%s [ %s ] ^04%s ^x03%s ^x01: %s"aliveplayerTeamRangos[g_rango[id]],namesaid)
    }

    static 
iteam[11
    for (
1<= g_maxplayersi++) {
        if (!
is_user_connected(i)) continue;
        
get_user_name(id,name,charsmax(name))
        
        if (
get_user_team(i) == playerTeam || is_user_admin(i)) {
            if (
is_user_alive(id) && is_user_alive(i) || !is_user_alive(id) && !is_user_alive(i)) {
                
get_user_team(iteamcharsmax(team))
                
changeTeamInfo(icolor)
                
writeMessage(isaid)
                
changeTeamInfo(iteam)
            }
        }
    }
    return 
PLUGIN_HANDLED_MAIN;
}
public 
changeTeamInfo(playerteam[]) {
    
message_begin(MSG_ONEg_msgTeamInfo_player)
    
write_byte(player)
    
write_string(team)
    
message_end()
}




public 
writeMessage(playermessage[]) {
    
message_begin(MSG_ONEg_msgSayText, {000}, player)
    
write_byte(player)
    
write_string(message)
    
message_end()
}
/* ===================================
*[GUARDADO]*
=====================================*/
Guardar(id) {
    
formatex(szKeycharsmax(szKey), "data_rangos"
    
formatex(szRangoscharsmax(szRangos), "%d %d"g_frags[id], g_rango[id])
    
    
nfv_set_data(VaultRangoszKeyg_playername[id], szRangos)
}

Cargar(id) {
    new 
g_load_c1[25], g_load_c2[25]
    
formatex(szKeycharsmax(szKey), "data_rangos"
    
    if(!
nfv_get_data(VaultRangoszKeyg_playername[id], szRangossizeof(szRangos) - 1)) return; 
   
    
parse(szRangosg_load_c1charsmax(g_load_c1), g_load_c2charsmax(g_load_c2))
    
    
g_frags[id] = str_to_num(g_load_c1)
    
g_rango[id] = str_to_num(g_load_c2)

/* ===================================
*[STOCKS]*
=====================================*/
// stock de chatcolor
stock chatcolor(id, const input[], any:...) {
    new 
count 1players[32]; 
    static 
msg[191]; 
    
vformat(msg190input3); 
     
    
replace_all(msg190"!g""^4"); // Verde
    
replace_all(msg190"!y""^1"); // Default
    
replace_all(msg190"!t""^3"); // Color del Equipo 
     
    
if (idplayers[0] = id; else get_players(playerscount"ch"); { 
        for (new 
0counti++)  { 
            if (
is_user_connected(players[i])) { 
                
message_begin(MSG_ONE_UNRELIABLEget_user_msgid("SayText"), _players[i]); 
                
write_byte(players[i]); 
                
write_string(msg); 
                
message_end(); 
            } 
        } 
    } 


plugin_natives()
{
    
register_native("rangos_get_user_frags""get_Frags"1)
    
register_native("rangos_set_user_frags""set_Frags"1// Solo resta y suma.

}

public 
get_Frags(id)
{
    return 
g_frags[id];
}

public 
set_Frags(idfrags)
{
    
g_frags[id] += frags;

    return 
g_frags[id];
}
// Stock para Saber Si el mensaje es valido
stock ValidMessage(text[], maxcount) {
    static 
lenicount
    len 
strlen(text)
    
count 0
    
    
if (!len)
        return 
false;
    
    for (
0leni++) {
        if (
text[i] != ' ') {
            
count++
            if (
count >= maxcount)
                return 
true;
        }
    }
    return 
false;

Responder
#12
ya rey lo espero
Responder
#13
esto en tu sistema de rangos.
Código PHP:
/*    -----------------------------------------
Creditos: Solo para Raulitop, por el hook say :3

Version Con Guardado NFVAULT
-------------------------------            */

#include <amxmisc>
#include <fakemeta>
#include <nfvault>

new const PLUGIN[] = "Rangos CS:GO"
#define VERSION "1.0"
new const AUTHOR[] = "kikizon"

/* =============================================
|= [EMPIEZA SECCION MODIFICABLE] =|
==============================================*/
/* ====================================
*[CONSTANTES]*
=====================================*/ 
new const Prefijo[] = "!g[RANGOS]!y" // Prefijo en say
new const Sonido[] = "rango/powerup.wav" // Sonido Rango UP
/* ====================================
*[CONST NOMBRES DE RANGOS]*
=====================================*/
enum _:DATA
{
    
NOMBRE[30],
    
FRAGS
}
new const 
Rangos[][DATA] = {
    { 
"[topo]"200 },
    { 
"[chchi]"400 },
    { 
"[feli]"500 },
    { 
"[tol]"700 },
    { 
"[666]"800 },
    { 
"[anues]"1000 },
    { 
"[luli]"1500 },
    { 
"[lego]"2000 },
    { 
"[maisis]"3000 },
    { 
"[trico]"4000 },
    { 
"[corazon]"5000 },
    { 
"[mamita]"8000 },
    { 
"[papito]",9000 },
    { 
"[feliz]"20000 }
}

/* =============================================
|= [TERMINA SECCION MODIFICABLE] =|
==============================================*/

/* ====================================
*[VARIABLES]*
=====================================*/
new g_rango[33], g_frags[33]
new 
g_maxplayersg_msgTeamInfog_msgSayTextg_playername[33][32];
#define TASK_HUD 2100
#define ID_HUD (taskid - TASK_HUD)
#define XD is_user_connected(id) || !is_user_bot(id) || !is_user_hltv(id)
new VaultRango[128], szRangos[180], szKey[30]

/* ====================================
*[Cvars]*
=====================================*/
new cvar_knifex2cvar_hsx2
/* ====================================
*[INIT]*
=====================================*/
public plugin_init() {
    
register_plugin(PLUGINVERSIONAUTHOR)


    
register_concmd("dar_frags""cmdFrags"ADMIN_RCON"- <Nombre> <Cantidad> Vende y/o Regala Frags a un Users")
    
register_event("DeathMsg""Event_DeathMsg""a")
    
register_logevent("logevent_round_end"2"1=Round_End")
    
    
    
register_event("DeathMsg""Event_DeathMsg""a")
    
register_logevent("logevent_round_end"2"1=Round_End")
    
        
// este tenia que ir primero
    
register_clcmd("say /rango""ver_rango")
    
    
register_clcmd("say""message_saytext"
    
register_clcmd("say_team""message_sayteam")
    
    
    
    
/* =============================================
    |= [EMPIEZA SECCION MODIFICABLE] =|
    ==============================================*/
    
cvar_knifex2 register_cvar("rangos_knifex2""0")    // 1 - x2 frags con knife | 0 - ÑO :v
    
cvar_hsx2 register_cvar("rangos_hsx2""0")        // 1 - x2 frags de HeadShot | 0 - ÑO :v
    /* =============================================
    |= [TERMINA SECCION MODIFICABLE] =|
    ==============================================*/
    
    
g_maxplayers get_maxplayers()
    
g_msgTeamInfo get_user_msgid("TeamInfo")
    
g_msgSayText get_user_msgid("SayText")
    
    
nfv_file("Ranguitos.txt"VaultRangocharsmax(VaultRango))
}
/* ====================================
*[PRECACHE]*
=====================================*/
public plugin_precache() 
    
precache_sound(Sonido)
/* ===================================
*[VER RANGO]*
=====================================*/
public ver_rango(id) {

    
chatcolor(id"!g%s!y |!tRango Actual: !y%s|!tFrags: !y%d|"PrefijoRangos[g_rango[id]][NOMBRE], g_frags[id])
    
chatcolor(id"!g%s!y |!tProximo Rango: !y%s|!tFrags Restantes: !y%d|"PrefijoRangos[g_rango[id]+1][NOMBRE], Rangos[g_rango[id]][FRAGS] -  g_frags[id])    

/* ==================================
    [PUTINSERVER]
===================================*/
public client_putinserver(id) {
    
get_user_nameidg_playernameid ], charsmaxg_playername[ ] ) );
    
g_rango[id] = 0
    g_frags
[id] = 0
    
    Cargar
(id)
}
/* ==================================
    [DISCONNECT]
===================================*/
public client_disconnect(id) {
    if(
XDGuardar(id);
}

/* ==================================
    [ROUND END]
===================================*/
public logevent_round_end() {
    for(new 
id 1id <= g_maxplayersid++) {
        if(
XD
            
Guardar(id); 
    }
}
/* ==================================
    [DEATHMSG]
===================================*/
public Event_DeathMsg() {
    new 
attacker read_data(1)
    new 
victim read_data(2)
    new 
hs read_data(3)
    new 
weaponid get_user_weapon(attacker)
    
    if(
victim == attacker) return;
    
    if(
is_user_alive(attacker)) {
        
g_frags[attacker]++
        
        if(
get_pcvar_num(cvar_knifex2)) {
            if(
weaponid == CSW_KNIFE
                
g_frags[attacker]++
        }
        if(
get_pcvar_num(cvar_hsx2)) {
            if(
hsg_frags[attacker]++
        }
        
AumentarRango(attacker)
    }
}
/*========
 cmdFrags| aca Registramos el evento de Dar Frags
==========*/
public cmdFrags(idlevelcid) {
        if(!
cmd_access(idlevelcid2)) 
                return 
PLUGIN_HANDLED;
                
        new 
name[32]; read_argv(1namecharsmax(name))
        new 
player cmd_target(idnameCMDTARGET_ALLOW_SELF)
        if(!
player)
                return 
PLUGIN_HANDLED;
        
        new 
num[10]; read_argv(2numcharsmax(num))
        
g_frags[player] += str_to_num(num)
        new 
nameuser[32], nameadmin[32]
        
get_user_name(idnameadmincharsmax(nameadmin))
        
get_user_name(playernameusercharsmax(nameuser))
        
        
client_print(0print_chat"[AMXX] Administrador %s: Regalar %s Frags a %s"nameadminnumnameuser)
        
AumentarRango(player)
        return 
PLUGIN_HANDLED;
}
/* ================================
    [UPDATE RANGO]
=================================*/
AumentarRango(id) {    
    new 
Aumento false
    
    
while(g_frags[id] >= Rangos[g_rango[id]][FRAGS]) {
        
Aumento true
        g_rango
[id]++
    }
        
    if(
Aumento) {
        
chatcolor(id"%s Felicidades subiste al rango: !g[ %s ]"PrefijoRangos[g_rango[id]][NOMBRE])
        
client_cmd(id"spk %s"Sonido)
        
Aumento false
    
}
}
/*=====================================
*[SAY]*
=====================================*/
public message_saytext(id) { 
    static 
said[192
    
read_args(saidcharsmax(said)) 
    
remove_quotes(said
    
    if (
said[0] == '@' || said[0] == '%' || said[0] == '/' || said[0] == '.' || said[0] == '!' || equal (said""))
        return 
PLUGIN_HANDLED

    
if (!ValidMessage(said1)) return PLUGIN_CONTINUE;
    
    static 
color[11], name[32], alive[11]
    
get_user_team(id,color,charsmax(color))
    
get_user_name(id,name,charsmax(name))

    if (
is_user_alive (id)) {
        
alive ""
    
} else {
        
alive "[Muerto]"
    
}

    if (
is_user_admin(id)) {
        if (
get_user_flags(id) & ADMIN_KICK
            
format(saidcharsmax(said), "^x01%s^x04%s ^x03%s ^x04: %s"aliveRangos[g_rango[id]][NOMBRE], namesaid)
    } else {
        
format(saidcharsmax(said), "^x01%s^04%s ^x03%s ^x01: %s"aliveRangos[g_rango[id]][NOMBRE], namesaid)
    }
    
    static 
iteam[11
    for (
1<= g_maxplayersi++) {
        if (!
is_user_connected(i)) continue
        
get_user_name(id,name,charsmax(name))
        
        if (
is_user_admin(i) || is_user_alive(id) && is_user_alive(i) || !is_user_alive(id) && !is_user_alive(i)) {
            
get_user_team(iteamcharsmax(team))
            
changeTeamInfo(icolor)
            
writeMessage(isaid)
            
changeTeamInfo(iteam)
        }
    }
    return 
PLUGIN_HANDLED_MAIN;
}

public 
message_sayteam(id)
{    
    static 
said[192
    
read_args(saidcharsmax(said)) 
    
remove_quotes(said
    
    if (
said[0] == '@' || said[0] == '%' || said[0] == '/' || said[0] == '.' || said[0] == '!' || equal (said""))
        return 
PLUGIN_HANDLED

    
if (!ValidMessage(said1)) return PLUGIN_CONTINUE
    
    static 
playerTeamplayerTeamName[19]
    
playerTeam get_user_team(id)
    
    switch (
playerTeam) {
        case 
1copy (playerTeamName6"TE")
        case 
2copy (playerTeamName8"CT"
        default: 
copy (playerTeamName11"SPEC"
    }

    static 
color[11], name[32], alive[11]
    
get_user_team(id,color,charsmax(color))
    
get_user_name(id,name,charsmax(name))

    if (
is_user_alive (id)) {
        
alive ""
    
} else {
        
alive "[MUERTO]"
    
}

    if (
is_user_admin(id)) {
        if (
get_user_flags(id) & ADMIN_RCON)
            
format(saidcharsmax(said), "^x01%s [ %s ] ^x04%s ^x03%s ^x04: %s"aliveplayerTeamRangos[g_rango[id]], namesaid)
    } else {
        
format(saidcharsmax(said), "^x01%s [ %s ] ^04%s ^x03%s ^x01: %s"aliveplayerTeamRangos[g_rango[id]],namesaid)
    }

    static 
iteam[11
    for (
1<= g_maxplayersi++) {
        if (!
is_user_connected(i)) continue;
        
get_user_name(id,name,charsmax(name))
        
        if (
get_user_team(i) == playerTeam || is_user_admin(i)) {
            if (
is_user_alive(id) && is_user_alive(i) || !is_user_alive(id) && !is_user_alive(i)) {
                
get_user_team(iteamcharsmax(team))
                
changeTeamInfo(icolor)
                
writeMessage(isaid)
                
changeTeamInfo(iteam)
            }
        }
    }
    return 
PLUGIN_HANDLED_MAIN;
}
public 
changeTeamInfo(playerteam[]) {
    
message_begin(MSG_ONEg_msgTeamInfo_player)
    
write_byte(player)
    
write_string(team)
    
message_end()
}




public 
writeMessage(playermessage[]) {
    
message_begin(MSG_ONEg_msgSayText, {000}, player)
    
write_byte(player)
    
write_string(message)
    
message_end()
}
/* ===================================
*[GUARDADO]*
=====================================*/
Guardar(id) {
    
formatex(szKeycharsmax(szKey), "data_rangos"
    
formatex(szRangoscharsmax(szRangos), "%d %d"g_frags[id], g_rango[id])
    
    
nfv_set_data(VaultRangoszKeyg_playername[id], szRangos)
}

Cargar(id) {
    new 
g_load_c1[25], g_load_c2[25]
    
formatex(szKeycharsmax(szKey), "data_rangos"
    
    if(!
nfv_get_data(VaultRangoszKeyg_playername[id], szRangossizeof(szRangos) - 1)) return; 
   
    
parse(szRangosg_load_c1charsmax(g_load_c1), g_load_c2charsmax(g_load_c2))
    
    
g_frags[id] = str_to_num(g_load_c1)
    
g_rango[id] = str_to_num(g_load_c2)

/* ===================================
*[STOCKS]*
=====================================*/
// stock de chatcolor
stock chatcolor(id, const input[], any:...) {
    new 
count 1players[32]; 
    static 
msg[191]; 
    
vformat(msg190input3); 
     
    
replace_all(msg190"!g""^4"); // Verde
    
replace_all(msg190"!y""^1"); // Default
    
replace_all(msg190"!t""^3"); // Color del Equipo 
     
    
if (idplayers[0] = id; else get_players(playerscount"ch"); { 
        for (new 
0counti++)  { 
            if (
is_user_connected(players[i])) { 
                
message_begin(MSG_ONE_UNRELIABLEget_user_msgid("SayText"), _players[i]); 
                
write_byte(players[i]); 
                
write_string(msg); 
                
message_end(); 
            } 
        } 
    } 


plugin_natives()
{
    
register_native("rangos_get_user_frags""get_Frags"1)
    
register_native("rangos_set_user_frags""set_Frags"1// Solo resta y suma.

}

public 
get_Frags(id)
{
    return 
g_frags[id];
}

public 
set_Frags(idfrags)
{
    
g_frags[id] += frags;

    return 
g_frags[id];
}
// Stock para Saber Si el mensaje es valido
stock ValidMessage(text[], maxcount) {
    static 
lenicount
    len 
strlen(text)
    
count 0
    
    
if (!len)
        return 
false;
    
    for (
0leni++) {
        if (
text[i] != ' ') {
            
count++
            if (
count >= maxcount)
                return 
true;
        }
    }
    return 
false;


y esto en el sistema de apuestas.
Código PHP:
#include <amxmodx>
#include <cstrike>

#define BET_FRAGS

new const Ganar[] = { "events/enemy_died.wav" // Ganar una apuesta
new const Perder[] = { "events/friend_died.wav" // Perer una apuesta

#if defined BET_FRAGS
native rangos_get_user_frags(id);
native rangos_set_user_frags(idfrags)
#endif

enum Colors
{
    
Gris 33,
    
Rojo,
    
Azul
}

enum _DATA_BET BET_AMOUNTBET_MULTIPLIER };

new const 
g_PluginInfo[][] = { "Betting System""v1.0""RusselNight""AMXX" };

new const 
g_BetAmounts[][_DATA_BET] =
{
    { 
2},
    { 
4},
    { 
6},
    { 
8}
};

new 
bool:g_bPlayerBetting[33] = falseg_iBetAmount[33], Float:g_fTimeBetProgress 5.0g_iPozog_iMinAmountDoN;

new 
bool:g_bFirstRound true;

public 
plugin_init()
{
    
register_plugin(g_PluginInfo[0], g_PluginInfo[1], g_PluginInfo[2]);
    
    
register_event("HLTV""ev_NewRound""a""1=0""2=0");

    
register_clcmd("say /ganar""clcmd_Bet");
    
register_clcmd("say /ganartodo""clcmd_Bet");
    
register_clcmd("say /bono""clcmd_Pozo");
}

public 
plugin_precache()
{
    
precache_sound(Ganar)
    
precache_sound(Perder)


public 
client_disconnect(id
{
    
g_bPlayerBetting[id] = false;
    
g_iBetAmount[id] = 0
}

public 
ev_NewRound()
{
    if(
g_bFirstRound)
    {
        
g_iPozo 10;
        
g_iMinAmountDoN 100;
        
g_bFirstRound false;
    }
}

public 
clcmd_Bet(id)
{
    
Show_BetM(id);

    return 
PLUGIN_HANDLED;
}

public 
Show_BetM(id)
{
    static 
szText[256], iMenui;
    
formatex(szTextcharsmax(szText), "Menu de Suerte");
    
iMenu menu_create(szText"Handled_BetM");

    for(
0sizeof(g_BetAmounts); i++)
    {
        
#if defined BET_FRAGS
        
formatex(szTextcharsmax(szText), "%d frags - x%d (Multiplicar ganancia por x%d)" g_BetAmounts[i][BET_AMOUNT], g_BetAmounts[i][BET_MULTIPLIER], g_BetAmounts[i][BET_MULTIPLIER]);
        
#else 
        
formatex(szTextcharsmax(szText), "%d de $$ - x%d (Multiplicar ganancia por x%d)" g_BetAmounts[i][BET_AMOUNT], g_BetAmounts[i][BET_MULTIPLIER], g_BetAmounts[i][BET_MULTIPLIER]);
        
#endif
        
        
menu_additem(iMenuszText);
    }

    if(
cs_get_user_money(id) >= g_iMinAmountDoN)
    {
        
menu_additem(iMenu"\wJugar\y ME LA JUEGO");
    }
    else
    {
        
#if defined BET_FRAGS
        
formatex(szTextcharsmax(szText), "\dJugar ME LA JUEGO \y[Necesitas %d Frags]"g_iMinAmountDoN);
        
#else 
        
formatex(szTextcharsmax(szText), "\dJugar ME LA JUEGO \y[Necesitas $%d]"g_iMinAmountDoN);
        
#endif
        
menu_additem(iMenuszText);
    }

    
menu_setprop(iMenuMPROP_EXITNAME"\d[\rCerrar Menu\d]");
    
menu_display(idiMenu);
    return 
PLUGIN_HANDLED
}

public 
Handled_BetM(idiMenuiItem)
{
    new 
szName[32];
    
get_user_name(idszNamecharsmax(szName));

    if(
iItem == MENU_EXIT)
    {
        
menu_destroy(iMenu);
        return 
PLUGIN_HANDLED;
    }

    if(
g_bPlayerBetting[id])
    {
        
ChatColor(idAzul"!g[%s]!y Ya estas!g realizando una apuesta."g_PluginInfo[3]);
        return 
PLUGIN_HANDLED;
    }

    if(
iItem >= sizeof(g_BetAmounts))
    {
        
#if defined BET_FRAGS
        
if(rangos_get_user_frags(id) < g_iMinAmountDoN)
        {
            
ChatColor(idAzul,"!g[%s]!y No tienes!g suficientes frags."g_PluginInfo[3]);
            return 
PLUGIN_HANDLED;
        }

        
ChatColor(0Azul"!g[%s]!t %s!y aposto todos sus frags!g (%d)!y en!g Me la juego!!"g_PluginInfo[3], szNamerangos_get_user_frags(id));
        
#else
        
if(cs_get_user_money(id) < g_iMinAmountDoN)
        {
            
ChatColor(idAzul,"!g[%s]!y No tienes!g suficiente $$."g_PluginInfo[3]);
            return 
PLUGIN_HANDLED;
        }

        
ChatColor(0Azul"!g[%s]!t %s!y aposto toda su dinero!g (%d)!y en!g Me la juego!!"g_PluginInfo[3], szNamecs_get_user_money(id));
        
#endif
        
        
set_task(g_fTimeBetProgress"Bet_DoN_Result"id);
    }
    else
    {
        
#if defined BET_FRAGS
        
if(get_user_frags(id) < g_BetAmounts[iItem][BET_AMOUNT])
        {
            
ChatColor(idAzul"!g[%s]!y No tienes!g frags suficientes!."g_PluginInfo[3]);
            return 
PLUGIN_HANDLED;
        }

        
ChatColor(0Azul"!g[%s]!t %s!y - aposto!g %d frags."g_PluginInfo[3], szNameg_BetAmounts[iItem][BET_AMOUNT]);
        
#else 
        
if(cs_get_user_money(id) < g_BetAmounts[iItem][BET_AMOUNT])
        {
            
ChatColor(idAzul"!g[%s]!y No tienes!g dinero suficiente!."g_PluginInfo[3]);
            return 
PLUGIN_HANDLED;
        }

        
ChatColor(0Azul"!g[%s]!t %s!y - aposto!g %d de $$."g_PluginInfo[3], szNameg_BetAmounts[iItem][BET_AMOUNT]);
        
#endif

        
set_task(g_fTimeBetProgress"Bet_Result"id);
    }

    
g_bPlayerBetting[id] = true;
    
g_iBetAmount[id] = iItem;

    return 
PLUGIN_HANDLED;
}

public 
Bet_Result(id)
{
    if(!
is_user_connected(id))
        return;

    new 
szName[32];
    
get_user_name(idszNamecharsmax(szName));

    switch(
random_num(1103))
    {
        
#if defined BET_FRAGS
        
case 1..25:
        {
            
ChatColor(0Azul"!g[%s]!t %s!y - Gano!g %d Frags..."g_PluginInfo[3], szNameg_BetAmounts[g_iBetAmount[id]][BET_AMOUNT]);
            
client_cmd(id"spk %s"Ganar)            
            
rangos_set_user_frags(id, (rangos_get_user_frags(id) + g_BetAmounts[g_iBetAmount[id]][BET_AMOUNT]));
        }
        case 
26..85:
        {
            
ChatColor(0Azul"!g[%s]!t %s!y perdio!g %d Frags!"g_PluginInfo[3], szNameg_BetAmounts[g_iBetAmount[id]][BET_AMOUNT]);
            
client_cmd(id"spk %s"Perder)

            
g_iPozo += (g_BetAmounts[g_iBetAmount[id]][BET_AMOUNT]/4);
        }
        case 
86:
        {
            
ChatColor(0Azul"!g[%s]!t %s -!g GANO EL POZO! - !y%d Frags!"g_PluginInfo[3], szNameg_iPozo);
            
client_cmd(id"spk %s"Ganar)
            
rangos_set_user_frags(id, (rangos_get_user_frags(id) + g_iPozo));
            
g_iPozo 10;
        }
        case 
87..90:
        {
            
ChatColor(0Azul"!g[%s]!t %s!y Gano!g %d Frags X%d!!g ( +%d Frags)"g_PluginInfo[3], szNameg_BetAmounts[g_iBetAmount[id]][BET_AMOUNT], g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER], g_BetAmounts[g_iBetAmount[id]][BET_AMOUNT]*g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]);
            
rangos_set_user_frags(idrangos_get_user_frags(id) + g_BetAmounts[g_iBetAmount[id]][BET_AMOUNT] * g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER])
            
client_cmd(id"spk %s"Ganar)
        }
        case 
91..94:
        {
            
ChatColor(0Azul"!g[%s]!t %s!y Gano!g 16x%d Frags (+%d Frags)"g_PluginInfo[3], szNameg_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER], (16*g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]));
            
client_cmd(id"spk %s"Ganar)
            
rangos_set_user_frags(idrangos_get_user_frags(id) + g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]*16);
        }
        case 
95..98:
        {
            
ChatColor(0Azul"!g[%s]!t %s!y Gano!g 32x%d Frags!g (+%d Frags)"g_PluginInfo[3], szNameg_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER], (32*g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]));
            
client_cmd(id"spk %s"Ganar)
            
rangos_set_user_frags(idrangos_get_user_frags(id) + g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]*32);
        }
        case 
99..102:
        {
            
ChatColor(0Azul"!g[%s]!t %s!y Gano!g 88x%d Frags!g (+%d Frags)"g_PluginInfo[3], szNameg_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER], (88*g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]));
            
client_cmd(id"spk %s"Ganar)
            
rangos_set_user_frags(idrangos_get_user_frags(id) + g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]*88);
        }
        case 
103:
        {
            
ChatColor(0Azul"!g[%s]!t %s!y Gano!g 160x%d Frags!g (+%d Frags)"g_PluginInfo[3], szNameg_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER], (160*g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]));
            
client_cmd(id"spk %s"Ganar)
            
rangos_set_user_frags(idrangos_get_user_frags(id) + g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]*160);
        }
        
#else 
         
case 1..25:
        {
            
ChatColor(0Azul"!g[%s]!t %s!y - Gano!g %d de $$..."g_PluginInfo[3], szNameg_BetAmounts[g_iBetAmount[id]][BET_AMOUNT]);
            
client_cmd(id"spk %s"Ganar)
            
cs_set_user_money(id, (cs_get_user_money(id) + g_BetAmounts[g_iBetAmount[id]][BET_AMOUNT]));
        }
        case 
26..85:
        {
            
ChatColor(0Azul"!g[%s]!t %s!y perdio!g %d de $$!"g_PluginInfo[3], szNameg_BetAmounts[g_iBetAmount[id]][BET_AMOUNT]);
            
client_cmd(id"spk %s"Perder)

            
g_iPozo += (g_BetAmounts[g_iBetAmount[id]][BET_AMOUNT]/4);
        }
        case 
86:
        {
            
ChatColor(0Azul"!g[%s]!t %s -!g GANO EL POZO! - !y%d de $$!"g_PluginInfo[3], szNameg_iPozo);
            
client_cmd(id"spk %s"Ganar)
            
cs_set_user_money(id, (cs_get_user_money(id) + g_iPozo));
            
g_iPozo 10;
        }
        case 
87..90:
        {
            
ChatColor(0Azul"!g[%s]!t %s!y Gano!g %d de $$ X%d!!g ( +%d $$)"g_PluginInfo[3], szNameg_BetAmounts[g_iBetAmount[id]][BET_AMOUNT], g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER], g_BetAmounts[g_iBetAmount[id]][BET_AMOUNT]*g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]);
            
cs_set_user_money(idcs_get_user_money(id) + g_BetAmounts[g_iBetAmount[id]][BET_AMOUNT] * g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER])
            
client_cmd(id"spk %s"Ganar)
        }
        case 
91..94:
        {
            
ChatColor(0Azul"!g[%s]!t %s!y Gano!g 16x%d de $$!g (+%d $$)"g_PluginInfo[3], szNameg_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER], (16*g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]));
            
client_cmd(id"spk %s"Ganar)
            
cs_set_user_money(idcs_get_user_money(id) + g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]*16);
        }
        case 
95..98:
        {
            
ChatColor(0Azul"!g[%s]!t %s!y Gano!g 32x%d de $$!g (+%d $$)"g_PluginInfo[3], szNameg_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER], (32*g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]));
            
client_cmd(id"spk %s"Ganar)
            
cs_set_user_money(idcs_get_user_money(id) + g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]*32);
        }
        case 
99..102:
        {
            
ChatColor(0Azul"!g[%s]!t %s!y Gano!g 88x%d de $$!g (+%d $$)"g_PluginInfo[3], szNameg_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER], (88*g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]));
            
client_cmd(id"spk %s"Ganar)
            
cs_set_user_money(idcs_get_user_money(id) + g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]*88);
        }
        case 
103:
        {
            
ChatColor(0Azul"!g[%s]!t %s!y Gano!g 160x%d de $$!g (+%d $$)"g_PluginInfo[3], szNameg_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER], (160*g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]));
            
client_cmd(id"spk %s"Ganar)
            
cs_set_user_money(idcs_get_user_money(id) + g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]*160);
        }
        
#endif
    
}

    
g_bPlayerBetting[id] = false;
    
g_iBetAmount[id] = 0;
}

public 
Bet_DoN_Result(id)
{
    if(!
is_user_connected(id))
        return;

    new 
szName[32];
    
get_user_name(idszNamecharsmax(szName));

    switch(
random_num(1100))
    {
        
#if defined BET_FRAGS
        
case 1..20:
        {

            
ChatColor(0Azul"!g[%s]!t %s!y gano el!g DOBLE DE SUS FRAGS!! !g(+%d Frags)"g_PluginInfo[3], szNameget_user_frags(id));            
            
rangos_set_user_frags(idrangos_get_user_frags(id) * 2);
        }
        case 
21..100:
        {
            
ChatColor(0Azul"!g[%s]r!t %s!y perdio todos sus!g FRAGS !yen el!g Me la juego!! (-%d Frags)"g_PluginInfo[3], szNameget_user_frags(id))
            
client_cmd(id"spk %s"Perder)
            
g_iPozo += (rangos_get_user_frags(id) / 4);
            
rangos_set_user_frags(id0);
        }
        
#else
        
case 1..20:
        {

            
ChatColor(0Azul"!g[%s]!t %s!y gano el!g DOBLE DE SU DINERO!! !g(+%d $$)"g_PluginInfo[3], szNamecs_get_user_money(id));
            
cs_set_user_money(idcs_get_user_money(id) * 2);
        }
        case 
21..100:
        {
            
ChatColor(0Azul"!g[%s]r!t %s!y perdio toda su!g DINEROy en el!g Me la juego!! (-%d $$)"g_PluginInfo[3], szNamecs_get_user_money(id))
            
client_cmd(id"spk %s"Perder)
            
g_iPozo += (cs_get_user_money(id) / 4);
            
cs_set_user_money(id0);
        }
        
#endif
    
}

    
g_bPlayerBetting[id] = false;
    
g_iBetAmount[id] = 0;
}

public 
clcmd_Pozo(id)
{
    
#if defined BET_FRAGS
    
ChatColor(idAzul"!g[%s]!y Frags acumulados en el!g POZO: %d"g_PluginInfo[3], g_iPozo);
    
#else
    
ChatColor(idAzul"!g[%s]!y Dinero acumulado en el!g POZO: %d $$"g_PluginInfo[3], g_iPozo);
    
#endif
    
return PLUGIN_HANDLED;
}

stock ChatColor(idColors:colormsg[], any:...)
{
    static 
szMsg[191], msgSayText;
    
#define teaminfo_sent(%0) (TeamInfoSent & (1<<%0))
    
    
if (!msgSayText)
        
msgSayText get_user_msgid("SayText");
    
    
vformat(szMsg190msg4);

    
replace_all(szMsg190"!g""^4");
    
replace_all(szMsg190"!y""^1");
    
replace_all(szMsg190"!t""^3");
    
    
message_begin(id MSG_ONE_UNRELIABLE MSG_BROADCASTmsgSayText, .player id);
    
write_byte(color ? (_:color) : 33);
    
write_string(szMsg);
    
message_end();
}

public 
chatcolor_send_teaminfo(id)
{
    if (!
is_user_connected(id))
        return;
    
    static 
msgTeamInfo;
    if (!
msgTeamInfo)
        
msgTeamInfo get_user_msgid("TeamInfo");
    
    static const 
pTeams[][] = { """TERRORIST""CT" };
    
    for (new 
pid 0pid 3pid++)
    {
        
message_begin(MSG_ONE_UNRELIABLEmsgTeamInfo, .player id)
        
write_byte(pid+33)
        
write_string(pTeams[pid])
        
message_end()
    }

Responder
#14
ya lo pruebo altiro y te aviso gracias amigo

me sale esto compa
Plugin uses an unknown function (name "rangos_set_user_frags") - check your modules.ini.

Plugin uses an unknown function (name "rangos_set_user_frags") - check your modules.ini.

Código PHP:
#include <amxmodx>
#include <cstrike>

#define BET_FRAGS

new const Ganar[] = { "events/enemy_died.wav" // Ganar una apuesta
new const Perder[] = { "events/friend_died.wav" // Perer una apuesta

#if defined BET_FRAGS
native rangos_get_user_frags(id);
native rangos_set_user_frags(idfrags)
#endif

enum Colors
{
    
Gris 33,
    
Rojo,
    
Azul
}

enum _DATA_BET BET_AMOUNTBET_MULTIPLIER };

new const 
g_PluginInfo[][] = { "Betting System""v1.0""RusselNight""AMXX" };

new const 
g_BetAmounts[][_DATA_BET] =
{
    { 
2},
    { 
4},
    { 
6},
    { 
8}
};

new 
bool:g_bPlayerBetting[33] = falseg_iBetAmount[33], Float:g_fTimeBetProgress 5.0g_iPozog_iMinAmountDoN;

new 
bool:g_bFirstRound true;

public 
plugin_init()
{
    
register_plugin(g_PluginInfo[0], g_PluginInfo[1], g_PluginInfo[2]);
    
    
register_event("HLTV""ev_NewRound""a""1=0""2=0");

    
register_clcmd("say /ganar""clcmd_Bet");
    
register_clcmd("say /ganartodo""clcmd_Bet");
    
register_clcmd("say /bono""clcmd_Pozo");
}

public 
plugin_precache()
{
    
precache_sound(Ganar)
    
precache_sound(Perder)


public 
client_disconnect(id
{
    
g_bPlayerBetting[id] = false;
    
g_iBetAmount[id] = 0
}

public 
ev_NewRound()
{
    if(
g_bFirstRound)
    {
        
g_iPozo 10;
        
g_iMinAmountDoN 100;
        
g_bFirstRound false;
    }
}

public 
clcmd_Bet(id)
{
    
Show_BetM(id);

    return 
PLUGIN_HANDLED;
}

public 
Show_BetM(id)
{
    static 
szText[256], iMenui;
    
formatex(szTextcharsmax(szText), "Menu de Suerte");
    
iMenu menu_create(szText"Handled_BetM");

    for(
0sizeof(g_BetAmounts); i++)
    {
        
#if defined BET_FRAGS
        
formatex(szTextcharsmax(szText), "%d frags - x%d (Multiplicar ganancia por x%d)" g_BetAmounts[i][BET_AMOUNT], g_BetAmounts[i][BET_MULTIPLIER], g_BetAmounts[i][BET_MULTIPLIER]);
        
#else 
        
formatex(szTextcharsmax(szText), "%d de $$ - x%d (Multiplicar ganancia por x%d)" g_BetAmounts[i][BET_AMOUNT], g_BetAmounts[i][BET_MULTIPLIER], g_BetAmounts[i][BET_MULTIPLIER]);
        
#endif
        
        
menu_additem(iMenuszText);
    }

    if(
cs_get_user_money(id) >= g_iMinAmountDoN)
    {
        
menu_additem(iMenu"\wJugar\y ME LA JUEGO");
    }
    else
    {
        
#if defined BET_FRAGS
        
formatex(szTextcharsmax(szText), "\dJugar ME LA JUEGO \y[Necesitas %d Frags]"g_iMinAmountDoN);
        
#else 
        
formatex(szTextcharsmax(szText), "\dJugar ME LA JUEGO \y[Necesitas $%d]"g_iMinAmountDoN);
        
#endif
        
menu_additem(iMenuszText);
    }

    
menu_setprop(iMenuMPROP_EXITNAME"\d[\rCerrar Menu\d]");
    
menu_display(idiMenu);
    return 
PLUGIN_HANDLED
}

public 
Handled_BetM(idiMenuiItem)
{
    new 
szName[32];
    
get_user_name(idszNamecharsmax(szName));

    if(
iItem == MENU_EXIT)
    {
        
menu_destroy(iMenu);
        return 
PLUGIN_HANDLED;
    }

    if(
g_bPlayerBetting[id])
    {
        
ChatColor(idAzul"!g[%s]!y Ya estas!g realizando una apuesta."g_PluginInfo[3]);
        return 
PLUGIN_HANDLED;
    }

    if(
iItem >= sizeof(g_BetAmounts))
    {
        
#if defined BET_FRAGS
        
if(rangos_get_user_frags(id) < g_iMinAmountDoN)
        {
            
ChatColor(idAzul,"!g[%s]!y No tienes!g suficientes frags."g_PluginInfo[3]);
            return 
PLUGIN_HANDLED;
        }

        
ChatColor(0Azul"!g[%s]!t %s!y aposto todos sus frags!g (%d)!y en!g Me la juego!!"g_PluginInfo[3], szNamerangos_get_user_frags(id));
        
#else
        
if(cs_get_user_money(id) < g_iMinAmountDoN)
        {
            
ChatColor(idAzul,"!g[%s]!y No tienes!g suficiente $$."g_PluginInfo[3]);
            return 
PLUGIN_HANDLED;
        }

        
ChatColor(0Azul"!g[%s]!t %s!y aposto toda su dinero!g (%d)!y en!g Me la juego!!"g_PluginInfo[3], szNamecs_get_user_money(id));
        
#endif
        
        
set_task(g_fTimeBetProgress"Bet_DoN_Result"id);
    }
    else
    {
        
#if defined BET_FRAGS
        
if(get_user_frags(id) < g_BetAmounts[iItem][BET_AMOUNT])
        {
            
ChatColor(idAzul"!g[%s]!y No tienes!g frags suficientes!."g_PluginInfo[3]);
            return 
PLUGIN_HANDLED;
        }

        
ChatColor(0Azul"!g[%s]!t %s!y - aposto!g %d frags."g_PluginInfo[3], szNameg_BetAmounts[iItem][BET_AMOUNT]);
        
#else 
        
if(cs_get_user_money(id) < g_BetAmounts[iItem][BET_AMOUNT])
        {
            
ChatColor(idAzul"!g[%s]!y No tienes!g dinero suficiente!."g_PluginInfo[3]);
            return 
PLUGIN_HANDLED;
        }

        
ChatColor(0Azul"!g[%s]!t %s!y - aposto!g %d de $$."g_PluginInfo[3], szNameg_BetAmounts[iItem][BET_AMOUNT]);
        
#endif

        
set_task(g_fTimeBetProgress"Bet_Result"id);
    }

    
g_bPlayerBetting[id] = true;
    
g_iBetAmount[id] = iItem;

    return 
PLUGIN_HANDLED;
}

public 
Bet_Result(id)
{
    if(!
is_user_connected(id))
        return;

    new 
szName[32];
    
get_user_name(idszNamecharsmax(szName));

    switch(
random_num(1103))
    {
        
#if defined BET_FRAGS
        
case 1..25:
        {
            
ChatColor(0Azul"!g[%s]!t %s!y - Gano!g %d Frags..."g_PluginInfo[3], szNameg_BetAmounts[g_iBetAmount[id]][BET_AMOUNT]);
            
client_cmd(id"spk %s"Ganar)            
            
rangos_set_user_frags(id, (rangos_get_user_frags(id) + g_BetAmounts[g_iBetAmount[id]][BET_AMOUNT]));
        }
        case 
26..85:
        {
            
ChatColor(0Azul"!g[%s]!t %s!y perdio!g %d Frags!"g_PluginInfo[3], szNameg_BetAmounts[g_iBetAmount[id]][BET_AMOUNT]);
            
client_cmd(id"spk %s"Perder)

            
g_iPozo += (g_BetAmounts[g_iBetAmount[id]][BET_AMOUNT]/4);
        }
        case 
86:
        {
            
ChatColor(0Azul"!g[%s]!t %s -!g GANO EL POZO! - !y%d Frags!"g_PluginInfo[3], szNameg_iPozo);
            
client_cmd(id"spk %s"Ganar)
            
rangos_set_user_frags(id, (rangos_get_user_frags(id) + g_iPozo));
            
g_iPozo 10;
        }
        case 
87..90:
        {
            
ChatColor(0Azul"!g[%s]!t %s!y Gano!g %d Frags X%d!!g ( +%d Frags)"g_PluginInfo[3], szNameg_BetAmounts[g_iBetAmount[id]][BET_AMOUNT], g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER], g_BetAmounts[g_iBetAmount[id]][BET_AMOUNT]*g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]);
            
rangos_set_user_frags(idrangos_get_user_frags(id) + g_BetAmounts[g_iBetAmount[id]][BET_AMOUNT] * g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER])
            
client_cmd(id"spk %s"Ganar)
        }
        case 
91..94:
        {
            
ChatColor(0Azul"!g[%s]!t %s!y Gano!g 16x%d Frags (+%d Frags)"g_PluginInfo[3], szNameg_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER], (16*g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]));
            
client_cmd(id"spk %s"Ganar)
            
rangos_set_user_frags(idrangos_get_user_frags(id) + g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]*16);
        }
        case 
95..98:
        {
            
ChatColor(0Azul"!g[%s]!t %s!y Gano!g 32x%d Frags!g (+%d Frags)"g_PluginInfo[3], szNameg_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER], (32*g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]));
            
client_cmd(id"spk %s"Ganar)
            
rangos_set_user_frags(idrangos_get_user_frags(id) + g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]*32);
        }
        case 
99..102:
        {
            
ChatColor(0Azul"!g[%s]!t %s!y Gano!g 88x%d Frags!g (+%d Frags)"g_PluginInfo[3], szNameg_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER], (88*g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]));
            
client_cmd(id"spk %s"Ganar)
            
rangos_set_user_frags(idrangos_get_user_frags(id) + g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]*88);
        }
        case 
103:
        {
            
ChatColor(0Azul"!g[%s]!t %s!y Gano!g 160x%d Frags!g (+%d Frags)"g_PluginInfo[3], szNameg_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER], (160*g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]));
            
client_cmd(id"spk %s"Ganar)
            
rangos_set_user_frags(idrangos_get_user_frags(id) + g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]*160);
        }
        
#else 
         
case 1..25:
        {
            
ChatColor(0Azul"!g[%s]!t %s!y - Gano!g %d de $$..."g_PluginInfo[3], szNameg_BetAmounts[g_iBetAmount[id]][BET_AMOUNT]);
            
client_cmd(id"spk %s"Ganar)
            
cs_set_user_money(id, (cs_get_user_money(id) + g_BetAmounts[g_iBetAmount[id]][BET_AMOUNT]));
        }
        case 
26..85:
        {
            
ChatColor(0Azul"!g[%s]!t %s!y perdio!g %d de $$!"g_PluginInfo[3], szNameg_BetAmounts[g_iBetAmount[id]][BET_AMOUNT]);
            
client_cmd(id"spk %s"Perder)

            
g_iPozo += (g_BetAmounts[g_iBetAmount[id]][BET_AMOUNT]/4);
        }
        case 
86:
        {
            
ChatColor(0Azul"!g[%s]!t %s -!g GANO EL POZO! - !y%d de $$!"g_PluginInfo[3], szNameg_iPozo);
            
client_cmd(id"spk %s"Ganar)
            
cs_set_user_money(id, (cs_get_user_money(id) + g_iPozo));
            
g_iPozo 10;
        }
        case 
87..90:
        {
            
ChatColor(0Azul"!g[%s]!t %s!y Gano!g %d de $$ X%d!!g ( +%d $$)"g_PluginInfo[3], szNameg_BetAmounts[g_iBetAmount[id]][BET_AMOUNT], g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER], g_BetAmounts[g_iBetAmount[id]][BET_AMOUNT]*g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]);
            
cs_set_user_money(idcs_get_user_money(id) + g_BetAmounts[g_iBetAmount[id]][BET_AMOUNT] * g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER])
            
client_cmd(id"spk %s"Ganar)
        }
        case 
91..94:
        {
            
ChatColor(0Azul"!g[%s]!t %s!y Gano!g 16x%d de $$!g (+%d $$)"g_PluginInfo[3], szNameg_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER], (16*g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]));
            
client_cmd(id"spk %s"Ganar)
            
cs_set_user_money(idcs_get_user_money(id) + g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]*16);
        }
        case 
95..98:
        {
            
ChatColor(0Azul"!g[%s]!t %s!y Gano!g 32x%d de $$!g (+%d $$)"g_PluginInfo[3], szNameg_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER], (32*g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]));
            
client_cmd(id"spk %s"Ganar)
            
cs_set_user_money(idcs_get_user_money(id) + g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]*32);
        }
        case 
99..102:
        {
            
ChatColor(0Azul"!g[%s]!t %s!y Gano!g 88x%d de $$!g (+%d $$)"g_PluginInfo[3], szNameg_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER], (88*g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]));
            
client_cmd(id"spk %s"Ganar)
            
cs_set_user_money(idcs_get_user_money(id) + g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]*88);
        }
        case 
103:
        {
            
ChatColor(0Azul"!g[%s]!t %s!y Gano!g 160x%d de $$!g (+%d $$)"g_PluginInfo[3], szNameg_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER], (160*g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]));
            
client_cmd(id"spk %s"Ganar)
            
cs_set_user_money(idcs_get_user_money(id) + g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]*160);
        }
        
#endif
    
}

    
g_bPlayerBetting[id] = false;
    
g_iBetAmount[id] = 0;
}

public 
Bet_DoN_Result(id)
{
    if(!
is_user_connected(id))
        return;

    new 
szName[32];
    
get_user_name(idszNamecharsmax(szName));

    switch(
random_num(1100))
    {
        
#if defined BET_FRAGS
        
case 1..20:
        {

            
ChatColor(0Azul"!g[%s]!t %s!y gano el!g DOBLE DE SUS FRAGS!! !g(+%d Frags)"g_PluginInfo[3], szNameget_user_frags(id));            
            
rangos_set_user_frags(idrangos_get_user_frags(id) * 2);
        }
        case 
21..100:
        {
            
ChatColor(0Azul"!g[%s]r!t %s!y perdio todos sus!g FRAGS !yen el!g Me la juego!! (-%d Frags)"g_PluginInfo[3], szNameget_user_frags(id))
            
client_cmd(id"spk %s"Perder)
            
g_iPozo += (rangos_get_user_frags(id) / 4);
            
rangos_set_user_frags(id0);
        }
        
#else
        
case 1..20:
        {

            
ChatColor(0Azul"!g[%s]!t %s!y gano el!g DOBLE DE SU DINERO!! !g(+%d $$)"g_PluginInfo[3], szNamecs_get_user_money(id));
            
cs_set_user_money(idcs_get_user_money(id) * 2);
        }
        case 
21..100:
        {
            
ChatColor(0Azul"!g[%s]r!t %s!y perdio toda su!g DINEROy en el!g Me la juego!! (-%d $$)"g_PluginInfo[3], szNamecs_get_user_money(id))
            
client_cmd(id"spk %s"Perder)
            
g_iPozo += (cs_get_user_money(id) / 4);
            
cs_set_user_money(id0);
        }
        
#endif
    
}

    
g_bPlayerBetting[id] = false;
    
g_iBetAmount[id] = 0;
}

public 
clcmd_Pozo(id)
{
    
#if defined BET_FRAGS
    
ChatColor(idAzul"!g[%s]!y Frags acumulados en el!g POZO: %d"g_PluginInfo[3], g_iPozo);
    
#else
    
ChatColor(idAzul"!g[%s]!y Dinero acumulado en el!g POZO: %d $$"g_PluginInfo[3], g_iPozo);
    
#endif
    
return PLUGIN_HANDLED;
}

stock ChatColor(idColors:colormsg[], any:...)
{
    static 
szMsg[191], msgSayText;
    
#define teaminfo_sent(%0) (TeamInfoSent & (1<<%0))
    
    
if (!msgSayText)
        
msgSayText get_user_msgid("SayText");
    
    
vformat(szMsg190msg4);

    
replace_all(szMsg190"!g""^4");
    
replace_all(szMsg190"!y""^1");
    
replace_all(szMsg190"!t""^3");
    
    
message_begin(id MSG_ONE_UNRELIABLE MSG_BROADCASTmsgSayText, .player id);
    
write_byte(color ? (_:color) : 33);
    
write_string(szMsg);
    
message_end();
}

public 
chatcolor_send_teaminfo(id)
{
    if (!
is_user_connected(id))
        return;
    
    static 
msgTeamInfo;
    if (!
msgTeamInfo)
        
msgTeamInfo get_user_msgid("TeamInfo");
    
    static const 
pTeams[][] = { """TERRORIST""CT" };
    
    for (new 
pid 0pid 3pid++)
    {
        
message_begin(MSG_ONE_UNRELIABLEmsgTeamInfo, .player id)
        
write_byte(pid+33)
        
write_string(pTeams[pid])
        
message_end()
    }

Responder
#15
de seguro se le olvido registrar las natives, enviame tu plugin de rangos y te lo hago yo cuando tenga libre
Responder
#16
Código PHP:
/*    -----------------------------------------
Creditos: Solo para Raulitop, por el hook say :3

Version Con Guardado NFVAULT
-------------------------------            */

#include <amxmisc>
#include <fakemeta>
#include <nfvault>

new const PLUGIN[] = "Rangos CS:GO"
#define VERSION "1.0"
new const AUTHOR[] = "kikizon"

/* =============================================
|= [EMPIEZA SECCION MODIFICABLE] =|
==============================================*/
/* ====================================
*[CONSTANTES]*
=====================================*/ 
new const Prefijo[] = "!g[RANGOS]!y" // Prefijo en say
new const Sonido[] = "rango/powerup.wav" // Sonido Rango UP
/* ====================================
*[CONST NOMBRES DE RANGOS]*
=====================================*/
enum _:DATA
{
    
NOMBRE[30],
    
FRAGS
}
new const 
Rangos[][DATA] = {
    { 
"[topo]"200 },
    { 
"[chchi]"400 },
    { 
"[feli]"500 },
    { 
"[tol]"700 },
    { 
"[666]"800 },
    { 
"[anues]"1000 },
    { 
"[luli]"1500 },
    { 
"[lego]"2000 },
    { 
"[maisis]"3000 },
    { 
"[trico]"4000 },
    { 
"[corazon]"5000 },
    { 
"[mamita]"8000 },
    { 
"[papito]",9000 },
    { 
"[feliz]"20000 }
}

/* =============================================
|= [TERMINA SECCION MODIFICABLE] =|
==============================================*/

/* ====================================
*[VARIABLES]*
=====================================*/
new g_rango[33], g_frags[33]
new 
g_maxplayersg_msgTeamInfog_msgSayTextg_playername[33][32];
#define TASK_HUD 2100
#define ID_HUD (taskid - TASK_HUD)
#define XD is_user_connected(id) || !is_user_bot(id) || !is_user_hltv(id)
new VaultRango[128], szRangos[180], szKey[30]

/* ====================================
*[Cvars]*
=====================================*/
new cvar_knifex2cvar_hsx2
/* ====================================
*[INIT]*
=====================================*/
public plugin_init() {
    
register_plugin(PLUGINVERSIONAUTHOR)


    
register_concmd("dar_frags""cmdFrags"ADMIN_RCON"- <Nombre> <Cantidad> Vende y/o Regala Frags a un Users")
    
register_event("DeathMsg""Event_DeathMsg""a")
    
register_logevent("logevent_round_end"2"1=Round_End")
    
    
    
register_event("DeathMsg""Event_DeathMsg""a")
    
register_logevent("logevent_round_end"2"1=Round_End")
    
        
// este tenia que ir primero
    
register_clcmd("say /rango""ver_rango")
    
    
register_clcmd("say""message_saytext"
    
register_clcmd("say_team""message_sayteam")
    
    
    
    
/* =============================================
    |= [EMPIEZA SECCION MODIFICABLE] =|
    ==============================================*/
    
cvar_knifex2 register_cvar("rangos_knifex2""0")    // 1 - x2 frags con knife | 0 - ÑO :v
    
cvar_hsx2 register_cvar("rangos_hsx2""0")        // 1 - x2 frags de HeadShot | 0 - ÑO :v
    /* =============================================
    |= [TERMINA SECCION MODIFICABLE] =|
    ==============================================*/
    
    
g_maxplayers get_maxplayers()
    
g_msgTeamInfo get_user_msgid("TeamInfo")
    
g_msgSayText get_user_msgid("SayText")
    
    
nfv_file("Ranguitos.txt"VaultRangocharsmax(VaultRango))
}
/* ====================================
*[PRECACHE]*
=====================================*/
public plugin_precache() 
    
precache_sound(Sonido)
/* ===================================
*[VER RANGO]*
=====================================*/
public ver_rango(id) {

    
chatcolor(id"!g%s!y |!tRango Actual: !y%s|!tFrags: !y%d|"PrefijoRangos[g_rango[id]][NOMBRE], g_frags[id])
    
chatcolor(id"!g%s!y |!tProximo Rango: !y%s|!tFrags Restantes: !y%d|"PrefijoRangos[g_rango[id]+1][NOMBRE], Rangos[g_rango[id]][FRAGS] -  g_frags[id])    

/* ==================================
    [PUTINSERVER]
===================================*/
public client_putinserver(id) {
    
get_user_nameidg_playernameid ], charsmaxg_playername[ ] ) );
    
g_rango[id] = 0
    g_frags
[id] = 0
    
    Cargar
(id)
}
/* ==================================
    [DISCONNECT]
===================================*/
public client_disconnect(id) {
    if(
XDGuardar(id);
}

/* ==================================
    [ROUND END]
===================================*/
public logevent_round_end() {
    for(new 
id 1id <= g_maxplayersid++) {
        if(
XD
            
Guardar(id); 
    }
}
/* ==================================
    [DEATHMSG]
===================================*/
public Event_DeathMsg() {
    new 
attacker read_data(1)
    new 
victim read_data(2)
    new 
hs read_data(3)
    new 
weaponid get_user_weapon(attacker)
    
    if(
victim == attacker) return;
    
    if(
is_user_alive(attacker)) {
        
g_frags[attacker]++
        
        if(
get_pcvar_num(cvar_knifex2)) {
            if(
weaponid == CSW_KNIFE
                
g_frags[attacker]++
        }
        if(
get_pcvar_num(cvar_hsx2)) {
            if(
hsg_frags[attacker]++
        }
        
AumentarRango(attacker)
    }
}
/*========
 cmdFrags| aca Registramos el evento de Dar Frags
==========*/
public cmdFrags(idlevelcid) {
        if(!
cmd_access(idlevelcid2)) 
                return 
PLUGIN_HANDLED;
                
        new 
name[32]; read_argv(1namecharsmax(name))
        new 
player cmd_target(idnameCMDTARGET_ALLOW_SELF)
        if(!
player)
                return 
PLUGIN_HANDLED;
        
        new 
num[10]; read_argv(2numcharsmax(num))
        
g_frags[player] += str_to_num(num)
        new 
nameuser[32], nameadmin[32]
        
get_user_name(idnameadmincharsmax(nameadmin))
        
get_user_name(playernameusercharsmax(nameuser))
        
        
client_print(0print_chat"[AMXX] Administrador %s: Regalar %s Frags a %s"nameadminnumnameuser)
        
AumentarRango(player)
        return 
PLUGIN_HANDLED;
}
/* ================================
    [UPDATE RANGO]
=================================*/
AumentarRango(id) {    
    new 
Aumento false
    
    
while(g_frags[id] >= Rangos[g_rango[id]][FRAGS]) {
        
Aumento true
        g_rango
[id]++
    }
        
    if(
Aumento) {
        
chatcolor(id"%s Felicidades subiste al rango: !g[ %s ]"PrefijoRangos[g_rango[id]][NOMBRE])
        
client_cmd(id"spk %s"Sonido)
        
Aumento false
    
}
}
/*=====================================
*[SAY]*
=====================================*/
public message_saytext(id) { 
    static 
said[192
    
read_args(saidcharsmax(said)) 
    
remove_quotes(said
    
    if (
said[0] == '@' || said[0] == '%' || said[0] == '/' || said[0] == '.' || said[0] == '!' || equal (said""))
        return 
PLUGIN_HANDLED

    
if (!ValidMessage(said1)) return PLUGIN_CONTINUE;
    
    static 
color[11], name[32], alive[11]
    
get_user_team(id,color,charsmax(color))
    
get_user_name(id,name,charsmax(name))

    if (
is_user_alive (id)) {
        
alive ""
    
} else {
        
alive "[Muerto]"
    
}

    if (
is_user_admin(id)) {
        if (
get_user_flags(id) & ADMIN_KICK
            
format(saidcharsmax(said), "^x01%s^x04%s ^x03%s ^x04: %s"aliveRangos[g_rango[id]][NOMBRE], namesaid)
    } else {
        
format(saidcharsmax(said), "^x01%s^04%s ^x03%s ^x01: %s"aliveRangos[g_rango[id]][NOMBRE], namesaid)
    }
    
    static 
iteam[11
    for (
1<= g_maxplayersi++) {
        if (!
is_user_connected(i)) continue
        
get_user_name(id,name,charsmax(name))
        
        if (
is_user_admin(i) || is_user_alive(id) && is_user_alive(i) || !is_user_alive(id) && !is_user_alive(i)) {
            
get_user_team(iteamcharsmax(team))
            
changeTeamInfo(icolor)
            
writeMessage(isaid)
            
changeTeamInfo(iteam)
        }
    }
    return 
PLUGIN_HANDLED_MAIN;
}

public 
message_sayteam(id)
{    
    static 
said[192
    
read_args(saidcharsmax(said)) 
    
remove_quotes(said
    
    if (
said[0] == '@' || said[0] == '%' || said[0] == '/' || said[0] == '.' || said[0] == '!' || equal (said""))
        return 
PLUGIN_HANDLED

    
if (!ValidMessage(said1)) return PLUGIN_CONTINUE
    
    static 
playerTeamplayerTeamName[19]
    
playerTeam get_user_team(id)
    
    switch (
playerTeam) {
        case 
1copy (playerTeamName6"TE")
        case 
2copy (playerTeamName8"CT"
        default: 
copy (playerTeamName11"SPEC"
    }

    static 
color[11], name[32], alive[11]
    
get_user_team(id,color,charsmax(color))
    
get_user_name(id,name,charsmax(name))

    if (
is_user_alive (id)) {
        
alive ""
    
} else {
        
alive "[MUERTO]"
    
}

    if (
is_user_admin(id)) {
        if (
get_user_flags(id) & ADMIN_RCON)
            
format(saidcharsmax(said), "^x01%s [ %s ] ^x04%s ^x03%s ^x04: %s"aliveplayerTeamRangos[g_rango[id]], namesaid)
    } else {
        
format(saidcharsmax(said), "^x01%s [ %s ] ^04%s ^x03%s ^x01: %s"aliveplayerTeamRangos[g_rango[id]],namesaid)
    }

    static 
iteam[11
    for (
1<= g_maxplayersi++) {
        if (!
is_user_connected(i)) continue;
        
get_user_name(id,name,charsmax(name))
        
        if (
get_user_team(i) == playerTeam || is_user_admin(i)) {
            if (
is_user_alive(id) && is_user_alive(i) || !is_user_alive(id) && !is_user_alive(i)) {
                
get_user_team(iteamcharsmax(team))
                
changeTeamInfo(icolor)
                
writeMessage(isaid)
                
changeTeamInfo(iteam)
            }
        }
    }
    return 
PLUGIN_HANDLED_MAIN;
}
public 
changeTeamInfo(playerteam[]) {
    
message_begin(MSG_ONEg_msgTeamInfo_player)
    
write_byte(player)
    
write_string(team)
    
message_end()
}




public 
writeMessage(playermessage[]) {
    
message_begin(MSG_ONEg_msgSayText, {000}, player)
    
write_byte(player)
    
write_string(message)
    
message_end()
}
/* ===================================
*[GUARDADO]*
=====================================*/
Guardar(id) {
    
formatex(szKeycharsmax(szKey), "data_rangos"
    
formatex(szRangoscharsmax(szRangos), "%d %d"g_frags[id], g_rango[id])
    
    
nfv_set_data(VaultRangoszKeyg_playername[id], szRangos)
}

Cargar(id) {
    new 
g_load_c1[25], g_load_c2[25]
    
formatex(szKeycharsmax(szKey), "data_rangos"
    
    if(!
nfv_get_data(VaultRangoszKeyg_playername[id], szRangossizeof(szRangos) - 1)) return; 
   
    
parse(szRangosg_load_c1charsmax(g_load_c1), g_load_c2charsmax(g_load_c2))
    
    
g_frags[id] = str_to_num(g_load_c1)
    
g_rango[id] = str_to_num(g_load_c2)

/* ===================================
*[STOCKS]*
=====================================*/
// stock de chatcolor
stock chatcolor(id, const input[], any:...) {
    new 
count 1players[32]; 
    static 
msg[191]; 
    
vformat(msg190input3); 
     
    
replace_all(msg190"!g""^4"); // Verde
    
replace_all(msg190"!y""^1"); // Default
    
replace_all(msg190"!t""^3"); // Color del Equipo 
     
    
if (idplayers[0] = id; else get_players(playerscount"ch"); { 
        for (new 
0counti++)  { 
            if (
is_user_connected(players[i])) { 
                
message_begin(MSG_ONE_UNRELIABLEget_user_msgid("SayText"), _players[i]); 
                
write_byte(players[i]); 
                
write_string(msg); 
                
message_end(); 
            } 
        } 
    } 


plugin_natives()
{
    
register_native("rangos_get_user_frags""get_Frags"1)
    
register_native("rangos_set_user_frags""set_Frags"1// Solo resta y suma.

}

public 
get_Frags(id)
{
    return 
g_frags[id];
}

public 
set_Frags(idfrags)
{
    
g_frags[id] += frags;

    return 
g_frags[id];
}
// Stock para Saber Si el mensaje es valido
stock ValidMessage(text[], maxcount) {
    static 
lenicount
    len 
strlen(text)
    
count 0
    
    
if (!len)
        return 
false;
    
    for (
0leni++) {
        if (
text[i] != ' ') {
            
count++
            if (
count >= maxcount)
                return 
true;
        }
    }
    return 
false;


pero el que me tira error es el de apuestas

Plugin uses an unknown function (name "rangos_set_user_frags") - check your modules.ini.

este

Código PHP:
#include <amxmodx>
#include <cstrike>

#define BET_FRAGS

new const Ganar[] = { "events/enemy_died.wav" // Ganar una apuesta
new const Perder[] = { "events/friend_died.wav" // Perer una apuesta

#if defined BET_FRAGS
native rangos_get_user_frags(id);
native rangos_set_user_frags(idfrags)
#endif

enum Colors
{
    
Gris 33,
    
Rojo,
    
Azul
}

enum _DATA_BET BET_AMOUNTBET_MULTIPLIER };

new const 
g_PluginInfo[][] = { "Betting System""v1.0""RusselNight""AMXX" };

new const 
g_BetAmounts[][_DATA_BET] =
{
    { 
2},
    { 
4},
    { 
6},
    { 
8}
};

new 
bool:g_bPlayerBetting[33] = falseg_iBetAmount[33], Float:g_fTimeBetProgress 5.0g_iPozog_iMinAmountDoN;

new 
bool:g_bFirstRound true;

public 
plugin_init()
{
    
register_plugin(g_PluginInfo[0], g_PluginInfo[1], g_PluginInfo[2]);
    
    
register_event("HLTV""ev_NewRound""a""1=0""2=0");

    
register_clcmd("say /ganar""clcmd_Bet");
    
register_clcmd("say /ganartodo""clcmd_Bet");
    
register_clcmd("say /bono""clcmd_Pozo");
}

public 
plugin_precache()
{
    
precache_sound(Ganar)
    
precache_sound(Perder)


public 
client_disconnect(id
{
    
g_bPlayerBetting[id] = false;
    
g_iBetAmount[id] = 0
}

public 
ev_NewRound()
{
    if(
g_bFirstRound)
    {
        
g_iPozo 10;
        
g_iMinAmountDoN 100;
        
g_bFirstRound false;
    }
}

public 
clcmd_Bet(id)
{
    
Show_BetM(id);

    return 
PLUGIN_HANDLED;
}

public 
Show_BetM(id)
{
    static 
szText[256], iMenui;
    
formatex(szTextcharsmax(szText), "Menu de Suerte");
    
iMenu menu_create(szText"Handled_BetM");

    for(
0sizeof(g_BetAmounts); i++)
    {
        
#if defined BET_FRAGS
        
formatex(szTextcharsmax(szText), "%d frags - x%d (Multiplicar ganancia por x%d)" g_BetAmounts[i][BET_AMOUNT], g_BetAmounts[i][BET_MULTIPLIER], g_BetAmounts[i][BET_MULTIPLIER]);
        
#else 
        
formatex(szTextcharsmax(szText), "%d de $$ - x%d (Multiplicar ganancia por x%d)" g_BetAmounts[i][BET_AMOUNT], g_BetAmounts[i][BET_MULTIPLIER], g_BetAmounts[i][BET_MULTIPLIER]);
        
#endif
        
        
menu_additem(iMenuszText);
    }

    if(
cs_get_user_money(id) >= g_iMinAmountDoN)
    {
        
menu_additem(iMenu"\wJugar\y ME LA JUEGO");
    }
    else
    {
        
#if defined BET_FRAGS
        
formatex(szTextcharsmax(szText), "\dJugar ME LA JUEGO \y[Necesitas %d Frags]"g_iMinAmountDoN);
        
#else 
        
formatex(szTextcharsmax(szText), "\dJugar ME LA JUEGO \y[Necesitas $%d]"g_iMinAmountDoN);
        
#endif
        
menu_additem(iMenuszText);
    }

    
menu_setprop(iMenuMPROP_EXITNAME"\d[\rCerrar Menu\d]");
    
menu_display(idiMenu);
    return 
PLUGIN_HANDLED
}

public 
Handled_BetM(idiMenuiItem)
{
    new 
szName[32];
    
get_user_name(idszNamecharsmax(szName));

    if(
iItem == MENU_EXIT)
    {
        
menu_destroy(iMenu);
        return 
PLUGIN_HANDLED;
    }

    if(
g_bPlayerBetting[id])
    {
        
ChatColor(idAzul"!g[%s]!y Ya estas!g realizando una apuesta."g_PluginInfo[3]);
        return 
PLUGIN_HANDLED;
    }

    if(
iItem >= sizeof(g_BetAmounts))
    {
        
#if defined BET_FRAGS
        
if(rangos_get_user_frags(id) < g_iMinAmountDoN)
        {
            
ChatColor(idAzul,"!g[%s]!y No tienes!g suficientes frags."g_PluginInfo[3]);
            return 
PLUGIN_HANDLED;
        }

        
ChatColor(0Azul"!g[%s]!t %s!y aposto todos sus frags!g (%d)!y en!g Me la juego!!"g_PluginInfo[3], szNamerangos_get_user_frags(id));
        
#else
        
if(cs_get_user_money(id) < g_iMinAmountDoN)
        {
            
ChatColor(idAzul,"!g[%s]!y No tienes!g suficiente $$."g_PluginInfo[3]);
            return 
PLUGIN_HANDLED;
        }

        
ChatColor(0Azul"!g[%s]!t %s!y aposto toda su dinero!g (%d)!y en!g Me la juego!!"g_PluginInfo[3], szNamecs_get_user_money(id));
        
#endif
        
        
set_task(g_fTimeBetProgress"Bet_DoN_Result"id);
    }
    else
    {
        
#if defined BET_FRAGS
        
if(get_user_frags(id) < g_BetAmounts[iItem][BET_AMOUNT])
        {
            
ChatColor(idAzul"!g[%s]!y No tienes!g frags suficientes!."g_PluginInfo[3]);
            return 
PLUGIN_HANDLED;
        }

        
ChatColor(0Azul"!g[%s]!t %s!y - aposto!g %d frags."g_PluginInfo[3], szNameg_BetAmounts[iItem][BET_AMOUNT]);
        
#else 
        
if(cs_get_user_money(id) < g_BetAmounts[iItem][BET_AMOUNT])
        {
            
ChatColor(idAzul"!g[%s]!y No tienes!g dinero suficiente!."g_PluginInfo[3]);
            return 
PLUGIN_HANDLED;
        }

        
ChatColor(0Azul"!g[%s]!t %s!y - aposto!g %d de $$."g_PluginInfo[3], szNameg_BetAmounts[iItem][BET_AMOUNT]);
        
#endif

        
set_task(g_fTimeBetProgress"Bet_Result"id);
    }

    
g_bPlayerBetting[id] = true;
    
g_iBetAmount[id] = iItem;

    return 
PLUGIN_HANDLED;
}

public 
Bet_Result(id)
{
    if(!
is_user_connected(id))
        return;

    new 
szName[32];
    
get_user_name(idszNamecharsmax(szName));

    switch(
random_num(1103))
    {
        
#if defined BET_FRAGS
        
case 1..25:
        {
            
ChatColor(0Azul"!g[%s]!t %s!y - Gano!g %d Frags..."g_PluginInfo[3], szNameg_BetAmounts[g_iBetAmount[id]][BET_AMOUNT]);
            
client_cmd(id"spk %s"Ganar)            
            
rangos_set_user_frags(id, (rangos_get_user_frags(id) + g_BetAmounts[g_iBetAmount[id]][BET_AMOUNT]));
        }
        case 
26..85:
        {
            
ChatColor(0Azul"!g[%s]!t %s!y perdio!g %d Frags!"g_PluginInfo[3], szNameg_BetAmounts[g_iBetAmount[id]][BET_AMOUNT]);
            
client_cmd(id"spk %s"Perder)

            
g_iPozo += (g_BetAmounts[g_iBetAmount[id]][BET_AMOUNT]/4);
        }
        case 
86:
        {
            
ChatColor(0Azul"!g[%s]!t %s -!g GANO EL POZO! - !y%d Frags!"g_PluginInfo[3], szNameg_iPozo);
            
client_cmd(id"spk %s"Ganar)
            
rangos_set_user_frags(id, (rangos_get_user_frags(id) + g_iPozo));
            
g_iPozo 10;
        }
        case 
87..90:
        {
            
ChatColor(0Azul"!g[%s]!t %s!y Gano!g %d Frags X%d!!g ( +%d Frags)"g_PluginInfo[3], szNameg_BetAmounts[g_iBetAmount[id]][BET_AMOUNT], g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER], g_BetAmounts[g_iBetAmount[id]][BET_AMOUNT]*g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]);
            
rangos_set_user_frags(idrangos_get_user_frags(id) + g_BetAmounts[g_iBetAmount[id]][BET_AMOUNT] * g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER])
            
client_cmd(id"spk %s"Ganar)
        }
        case 
91..94:
        {
            
ChatColor(0Azul"!g[%s]!t %s!y Gano!g 16x%d Frags (+%d Frags)"g_PluginInfo[3], szNameg_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER], (16*g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]));
            
client_cmd(id"spk %s"Ganar)
            
rangos_set_user_frags(idrangos_get_user_frags(id) + g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]*16);
        }
        case 
95..98:
        {
            
ChatColor(0Azul"!g[%s]!t %s!y Gano!g 32x%d Frags!g (+%d Frags)"g_PluginInfo[3], szNameg_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER], (32*g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]));
            
client_cmd(id"spk %s"Ganar)
            
rangos_set_user_frags(idrangos_get_user_frags(id) + g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]*32);
        }
        case 
99..102:
        {
            
ChatColor(0Azul"!g[%s]!t %s!y Gano!g 88x%d Frags!g (+%d Frags)"g_PluginInfo[3], szNameg_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER], (88*g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]));
            
client_cmd(id"spk %s"Ganar)
            
rangos_set_user_frags(idrangos_get_user_frags(id) + g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]*88);
        }
        case 
103:
        {
            
ChatColor(0Azul"!g[%s]!t %s!y Gano!g 160x%d Frags!g (+%d Frags)"g_PluginInfo[3], szNameg_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER], (160*g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]));
            
client_cmd(id"spk %s"Ganar)
            
rangos_set_user_frags(idrangos_get_user_frags(id) + g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]*160);
        }
        
#else 
         
case 1..25:
        {
            
ChatColor(0Azul"!g[%s]!t %s!y - Gano!g %d de $$..."g_PluginInfo[3], szNameg_BetAmounts[g_iBetAmount[id]][BET_AMOUNT]);
            
client_cmd(id"spk %s"Ganar)
            
cs_set_user_money(id, (cs_get_user_money(id) + g_BetAmounts[g_iBetAmount[id]][BET_AMOUNT]));
        }
        case 
26..85:
        {
            
ChatColor(0Azul"!g[%s]!t %s!y perdio!g %d de $$!"g_PluginInfo[3], szNameg_BetAmounts[g_iBetAmount[id]][BET_AMOUNT]);
            
client_cmd(id"spk %s"Perder)

            
g_iPozo += (g_BetAmounts[g_iBetAmount[id]][BET_AMOUNT]/4);
        }
        case 
86:
        {
            
ChatColor(0Azul"!g[%s]!t %s -!g GANO EL POZO! - !y%d de $$!"g_PluginInfo[3], szNameg_iPozo);
            
client_cmd(id"spk %s"Ganar)
            
cs_set_user_money(id, (cs_get_user_money(id) + g_iPozo));
            
g_iPozo 10;
        }
        case 
87..90:
        {
            
ChatColor(0Azul"!g[%s]!t %s!y Gano!g %d de $$ X%d!!g ( +%d $$)"g_PluginInfo[3], szNameg_BetAmounts[g_iBetAmount[id]][BET_AMOUNT], g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER], g_BetAmounts[g_iBetAmount[id]][BET_AMOUNT]*g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]);
            
cs_set_user_money(idcs_get_user_money(id) + g_BetAmounts[g_iBetAmount[id]][BET_AMOUNT] * g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER])
            
client_cmd(id"spk %s"Ganar)
        }
        case 
91..94:
        {
            
ChatColor(0Azul"!g[%s]!t %s!y Gano!g 16x%d de $$!g (+%d $$)"g_PluginInfo[3], szNameg_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER], (16*g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]));
            
client_cmd(id"spk %s"Ganar)
            
cs_set_user_money(idcs_get_user_money(id) + g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]*16);
        }
        case 
95..98:
        {
            
ChatColor(0Azul"!g[%s]!t %s!y Gano!g 32x%d de $$!g (+%d $$)"g_PluginInfo[3], szNameg_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER], (32*g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]));
            
client_cmd(id"spk %s"Ganar)
            
cs_set_user_money(idcs_get_user_money(id) + g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]*32);
        }
        case 
99..102:
        {
            
ChatColor(0Azul"!g[%s]!t %s!y Gano!g 88x%d de $$!g (+%d $$)"g_PluginInfo[3], szNameg_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER], (88*g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]));
            
client_cmd(id"spk %s"Ganar)
            
cs_set_user_money(idcs_get_user_money(id) + g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]*88);
        }
        case 
103:
        {
            
ChatColor(0Azul"!g[%s]!t %s!y Gano!g 160x%d de $$!g (+%d $$)"g_PluginInfo[3], szNameg_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER], (160*g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]));
            
client_cmd(id"spk %s"Ganar)
            
cs_set_user_money(idcs_get_user_money(id) + g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]*160);
        }
        
#endif
    
}

    
g_bPlayerBetting[id] = false;
    
g_iBetAmount[id] = 0;
}

public 
Bet_DoN_Result(id)
{
    if(!
is_user_connected(id))
        return;

    new 
szName[32];
    
get_user_name(idszNamecharsmax(szName));

    switch(
random_num(1100))
    {
        
#if defined BET_FRAGS
        
case 1..20:
        {

            
ChatColor(0Azul"!g[%s]!t %s!y gano el!g DOBLE DE SUS FRAGS!! !g(+%d Frags)"g_PluginInfo[3], szNameget_user_frags(id));            
            
rangos_set_user_frags(idrangos_get_user_frags(id) * 2);
        }
        case 
21..100:
        {
            
ChatColor(0Azul"!g[%s]r!t %s!y perdio todos sus!g FRAGS !yen el!g Me la juego!! (-%d Frags)"g_PluginInfo[3], szNameget_user_frags(id))
            
client_cmd(id"spk %s"Perder)
            
g_iPozo += (rangos_get_user_frags(id) / 4);
            
rangos_set_user_frags(id0);
        }
        
#else
        
case 1..20:
        {

            
ChatColor(0Azul"!g[%s]!t %s!y gano el!g DOBLE DE SU DINERO!! !g(+%d $$)"g_PluginInfo[3], szNamecs_get_user_money(id));
            
cs_set_user_money(idcs_get_user_money(id) * 2);
        }
        case 
21..100:
        {
            
ChatColor(0Azul"!g[%s]r!t %s!y perdio toda su!g DINEROy en el!g Me la juego!! (-%d $$)"g_PluginInfo[3], szNamecs_get_user_money(id))
            
client_cmd(id"spk %s"Perder)
            
g_iPozo += (cs_get_user_money(id) / 4);
            
cs_set_user_money(id0);
        }
        
#endif
    
}

    
g_bPlayerBetting[id] = false;
    
g_iBetAmount[id] = 0;
}

public 
clcmd_Pozo(id)
{
    
#if defined BET_FRAGS
    
ChatColor(idAzul"!g[%s]!y Frags acumulados en el!g POZO: %d"g_PluginInfo[3], g_iPozo);
    
#else
    
ChatColor(idAzul"!g[%s]!y Dinero acumulado en el!g POZO: %d $$"g_PluginInfo[3], g_iPozo);
    
#endif
    
return PLUGIN_HANDLED;
}

stock ChatColor(idColors:colormsg[], any:...)
{
    static 
szMsg[191], msgSayText;
    
#define teaminfo_sent(%0) (TeamInfoSent & (1<<%0))
    
    
if (!msgSayText)
        
msgSayText get_user_msgid("SayText");
    
    
vformat(szMsg190msg4);

    
replace_all(szMsg190"!g""^4");
    
replace_all(szMsg190"!y""^1");
    
replace_all(szMsg190"!t""^3");
    
    
message_begin(id MSG_ONE_UNRELIABLE MSG_BROADCASTmsgSayText, .player id);
    
write_byte(color ? (_:color) : 33);
    
write_string(szMsg);
    
message_end();
}

public 
chatcolor_send_teaminfo(id)
{
    if (!
is_user_connected(id))
        return;
    
    static 
msgTeamInfo;
    if (!
msgTeamInfo)
        
msgTeamInfo get_user_msgid("TeamInfo");
    
    static const 
pTeams[][] = { """TERRORIST""CT" };
    
    for (new 
pid 0pid 3pid++)
    {
        
message_begin(MSG_ONE_UNRELIABLEmsgTeamInfo, .player id)
        
write_byte(pid+33)
        
write_string(pTeams[pid])
        
message_end()
    }

Responder
#17
Toma usa esto en los rangos mejor.
Código PHP:
/*    -----------------------------------------
Creditos: Solo para Raulitop, por el hook say :3

Version Con Guardado NFVAULT
-------------------------------            */

#include <amxmisc>
#include <fakemeta>
#include <nfvault>

new const PLUGIN[] = "Rangos CS:GO"
#define VERSION "1.0"
new const AUTHOR[] = "kikizon"

/* =============================================
|= [EMPIEZA SECCION MODIFICABLE] =|
==============================================*/
/* ====================================
*[CONSTANTES]*
=====================================*/ 
new const Prefijo[] = "!g[RANGOS]!y" // Prefijo en say
new const Sonido[] = "rango/powerup.wav" // Sonido Rango UP
/* ====================================
*[CONST NOMBRES DE RANGOS]*
=====================================*/
enum _:DATA
{
    
NOMBRE[30],
    
FRAGS
}
new const 
Rangos[][DATA] = {
    { 
"[topo]"200 },
    { 
"[chchi]"400 },
    { 
"[feli]"500 },
    { 
"[tol]"700 },
    { 
"[666]"800 },
    { 
"[anues]"1000 },
    { 
"[luli]"1500 },
    { 
"[lego]"2000 },
    { 
"[maisis]"3000 },
    { 
"[trico]"4000 },
    { 
"[corazon]"5000 },
    { 
"[mamita]"8000 },
    { 
"[papito]",9000 },
    { 
"[feliz]"20000 }
}

/* =============================================
|= [TERMINA SECCION MODIFICABLE] =|
==============================================*/

/* ====================================
*[VARIABLES]*
=====================================*/
new g_rango[33], g_frags[33]
new 
g_maxplayersg_msgTeamInfog_msgSayTextg_playername[33][32];
#define TASK_HUD 2100
#define ID_HUD (taskid - TASK_HUD)
#define XD is_user_connected(id) || !is_user_bot(id) || !is_user_hltv(id)
new VaultRango[128], szRangos[180], szKey[30]

/* ====================================
*[Cvars]*
=====================================*/
new cvar_knifex2cvar_hsx2
/* ====================================
*[INIT]*
=====================================*/
public plugin_init() {
    
register_plugin(PLUGINVERSIONAUTHOR)


    
register_concmd("dar_frags""cmdFrags"ADMIN_RCON"- <Nombre> <Cantidad> Vende y/o Regala Frags a un Users")
    
register_event("DeathMsg""Event_DeathMsg""a")
    
register_logevent("logevent_round_end"2"1=Round_End")
    
    
    
register_event("DeathMsg""Event_DeathMsg""a")
    
register_logevent("logevent_round_end"2"1=Round_End")
    
        
// este tenia que ir primero
    
register_clcmd("say /rango""ver_rango")
    
    
register_clcmd("say""message_saytext"
    
register_clcmd("say_team""message_sayteam")
    
    
    
    
/* =============================================
    |= [EMPIEZA SECCION MODIFICABLE] =|
    ==============================================*/
    
cvar_knifex2 register_cvar("rangos_knifex2""0")    // 1 - x2 frags con knife | 0 - ÑO :v
    
cvar_hsx2 register_cvar("rangos_hsx2""0")        // 1 - x2 frags de HeadShot | 0 - ÑO :v
    /* =============================================
    |= [TERMINA SECCION MODIFICABLE] =|
    ==============================================*/
    
    
g_maxplayers get_maxplayers()
    
g_msgTeamInfo get_user_msgid("TeamInfo")
    
g_msgSayText get_user_msgid("SayText")
    
    
nfv_file("Ranguitos.txt"VaultRangocharsmax(VaultRango))
}
/* ====================================
*[PRECACHE]*
=====================================*/
public plugin_precache() 
    
precache_sound(Sonido)
/* ===================================
*[VER RANGO]*
=====================================*/
public ver_rango(id) {

    
chatcolor(id"!g%s!y |!tRango Actual: !y%s|!tFrags: !y%d|"PrefijoRangos[g_rango[id]][NOMBRE], g_frags[id])
    
chatcolor(id"!g%s!y |!tProximo Rango: !y%s|!tFrags Restantes: !y%d|"PrefijoRangos[g_rango[id]+1][NOMBRE], Rangos[g_rango[id]][FRAGS] -  g_frags[id])    

/* ==================================
    [PUTINSERVER]
===================================*/
public client_putinserver(id) {
    
get_user_nameidg_playernameid ], charsmaxg_playername[ ] ) );
    
g_rango[id] = 0
    g_frags
[id] = 0
    
    Cargar
(id)
}
/* ==================================
    [DISCONNECT]
===================================*/
public client_disconnect(id) {
    if(
XDGuardar(id);
}

/* ==================================
    [ROUND END]
===================================*/
public logevent_round_end() {
    for(new 
id 1id <= g_maxplayersid++) {
        if(
XD
            
Guardar(id); 
    }
}
/* ==================================
    [DEATHMSG]
===================================*/
public Event_DeathMsg() {
    new 
attacker read_data(1)
    new 
victim read_data(2)
    new 
hs read_data(3)
    new 
weaponid get_user_weapon(attacker)
    
    if(
victim == attacker) return;
    
    if(
is_user_alive(attacker)) {
        
g_frags[attacker]++
        
        if(
get_pcvar_num(cvar_knifex2)) {
            if(
weaponid == CSW_KNIFE
                
g_frags[attacker]++
        }
        if(
get_pcvar_num(cvar_hsx2)) {
            if(
hsg_frags[attacker]++
        }
        
AumentarRango(attacker)
    }
}
/*========
 cmdFrags| aca Registramos el evento de Dar Frags
==========*/
public cmdFrags(idlevelcid) {
        if(!
cmd_access(idlevelcid2)) 
                return 
PLUGIN_HANDLED;
                
        new 
name[32]; read_argv(1namecharsmax(name))
        new 
player cmd_target(idnameCMDTARGET_ALLOW_SELF)
        if(!
player)
                return 
PLUGIN_HANDLED;
        
        new 
num[10]; read_argv(2numcharsmax(num))
        
g_frags[player] += str_to_num(num)
        new 
nameuser[32], nameadmin[32]
        
get_user_name(idnameadmincharsmax(nameadmin))
        
get_user_name(playernameusercharsmax(nameuser))
        
        
client_print(0print_chat"[AMXX] Administrador %s: Regalar %s Frags a %s"nameadminnumnameuser)
        
AumentarRango(player)
        return 
PLUGIN_HANDLED;
}
/* ================================
    [UPDATE RANGO]
=================================*/
AumentarRango(id) {    
    new 
Aumento false
    
    
while(g_frags[id] >= Rangos[g_rango[id]][FRAGS]) {
        
Aumento true
        g_rango
[id]++
    }
        
    if(
Aumento) {
        
chatcolor(id"%s Felicidades subiste al rango: !g[ %s ]"PrefijoRangos[g_rango[id]][NOMBRE])
        
client_cmd(id"spk %s"Sonido)
        
Aumento false
    
}
}
/*=====================================
*[SAY]*
=====================================*/
public message_saytext(id) { 
    static 
said[192
    
read_args(saidcharsmax(said)) 
    
remove_quotes(said
    
    if (
said[0] == '@' || said[0] == '%' || said[0] == '/' || said[0] == '.' || said[0] == '!' || equal (said""))
        return 
PLUGIN_HANDLED

    
if (!ValidMessage(said1)) return PLUGIN_CONTINUE;
    
    static 
color[11], name[32], alive[11]
    
get_user_team(id,color,charsmax(color))
    
get_user_name(id,name,charsmax(name))

    if (
is_user_alive (id)) {
        
alive ""
    
} else {
        
alive "[Muerto]"
    
}

    if (
is_user_admin(id)) {
        if (
get_user_flags(id) & ADMIN_KICK
            
format(saidcharsmax(said), "^x01%s^x04%s ^x03%s ^x04: %s"aliveRangos[g_rango[id]][NOMBRE], namesaid)
    } else {
        
format(saidcharsmax(said), "^x01%s^04%s ^x03%s ^x01: %s"aliveRangos[g_rango[id]][NOMBRE], namesaid)
    }
    
    static 
iteam[11
    for (
1<= g_maxplayersi++) {
        if (!
is_user_connected(i)) continue
        
get_user_name(id,name,charsmax(name))
        
        if (
is_user_admin(i) || is_user_alive(id) && is_user_alive(i) || !is_user_alive(id) && !is_user_alive(i)) {
            
get_user_team(iteamcharsmax(team))
            
changeTeamInfo(icolor)
            
writeMessage(isaid)
            
changeTeamInfo(iteam)
        }
    }
    return 
PLUGIN_HANDLED_MAIN;
}

public 
message_sayteam(id)
{    
    static 
said[192
    
read_args(saidcharsmax(said)) 
    
remove_quotes(said
    
    if (
said[0] == '@' || said[0] == '%' || said[0] == '/' || said[0] == '.' || said[0] == '!' || equal (said""))
        return 
PLUGIN_HANDLED

    
if (!ValidMessage(said1)) return PLUGIN_CONTINUE
    
    static 
playerTeamplayerTeamName[19]
    
playerTeam get_user_team(id)
    
    switch (
playerTeam) {
        case 
1copy (playerTeamName6"TE")
        case 
2copy (playerTeamName8"CT"
        default: 
copy (playerTeamName11"SPEC"
    }

    static 
color[11], name[32], alive[11]
    
get_user_team(id,color,charsmax(color))
    
get_user_name(id,name,charsmax(name))

    if (
is_user_alive (id)) {
        
alive ""
    
} else {
        
alive "[MUERTO]"
    
}

    if (
is_user_admin(id)) {
        if (
get_user_flags(id) & ADMIN_RCON)
            
format(saidcharsmax(said), "^x01%s [ %s ] ^x04%s ^x03%s ^x04: %s"aliveplayerTeamRangos[g_rango[id]], namesaid)
    } else {
        
format(saidcharsmax(said), "^x01%s [ %s ] ^04%s ^x03%s ^x01: %s"aliveplayerTeamRangos[g_rango[id]],namesaid)
    }

    static 
iteam[11
    for (
1<= g_maxplayersi++) {
        if (!
is_user_connected(i)) continue;
        
get_user_name(id,name,charsmax(name))
        
        if (
get_user_team(i) == playerTeam || is_user_admin(i)) {
            if (
is_user_alive(id) && is_user_alive(i) || !is_user_alive(id) && !is_user_alive(i)) {
                
get_user_team(iteamcharsmax(team))
                
changeTeamInfo(icolor)
                
writeMessage(isaid)
                
changeTeamInfo(iteam)
            }
        }
    }
    return 
PLUGIN_HANDLED_MAIN;
}
public 
changeTeamInfo(playerteam[]) {
    
message_begin(MSG_ONEg_msgTeamInfo_player)
    
write_byte(player)
    
write_string(team)
    
message_end()
}




public 
writeMessage(playermessage[]) {
    
message_begin(MSG_ONEg_msgSayText, {000}, player)
    
write_byte(player)
    
write_string(message)
    
message_end()
}
/* ===================================
*[GUARDADO]*
=====================================*/
Guardar(id) {
    
formatex(szKeycharsmax(szKey), "data_rangos"
    
formatex(szRangoscharsmax(szRangos), "%d %d"g_frags[id], g_rango[id])
    
    
nfv_set_data(VaultRangoszKeyg_playername[id], szRangos)
}

Cargar(id) {
    new 
g_load_c1[25], g_load_c2[25]
    
formatex(szKeycharsmax(szKey), "data_rangos"
    
    if(!
nfv_get_data(VaultRangoszKeyg_playername[id], szRangossizeof(szRangos) - 1)) return; 
   
    
parse(szRangosg_load_c1charsmax(g_load_c1), g_load_c2charsmax(g_load_c2))
    
    
g_frags[id] = str_to_num(g_load_c1)
    
g_rango[id] = str_to_num(g_load_c2)

/* ===================================
*[STOCKS]*
=====================================*/
// stock de chatcolor
stock chatcolor(id, const input[], any:...) {
    new 
count 1players[32]; 
    static 
msg[191]; 
    
vformat(msg190input3); 
     
    
replace_all(msg190"!g""^4"); // Verde
    
replace_all(msg190"!y""^1"); // Default
    
replace_all(msg190"!t""^3"); // Color del Equipo 
     
    
if (idplayers[0] = id; else get_players(playerscount"ch"); { 
        for (new 
0counti++)  { 
            if (
is_user_connected(players[i])) { 
                
message_begin(MSG_ONE_UNRELIABLEget_user_msgid("SayText"), _players[i]); 
                
write_byte(players[i]); 
                
write_string(msg); 
                
message_end(); 
            } 
        } 
    } 


public 
plugin_natives()
{
    
register_native("rangos_get_user_frags""get_Frags"1)
    
register_native("rangos_set_user_frags""set_Frags"1// Solo resta y suma.

}

public 
get_Frags(id)
{
    return 
g_frags[id];
}

public 
set_Frags(idfrags)
{
    
g_frags[id] = frags;

    return 
g_frags[id];
}
// Stock para Saber Si el mensaje es valido
stock ValidMessage(text[], maxcount) {
    static 
lenicount
    len 
strlen(text)
    
count 0
    
    
if (!len)
        return 
false;
    
    for (
0leni++) {
        if (
text[i] != ' ') {
            
count++
            if (
count >= maxcount)
                return 
true;
        }
    }
    return 
false;


Código PHP:
st g_BetAmounts[][_DATA_BET] =
{
    { 
2},
    { 
4},
    { 
6},
    { 
8}
};

new 
bool:g_bPlayerBetting[33] = falseg_iBetAmount[33], Float:g_fTimeBetProgress 5.0g_iPozog_iMinAmountDoN;

new 
bool:g_bFirstRound true;

public 
plugin_init()
{
    
register_plugin(g_PluginInfo[0], g_PluginInfo[1], g_PluginInfo[2]);
    
    
register_event("HLTV""ev_NewRound""a""1=0""2=0");

    
register_clcmd("say /ganar""clcmd_Bet");
    
register_clcmd("say /ganartodo""clcmd_Bet");
    
register_clcmd("say /bono""clcmd_Pozo");
}

public 
plugin_precache()
{
    
precache_sound(Ganar)
    
precache_sound(Perder)


public 
client_disconnect(id
{
    
g_bPlayerBetting[id] = false;
    
g_iBetAmount[id] = 0
}

public 
ev_NewRound()
{
    if(
g_bFirstRound)
    {
        
g_iPozo 10;
        
g_iMinAmountDoN 100;
        
g_bFirstRound false;
    }
}

public 
clcmd_Bet(id)
{
    
Show_BetM(id);

    return 
PLUGIN_HANDLED;
}

public 
Show_BetM(id)
{
    static 
szText[256], iMenui;
    
formatex(szTextcharsmax(szText), "Menu de Suerte");
    
iMenu menu_create(szText"Handled_BetM");

    for(
0sizeof(g_BetAmounts); i++)
    {
        
formatex(szTextcharsmax(szText), "%d frags - x%d (Multiplicar ganancia por x%d)" g_BetAmounts[i][BET_AMOUNT], g_BetAmounts[i][BET_MULTIPLIER], g_BetAmounts[i][BET_MULTIPLIER]); 
        
menu_additem(iMenuszText);
    }

    if(
rangos_get_user_frags(id) >= g_iMinAmountDoN)
    {
        
menu_additem(iMenu"\wJugar\y ME LA JUEGO");
    }
    else
    {
        
formatex(szTextcharsmax(szText), "\dJugar ME LA JUEGO \y[Necesitas %d Frags]"g_iMinAmountDoN);
        
menu_additem(iMenuszText);
    }

    
menu_setprop(iMenuMPROP_EXITNAME"\d[\rCerrar Menu\d]");
    
menu_display(idiMenu);
    return 
PLUGIN_HANDLED
}

public 
Handled_BetM(idiMenuiItem)
{
    new 
szName[32];
    
get_user_name(idszNamecharsmax(szName));

    if(
iItem == MENU_EXIT)
    {
        
menu_destroy(iMenu);
        return 
PLUGIN_HANDLED;
    }

    if(
g_bPlayerBetting[id])
    {
        
ChatColor(idAzul"!g[%s]!y Ya estas!g realizando una apuesta."g_PluginInfo[3]);
        return 
PLUGIN_HANDLED;
    }

    if(
iItem >= sizeof(g_BetAmounts))
    {
        if(
rangos_get_user_frags(id) < g_iMinAmountDoN)
        {
            
ChatColor(idAzul,"!g[%s]!y No tienes!g suficientes frags."g_PluginInfo[3]);
            return 
PLUGIN_HANDLED;
        }

        
ChatColor(0Azul"!g[%s]!t %s!y aposto todos sus frags!g (%d)!y en!g Me la juego!!"g_PluginInfo[3], szNamerangos_get_user_frags(id));
        
        
set_task(g_fTimeBetProgress"Bet_DoN_Result"id);
    }
    else
    {
        if(
get_user_frags(id) < g_BetAmounts[iItem][BET_AMOUNT])
        {
            
ChatColor(idAzul"!g[%s]!y No tienes!g frags suficientes!."g_PluginInfo[3]);
            return 
PLUGIN_HANDLED;
        }

        
ChatColor(0Azul"!g[%s]!t %s!y - aposto!g %d frags."g_PluginInfo[3], szNameg_BetAmounts[iItem][BET_AMOUNT]);
        
set_task(g_fTimeBetProgress"Bet_Result"id);
    }

    
g_bPlayerBetting[id] = true;
    
g_iBetAmount[id] = iItem;

    return 
PLUGIN_HANDLED;
}

public 
Bet_Result(id)
{
    if(!
is_user_connected(id))
        return;

    new 
szName[32];
    
get_user_name(idszNamecharsmax(szName));

    switch(
random_num(1103))
    {
        case 
1..25:
        {
            
ChatColor(0Azul"!g[%s]!t %s!y - Gano!g %d Frags..."g_PluginInfo[3], szNameg_BetAmounts[g_iBetAmount[id]][BET_AMOUNT]);
            
client_cmd(id"spk %s"Ganar)            
            
rangos_set_user_frags(id, (rangos_get_user_frags(id) + g_BetAmounts[g_iBetAmount[id]][BET_AMOUNT]));
        }
        case 
26..85:
        {
            
ChatColor(0Azul"!g[%s]!t %s!y perdio!g %d Frags!"g_PluginInfo[3], szNameg_BetAmounts[g_iBetAmount[id]][BET_AMOUNT]);
            
client_cmd(id"spk %s"Perder)

            
g_iPozo += (g_BetAmounts[g_iBetAmount[id]][BET_AMOUNT]/4);
        }
        case 
86:
        {
            
ChatColor(0Azul"!g[%s]!t %s -!g GANO EL POZO! - !y%d Frags!"g_PluginInfo[3], szNameg_iPozo);
            
client_cmd(id"spk %s"Ganar)
            
rangos_set_user_frags(id, (rangos_get_user_frags(id) + g_iPozo));
            
g_iPozo 10;
        }
        case 
87..90:
        {
            
ChatColor(0Azul"!g[%s]!t %s!y Gano!g %d Frags X%d!!g ( +%d Frags)"g_PluginInfo[3], szNameg_BetAmounts[g_iBetAmount[id]][BET_AMOUNT], g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER], g_BetAmounts[g_iBetAmount[id]][BET_AMOUNT]*g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]);
            
rangos_set_user_frags(idrangos_get_user_frags(id) + g_BetAmounts[g_iBetAmount[id]][BET_AMOUNT] * g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER])
            
client_cmd(id"spk %s"Ganar)
        }
        case 
91..94:
        {
            
ChatColor(0Azul"!g[%s]!t %s!y Gano!g 16x%d Frags (+%d Frags)"g_PluginInfo[3], szNameg_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER], (16*g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]));
            
client_cmd(id"spk %s"Ganar)
            
rangos_set_user_frags(idrangos_get_user_frags(id) + g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]*16);
        }
        case 
95..98:
        {
            
ChatColor(0Azul"!g[%s]!t %s!y Gano!g 32x%d Frags!g (+%d Frags)"g_PluginInfo[3], szNameg_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER], (32*g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]));
            
client_cmd(id"spk %s"Ganar)
            
rangos_set_user_frags(idrangos_get_user_frags(id) + g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]*32);
        }
        case 
99..102:
        {
            
ChatColor(0Azul"!g[%s]!t %s!y Gano!g 88x%d Frags!g (+%d Frags)"g_PluginInfo[3], szNameg_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER], (88*g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]));
            
client_cmd(id"spk %s"Ganar)
            
rangos_set_user_frags(idrangos_get_user_frags(id) + g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]*88);
        }
        case 
103:
        {
            
ChatColor(0Azul"!g[%s]!t %s!y Gano!g 160x%d Frags!g (+%d Frags)"g_PluginInfo[3], szNameg_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER], (160*g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]));
            
client_cmd(id"spk %s"Ganar)
            
rangos_set_user_frags(idrangos_get_user_frags(id) + g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]*160);
        }
    }

    
g_bPlayerBetting[id] = false;
    
g_iBetAmount[id] = 0;
}

public 
Bet_DoN_Result(id)
{
    if(!
is_user_connected(id))
        return;

    new 
szName[32];
    
get_user_name(idszNamecharsmax(szName));

    switch(
random_num(1100))
    {
        case 
1..20:
        {

            
ChatColor(0Azul"!g[%s]!t %s!y gano el!g DOBLE DE SUS FRAGS!! !g(+%d Frags)"g_PluginInfo[3], szNameget_user_frags(id));            
            
rangos_set_user_frags(idrangos_get_user_frags(id) * 2);
        }
        case 
21..100:
        {
            
ChatColor(0Azul"!g[%s]r!t %s!y perdio todos sus!g FRAGS !yen el!g Me la juego!! (-%d Frags)"g_PluginInfo[3], szNameget_user_frags(id))
            
client_cmd(id"spk %s"Perder)
            
g_iPozo += (rangos_get_user_frags(id) / 4);
            
rangos_set_user_frags(id0);
        }
    }

    
g_bPlayerBetting[id] = false;
    
g_iBetAmount[id] = 0;
}

public 
clcmd_Pozo(id)
{
    
ChatColor(idAzul"!g[%s]!y Frags acumulados en el!g POZO: %d"g_PluginInfo[3], g_iPozo);

    return 
PLUGIN_HANDLED;
}

stock ChatColor(idColors:colormsg[], any:...)
{
    static 
szMsg[191], msgSayText;
    
#define teaminfo_sent(%0) (TeamInfoSent & (1<<%0))
    
    
if (!msgSayText)
        
msgSayText get_user_msgid("SayText");
    
    
vformat(szMsg190msg4);

    
replace_all(szMsg190"!g""^4");
    
replace_all(szMsg190"!y""^1");
    
replace_all(szMsg190"!t""^3");
    
    
message_begin(id MSG_ONE_UNRELIABLE MSG_BROADCASTmsgSayText, .player id);
    
write_byte(color ? (_:color) : 33);
    
write_string(szMsg);
    
message_end();
}

public 
chatcolor_send_teaminfo(id)
{
    if (!
is_user_connected(id))
        return;
    
    static 
msgTeamInfo;
    if (!
msgTeamInfo)
        
msgTeamInfo get_user_msgid("TeamInfo");
    
    static const 
pTeams[][] = { """TERRORIST""CT" };
    
    for (new 
pid 0pid 3pid++)
    {
        
message_begin(MSG_ONE_UNRELIABLEmsgTeamInfo, .player id)
        
write_byte(pid+33)
        
write_string(pTeams[pid])
        
message_end()
    }

Responder
#18
tengo que unir los 2 codigos y hacer un plugins ?

no me deja compilar me sale esto de error

st g_BetAmounts[][_DATA_BET] =
Responder
#19
(14/05/2019, 12:30 PM)javier123 escribió: tengo que unir los 2 codigos y hacer un plugins ?

no me deja compilar me sale esto de error

st g_BetAmounts[][_DATA_BET] =

Cambia st por const.

Saludos. Crab
Responder
#20
no me sale lo mismo alejandrooo ayudaaaa

cuanto lo intento compilar me tira esto

Welcome to the AMX Mod X 1.8.1-300 Compiler.
Copyright © 1997-2013 ITB CompuPhase, AMX Mod X Team

Error: Invalid function or declaration on line 403
Error: Invalid function or declaration on line 409
Error: Symbol already defined: "plugin_init" on line 416
Error: Undefined symbol "g_PluginInfo" on line 417
Warning: Expression has no effect on line 417
Error: Expected token: ";", but found "]" on line 417
Error: Invalid expression, assumed zero on line 417
Error: Too many error messages on one line on line 417

Compilation aborted.
7 Errors.
Could not locate output file C:\Users\Usuario\Desktop\rangos.amx (compile failed).



ERROR
st g_BetAmounts[][_DATA_BET] =
Responder
#21
(14/05/2019, 02:33 PM)javier123 escribió: no me sale lo mismo alejandrooo ayudaaaa

cuanto lo intento compilar me tira esto

Welcome to the AMX Mod X 1.8.1-300 Compiler.
Copyright © 1997-2013 ITB CompuPhase, AMX Mod X Team

Error: Invalid function or declaration on line 403
Error: Invalid function or declaration on line 409
Error: Symbol already defined: "plugin_init" on line 416
Error: Undefined symbol "g_PluginInfo" on line 417
Warning: Expression has no effect on line 417
Error: Expected token: ";", but found "]" on line 417
Error: Invalid expression, assumed zero on line 417
Error: Too many error messages on one line on line 417

Compilation aborted.
7 Errors.
Could not locate output file C:\Users\Usuario\Desktop\rangos.amx (compile failed).



ERROR
st g_BetAmounts[][_DATA_BET] =

Código PHP:
#include <amxmodx>
#include <cstrike>

new const Ganar[] = { "events/enemy_died.wav" // Ganar una apuesta
new const Perder[] = { "events/friend_died.wav" // Perer una apuesta

enum Colors
{
    
Gris 33,
    
Rojo,
    
Azul
}

enum _DATA_BET BET_AMOUNTBET_MULTIPLIER };

new const 
g_PluginInfo[][] = { "Betting System""v1.0""RusselNight""AMXX" };

new const 
g_BetAmounts[][_DATA_BET] =
{
    { 
2},
    { 
4},
    { 
6},
    { 
8}
};

new 
bool:g_bPlayerBetting[33] = falseg_iBetAmount[33], Float:g_fTimeBetProgress 5.0g_iPozog_iMinAmountDoN;

new 
bool:g_bFirstRound true;

public 
plugin_init()
{
    
register_plugin(g_PluginInfo[0], g_PluginInfo[1], g_PluginInfo[2]);
    
    
register_event("HLTV""ev_NewRound""a""1=0""2=0");

    
register_clcmd("say /ganar""clcmd_Bet");
    
register_clcmd("say /ganartodo""clcmd_Bet");
    
register_clcmd("say /bono""clcmd_Pozo");
}

public 
plugin_precache()
{
    
precache_sound(Ganar)
    
precache_sound(Perder)


public 
client_disconnect(id
{
    
g_bPlayerBetting[id] = false;
    
g_iBetAmount[id] = 0
}

public 
ev_NewRound()
{
    if(
g_bFirstRound)
    {
        
g_iPozo 10;
        
g_iMinAmountDoN 100;
        
g_bFirstRound false;
    }
}

public 
clcmd_Bet(id)
{
    
Show_BetM(id);

    return 
PLUGIN_HANDLED;
}

public 
Show_BetM(id)
{
    static 
szText[256], iMenui;
    
formatex(szTextcharsmax(szText), "Menu de Suerte");
    
iMenu menu_create(szText"Handled_BetM");

    for(
0sizeof(g_BetAmounts); i++)
    {
        
formatex(szTextcharsmax(szText), "%d frags - x%d (Multiplicar ganancia por x%d)" g_BetAmounts[i][BET_AMOUNT], g_BetAmounts[i][BET_MULTIPLIER], g_BetAmounts[i][BET_MULTIPLIER]); 
        
menu_additem(iMenuszText);
    }

    if(
rangos_get_user_frags(id) >= g_iMinAmountDoN)
    {
        
menu_additem(iMenu"\wJugar\y ME LA JUEGO");
    }
    else
    {
        
formatex(szTextcharsmax(szText), "\dJugar ME LA JUEGO \y[Necesitas %d Frags]"g_iMinAmountDoN);
        
menu_additem(iMenuszText);
    }

    
menu_setprop(iMenuMPROP_EXITNAME"\d[\rCerrar Menu\d]");
    
menu_display(idiMenu);
    return 
PLUGIN_HANDLED
}

public 
Handled_BetM(idiMenuiItem)
{
    new 
szName[32];
    
get_user_name(idszNamecharsmax(szName));

    if(
iItem == MENU_EXIT)
    {
        
menu_destroy(iMenu);
        return 
PLUGIN_HANDLED;
    }

    if(
g_bPlayerBetting[id])
    {
        
ChatColor(idAzul"!g[%s]!y Ya estas!g realizando una apuesta."g_PluginInfo[3]);
        return 
PLUGIN_HANDLED;
    }

    if(
iItem >= sizeof(g_BetAmounts))
    {
        if(
rangos_get_user_frags(id) < g_iMinAmountDoN)
        {
            
ChatColor(idAzul,"!g[%s]!y No tienes!g suficientes frags."g_PluginInfo[3]);
            return 
PLUGIN_HANDLED;
        }

        
ChatColor(0Azul"!g[%s]!t %s!y aposto todos sus frags!g (%d)!y en!g Me la juego!!"g_PluginInfo[3], szNamerangos_get_user_frags(id));
        
        
set_task(g_fTimeBetProgress"Bet_DoN_Result"id);
    }
    else
    {
        if(
get_user_frags(id) < g_BetAmounts[iItem][BET_AMOUNT])
        {
            
ChatColor(idAzul"!g[%s]!y No tienes!g frags suficientes!."g_PluginInfo[3]);
            return 
PLUGIN_HANDLED;
        }

        
ChatColor(0Azul"!g[%s]!t %s!y - aposto!g %d frags."g_PluginInfo[3], szNameg_BetAmounts[iItem][BET_AMOUNT]);
        
set_task(g_fTimeBetProgress"Bet_Result"id);
    }

    
g_bPlayerBetting[id] = true;
    
g_iBetAmount[id] = iItem;

    return 
PLUGIN_HANDLED;
}

public 
Bet_Result(id)
{
    if(!
is_user_connected(id))
        return;

    new 
szName[32];
    
get_user_name(idszNamecharsmax(szName));

    switch(
random_num(1103))
    {
        case 
1..25:
        {
            
ChatColor(0Azul"!g[%s]!t %s!y - Gano!g %d Frags..."g_PluginInfo[3], szNameg_BetAmounts[g_iBetAmount[id]][BET_AMOUNT]);
            
client_cmd(id"spk %s"Ganar)            
            
rangos_set_user_frags(id, (rangos_get_user_frags(id) + g_BetAmounts[g_iBetAmount[id]][BET_AMOUNT]));
        }
        case 
26..85:
        {
            
ChatColor(0Azul"!g[%s]!t %s!y perdio!g %d Frags!"g_PluginInfo[3], szNameg_BetAmounts[g_iBetAmount[id]][BET_AMOUNT]);
            
client_cmd(id"spk %s"Perder)

            
g_iPozo += (g_BetAmounts[g_iBetAmount[id]][BET_AMOUNT]/4);
        }
        case 
86:
        {
            
ChatColor(0Azul"!g[%s]!t %s -!g GANO EL POZO! - !y%d Frags!"g_PluginInfo[3], szNameg_iPozo);
            
client_cmd(id"spk %s"Ganar)
            
rangos_set_user_frags(id, (rangos_get_user_frags(id) + g_iPozo));
            
g_iPozo 10;
        }
        case 
87..90:
        {
            
ChatColor(0Azul"!g[%s]!t %s!y Gano!g %d Frags X%d!!g ( +%d Frags)"g_PluginInfo[3], szNameg_BetAmounts[g_iBetAmount[id]][BET_AMOUNT], g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER], g_BetAmounts[g_iBetAmount[id]][BET_AMOUNT]*g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]);
            
rangos_set_user_frags(idrangos_get_user_frags(id) + g_BetAmounts[g_iBetAmount[id]][BET_AMOUNT] * g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER])
            
client_cmd(id"spk %s"Ganar)
        }
        case 
91..94:
        {
            
ChatColor(0Azul"!g[%s]!t %s!y Gano!g 16x%d Frags (+%d Frags)"g_PluginInfo[3], szNameg_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER], (16*g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]));
            
client_cmd(id"spk %s"Ganar)
            
rangos_set_user_frags(idrangos_get_user_frags(id) + g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]*16);
        }
        case 
95..98:
        {
            
ChatColor(0Azul"!g[%s]!t %s!y Gano!g 32x%d Frags!g (+%d Frags)"g_PluginInfo[3], szNameg_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER], (32*g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]));
            
client_cmd(id"spk %s"Ganar)
            
rangos_set_user_frags(idrangos_get_user_frags(id) + g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]*32);
        }
        case 
99..102:
        {
            
ChatColor(0Azul"!g[%s]!t %s!y Gano!g 88x%d Frags!g (+%d Frags)"g_PluginInfo[3], szNameg_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER], (88*g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]));
            
client_cmd(id"spk %s"Ganar)
            
rangos_set_user_frags(idrangos_get_user_frags(id) + g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]*88);
        }
        case 
103:
        {
            
ChatColor(0Azul"!g[%s]!t %s!y Gano!g 160x%d Frags!g (+%d Frags)"g_PluginInfo[3], szNameg_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER], (160*g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]));
            
client_cmd(id"spk %s"Ganar)
            
rangos_set_user_frags(idrangos_get_user_frags(id) + g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]*160);
        }
    }

    
g_bPlayerBetting[id] = false;
    
g_iBetAmount[id] = 0;
}

public 
Bet_DoN_Result(id)
{
    if(!
is_user_connected(id))
        return;

    new 
szName[32];
    
get_user_name(idszNamecharsmax(szName));

    switch(
random_num(1100))
    {
        case 
1..20:
        {

            
ChatColor(0Azul"!g[%s]!t %s!y gano el!g DOBLE DE SUS FRAGS!! !g(+%d Frags)"g_PluginInfo[3], szNameget_user_frags(id));            
            
rangos_set_user_frags(idrangos_get_user_frags(id) * 2);
        }
        case 
21..100:
        {
            
ChatColor(0Azul"!g[%s]r!t %s!y perdio todos sus!g FRAGS !yen el!g Me la juego!! (-%d Frags)"g_PluginInfo[3], szNameget_user_frags(id))
            
client_cmd(id"spk %s"Perder)
            
g_iPozo += (rangos_get_user_frags(id) / 4);
            
rangos_set_user_frags(id0);
        }
    }

    
g_bPlayerBetting[id] = false;
    
g_iBetAmount[id] = 0;
}

public 
clcmd_Pozo(id)
{
    
ChatColor(idAzul"!g[%s]!y Frags acumulados en el!g POZO: %d"g_PluginInfo[3], g_iPozo);

    return 
PLUGIN_HANDLED;
}

stock ChatColor(idColors:colormsg[], any:...)
{
    static 
szMsg[191], msgSayText;
    
#define teaminfo_sent(%0) (TeamInfoSent & (1<<%0))
    
    
if (!msgSayText)
        
msgSayText get_user_msgid("SayText");
    
    
vformat(szMsg190msg4);

    
replace_all(szMsg190"!g""^4");
    
replace_all(szMsg190"!y""^1");
    
replace_all(szMsg190"!t""^3");
    
    
message_begin(id MSG_ONE_UNRELIABLE MSG_BROADCASTmsgSayText, .player id);
    
write_byte(color ? (_:color) : 33);
    
write_string(szMsg);
    
message_end();
}

public 
chatcolor_send_teaminfo(id)
{
    if (!
is_user_connected(id))
        return;
    
    static 
msgTeamInfo;
    if (!
msgTeamInfo)
        
msgTeamInfo get_user_msgid("TeamInfo");
    
    static const 
pTeams[][] = { """TERRORIST""CT" };
    
    for (new 
pid 0pid 3pid++)
    {
        
message_begin(MSG_ONE_UNRELIABLEmsgTeamInfo, .player id)
        
write_byte(pid+33)
        
write_string(pTeams[pid])
        
message_end()
    }


Responder
#22
Igualmente creo que si no llama a "public plugin_natives();" no va a andar, porque "plugin_natives();" lo va a tomar como función privada y con public, pues, no..
Creo que era así.
Responder
#23
if(rangos_get_user_frags(id) >= g_iMinAmountDoN)

error sale eso al compilarlo
Responder
#24
agrega esto a tu code.
Código PHP:
native rangos_get_user_frags(id);
native rangos_set_user_frags(idfrags
Y acordate de poner 1ero el Rangos CS:GO y después abajo de él, el de los frags.
Responder
#25
me mataste

native rangos_get_user_frags(id);
native rangos_set_user_frags(id, frags)
donde agrego a eso ?

Código PHP:
#include <amxmodx>
#include <cstrike>

new const Ganar[] = { "events/enemy_died.wav" // Ganar una apuesta
new const Perder[] = { "events/friend_died.wav" // Perer una apuesta

enum Colors
{
    
Gris 33,
    
Rojo,
    
Azul
}

enum _DATA_BET BET_AMOUNTBET_MULTIPLIER };

new const 
g_PluginInfo[][] = { "Betting System""v1.0""RusselNight""AMXX" };

new const 
g_BetAmounts[][_DATA_BET] =
{
    { 
2},
    { 
4},
    { 
6},
    { 
8}
};

new 
bool:g_bPlayerBetting[33] = falseg_iBetAmount[33], Float:g_fTimeBetProgress 5.0g_iPozog_iMinAmountDoN;

new 
bool:g_bFirstRound true;

public 
plugin_init()
{
    
register_plugin(g_PluginInfo[0], g_PluginInfo[1], g_PluginInfo[2]);
    
    
register_event("HLTV""ev_NewRound""a""1=0""2=0");

    
register_clcmd("say /ganar""clcmd_Bet");
    
register_clcmd("say /ganartodo""clcmd_Bet");
    
register_clcmd("say /bono""clcmd_Pozo");
}

public 
plugin_precache()
{
    
precache_sound(Ganar)
    
precache_sound(Perder)


public 
client_disconnect(id
{
    
g_bPlayerBetting[id] = false;
    
g_iBetAmount[id] = 0
}

public 
ev_NewRound()
{
    if(
g_bFirstRound)
    {
        
g_iPozo 10;
        
g_iMinAmountDoN 100;
        
g_bFirstRound false;
    }
}

public 
clcmd_Bet(id)
{
    
Show_BetM(id);

    return 
PLUGIN_HANDLED;
}

public 
Show_BetM(id)
{
    static 
szText[256], iMenui;
    
formatex(szTextcharsmax(szText), "Menu de Suerte");
    
iMenu menu_create(szText"Handled_BetM");

    for(
0sizeof(g_BetAmounts); i++)
    {
        
formatex(szTextcharsmax(szText), "%d frags - x%d (Multiplicar ganancia por x%d)" g_BetAmounts[i][BET_AMOUNT], g_BetAmounts[i][BET_MULTIPLIER], g_BetAmounts[i][BET_MULTIPLIER]); 
        
menu_additem(iMenuszText);
    }

    if(
rangos_get_user_frags(id) >= g_iMinAmountDoN)
    {
        
menu_additem(iMenu"\wJugar\y ME LA JUEGO");
    }
    else
    {
        
formatex(szTextcharsmax(szText), "\dJugar ME LA JUEGO \y[Necesitas %d Frags]"g_iMinAmountDoN);
        
menu_additem(iMenuszText);
    }

    
menu_setprop(iMenuMPROP_EXITNAME"\d[\rCerrar Menu\d]");
    
menu_display(idiMenu);
    return 
PLUGIN_HANDLED
}

public 
Handled_BetM(idiMenuiItem)
{
    new 
szName[32];
    
get_user_name(idszNamecharsmax(szName));

    if(
iItem == MENU_EXIT)
    {
        
menu_destroy(iMenu);
        return 
PLUGIN_HANDLED;
    }

    if(
g_bPlayerBetting[id])
    {
        
ChatColor(idAzul"!g[%s]!y Ya estas!g realizando una apuesta."g_PluginInfo[3]);
        return 
PLUGIN_HANDLED;
    }

    if(
iItem >= sizeof(g_BetAmounts))
    {
        if(
rangos_get_user_frags(id) < g_iMinAmountDoN)
        {
            
ChatColor(idAzul,"!g[%s]!y No tienes!g suficientes frags."g_PluginInfo[3]);
            return 
PLUGIN_HANDLED;
        }

        
ChatColor(0Azul"!g[%s]!t %s!y aposto todos sus frags!g (%d)!y en!g Me la juego!!"g_PluginInfo[3], szNamerangos_get_user_frags(id));
        
        
set_task(g_fTimeBetProgress"Bet_DoN_Result"id);
    }
    else
    {
        if(
get_user_frags(id) < g_BetAmounts[iItem][BET_AMOUNT])
        {
            
ChatColor(idAzul"!g[%s]!y No tienes!g frags suficientes!."g_PluginInfo[3]);
            return 
PLUGIN_HANDLED;
        }

        
ChatColor(0Azul"!g[%s]!t %s!y - aposto!g %d frags."g_PluginInfo[3], szNameg_BetAmounts[iItem][BET_AMOUNT]);
        
set_task(g_fTimeBetProgress"Bet_Result"id);
    }

    
g_bPlayerBetting[id] = true;
    
g_iBetAmount[id] = iItem;

    return 
PLUGIN_HANDLED;
}

public 
Bet_Result(id)
{
    if(!
is_user_connected(id))
        return;

    new 
szName[32];
    
get_user_name(idszNamecharsmax(szName));

    switch(
random_num(1103))
    {
        case 
1..25:
        {
            
ChatColor(0Azul"!g[%s]!t %s!y - Gano!g %d Frags..."g_PluginInfo[3], szNameg_BetAmounts[g_iBetAmount[id]][BET_AMOUNT]);
            
client_cmd(id"spk %s"Ganar)            
            
rangos_set_user_frags(id, (rangos_get_user_frags(id) + g_BetAmounts[g_iBetAmount[id]][BET_AMOUNT]));
        }
        case 
26..85:
        {
            
ChatColor(0Azul"!g[%s]!t %s!y perdio!g %d Frags!"g_PluginInfo[3], szNameg_BetAmounts[g_iBetAmount[id]][BET_AMOUNT]);
            
client_cmd(id"spk %s"Perder)

            
g_iPozo += (g_BetAmounts[g_iBetAmount[id]][BET_AMOUNT]/4);
        }
        case 
86:
        {
            
ChatColor(0Azul"!g[%s]!t %s -!g GANO EL POZO! - !y%d Frags!"g_PluginInfo[3], szNameg_iPozo);
            
client_cmd(id"spk %s"Ganar)
            
rangos_set_user_frags(id, (rangos_get_user_frags(id) + g_iPozo));
            
g_iPozo 10;
        }
        case 
87..90:
        {
            
ChatColor(0Azul"!g[%s]!t %s!y Gano!g %d Frags X%d!!g ( +%d Frags)"g_PluginInfo[3], szNameg_BetAmounts[g_iBetAmount[id]][BET_AMOUNT], g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER], g_BetAmounts[g_iBetAmount[id]][BET_AMOUNT]*g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]);
            
rangos_set_user_frags(idrangos_get_user_frags(id) + g_BetAmounts[g_iBetAmount[id]][BET_AMOUNT] * g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER])
            
client_cmd(id"spk %s"Ganar)
        }
        case 
91..94:
        {
            
ChatColor(0Azul"!g[%s]!t %s!y Gano!g 16x%d Frags (+%d Frags)"g_PluginInfo[3], szNameg_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER], (16*g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]));
            
client_cmd(id"spk %s"Ganar)
            
rangos_set_user_frags(idrangos_get_user_frags(id) + g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]*16);
        }
        case 
95..98:
        {
            
ChatColor(0Azul"!g[%s]!t %s!y Gano!g 32x%d Frags!g (+%d Frags)"g_PluginInfo[3], szNameg_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER], (32*g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]));
            
client_cmd(id"spk %s"Ganar)
            
rangos_set_user_frags(idrangos_get_user_frags(id) + g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]*32);
        }
        case 
99..102:
        {
            
ChatColor(0Azul"!g[%s]!t %s!y Gano!g 88x%d Frags!g (+%d Frags)"g_PluginInfo[3], szNameg_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER], (88*g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]));
            
client_cmd(id"spk %s"Ganar)
            
rangos_set_user_frags(idrangos_get_user_frags(id) + g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]*88);
        }
        case 
103:
        {
            
ChatColor(0Azul"!g[%s]!t %s!y Gano!g 160x%d Frags!g (+%d Frags)"g_PluginInfo[3], szNameg_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER], (160*g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]));
            
client_cmd(id"spk %s"Ganar)
            
rangos_set_user_frags(idrangos_get_user_frags(id) + g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]*160);
        }
    }

    
g_bPlayerBetting[id] = false;
    
g_iBetAmount[id] = 0;
}

public 
Bet_DoN_Result(id)
{
    if(!
is_user_connected(id))
        return;

    new 
szName[32];
    
get_user_name(idszNamecharsmax(szName));

    switch(
random_num(1100))
    {
        case 
1..20:
        {

            
ChatColor(0Azul"!g[%s]!t %s!y gano el!g DOBLE DE SUS FRAGS!! !g(+%d Frags)"g_PluginInfo[3], szNameget_user_frags(id));            
            
rangos_set_user_frags(idrangos_get_user_frags(id) * 2);
        }
        case 
21..100:
        {
            
ChatColor(0Azul"!g[%s]r!t %s!y perdio todos sus!g FRAGS !yen el!g Me la juego!! (-%d Frags)"g_PluginInfo[3], szNameget_user_frags(id))
            
client_cmd(id"spk %s"Perder)
            
g_iPozo += (rangos_get_user_frags(id) / 4);
            
rangos_set_user_frags(id0);
        }
    }

    
g_bPlayerBetting[id] = false;
    
g_iBetAmount[id] = 0;
}

public 
clcmd_Pozo(id)
{
    
ChatColor(idAzul"!g[%s]!y Frags acumulados en el!g POZO: %d"g_PluginInfo[3], g_iPozo);

    return 
PLUGIN_HANDLED;
}

stock ChatColor(idColors:colormsg[], any:...)
{
    static 
szMsg[191], msgSayText;
    
#define teaminfo_sent(%0) (TeamInfoSent & (1<<%0))
    
    
if (!msgSayText)
        
msgSayText get_user_msgid("SayText");
    
    
vformat(szMsg190msg4);

    
replace_all(szMsg190"!g""^4");
    
replace_all(szMsg190"!y""^1");
    
replace_all(szMsg190"!t""^3");
    
    
message_begin(id MSG_ONE_UNRELIABLE MSG_BROADCASTmsgSayText, .player id);
    
write_byte(color ? (_:color) : 33);
    
write_string(szMsg);
    
message_end();
}

public 
chatcolor_send_teaminfo(id)
{
    if (!
is_user_connected(id))
        return;
    
    static 
msgTeamInfo;
    if (!
msgTeamInfo)
        
msgTeamInfo get_user_msgid("TeamInfo");
    
    static const 
pTeams[][] = { """TERRORIST""CT" };
    
    for (new 
pid 0pid 3pid++)
    {
        
message_begin(MSG_ONE_UNRELIABLEmsgTeamInfo, .player id)
        
write_byte(pid+33)
        
write_string(pTeams[pid])
        
message_end()
    }


este es mi plugins de rango se su pone que hay que agregar algo para que el otro plugins de apuesta funciona con el de rango para los frags

Código PHP:
/*    -----------------------------------------
Creditos: Solo para Raulitop, por el hook say :3

Version Con Guardado NFVAULT
-------------------------------            */

#include <amxmisc>
#include <fakemeta>
#include <nfvault>

new const PLUGIN[] = "Rangos CS:GO"
#define VERSION "1.0"
new const AUTHOR[] = "kikizon"

/* =============================================
|= [EMPIEZA SECCION MODIFICABLE] =|
==============================================*/
/* ====================================
*[CONSTANTES]*
=====================================*/ 
new const Prefijo[] = "!g[RANGOS]!y" // Prefijo en say
new const Sonido[] = "rango/powerup.wav" // Sonido Rango UP
/* ====================================
*[CONST NOMBRES DE RANGOS]*
=====================================*/
enum _:DATA
{
    
NOMBRE[30],
    
FRAGS
}
new const 
Rangos[][DATA] = {
    { 
"[topo]"200 },
    { 
"[chchi]"400 },
    { 
"[feli]"500 },
    { 
"[tol]"700 },
    { 
"[666]"800 },
    { 
"[anues]"1000 },
    { 
"[luli]"1500 },
    { 
"[lego]"2000 },
    { 
"[maisis]"3000 },
    { 
"[trico]"4000 },
    { 
"[corazon]"5000 },
    { 
"[mamita]"8000 },
    { 
"[papito]",9000 },
    { 
"[feliz]"20000 }
}

/* =============================================
|= [TERMINA SECCION MODIFICABLE] =|
==============================================*/

/* ====================================
*[VARIABLES]*
=====================================*/
new g_rango[33], g_frags[33]
new 
g_maxplayersg_msgTeamInfog_msgSayTextg_playername[33][32];
#define TASK_HUD 2100
#define ID_HUD (taskid - TASK_HUD)
#define XD is_user_connected(id) || !is_user_bot(id) || !is_user_hltv(id)
new VaultRango[128], szRangos[180], szKey[30]

/* ====================================
*[Cvars]*
=====================================*/
new cvar_knifex2cvar_hsx2
/* ====================================
*[INIT]*
=====================================*/
public plugin_init() {
    
register_plugin(PLUGINVERSIONAUTHOR)


    
register_concmd("dar_frags""cmdFrags"ADMIN_RCON"- <Nombre> <Cantidad> Vende y/o Regala Frags a un Users")
    
register_event("DeathMsg""Event_DeathMsg""a")
    
register_logevent("logevent_round_end"2"1=Round_End")
    
    
    
register_event("DeathMsg""Event_DeathMsg""a")
    
register_logevent("logevent_round_end"2"1=Round_End")
    
        
// este tenia que ir primero
    
register_clcmd("say /rango""ver_rango")
    
    
register_clcmd("say""message_saytext"
    
register_clcmd("say_team""message_sayteam")
    
    
    
    
/* =============================================
    |= [EMPIEZA SECCION MODIFICABLE] =|
    ==============================================*/
    
cvar_knifex2 register_cvar("rangos_knifex2""0")    // 1 - x2 frags con knife | 0 - ÑO :v
    
cvar_hsx2 register_cvar("rangos_hsx2""0")        // 1 - x2 frags de HeadShot | 0 - ÑO :v
    /* =============================================
    |= [TERMINA SECCION MODIFICABLE] =|
    ==============================================*/
    
    
g_maxplayers get_maxplayers()
    
g_msgTeamInfo get_user_msgid("TeamInfo")
    
g_msgSayText get_user_msgid("SayText")
    
    
nfv_file("Ranguitos.txt"VaultRangocharsmax(VaultRango))
}
/* ====================================
*[PRECACHE]*
=====================================*/
public plugin_precache() 
    
precache_sound(Sonido)
/* ===================================
*[VER RANGO]*
=====================================*/
public ver_rango(id) {

    
chatcolor(id"!g%s!y |!tRango Actual: !y%s|!tFrags: !y%d|"PrefijoRangos[g_rango[id]][NOMBRE], g_frags[id])
    
chatcolor(id"!g%s!y |!tProximo Rango: !y%s|!tFrags Restantes: !y%d|"PrefijoRangos[g_rango[id]+1][NOMBRE], Rangos[g_rango[id]][FRAGS] -  g_frags[id])    

/* ==================================
    [PUTINSERVER]
===================================*/
public client_putinserver(id) {
    
get_user_nameidg_playernameid ], charsmaxg_playername[ ] ) );
    
g_rango[id] = 0
    g_frags
[id] = 0
    
    Cargar
(id)
}
/* ==================================
    [DISCONNECT]
===================================*/
public client_disconnect(id) {
    if(
XDGuardar(id);
}

/* ==================================
    [ROUND END]
===================================*/
public logevent_round_end() {
    for(new 
id 1id <= g_maxplayersid++) {
        if(
XD
            
Guardar(id); 
    }
}
/* ==================================
    [DEATHMSG]
===================================*/
public Event_DeathMsg() {
    new 
attacker read_data(1)
    new 
victim read_data(2)
    new 
hs read_data(3)
    new 
weaponid get_user_weapon(attacker)
    
    if(
victim == attacker) return;
    
    if(
is_user_alive(attacker)) {
        
g_frags[attacker]++
        
        if(
get_pcvar_num(cvar_knifex2)) {
            if(
weaponid == CSW_KNIFE
                
g_frags[attacker]++
        }
        if(
get_pcvar_num(cvar_hsx2)) {
            if(
hsg_frags[attacker]++
        }
        
AumentarRango(attacker)
    }
}
/*========
 cmdFrags| aca Registramos el evento de Dar Frags
==========*/
public cmdFrags(idlevelcid) {
        if(!
cmd_access(idlevelcid2)) 
                return 
PLUGIN_HANDLED;
                
        new 
name[32]; read_argv(1namecharsmax(name))
        new 
player cmd_target(idnameCMDTARGET_ALLOW_SELF)
        if(!
player)
                return 
PLUGIN_HANDLED;
        
        new 
num[10]; read_argv(2numcharsmax(num))
        
g_frags[player] += str_to_num(num)
        new 
nameuser[32], nameadmin[32]
        
get_user_name(idnameadmincharsmax(nameadmin))
        
get_user_name(playernameusercharsmax(nameuser))
        
        
client_print(0print_chat"[AMXX] Administrador %s: Regalar %s Frags a %s"nameadminnumnameuser)
        
AumentarRango(player)
        return 
PLUGIN_HANDLED;
}
/* ================================
    [UPDATE RANGO]
=================================*/
AumentarRango(id) {    
    new 
Aumento false
    
    
while(g_frags[id] >= Rangos[g_rango[id]][FRAGS]) {
        
Aumento true
        g_rango
[id]++
    }
        
    if(
Aumento) {
        
chatcolor(id"%s Felicidades subiste al rango: !g[ %s ]"PrefijoRangos[g_rango[id]][NOMBRE])
        
client_cmd(id"spk %s"Sonido)
        
Aumento false
    
}
}
/*=====================================
*[SAY]*
=====================================*/
public message_saytext(id) { 
    static 
said[192
    
read_args(saidcharsmax(said)) 
    
remove_quotes(said
    
    if (
said[0] == '@' || said[0] == '%' || said[0] == '/' || said[0] == '.' || said[0] == '!' || equal (said""))
        return 
PLUGIN_HANDLED

    
if (!ValidMessage(said1)) return PLUGIN_CONTINUE;
    
    static 
color[11], name[32], alive[11]
    
get_user_team(id,color,charsmax(color))
    
get_user_name(id,name,charsmax(name))

    if (
is_user_alive (id)) {
        
alive ""
    
} else {
        
alive "[Muerto]"
    
}

    if (
is_user_admin(id)) {
        if (
get_user_flags(id) & ADMIN_KICK
            
format(saidcharsmax(said), "^x01%s^x04%s ^x03%s ^x04: %s"aliveRangos[g_rango[id]][NOMBRE], namesaid)
    } else {
        
format(saidcharsmax(said), "^x01%s^04%s ^x03%s ^x01: %s"aliveRangos[g_rango[id]][NOMBRE], namesaid)
    }
    
    static 
iteam[11
    for (
1<= g_maxplayersi++) {
        if (!
is_user_connected(i)) continue
        
get_user_name(id,name,charsmax(name))
        
        if (
is_user_admin(i) || is_user_alive(id) && is_user_alive(i) || !is_user_alive(id) && !is_user_alive(i)) {
            
get_user_team(iteamcharsmax(team))
            
changeTeamInfo(icolor)
            
writeMessage(isaid)
            
changeTeamInfo(iteam)
        }
    }
    return 
PLUGIN_HANDLED_MAIN;
}

public 
message_sayteam(id)
{    
    static 
said[192
    
read_args(saidcharsmax(said)) 
    
remove_quotes(said
    
    if (
said[0] == '@' || said[0] == '%' || said[0] == '/' || said[0] == '.' || said[0] == '!' || equal (said""))
        return 
PLUGIN_HANDLED

    
if (!ValidMessage(said1)) return PLUGIN_CONTINUE
    
    static 
playerTeamplayerTeamName[19]
    
playerTeam get_user_team(id)
    
    switch (
playerTeam) {
        case 
1copy (playerTeamName6"TE")
        case 
2copy (playerTeamName8"CT"
        default: 
copy (playerTeamName11"SPEC"
    }

    static 
color[11], name[32], alive[11]
    
get_user_team(id,color,charsmax(color))
    
get_user_name(id,name,charsmax(name))

    if (
is_user_alive (id)) {
        
alive ""
    
} else {
        
alive "[MUERTO]"
    
}

    if (
is_user_admin(id)) {
        if (
get_user_flags(id) & ADMIN_RCON)
            
format(saidcharsmax(said), "^x01%s [ %s ] ^x04%s ^x03%s ^x04: %s"aliveplayerTeamRangos[g_rango[id]], namesaid)
    } else {
        
format(saidcharsmax(said), "^x01%s [ %s ] ^04%s ^x03%s ^x01: %s"aliveplayerTeamRangos[g_rango[id]],namesaid)
    }

    static 
iteam[11
    for (
1<= g_maxplayersi++) {
        if (!
is_user_connected(i)) continue;
        
get_user_name(id,name,charsmax(name))
        
        if (
get_user_team(i) == playerTeam || is_user_admin(i)) {
            if (
is_user_alive(id) && is_user_alive(i) || !is_user_alive(id) && !is_user_alive(i)) {
                
get_user_team(iteamcharsmax(team))
                
changeTeamInfo(icolor)
                
writeMessage(isaid)
                
changeTeamInfo(iteam)
            }
        }
    }
    return 
PLUGIN_HANDLED_MAIN;
}
public 
changeTeamInfo(playerteam[]) {
    
message_begin(MSG_ONEg_msgTeamInfo_player)
    
write_byte(player)
    
write_string(team)
    
message_end()
}




public 
writeMessage(playermessage[]) {
    
message_begin(MSG_ONEg_msgSayText, {000}, player)
    
write_byte(player)
    
write_string(message)
    
message_end()
}
/* ===================================
*[GUARDADO]*
=====================================*/
Guardar(id) {
    
formatex(szKeycharsmax(szKey), "data_rangos"
    
formatex(szRangoscharsmax(szRangos), "%d %d"g_frags[id], g_rango[id])
    
    
nfv_set_data(VaultRangoszKeyg_playername[id], szRangos)
}

Cargar(id) {
    new 
g_load_c1[25], g_load_c2[25]
    
formatex(szKeycharsmax(szKey), "data_rangos"
    
    if(!
nfv_get_data(VaultRangoszKeyg_playername[id], szRangossizeof(szRangos) - 1)) return; 
   
    
parse(szRangosg_load_c1charsmax(g_load_c1), g_load_c2charsmax(g_load_c2))
    
    
g_frags[id] = str_to_num(g_load_c1)
    
g_rango[id] = str_to_num(g_load_c2)

/* ===================================
*[STOCKS]*
=====================================*/
// stock de chatcolor
stock chatcolor(id, const input[], any:...) {
    new 
count 1players[32]; 
    static 
msg[191]; 
    
vformat(msg190input3); 
     
    
replace_all(msg190"!g""^4"); // Verde
    
replace_all(msg190"!y""^1"); // Default
    
replace_all(msg190"!t""^3"); // Color del Equipo 
     
    
if (idplayers[0] = id; else get_players(playerscount"ch"); { 
        for (new 
0counti++)  { 
            if (
is_user_connected(players[i])) { 
                
message_begin(MSG_ONE_UNRELIABLEget_user_msgid("SayText"), _players[i]); 
                
write_byte(players[i]); 
                
write_string(msg); 
                
message_end(); 
            } 
        } 
    } 


plugin_natives()
{
    
register_native("rangos_get_user_frags""get_Frags"1)
    
register_native("rangos_set_user_frags""set_Frags"1// Solo resta y suma.

}

public 
get_Frags(id)
{
    return 
g_frags[id];
}

public 
set_Frags(idfrags)
{
    
g_frags[id] += frags;

    return 
g_frags[id];
}
// Stock para Saber Si el mensaje es valido
stock ValidMessage(text[], maxcount) {
    static 
lenicount
    len 
strlen(text)
    
count 0
    
    
if (!len)
        return 
false;
    
    for (
0leni++) {
        if (
text[i] != ' ') {
            
count++
            if (
count >= maxcount)
                return 
true;
        }
    }
    return 
false;

Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)