Mensajes: 166
Temas: 57
Registro en: Jan 2019
Reputación:
0
11/05/2019, 03:07 PM
(Última modificación: 11/05/2019, 03:22 PM por javier123. Edited 2 times in total.)
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_AMOUNT, BET_MULTIPLIER };
new const g_PluginInfo[][] = { "Betting System", "v1.0", "RusselNight", "AMXX" };
new const g_BetAmounts[][_DATA_BET] = { { 2, 1 }, { 4, 2 }, { 6, 3 }, { 8, 4 } };
new bool:g_bPlayerBetting[33] = false, g_iBetAmount[33], Float:g_fTimeBetProgress = 5.0, g_iPozo, g_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], iMenu, i; formatex(szText, charsmax(szText), "Menu de Suerte"); iMenu = menu_create(szText, "Handled_BetM");
for(i = 0; i < sizeof(g_BetAmounts); i++) { formatex(szText, charsmax(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(iMenu, szText); }
if(cs_get_user_money(id) >= g_iMinAmountDoN) { menu_additem(iMenu, "\wJugar\y ME LA JUEGO"); } else { formatex(szText, charsmax(szText), "\dJugar ME LA JUEGO \y[Necesitas $%d]", g_iMinAmountDoN); menu_additem(iMenu, szText); }
menu_setprop(iMenu, MPROP_EXITNAME, "\d[\rCerrar Menu\d]"); menu_display(id, iMenu); return PLUGIN_HANDLED }
public Handled_BetM(id, iMenu, iItem) { new szName[32]; get_user_name(id, szName, charsmax(szName));
if(iItem == MENU_EXIT) { menu_destroy(iMenu); return PLUGIN_HANDLED; }
if(g_bPlayerBetting[id]) { ChatColor(id, Azul, "!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(id, Azul,"!g[%s]!y No tienes!g suficiente $$.", g_PluginInfo[3]); return PLUGIN_HANDLED; }
ChatColor(0, Azul, "!g[%s]!t %s!y aposto toda su dinero!g (%d)!y en!g Me la juego!!", g_PluginInfo[3], szName, cs_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(id, Azul, "!g[%s]!y No tienes!g dinero suficiente!.", g_PluginInfo[3]); return PLUGIN_HANDLED; }
ChatColor(0, Azul, "!g[%s]!t %s!y - aposto!g %d de $$.", g_PluginInfo[3], szName, g_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(id, szName, charsmax(szName));
switch(random_num(1, 103)) { case 1..25: { ChatColor(0, Azul, "!g[%s]!t %s!y - Gano!g %d de $$...", g_PluginInfo[3], szName, g_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(0, Azul, "!g[%s]!t %s!y perdio!g %d de $$!", g_PluginInfo[3], szName, g_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(0, Azul, "!g[%s]!t %s -!g GANO EL POZO! - !y%d de $$!", g_PluginInfo[3], szName, g_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(0, Azul, "!g[%s]!t %s!y Gano!g %d de $$ X%d!!g ( +%d $$)", g_PluginInfo[3], szName, g_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(id, cs_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(0, Azul, "!g[%s]!t %s!y Gano!g 16x%d de $$!g (+%d $$)", g_PluginInfo[3], szName, g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER], (16*g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER])); client_cmd(id, "spk %s", Ganar) cs_set_user_money(id, cs_get_user_money(id) + g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]*16); } case 95..98: { ChatColor(0, Azul, "!g[%s]!t %s!y Gano!g 32x%d de $$!g (+%d $$)", g_PluginInfo[3], szName, g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER], (32*g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER])); client_cmd(id, "spk %s", Ganar) cs_set_user_money(id, cs_get_user_money(id) + g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]*32); } case 99..102: { ChatColor(0, Azul, "!g[%s]!t %s!y Gano!g 88x%d de $$!g (+%d $$)", g_PluginInfo[3], szName, g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER], (88*g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER])); client_cmd(id, "spk %s", Ganar) cs_set_user_money(id, cs_get_user_money(id) + g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]*88); } case 103: { ChatColor(0, Azul, "!g[%s]!t %s!y Gano!g 160x%d de $$!g (+%d $$)", g_PluginInfo[3], szName, g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER], (160*g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER])); client_cmd(id, "spk %s", Ganar) cs_set_user_money(id, cs_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(id, szName, charsmax(szName));
switch(random_num(1, 100)) { case 1..20: { ChatColor(0, Azul, "!g[%s]!t %s!y gano el!g DOBLE DE SU DINERO!! !g(+%d $$)", g_PluginInfo[3], szName, cs_get_user_money(id)); cs_set_user_money(id, cs_get_user_money(id) * 2); } case 21..100: { ChatColor(0, Azul, "!g[%s]r!t %s!y perdio toda su!g DINEROy en el!g Me la juego!! (-%d $$)", g_PluginInfo[3], szName, cs_get_user_money(id)) client_cmd(id, "spk %s", Perder) g_iPozo += (cs_get_user_money(id) / 4); cs_set_user_money(id, 0); } }
g_bPlayerBetting[id] = false; g_iBetAmount[id] = 0; }
public clcmd_Pozo(id) { ChatColor(id, Azul, "!g[%s]!y Dinero acumulado en el!g POZO: %d $$", g_PluginInfo[3], g_iPozo); return PLUGIN_HANDLED; }
stock ChatColor(id, Colors:color, msg[], any:...) { static szMsg[191], msgSayText; #define teaminfo_sent(%0) (TeamInfoSent & (1<<%0)) if (!msgSayText) msgSayText = get_user_msgid("SayText"); vformat(szMsg, 190, msg, 4);
replace_all(szMsg, 190, "!g", "^4"); replace_all(szMsg, 190, "!y", "^1"); replace_all(szMsg, 190, "!t", "^3"); message_begin(id ? MSG_ONE_UNRELIABLE : MSG_BROADCAST, msgSayText, .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 = 0; pid < 3; pid++) { message_begin(MSG_ONE_UNRELIABLE, msgTeamInfo, .player = id) write_byte(pid+33) write_string(pTeams[pid]) message_end() } }
Mensajes: 1,072
Temas: 57
Registro en: Feb 2016
Reputación:
8
11/05/2019, 03:52 PM
(Última modificación: 11/05/2019, 03:54 PM por Niper.-.. Edited 3 times in total.)
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.
Mensajes: 166
Temas: 57
Registro en: Jan 2019
Reputación:
0
11/05/2019, 09:17 PM
(Última modificación: 11/05/2019, 09:37 PM por javier123.)
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_AMOUNT, BET_MULTIPLIER };
new const g_PluginInfo[][] = { "Betting System", "v1.0", "RusselNight", "AMXX" };
new const g_BetAmounts[][_DATA_BET] = { { 2, 1 }, { 4, 2 }, { 6, 3 }, { 8, 4 } };
new bool:g_bPlayerBetting[33] = false, g_iBetAmount[33], Float:g_fTimeBetProgress = 5.0, g_iPozo, g_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], iMenu, i; formatex(szText, charsmax(szText), "Menu de Suerte"); iMenu = menu_create(szText, "Handled_BetM");
for(i = 0; i < sizeof(g_BetAmounts); i++) { formatex(szText, charsmax(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(iMenu, szText); }
if(get_user_frags(id) >= g_iMinAmountDoN) { menu_additem(iMenu, "\wJugar\y ME LA JUEGO"); } else { formatex(szText, charsmax(szText), "\dJugar ME LA JUEGO \y[Necesitas $%d]", g_iMinAmountDoN); menu_additem(iMenu, szText); }
menu_setprop(iMenu, MPROP_EXITNAME, "\d[\rCerrar Menu\d]"); menu_display(id, iMenu); return PLUGIN_HANDLED }
public Handled_BetM(id, iMenu, iItem) { new szName[32]; get_user_name(id, szName, charsmax(szName));
if(iItem == MENU_EXIT) { menu_destroy(iMenu); return PLUGIN_HANDLED; }
if(g_bPlayerBetting[id]) { ChatColor(id, Azul, "!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(id, Azul,"!g[%s]!y No tienes!g suficiente $$.", g_PluginInfo[3]); return PLUGIN_HANDLED; }
ChatColor(0, Azul, "!g[%s]!t %s!y aposto toda su dinero!g (%d)!y en!g Me la juego!!", g_PluginInfo[3], szName, get_user_frags(id)); set_task(g_fTimeBetProgress, "Bet_DoN_Result", id); } else { if(get_user_frags(id) < g_BetAmounts[iItem][BET_AMOUNT]) { ChatColor(id, Azul, "!g[%s]!y No tienes!g dinero suficiente!.", g_PluginInfo[3]); return PLUGIN_HANDLED; }
ChatColor(0, Azul, "!g[%s]!t %s!y - aposto!g %d de $$.", g_PluginInfo[3], szName, g_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(id, szName, charsmax(szName));
switch(random_num(1, 103)) { case 1..25: { ChatColor(0, Azul, "!g[%s]!t %s!y - Gano!g %d de $$...", g_PluginInfo[3], szName, g_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(0, Azul, "!g[%s]!t %s!y perdio!g %d de $$!", g_PluginInfo[3], szName, g_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(0, Azul, "!g[%s]!t %s -!g GANO EL POZO! - !y%d de $$!", g_PluginInfo[3], szName, g_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(0, Azul, "!g[%s]!t %s!y Gano!g %d de $$ X%d!!g ( +%d $$)", g_PluginInfo[3], szName, g_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(id, cs_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(0, Azul, "!g[%s]!t %s!y Gano!g 16x%d de $$!g (+%d $$)", g_PluginInfo[3], szName, g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER], (16*g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER])); client_cmd(id, "spk %s", Ganar) cs_set_user_money(id, cs_get_user_money(id) + g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]*16); } case 95..98: { ChatColor(0, Azul, "!g[%s]!t %s!y Gano!g 32x%d de $$!g (+%d $$)", g_PluginInfo[3], szName, g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER], (32*g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER])); client_cmd(id, "spk %s", Ganar) cs_set_user_money(id, cs_get_user_money(id) + g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]*32); } case 99..102: { ChatColor(0, Azul, "!g[%s]!t %s!y Gano!g 88x%d de $$!g (+%d $$)", g_PluginInfo[3], szName, g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER], (88*g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER])); client_cmd(id, "spk %s", Ganar) cs_set_user_money(id, cs_get_user_money(id) + g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]*88); } case 103: { ChatColor(0, Azul, "!g[%s]!t %s!y Gano!g 160x%d de $$!g (+%d $$)", g_PluginInfo[3], szName, g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER], (160*g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER])); client_cmd(id, "spk %s", Ganar) cs_set_user_money(id, cs_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(id, szName, charsmax(szName));
switch(random_num(1, 100)) { case 1..20: { ChatColor(0, Azul, "!g[%s]!t %s!y gano el!g DOBLE DE SU DINERO!! !g(+%d $$)", g_PluginInfo[3], szName, cs_get_user_money(id)); cs_set_user_money(id, cs_get_user_money(id) * 2); } case 21..100: { ChatColor(0, Azul, "!g[%s]r!t %s!y perdio toda su!g DINEROy en el!g Me la juego!! (-%d $$)", g_PluginInfo[3], szName, cs_get_user_money(id)) client_cmd(id, "spk %s", Perder) g_iPozo += (cs_get_user_money(id) / 4); cs_set_user_money(id, 0); } }
g_bPlayerBetting[id] = false; g_iBetAmount[id] = 0; }
public clcmd_Pozo(id) { ChatColor(id, Azul, "!g[%s]!y Dinero acumulado en el!g POZO: %d $$", g_PluginInfo[3], g_iPozo); return PLUGIN_HANDLED; }
stock ChatColor(id, Colors:color, msg[], any:...) { static szMsg[191], msgSayText; #define teaminfo_sent(%0) (TeamInfoSent & (1<<%0)) if (!msgSayText) msgSayText = get_user_msgid("SayText"); vformat(szMsg, 190, msg, 4);
replace_all(szMsg, 190, "!g", "^4"); replace_all(szMsg, 190, "!y", "^1"); replace_all(szMsg, 190, "!t", "^3"); message_begin(id ? MSG_ONE_UNRELIABLE : MSG_BROADCAST, msgSayText, .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 = 0; pid < 3; pid++) { message_begin(MSG_ONE_UNRELIABLE, msgTeamInfo, .player = id) write_byte(pid+33) write_string(pTeams[pid]) message_end() } }
Mensajes: 6,664
Temas: 81
Registro en: Jan 2014
Reputación:
68
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_AMOUNT, BET_MULTIPLIER };
new const g_PluginInfo[][] = { "Betting System", "v1.0", "RusselNight", "AMXX" };
new const g_BetAmounts[][_DATA_BET] = { { 2, 1 }, { 4, 2 }, { 6, 3 }, { 8, 4 } };
new bool:g_bPlayerBetting[33] = false, g_iBetAmount[33], Float:g_fTimeBetProgress = 5.0, g_iPozo, g_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], iMenu, i; formatex(szText, charsmax(szText), "Menu de Suerte"); iMenu = menu_create(szText, "Handled_BetM");
for(i = 0; i < sizeof(g_BetAmounts); i++) { #if defined BET_FRAGS formatex(szText, charsmax(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(szText, charsmax(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(iMenu, szText); }
if(cs_get_user_money(id) >= g_iMinAmountDoN) { menu_additem(iMenu, "\wJugar\y ME LA JUEGO"); } else { #if defined BET_FRAGS formatex(szText, charsmax(szText), "\dJugar ME LA JUEGO \y[Necesitas %d Frags]", g_iMinAmountDoN); #else formatex(szText, charsmax(szText), "\dJugar ME LA JUEGO \y[Necesitas $%d]", g_iMinAmountDoN); #endif menu_additem(iMenu, szText); }
menu_setprop(iMenu, MPROP_EXITNAME, "\d[\rCerrar Menu\d]"); menu_display(id, iMenu); return PLUGIN_HANDLED }
public Handled_BetM(id, iMenu, iItem) { new szName[32]; get_user_name(id, szName, charsmax(szName));
if(iItem == MENU_EXIT) { menu_destroy(iMenu); return PLUGIN_HANDLED; }
if(g_bPlayerBetting[id]) { ChatColor(id, Azul, "!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(id, Azul,"!g[%s]!y No tienes!g suficientes frags.", g_PluginInfo[3]); return PLUGIN_HANDLED; }
ChatColor(0, Azul, "!g[%s]!t %s!y aposto todos sus frags!g (%d)!y en!g Me la juego!!", g_PluginInfo[3], szName, get_user_frags(id)); #else if(cs_get_user_money(id) < g_iMinAmountDoN) { ChatColor(id, Azul,"!g[%s]!y No tienes!g suficiente $$.", g_PluginInfo[3]); return PLUGIN_HANDLED; }
ChatColor(0, Azul, "!g[%s]!t %s!y aposto toda su dinero!g (%d)!y en!g Me la juego!!", g_PluginInfo[3], szName, cs_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(id, Azul, "!g[%s]!y No tienes!g frags suficientes!.", g_PluginInfo[3]); return PLUGIN_HANDLED; }
ChatColor(0, Azul, "!g[%s]!t %s!y - aposto!g %d frags.", g_PluginInfo[3], szName, g_BetAmounts[iItem][BET_AMOUNT]); #else if(cs_get_user_money(id) < g_BetAmounts[iItem][BET_AMOUNT]) { ChatColor(id, Azul, "!g[%s]!y No tienes!g dinero suficiente!.", g_PluginInfo[3]); return PLUGIN_HANDLED; }
ChatColor(0, Azul, "!g[%s]!t %s!y - aposto!g %d de $$.", g_PluginInfo[3], szName, g_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(id, szName, charsmax(szName));
switch(random_num(1, 103)) { #if defined BET_FRAGS case 1..25: { ChatColor(0, Azul, "!g[%s]!t %s!y - Gano!g %d Frags...", g_PluginInfo[3], szName, g_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(0, Azul, "!g[%s]!t %s!y perdio!g %d Frags!", g_PluginInfo[3], szName, g_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(0, Azul, "!g[%s]!t %s -!g GANO EL POZO! - !y%d Frags!", g_PluginInfo[3], szName, g_iPozo); client_cmd(id, "spk %s", Ganar) set_user_frags(id, (get_user_frags(id) + g_iPozo)); g_iPozo = 10; } case 87..90: { ChatColor(0, Azul, "!g[%s]!t %s!y Gano!g %d Frags X%d!!g ( +%d Frags)", g_PluginInfo[3], szName, g_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(id, 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(0, Azul, "!g[%s]!t %s!y Gano!g 16x%d Frags (+%d Frags)", g_PluginInfo[3], szName, g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER], (16*g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER])); client_cmd(id, "spk %s", Ganar) set_user_frags(id, get_user_frags(id) + g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]*16); } case 95..98: { ChatColor(0, Azul, "!g[%s]!t %s!y Gano!g 32x%d Frags!g (+%d Frags)", g_PluginInfo[3], szName, g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER], (32*g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER])); client_cmd(id, "spk %s", Ganar) set_user_frags(id, get_user_frags(id) + g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]*32); } case 99..102: { ChatColor(0, Azul, "!g[%s]!t %s!y Gano!g 88x%d Frags!g (+%d Frags)", g_PluginInfo[3], szName, g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER], (88*g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER])); client_cmd(id, "spk %s", Ganar) set_user_frags(id, get_user_frags(id) + g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]*88); } case 103: { ChatColor(0, Azul, "!g[%s]!t %s!y Gano!g 160x%d Frags!g (+%d Frags)", g_PluginInfo[3], szName, g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER], (160*g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER])); client_cmd(id, "spk %s", Ganar) set_user_frags(id, get_user_frags(id) + g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]*160); } #else case 1..25: { ChatColor(0, Azul, "!g[%s]!t %s!y - Gano!g %d de $$...", g_PluginInfo[3], szName, g_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(0, Azul, "!g[%s]!t %s!y perdio!g %d de $$!", g_PluginInfo[3], szName, g_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(0, Azul, "!g[%s]!t %s -!g GANO EL POZO! - !y%d de $$!", g_PluginInfo[3], szName, g_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(0, Azul, "!g[%s]!t %s!y Gano!g %d de $$ X%d!!g ( +%d $$)", g_PluginInfo[3], szName, g_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(id, cs_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(0, Azul, "!g[%s]!t %s!y Gano!g 16x%d de $$!g (+%d $$)", g_PluginInfo[3], szName, g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER], (16*g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER])); client_cmd(id, "spk %s", Ganar) cs_set_user_money(id, cs_get_user_money(id) + g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]*16); } case 95..98: { ChatColor(0, Azul, "!g[%s]!t %s!y Gano!g 32x%d de $$!g (+%d $$)", g_PluginInfo[3], szName, g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER], (32*g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER])); client_cmd(id, "spk %s", Ganar) cs_set_user_money(id, cs_get_user_money(id) + g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]*32); } case 99..102: { ChatColor(0, Azul, "!g[%s]!t %s!y Gano!g 88x%d de $$!g (+%d $$)", g_PluginInfo[3], szName, g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER], (88*g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER])); client_cmd(id, "spk %s", Ganar) cs_set_user_money(id, cs_get_user_money(id) + g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]*88); } case 103: { ChatColor(0, Azul, "!g[%s]!t %s!y Gano!g 160x%d de $$!g (+%d $$)", g_PluginInfo[3], szName, g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER], (160*g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER])); client_cmd(id, "spk %s", Ganar) cs_set_user_money(id, cs_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(id, szName, charsmax(szName));
switch(random_num(1, 100)) { #if defined BET_FRAGS case 1..20: {
ChatColor(0, Azul, "!g[%s]!t %s!y gano el!g DOBLE DE SUS FRAGS!! !g(+%d Frags)", g_PluginInfo[3], szName, get_user_frags(id)); set_user_frags(id, get_user_frags(id) * 2); } case 21..100: { ChatColor(0, Azul, "!g[%s]r!t %s!y perdio todos sus!g FRAGS !yen el!g Me la juego!! (-%d Frags)", g_PluginInfo[3], szName, get_user_frags(id)) client_cmd(id, "spk %s", Perder) g_iPozo += (get_user_frags(id) / 4); set_user_frags(id, 0); } #else case 1..20: {
ChatColor(0, Azul, "!g[%s]!t %s!y gano el!g DOBLE DE SU DINERO!! !g(+%d $$)", g_PluginInfo[3], szName, cs_get_user_money(id)); cs_set_user_money(id, cs_get_user_money(id) * 2); } case 21..100: { ChatColor(0, Azul, "!g[%s]r!t %s!y perdio toda su!g DINEROy en el!g Me la juego!! (-%d $$)", g_PluginInfo[3], szName, cs_get_user_money(id)) client_cmd(id, "spk %s", Perder) g_iPozo += (cs_get_user_money(id) / 4); cs_set_user_money(id, 0); } #endif }
g_bPlayerBetting[id] = false; g_iBetAmount[id] = 0; }
public clcmd_Pozo(id) { #if defined BET_FRAGS ChatColor(id, Azul, "!g[%s]!y Frags acumulados en el!g POZO: %d", g_PluginInfo[3], g_iPozo); #else ChatColor(id, Azul, "!g[%s]!y Dinero acumulado en el!g POZO: %d $$", g_PluginInfo[3], g_iPozo); #endif return PLUGIN_HANDLED; }
stock ChatColor(id, Colors:color, msg[], any:...) { static szMsg[191], msgSayText; #define teaminfo_sent(%0) (TeamInfoSent & (1<<%0)) if (!msgSayText) msgSayText = get_user_msgid("SayText"); vformat(szMsg, 190, msg, 4);
replace_all(szMsg, 190, "!g", "^4"); replace_all(szMsg, 190, "!y", "^1"); replace_all(szMsg, 190, "!t", "^3"); message_begin(id ? MSG_ONE_UNRELIABLE : MSG_BROADCAST, msgSayText, .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 = 0; pid < 3; pid++) { message_begin(MSG_ONE_UNRELIABLE, msgTeamInfo, .player = id) write_byte(pid+33) write_string(pTeams[pid]) message_end() } }
► NO DOY AYUDA VIA MENSAJE PRIVADO ◄
* Si requieres algún servicio de pago puedes contactarme vía MP o en mi facebook
Mensajes: 166
Temas: 57
Registro en: Jan 2019
Reputación:
0
12/05/2019, 01:28 AM
(Última modificación: 12/05/2019, 01:38 AM por javier123. Edited 1 time in total.)
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
Mensajes: 299
Temas: 44
Registro en: Aug 2016
Reputación:
2
12/05/2019, 02:03 AM
(Última modificación: 12/05/2019, 02:03 AM por +rdNN!. Edited 1 time in total.)
(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
Mensajes: 166
Temas: 57
Registro en: Jan 2019
Reputación:
0
12/05/2019, 02:18 AM
(Última modificación: 12/05/2019, 02:19 AM por javier123.)
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
Mensajes: 166
Temas: 57
Registro en: Jan 2019
Reputación:
0
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
Mensajes: 659
Temas: 97
Registro en: Feb 2016
Reputación:
12
Debes unir los plugins, si no quieres unirlos sacale una native que de los frags que tienes y puedas editarlos.
Mensajes: 166
Temas: 57
Registro en: Jan 2019
Reputación:
0
13/05/2019, 12:01 AM
(Última modificación: 13/05/2019, 12:08 AM por javier123. Edited 2 times in total.)
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_maxplayers, g_msgTeamInfo, g_msgSayText, g_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_knifex2, cvar_hsx2 /* ==================================== *[INIT]* =====================================*/ public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR)
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", VaultRango, charsmax(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|", Prefijo, Rangos[g_rango[id]][NOMBRE], g_frags[id]) chatcolor(id, "!g%s!y |!tProximo Rango: !y%s|!tFrags Restantes: !y%d|", Prefijo, Rangos[g_rango[id]+1][NOMBRE], Rangos[g_rango[id]][FRAGS] - g_frags[id]) } /* ================================== [PUTINSERVER] ===================================*/ public client_putinserver(id) { get_user_name( id, g_playername[ id ], charsmax( g_playername[ ] ) ); g_rango[id] = 0 g_frags[id] = 0 Cargar(id) } /* ================================== [DISCONNECT] ===================================*/ public client_disconnect(id) { if(XD) Guardar(id); }
/* ================================== [ROUND END] ===================================*/ public logevent_round_end() { for(new id = 1; id <= g_maxplayers; id++) { 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(hs) g_frags[attacker]++ } AumentarRango(attacker) } } /*======== cmdFrags| aca Registramos el evento de Dar Frags ==========*/ public cmdFrags(id, level, cid) { if(!cmd_access(id, level, cid, 2)) return PLUGIN_HANDLED; new name[32]; read_argv(1, name, charsmax(name)) new player = cmd_target(id, name, CMDTARGET_ALLOW_SELF) if(!player) return PLUGIN_HANDLED; new num[10]; read_argv(2, num, charsmax(num)) g_frags[player] += str_to_num(num) new nameuser[32], nameadmin[32] get_user_name(id, nameadmin, charsmax(nameadmin)) get_user_name(player, nameuser, charsmax(nameuser)) client_print(0, print_chat, "[AMXX] Administrador %s: Regalar %s Frags a %s", nameadmin, num, nameuser) 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 ]", Prefijo, Rangos[g_rango[id]][NOMBRE]) client_cmd(id, "spk %s", Sonido) Aumento = false } } /*===================================== *[SAY]* =====================================*/ public message_saytext(id) { static said[192] read_args(said, charsmax(said)) remove_quotes(said) if (said[0] == '@' || said[0] == '%' || said[0] == '/' || said[0] == '.' || said[0] == '!' || equal (said, "")) return PLUGIN_HANDLED
if (!ValidMessage(said, 1)) 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(said, charsmax(said), "^x01%s^x04%s ^x03%s ^x04: %s", alive, Rangos[g_rango[id]][NOMBRE], name, said) } else { format(said, charsmax(said), "^x01%s^04%s ^x03%s ^x01: %s", alive, Rangos[g_rango[id]][NOMBRE], name, said) } static i, team[11] for (i = 1; i <= g_maxplayers; i++) { 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(i, team, charsmax(team)) changeTeamInfo(i, color) writeMessage(i, said) changeTeamInfo(i, team) } } return PLUGIN_HANDLED_MAIN; }
public message_sayteam(id) { static said[192] read_args(said, charsmax(said)) remove_quotes(said) if (said[0] == '@' || said[0] == '%' || said[0] == '/' || said[0] == '.' || said[0] == '!' || equal (said, "")) return PLUGIN_HANDLED
if (!ValidMessage(said, 1)) return PLUGIN_CONTINUE; static playerTeam, playerTeamName[19] playerTeam = get_user_team(id) switch (playerTeam) { case 1: copy (playerTeamName, 6, "TE") case 2: copy (playerTeamName, 8, "CT") default: copy (playerTeamName, 11, "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(said, charsmax(said), "^x01%s [ %s ] ^x04%s ^x03%s ^x04: %s", alive, playerTeam, Rangos[g_rango[id]], name, said) } else { format(said, charsmax(said), "^x01%s [ %s ] ^04%s ^x03%s ^x01: %s", alive, playerTeam, Rangos[g_rango[id]],name, said) }
static i, team[11] for (i = 1; i <= g_maxplayers; i++) { 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(i, team, charsmax(team)) changeTeamInfo(i, color) writeMessage(i, said) changeTeamInfo(i, team) } } } return PLUGIN_HANDLED_MAIN; } public changeTeamInfo(player, team[]) { message_begin(MSG_ONE, g_msgTeamInfo, _, player) write_byte(player) write_string(team) message_end() }
public writeMessage(player, message[]) { message_begin(MSG_ONE, g_msgSayText, {0, 0, 0}, player) write_byte(player) write_string(message) message_end() } /* =================================== *[GUARDADO]* =====================================*/ Guardar(id) { formatex(szKey, charsmax(szKey), "data_rangos") formatex(szRangos, charsmax(szRangos), "%d %d", g_frags[id], g_rango[id]) nfv_set_data(VaultRango, szKey, g_playername[id], szRangos) }
Cargar(id) { new g_load_c1[25], g_load_c2[25] formatex(szKey, charsmax(szKey), "data_rangos") if(!nfv_get_data(VaultRango, szKey, g_playername[id], szRangos, sizeof(szRangos) - 1)) return; parse(szRangos, g_load_c1, charsmax(g_load_c1), g_load_c2, charsmax(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 = 1, players[32]; static msg[191]; vformat(msg, 190, input, 3); replace_all(msg, 190, "!g", "^4"); // Verde replace_all(msg, 190, "!y", "^1"); // Default replace_all(msg, 190, "!t", "^3"); // Color del Equipo if (id) players[0] = id; else get_players(players, count, "ch"); { for (new i = 0; i < count; i++) { if (is_user_connected(players[i])) { message_begin(MSG_ONE_UNRELIABLE, get_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 len, i, count len = strlen(text) count = 0 if (!len) return false; for (i = 0; i < len; i++) { 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
Mensajes: 659
Temas: 97
Registro en: Feb 2016
Reputación:
12
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_maxplayers, g_msgTeamInfo, g_msgSayText, g_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_knifex2, cvar_hsx2 /* ==================================== *[INIT]* =====================================*/ public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR)
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", VaultRango, charsmax(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|", Prefijo, Rangos[g_rango[id]][NOMBRE], g_frags[id]) chatcolor(id, "!g%s!y |!tProximo Rango: !y%s|!tFrags Restantes: !y%d|", Prefijo, Rangos[g_rango[id]+1][NOMBRE], Rangos[g_rango[id]][FRAGS] - g_frags[id]) } /* ================================== [PUTINSERVER] ===================================*/ public client_putinserver(id) { get_user_name( id, g_playername[ id ], charsmax( g_playername[ ] ) ); g_rango[id] = 0 g_frags[id] = 0 Cargar(id) } /* ================================== [DISCONNECT] ===================================*/ public client_disconnect(id) { if(XD) Guardar(id); }
/* ================================== [ROUND END] ===================================*/ public logevent_round_end() { for(new id = 1; id <= g_maxplayers; id++) { 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(hs) g_frags[attacker]++ } AumentarRango(attacker) } } /*======== cmdFrags| aca Registramos el evento de Dar Frags ==========*/ public cmdFrags(id, level, cid) { if(!cmd_access(id, level, cid, 2)) return PLUGIN_HANDLED; new name[32]; read_argv(1, name, charsmax(name)) new player = cmd_target(id, name, CMDTARGET_ALLOW_SELF) if(!player) return PLUGIN_HANDLED; new num[10]; read_argv(2, num, charsmax(num)) g_frags[player] += str_to_num(num) new nameuser[32], nameadmin[32] get_user_name(id, nameadmin, charsmax(nameadmin)) get_user_name(player, nameuser, charsmax(nameuser)) client_print(0, print_chat, "[AMXX] Administrador %s: Regalar %s Frags a %s", nameadmin, num, nameuser) 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 ]", Prefijo, Rangos[g_rango[id]][NOMBRE]) client_cmd(id, "spk %s", Sonido) Aumento = false } } /*===================================== *[SAY]* =====================================*/ public message_saytext(id) { static said[192] read_args(said, charsmax(said)) remove_quotes(said) if (said[0] == '@' || said[0] == '%' || said[0] == '/' || said[0] == '.' || said[0] == '!' || equal (said, "")) return PLUGIN_HANDLED
if (!ValidMessage(said, 1)) 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(said, charsmax(said), "^x01%s^x04%s ^x03%s ^x04: %s", alive, Rangos[g_rango[id]][NOMBRE], name, said) } else { format(said, charsmax(said), "^x01%s^04%s ^x03%s ^x01: %s", alive, Rangos[g_rango[id]][NOMBRE], name, said) } static i, team[11] for (i = 1; i <= g_maxplayers; i++) { 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(i, team, charsmax(team)) changeTeamInfo(i, color) writeMessage(i, said) changeTeamInfo(i, team) } } return PLUGIN_HANDLED_MAIN; }
public message_sayteam(id) { static said[192] read_args(said, charsmax(said)) remove_quotes(said) if (said[0] == '@' || said[0] == '%' || said[0] == '/' || said[0] == '.' || said[0] == '!' || equal (said, "")) return PLUGIN_HANDLED
if (!ValidMessage(said, 1)) return PLUGIN_CONTINUE; static playerTeam, playerTeamName[19] playerTeam = get_user_team(id) switch (playerTeam) { case 1: copy (playerTeamName, 6, "TE") case 2: copy (playerTeamName, 8, "CT") default: copy (playerTeamName, 11, "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(said, charsmax(said), "^x01%s [ %s ] ^x04%s ^x03%s ^x04: %s", alive, playerTeam, Rangos[g_rango[id]], name, said) } else { format(said, charsmax(said), "^x01%s [ %s ] ^04%s ^x03%s ^x01: %s", alive, playerTeam, Rangos[g_rango[id]],name, said) }
static i, team[11] for (i = 1; i <= g_maxplayers; i++) { 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(i, team, charsmax(team)) changeTeamInfo(i, color) writeMessage(i, said) changeTeamInfo(i, team) } } } return PLUGIN_HANDLED_MAIN; } public changeTeamInfo(player, team[]) { message_begin(MSG_ONE, g_msgTeamInfo, _, player) write_byte(player) write_string(team) message_end() }
public writeMessage(player, message[]) { message_begin(MSG_ONE, g_msgSayText, {0, 0, 0}, player) write_byte(player) write_string(message) message_end() } /* =================================== *[GUARDADO]* =====================================*/ Guardar(id) { formatex(szKey, charsmax(szKey), "data_rangos") formatex(szRangos, charsmax(szRangos), "%d %d", g_frags[id], g_rango[id]) nfv_set_data(VaultRango, szKey, g_playername[id], szRangos) }
Cargar(id) { new g_load_c1[25], g_load_c2[25] formatex(szKey, charsmax(szKey), "data_rangos") if(!nfv_get_data(VaultRango, szKey, g_playername[id], szRangos, sizeof(szRangos) - 1)) return; parse(szRangos, g_load_c1, charsmax(g_load_c1), g_load_c2, charsmax(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 = 1, players[32]; static msg[191]; vformat(msg, 190, input, 3); replace_all(msg, 190, "!g", "^4"); // Verde replace_all(msg, 190, "!y", "^1"); // Default replace_all(msg, 190, "!t", "^3"); // Color del Equipo if (id) players[0] = id; else get_players(players, count, "ch"); { for (new i = 0; i < count; i++) { if (is_user_connected(players[i])) { message_begin(MSG_ONE_UNRELIABLE, get_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(id, frags) { g_frags[id] += frags;
return g_frags[id]; } // Stock para Saber Si el mensaje es valido stock ValidMessage(text[], maxcount) { static len, i, count len = strlen(text) count = 0 if (!len) return false; for (i = 0; i < len; i++) { if (text[i] != ' ') { count++ if (count >= maxcount) return true; } } return false; }
Mensajes: 166
Temas: 57
Registro en: Jan 2019
Reputación:
0
Mensajes: 659
Temas: 97
Registro en: Feb 2016
Reputación:
12
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_maxplayers, g_msgTeamInfo, g_msgSayText, g_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_knifex2, cvar_hsx2 /* ==================================== *[INIT]* =====================================*/ public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR)
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", VaultRango, charsmax(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|", Prefijo, Rangos[g_rango[id]][NOMBRE], g_frags[id]) chatcolor(id, "!g%s!y |!tProximo Rango: !y%s|!tFrags Restantes: !y%d|", Prefijo, Rangos[g_rango[id]+1][NOMBRE], Rangos[g_rango[id]][FRAGS] - g_frags[id]) } /* ================================== [PUTINSERVER] ===================================*/ public client_putinserver(id) { get_user_name( id, g_playername[ id ], charsmax( g_playername[ ] ) ); g_rango[id] = 0 g_frags[id] = 0 Cargar(id) } /* ================================== [DISCONNECT] ===================================*/ public client_disconnect(id) { if(XD) Guardar(id); }
/* ================================== [ROUND END] ===================================*/ public logevent_round_end() { for(new id = 1; id <= g_maxplayers; id++) { 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(hs) g_frags[attacker]++ } AumentarRango(attacker) } } /*======== cmdFrags| aca Registramos el evento de Dar Frags ==========*/ public cmdFrags(id, level, cid) { if(!cmd_access(id, level, cid, 2)) return PLUGIN_HANDLED; new name[32]; read_argv(1, name, charsmax(name)) new player = cmd_target(id, name, CMDTARGET_ALLOW_SELF) if(!player) return PLUGIN_HANDLED; new num[10]; read_argv(2, num, charsmax(num)) g_frags[player] += str_to_num(num) new nameuser[32], nameadmin[32] get_user_name(id, nameadmin, charsmax(nameadmin)) get_user_name(player, nameuser, charsmax(nameuser)) client_print(0, print_chat, "[AMXX] Administrador %s: Regalar %s Frags a %s", nameadmin, num, nameuser) 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 ]", Prefijo, Rangos[g_rango[id]][NOMBRE]) client_cmd(id, "spk %s", Sonido) Aumento = false } } /*===================================== *[SAY]* =====================================*/ public message_saytext(id) { static said[192] read_args(said, charsmax(said)) remove_quotes(said) if (said[0] == '@' || said[0] == '%' || said[0] == '/' || said[0] == '.' || said[0] == '!' || equal (said, "")) return PLUGIN_HANDLED
if (!ValidMessage(said, 1)) 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(said, charsmax(said), "^x01%s^x04%s ^x03%s ^x04: %s", alive, Rangos[g_rango[id]][NOMBRE], name, said) } else { format(said, charsmax(said), "^x01%s^04%s ^x03%s ^x01: %s", alive, Rangos[g_rango[id]][NOMBRE], name, said) } static i, team[11] for (i = 1; i <= g_maxplayers; i++) { 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(i, team, charsmax(team)) changeTeamInfo(i, color) writeMessage(i, said) changeTeamInfo(i, team) } } return PLUGIN_HANDLED_MAIN; }
public message_sayteam(id) { static said[192] read_args(said, charsmax(said)) remove_quotes(said) if (said[0] == '@' || said[0] == '%' || said[0] == '/' || said[0] == '.' || said[0] == '!' || equal (said, "")) return PLUGIN_HANDLED
if (!ValidMessage(said, 1)) return PLUGIN_CONTINUE; static playerTeam, playerTeamName[19] playerTeam = get_user_team(id) switch (playerTeam) { case 1: copy (playerTeamName, 6, "TE") case 2: copy (playerTeamName, 8, "CT") default: copy (playerTeamName, 11, "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(said, charsmax(said), "^x01%s [ %s ] ^x04%s ^x03%s ^x04: %s", alive, playerTeam, Rangos[g_rango[id]], name, said) } else { format(said, charsmax(said), "^x01%s [ %s ] ^04%s ^x03%s ^x01: %s", alive, playerTeam, Rangos[g_rango[id]],name, said) }
static i, team[11] for (i = 1; i <= g_maxplayers; i++) { 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(i, team, charsmax(team)) changeTeamInfo(i, color) writeMessage(i, said) changeTeamInfo(i, team) } } } return PLUGIN_HANDLED_MAIN; } public changeTeamInfo(player, team[]) { message_begin(MSG_ONE, g_msgTeamInfo, _, player) write_byte(player) write_string(team) message_end() }
public writeMessage(player, message[]) { message_begin(MSG_ONE, g_msgSayText, {0, 0, 0}, player) write_byte(player) write_string(message) message_end() } /* =================================== *[GUARDADO]* =====================================*/ Guardar(id) { formatex(szKey, charsmax(szKey), "data_rangos") formatex(szRangos, charsmax(szRangos), "%d %d", g_frags[id], g_rango[id]) nfv_set_data(VaultRango, szKey, g_playername[id], szRangos) }
Cargar(id) { new g_load_c1[25], g_load_c2[25] formatex(szKey, charsmax(szKey), "data_rangos") if(!nfv_get_data(VaultRango, szKey, g_playername[id], szRangos, sizeof(szRangos) - 1)) return; parse(szRangos, g_load_c1, charsmax(g_load_c1), g_load_c2, charsmax(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 = 1, players[32]; static msg[191]; vformat(msg, 190, input, 3); replace_all(msg, 190, "!g", "^4"); // Verde replace_all(msg, 190, "!y", "^1"); // Default replace_all(msg, 190, "!t", "^3"); // Color del Equipo if (id) players[0] = id; else get_players(players, count, "ch"); { for (new i = 0; i < count; i++) { if (is_user_connected(players[i])) { message_begin(MSG_ONE_UNRELIABLE, get_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(id, frags) { g_frags[id] += frags;
return g_frags[id]; } // Stock para Saber Si el mensaje es valido stock ValidMessage(text[], maxcount) { static len, i, count len = strlen(text) count = 0 if (!len) return false; for (i = 0; i < len; i++) { 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(id, frags) #endif
enum Colors { Gris = 33, Rojo, Azul }
enum _DATA_BET { BET_AMOUNT, BET_MULTIPLIER };
new const g_PluginInfo[][] = { "Betting System", "v1.0", "RusselNight", "AMXX" };
new const g_BetAmounts[][_DATA_BET] = { { 2, 1 }, { 4, 2 }, { 6, 3 }, { 8, 4 } };
new bool:g_bPlayerBetting[33] = false, g_iBetAmount[33], Float:g_fTimeBetProgress = 5.0, g_iPozo, g_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], iMenu, i; formatex(szText, charsmax(szText), "Menu de Suerte"); iMenu = menu_create(szText, "Handled_BetM");
for(i = 0; i < sizeof(g_BetAmounts); i++) { #if defined BET_FRAGS formatex(szText, charsmax(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(szText, charsmax(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(iMenu, szText); }
if(cs_get_user_money(id) >= g_iMinAmountDoN) { menu_additem(iMenu, "\wJugar\y ME LA JUEGO"); } else { #if defined BET_FRAGS formatex(szText, charsmax(szText), "\dJugar ME LA JUEGO \y[Necesitas %d Frags]", g_iMinAmountDoN); #else formatex(szText, charsmax(szText), "\dJugar ME LA JUEGO \y[Necesitas $%d]", g_iMinAmountDoN); #endif menu_additem(iMenu, szText); }
menu_setprop(iMenu, MPROP_EXITNAME, "\d[\rCerrar Menu\d]"); menu_display(id, iMenu); return PLUGIN_HANDLED }
public Handled_BetM(id, iMenu, iItem) { new szName[32]; get_user_name(id, szName, charsmax(szName));
if(iItem == MENU_EXIT) { menu_destroy(iMenu); return PLUGIN_HANDLED; }
if(g_bPlayerBetting[id]) { ChatColor(id, Azul, "!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(id, Azul,"!g[%s]!y No tienes!g suficientes frags.", g_PluginInfo[3]); return PLUGIN_HANDLED; }
ChatColor(0, Azul, "!g[%s]!t %s!y aposto todos sus frags!g (%d)!y en!g Me la juego!!", g_PluginInfo[3], szName, rangos_get_user_frags(id)); #else if(cs_get_user_money(id) < g_iMinAmountDoN) { ChatColor(id, Azul,"!g[%s]!y No tienes!g suficiente $$.", g_PluginInfo[3]); return PLUGIN_HANDLED; }
ChatColor(0, Azul, "!g[%s]!t %s!y aposto toda su dinero!g (%d)!y en!g Me la juego!!", g_PluginInfo[3], szName, cs_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(id, Azul, "!g[%s]!y No tienes!g frags suficientes!.", g_PluginInfo[3]); return PLUGIN_HANDLED; }
ChatColor(0, Azul, "!g[%s]!t %s!y - aposto!g %d frags.", g_PluginInfo[3], szName, g_BetAmounts[iItem][BET_AMOUNT]); #else if(cs_get_user_money(id) < g_BetAmounts[iItem][BET_AMOUNT]) { ChatColor(id, Azul, "!g[%s]!y No tienes!g dinero suficiente!.", g_PluginInfo[3]); return PLUGIN_HANDLED; }
ChatColor(0, Azul, "!g[%s]!t %s!y - aposto!g %d de $$.", g_PluginInfo[3], szName, g_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(id, szName, charsmax(szName));
switch(random_num(1, 103)) { #if defined BET_FRAGS case 1..25: { ChatColor(0, Azul, "!g[%s]!t %s!y - Gano!g %d Frags...", g_PluginInfo[3], szName, g_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(0, Azul, "!g[%s]!t %s!y perdio!g %d Frags!", g_PluginInfo[3], szName, g_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(0, Azul, "!g[%s]!t %s -!g GANO EL POZO! - !y%d Frags!", g_PluginInfo[3], szName, g_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(0, Azul, "!g[%s]!t %s!y Gano!g %d Frags X%d!!g ( +%d Frags)", g_PluginInfo[3], szName, g_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(id, rangos_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(0, Azul, "!g[%s]!t %s!y Gano!g 16x%d Frags (+%d Frags)", g_PluginInfo[3], szName, g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER], (16*g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER])); client_cmd(id, "spk %s", Ganar) rangos_set_user_frags(id, rangos_get_user_frags(id) + g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]*16); } case 95..98: { ChatColor(0, Azul, "!g[%s]!t %s!y Gano!g 32x%d Frags!g (+%d Frags)", g_PluginInfo[3], szName, g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER], (32*g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER])); client_cmd(id, "spk %s", Ganar) rangos_set_user_frags(id, rangos_get_user_frags(id) + g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]*32); } case 99..102: { ChatColor(0, Azul, "!g[%s]!t %s!y Gano!g 88x%d Frags!g (+%d Frags)", g_PluginInfo[3], szName, g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER], (88*g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER])); client_cmd(id, "spk %s", Ganar) rangos_set_user_frags(id, rangos_get_user_frags(id) + g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]*88); } case 103: { ChatColor(0, Azul, "!g[%s]!t %s!y Gano!g 160x%d Frags!g (+%d Frags)", g_PluginInfo[3], szName, g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER], (160*g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER])); client_cmd(id, "spk %s", Ganar) rangos_set_user_frags(id, rangos_get_user_frags(id) + g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]*160); } #else case 1..25: { ChatColor(0, Azul, "!g[%s]!t %s!y - Gano!g %d de $$...", g_PluginInfo[3], szName, g_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(0, Azul, "!g[%s]!t %s!y perdio!g %d de $$!", g_PluginInfo[3], szName, g_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(0, Azul, "!g[%s]!t %s -!g GANO EL POZO! - !y%d de $$!", g_PluginInfo[3], szName, g_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(0, Azul, "!g[%s]!t %s!y Gano!g %d de $$ X%d!!g ( +%d $$)", g_PluginInfo[3], szName, g_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(id, cs_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(0, Azul, "!g[%s]!t %s!y Gano!g 16x%d de $$!g (+%d $$)", g_PluginInfo[3], szName, g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER], (16*g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER])); client_cmd(id, "spk %s", Ganar) cs_set_user_money(id, cs_get_user_money(id) + g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]*16); } case 95..98: { ChatColor(0, Azul, "!g[%s]!t %s!y Gano!g 32x%d de $$!g (+%d $$)", g_PluginInfo[3], szName, g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER], (32*g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER])); client_cmd(id, "spk %s", Ganar) cs_set_user_money(id, cs_get_user_money(id) + g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]*32); } case 99..102: { ChatColor(0, Azul, "!g[%s]!t %s!y Gano!g 88x%d de $$!g (+%d $$)", g_PluginInfo[3], szName, g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER], (88*g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER])); client_cmd(id, "spk %s", Ganar) cs_set_user_money(id, cs_get_user_money(id) + g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]*88); } case 103: { ChatColor(0, Azul, "!g[%s]!t %s!y Gano!g 160x%d de $$!g (+%d $$)", g_PluginInfo[3], szName, g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER], (160*g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER])); client_cmd(id, "spk %s", Ganar) cs_set_user_money(id, cs_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(id, szName, charsmax(szName));
switch(random_num(1, 100)) { #if defined BET_FRAGS case 1..20: {
ChatColor(0, Azul, "!g[%s]!t %s!y gano el!g DOBLE DE SUS FRAGS!! !g(+%d Frags)", g_PluginInfo[3], szName, get_user_frags(id)); rangos_set_user_frags(id, rangos_get_user_frags(id) * 2); } case 21..100: { ChatColor(0, Azul, "!g[%s]r!t %s!y perdio todos sus!g FRAGS !yen el!g Me la juego!! (-%d Frags)", g_PluginInfo[3], szName, get_user_frags(id)) client_cmd(id, "spk %s", Perder) g_iPozo += (rangos_get_user_frags(id) / 4); rangos_set_user_frags(id, 0); } #else case 1..20: {
ChatColor(0, Azul, "!g[%s]!t %s!y gano el!g DOBLE DE SU DINERO!! !g(+%d $$)", g_PluginInfo[3], szName, cs_get_user_money(id)); cs_set_user_money(id, cs_get_user_money(id) * 2); } case 21..100: { ChatColor(0, Azul, "!g[%s]r!t %s!y perdio toda su!g DINEROy en el!g Me la juego!! (-%d $$)", g_PluginInfo[3], szName, cs_get_user_money(id)) client_cmd(id, "spk %s", Perder) g_iPozo += (cs_get_user_money(id) / 4); cs_set_user_money(id, 0); } #endif }
g_bPlayerBetting[id] = false; g_iBetAmount[id] = 0; }
public clcmd_Pozo(id) { #if defined BET_FRAGS ChatColor(id, Azul, "!g[%s]!y Frags acumulados en el!g POZO: %d", g_PluginInfo[3], g_iPozo); #else ChatColor(id, Azul, "!g[%s]!y Dinero acumulado en el!g POZO: %d $$", g_PluginInfo[3], g_iPozo); #endif return PLUGIN_HANDLED; }
stock ChatColor(id, Colors:color, msg[], any:...) { static szMsg[191], msgSayText; #define teaminfo_sent(%0) (TeamInfoSent & (1<<%0)) if (!msgSayText) msgSayText = get_user_msgid("SayText"); vformat(szMsg, 190, msg, 4);
replace_all(szMsg, 190, "!g", "^4"); replace_all(szMsg, 190, "!y", "^1"); replace_all(szMsg, 190, "!t", "^3"); message_begin(id ? MSG_ONE_UNRELIABLE : MSG_BROADCAST, msgSayText, .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 = 0; pid < 3; pid++) { message_begin(MSG_ONE_UNRELIABLE, msgTeamInfo, .player = id) write_byte(pid+33) write_string(pTeams[pid]) message_end() } }
Mensajes: 166
Temas: 57
Registro en: Jan 2019
Reputación:
0
14/05/2019, 12:21 AM
(Última modificación: 14/05/2019, 12:54 AM por javier123.)
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(id, frags) #endif
enum Colors { Gris = 33, Rojo, Azul }
enum _DATA_BET { BET_AMOUNT, BET_MULTIPLIER };
new const g_PluginInfo[][] = { "Betting System", "v1.0", "RusselNight", "AMXX" };
new const g_BetAmounts[][_DATA_BET] = { { 2, 1 }, { 4, 2 }, { 6, 3 }, { 8, 4 } };
new bool:g_bPlayerBetting[33] = false, g_iBetAmount[33], Float:g_fTimeBetProgress = 5.0, g_iPozo, g_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], iMenu, i; formatex(szText, charsmax(szText), "Menu de Suerte"); iMenu = menu_create(szText, "Handled_BetM");
for(i = 0; i < sizeof(g_BetAmounts); i++) { #if defined BET_FRAGS formatex(szText, charsmax(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(szText, charsmax(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(iMenu, szText); }
if(cs_get_user_money(id) >= g_iMinAmountDoN) { menu_additem(iMenu, "\wJugar\y ME LA JUEGO"); } else { #if defined BET_FRAGS formatex(szText, charsmax(szText), "\dJugar ME LA JUEGO \y[Necesitas %d Frags]", g_iMinAmountDoN); #else formatex(szText, charsmax(szText), "\dJugar ME LA JUEGO \y[Necesitas $%d]", g_iMinAmountDoN); #endif menu_additem(iMenu, szText); }
menu_setprop(iMenu, MPROP_EXITNAME, "\d[\rCerrar Menu\d]"); menu_display(id, iMenu); return PLUGIN_HANDLED }
public Handled_BetM(id, iMenu, iItem) { new szName[32]; get_user_name(id, szName, charsmax(szName));
if(iItem == MENU_EXIT) { menu_destroy(iMenu); return PLUGIN_HANDLED; }
if(g_bPlayerBetting[id]) { ChatColor(id, Azul, "!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(id, Azul,"!g[%s]!y No tienes!g suficientes frags.", g_PluginInfo[3]); return PLUGIN_HANDLED; }
ChatColor(0, Azul, "!g[%s]!t %s!y aposto todos sus frags!g (%d)!y en!g Me la juego!!", g_PluginInfo[3], szName, rangos_get_user_frags(id)); #else if(cs_get_user_money(id) < g_iMinAmountDoN) { ChatColor(id, Azul,"!g[%s]!y No tienes!g suficiente $$.", g_PluginInfo[3]); return PLUGIN_HANDLED; }
ChatColor(0, Azul, "!g[%s]!t %s!y aposto toda su dinero!g (%d)!y en!g Me la juego!!", g_PluginInfo[3], szName, cs_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(id, Azul, "!g[%s]!y No tienes!g frags suficientes!.", g_PluginInfo[3]); return PLUGIN_HANDLED; }
ChatColor(0, Azul, "!g[%s]!t %s!y - aposto!g %d frags.", g_PluginInfo[3], szName, g_BetAmounts[iItem][BET_AMOUNT]); #else if(cs_get_user_money(id) < g_BetAmounts[iItem][BET_AMOUNT]) { ChatColor(id, Azul, "!g[%s]!y No tienes!g dinero suficiente!.", g_PluginInfo[3]); return PLUGIN_HANDLED; }
ChatColor(0, Azul, "!g[%s]!t %s!y - aposto!g %d de $$.", g_PluginInfo[3], szName, g_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(id, szName, charsmax(szName));
switch(random_num(1, 103)) { #if defined BET_FRAGS case 1..25: { ChatColor(0, Azul, "!g[%s]!t %s!y - Gano!g %d Frags...", g_PluginInfo[3], szName, g_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(0, Azul, "!g[%s]!t %s!y perdio!g %d Frags!", g_PluginInfo[3], szName, g_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(0, Azul, "!g[%s]!t %s -!g GANO EL POZO! - !y%d Frags!", g_PluginInfo[3], szName, g_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(0, Azul, "!g[%s]!t %s!y Gano!g %d Frags X%d!!g ( +%d Frags)", g_PluginInfo[3], szName, g_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(id, rangos_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(0, Azul, "!g[%s]!t %s!y Gano!g 16x%d Frags (+%d Frags)", g_PluginInfo[3], szName, g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER], (16*g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER])); client_cmd(id, "spk %s", Ganar) rangos_set_user_frags(id, rangos_get_user_frags(id) + g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]*16); } case 95..98: { ChatColor(0, Azul, "!g[%s]!t %s!y Gano!g 32x%d Frags!g (+%d Frags)", g_PluginInfo[3], szName, g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER], (32*g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER])); client_cmd(id, "spk %s", Ganar) rangos_set_user_frags(id, rangos_get_user_frags(id) + g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]*32); } case 99..102: { ChatColor(0, Azul, "!g[%s]!t %s!y Gano!g 88x%d Frags!g (+%d Frags)", g_PluginInfo[3], szName, g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER], (88*g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER])); client_cmd(id, "spk %s", Ganar) rangos_set_user_frags(id, rangos_get_user_frags(id) + g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]*88); } case 103: { ChatColor(0, Azul, "!g[%s]!t %s!y Gano!g 160x%d Frags!g (+%d Frags)", g_PluginInfo[3], szName, g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER], (160*g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER])); client_cmd(id, "spk %s", Ganar) rangos_set_user_frags(id, rangos_get_user_frags(id) + g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]*160); } #else case 1..25: { ChatColor(0, Azul, "!g[%s]!t %s!y - Gano!g %d de $$...", g_PluginInfo[3], szName, g_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(0, Azul, "!g[%s]!t %s!y perdio!g %d de $$!", g_PluginInfo[3], szName, g_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(0, Azul, "!g[%s]!t %s -!g GANO EL POZO! - !y%d de $$!", g_PluginInfo[3], szName, g_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(0, Azul, "!g[%s]!t %s!y Gano!g %d de $$ X%d!!g ( +%d $$)", g_PluginInfo[3], szName, g_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(id, cs_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(0, Azul, "!g[%s]!t %s!y Gano!g 16x%d de $$!g (+%d $$)", g_PluginInfo[3], szName, g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER], (16*g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER])); client_cmd(id, "spk %s", Ganar) cs_set_user_money(id, cs_get_user_money(id) + g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]*16); } case 95..98: { ChatColor(0, Azul, "!g[%s]!t %s!y Gano!g 32x%d de $$!g (+%d $$)", g_PluginInfo[3], szName, g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER], (32*g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER])); client_cmd(id, "spk %s", Ganar) cs_set_user_money(id, cs_get_user_money(id) + g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]*32); } case 99..102: { ChatColor(0, Azul, "!g[%s]!t %s!y Gano!g 88x%d de $$!g (+%d $$)", g_PluginInfo[3], szName, g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER], (88*g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER])); client_cmd(id, "spk %s", Ganar) cs_set_user_money(id, cs_get_user_money(id) + g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]*88); } case 103: { ChatColor(0, Azul, "!g[%s]!t %s!y Gano!g 160x%d de $$!g (+%d $$)", g_PluginInfo[3], szName, g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER], (160*g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER])); client_cmd(id, "spk %s", Ganar) cs_set_user_money(id, cs_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(id, szName, charsmax(szName));
switch(random_num(1, 100)) { #if defined BET_FRAGS case 1..20: {
ChatColor(0, Azul, "!g[%s]!t %s!y gano el!g DOBLE DE SUS FRAGS!! !g(+%d Frags)", g_PluginInfo[3], szName, get_user_frags(id)); rangos_set_user_frags(id, rangos_get_user_frags(id) * 2); } case 21..100: { ChatColor(0, Azul, "!g[%s]r!t %s!y perdio todos sus!g FRAGS !yen el!g Me la juego!! (-%d Frags)", g_PluginInfo[3], szName, get_user_frags(id)) client_cmd(id, "spk %s", Perder) g_iPozo += (rangos_get_user_frags(id) / 4); rangos_set_user_frags(id, 0); } #else case 1..20: {
ChatColor(0, Azul, "!g[%s]!t %s!y gano el!g DOBLE DE SU DINERO!! !g(+%d $$)", g_PluginInfo[3], szName, cs_get_user_money(id)); cs_set_user_money(id, cs_get_user_money(id) * 2); } case 21..100: { ChatColor(0, Azul, "!g[%s]r!t %s!y perdio toda su!g DINEROy en el!g Me la juego!! (-%d $$)", g_PluginInfo[3], szName, cs_get_user_money(id)) client_cmd(id, "spk %s", Perder) g_iPozo += (cs_get_user_money(id) / 4); cs_set_user_money(id, 0); } #endif }
g_bPlayerBetting[id] = false; g_iBetAmount[id] = 0; }
public clcmd_Pozo(id) { #if defined BET_FRAGS ChatColor(id, Azul, "!g[%s]!y Frags acumulados en el!g POZO: %d", g_PluginInfo[3], g_iPozo); #else ChatColor(id, Azul, "!g[%s]!y Dinero acumulado en el!g POZO: %d $$", g_PluginInfo[3], g_iPozo); #endif return PLUGIN_HANDLED; }
stock ChatColor(id, Colors:color, msg[], any:...) { static szMsg[191], msgSayText; #define teaminfo_sent(%0) (TeamInfoSent & (1<<%0)) if (!msgSayText) msgSayText = get_user_msgid("SayText"); vformat(szMsg, 190, msg, 4);
replace_all(szMsg, 190, "!g", "^4"); replace_all(szMsg, 190, "!y", "^1"); replace_all(szMsg, 190, "!t", "^3"); message_begin(id ? MSG_ONE_UNRELIABLE : MSG_BROADCAST, msgSayText, .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 = 0; pid < 3; pid++) { message_begin(MSG_ONE_UNRELIABLE, msgTeamInfo, .player = id) write_byte(pid+33) write_string(pTeams[pid]) message_end() } }
Mensajes: 531
Temas: 14
Registro en: Mar 2017
Reputación:
9
de seguro se le olvido registrar las natives, enviame tu plugin de rangos y te lo hago yo cuando tenga libre
Mensajes: 166
Temas: 57
Registro en: Jan 2019
Reputación:
0
14/05/2019, 02:06 AM
(Última modificación: 14/05/2019, 02:07 AM por javier123.)
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_maxplayers, g_msgTeamInfo, g_msgSayText, g_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_knifex2, cvar_hsx2 /* ==================================== *[INIT]* =====================================*/ public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR)
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", VaultRango, charsmax(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|", Prefijo, Rangos[g_rango[id]][NOMBRE], g_frags[id]) chatcolor(id, "!g%s!y |!tProximo Rango: !y%s|!tFrags Restantes: !y%d|", Prefijo, Rangos[g_rango[id]+1][NOMBRE], Rangos[g_rango[id]][FRAGS] - g_frags[id]) } /* ================================== [PUTINSERVER] ===================================*/ public client_putinserver(id) { get_user_name( id, g_playername[ id ], charsmax( g_playername[ ] ) ); g_rango[id] = 0 g_frags[id] = 0 Cargar(id) } /* ================================== [DISCONNECT] ===================================*/ public client_disconnect(id) { if(XD) Guardar(id); }
/* ================================== [ROUND END] ===================================*/ public logevent_round_end() { for(new id = 1; id <= g_maxplayers; id++) { 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(hs) g_frags[attacker]++ } AumentarRango(attacker) } } /*======== cmdFrags| aca Registramos el evento de Dar Frags ==========*/ public cmdFrags(id, level, cid) { if(!cmd_access(id, level, cid, 2)) return PLUGIN_HANDLED; new name[32]; read_argv(1, name, charsmax(name)) new player = cmd_target(id, name, CMDTARGET_ALLOW_SELF) if(!player) return PLUGIN_HANDLED; new num[10]; read_argv(2, num, charsmax(num)) g_frags[player] += str_to_num(num) new nameuser[32], nameadmin[32] get_user_name(id, nameadmin, charsmax(nameadmin)) get_user_name(player, nameuser, charsmax(nameuser)) client_print(0, print_chat, "[AMXX] Administrador %s: Regalar %s Frags a %s", nameadmin, num, nameuser) 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 ]", Prefijo, Rangos[g_rango[id]][NOMBRE]) client_cmd(id, "spk %s", Sonido) Aumento = false } } /*===================================== *[SAY]* =====================================*/ public message_saytext(id) { static said[192] read_args(said, charsmax(said)) remove_quotes(said) if (said[0] == '@' || said[0] == '%' || said[0] == '/' || said[0] == '.' || said[0] == '!' || equal (said, "")) return PLUGIN_HANDLED
if (!ValidMessage(said, 1)) 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(said, charsmax(said), "^x01%s^x04%s ^x03%s ^x04: %s", alive, Rangos[g_rango[id]][NOMBRE], name, said) } else { format(said, charsmax(said), "^x01%s^04%s ^x03%s ^x01: %s", alive, Rangos[g_rango[id]][NOMBRE], name, said) } static i, team[11] for (i = 1; i <= g_maxplayers; i++) { 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(i, team, charsmax(team)) changeTeamInfo(i, color) writeMessage(i, said) changeTeamInfo(i, team) } } return PLUGIN_HANDLED_MAIN; }
public message_sayteam(id) { static said[192] read_args(said, charsmax(said)) remove_quotes(said) if (said[0] == '@' || said[0] == '%' || said[0] == '/' || said[0] == '.' || said[0] == '!' || equal (said, "")) return PLUGIN_HANDLED
if (!ValidMessage(said, 1)) return PLUGIN_CONTINUE; static playerTeam, playerTeamName[19] playerTeam = get_user_team(id) switch (playerTeam) { case 1: copy (playerTeamName, 6, "TE") case 2: copy (playerTeamName, 8, "CT") default: copy (playerTeamName, 11, "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(said, charsmax(said), "^x01%s [ %s ] ^x04%s ^x03%s ^x04: %s", alive, playerTeam, Rangos[g_rango[id]], name, said) } else { format(said, charsmax(said), "^x01%s [ %s ] ^04%s ^x03%s ^x01: %s", alive, playerTeam, Rangos[g_rango[id]],name, said) }
static i, team[11] for (i = 1; i <= g_maxplayers; i++) { 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(i, team, charsmax(team)) changeTeamInfo(i, color) writeMessage(i, said) changeTeamInfo(i, team) } } } return PLUGIN_HANDLED_MAIN; } public changeTeamInfo(player, team[]) { message_begin(MSG_ONE, g_msgTeamInfo, _, player) write_byte(player) write_string(team) message_end() }
public writeMessage(player, message[]) { message_begin(MSG_ONE, g_msgSayText, {0, 0, 0}, player) write_byte(player) write_string(message) message_end() } /* =================================== *[GUARDADO]* =====================================*/ Guardar(id) { formatex(szKey, charsmax(szKey), "data_rangos") formatex(szRangos, charsmax(szRangos), "%d %d", g_frags[id], g_rango[id]) nfv_set_data(VaultRango, szKey, g_playername[id], szRangos) }
Cargar(id) { new g_load_c1[25], g_load_c2[25] formatex(szKey, charsmax(szKey), "data_rangos") if(!nfv_get_data(VaultRango, szKey, g_playername[id], szRangos, sizeof(szRangos) - 1)) return; parse(szRangos, g_load_c1, charsmax(g_load_c1), g_load_c2, charsmax(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 = 1, players[32]; static msg[191]; vformat(msg, 190, input, 3); replace_all(msg, 190, "!g", "^4"); // Verde replace_all(msg, 190, "!y", "^1"); // Default replace_all(msg, 190, "!t", "^3"); // Color del Equipo if (id) players[0] = id; else get_players(players, count, "ch"); { for (new i = 0; i < count; i++) { if (is_user_connected(players[i])) { message_begin(MSG_ONE_UNRELIABLE, get_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(id, frags) { g_frags[id] += frags;
return g_frags[id]; } // Stock para Saber Si el mensaje es valido stock ValidMessage(text[], maxcount) { static len, i, count len = strlen(text) count = 0 if (!len) return false; for (i = 0; i < len; i++) { 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(id, frags) #endif
enum Colors { Gris = 33, Rojo, Azul }
enum _DATA_BET { BET_AMOUNT, BET_MULTIPLIER };
new const g_PluginInfo[][] = { "Betting System", "v1.0", "RusselNight", "AMXX" };
new const g_BetAmounts[][_DATA_BET] = { { 2, 1 }, { 4, 2 }, { 6, 3 }, { 8, 4 } };
new bool:g_bPlayerBetting[33] = false, g_iBetAmount[33], Float:g_fTimeBetProgress = 5.0, g_iPozo, g_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], iMenu, i; formatex(szText, charsmax(szText), "Menu de Suerte"); iMenu = menu_create(szText, "Handled_BetM");
for(i = 0; i < sizeof(g_BetAmounts); i++) { #if defined BET_FRAGS formatex(szText, charsmax(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(szText, charsmax(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(iMenu, szText); }
if(cs_get_user_money(id) >= g_iMinAmountDoN) { menu_additem(iMenu, "\wJugar\y ME LA JUEGO"); } else { #if defined BET_FRAGS formatex(szText, charsmax(szText), "\dJugar ME LA JUEGO \y[Necesitas %d Frags]", g_iMinAmountDoN); #else formatex(szText, charsmax(szText), "\dJugar ME LA JUEGO \y[Necesitas $%d]", g_iMinAmountDoN); #endif menu_additem(iMenu, szText); }
menu_setprop(iMenu, MPROP_EXITNAME, "\d[\rCerrar Menu\d]"); menu_display(id, iMenu); return PLUGIN_HANDLED }
public Handled_BetM(id, iMenu, iItem) { new szName[32]; get_user_name(id, szName, charsmax(szName));
if(iItem == MENU_EXIT) { menu_destroy(iMenu); return PLUGIN_HANDLED; }
if(g_bPlayerBetting[id]) { ChatColor(id, Azul, "!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(id, Azul,"!g[%s]!y No tienes!g suficientes frags.", g_PluginInfo[3]); return PLUGIN_HANDLED; }
ChatColor(0, Azul, "!g[%s]!t %s!y aposto todos sus frags!g (%d)!y en!g Me la juego!!", g_PluginInfo[3], szName, rangos_get_user_frags(id)); #else if(cs_get_user_money(id) < g_iMinAmountDoN) { ChatColor(id, Azul,"!g[%s]!y No tienes!g suficiente $$.", g_PluginInfo[3]); return PLUGIN_HANDLED; }
ChatColor(0, Azul, "!g[%s]!t %s!y aposto toda su dinero!g (%d)!y en!g Me la juego!!", g_PluginInfo[3], szName, cs_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(id, Azul, "!g[%s]!y No tienes!g frags suficientes!.", g_PluginInfo[3]); return PLUGIN_HANDLED; }
ChatColor(0, Azul, "!g[%s]!t %s!y - aposto!g %d frags.", g_PluginInfo[3], szName, g_BetAmounts[iItem][BET_AMOUNT]); #else if(cs_get_user_money(id) < g_BetAmounts[iItem][BET_AMOUNT]) { ChatColor(id, Azul, "!g[%s]!y No tienes!g dinero suficiente!.", g_PluginInfo[3]); return PLUGIN_HANDLED; }
ChatColor(0, Azul, "!g[%s]!t %s!y - aposto!g %d de $$.", g_PluginInfo[3], szName, g_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(id, szName, charsmax(szName));
switch(random_num(1, 103)) { #if defined BET_FRAGS case 1..25: { ChatColor(0, Azul, "!g[%s]!t %s!y - Gano!g %d Frags...", g_PluginInfo[3], szName, g_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(0, Azul, "!g[%s]!t %s!y perdio!g %d Frags!", g_PluginInfo[3], szName, g_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(0, Azul, "!g[%s]!t %s -!g GANO EL POZO! - !y%d Frags!", g_PluginInfo[3], szName, g_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(0, Azul, "!g[%s]!t %s!y Gano!g %d Frags X%d!!g ( +%d Frags)", g_PluginInfo[3], szName, g_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(id, rangos_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(0, Azul, "!g[%s]!t %s!y Gano!g 16x%d Frags (+%d Frags)", g_PluginInfo[3], szName, g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER], (16*g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER])); client_cmd(id, "spk %s", Ganar) rangos_set_user_frags(id, rangos_get_user_frags(id) + g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]*16); } case 95..98: { ChatColor(0, Azul, "!g[%s]!t %s!y Gano!g 32x%d Frags!g (+%d Frags)", g_PluginInfo[3], szName, g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER], (32*g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER])); client_cmd(id, "spk %s", Ganar) rangos_set_user_frags(id, rangos_get_user_frags(id) + g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]*32); } case 99..102: { ChatColor(0, Azul, "!g[%s]!t %s!y Gano!g 88x%d Frags!g (+%d Frags)", g_PluginInfo[3], szName, g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER], (88*g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER])); client_cmd(id, "spk %s", Ganar) rangos_set_user_frags(id, rangos_get_user_frags(id) + g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]*88); } case 103: { ChatColor(0, Azul, "!g[%s]!t %s!y Gano!g 160x%d Frags!g (+%d Frags)", g_PluginInfo[3], szName, g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER], (160*g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER])); client_cmd(id, "spk %s", Ganar) rangos_set_user_frags(id, rangos_get_user_frags(id) + g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]*160); } #else case 1..25: { ChatColor(0, Azul, "!g[%s]!t %s!y - Gano!g %d de $$...", g_PluginInfo[3], szName, g_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(0, Azul, "!g[%s]!t %s!y perdio!g %d de $$!", g_PluginInfo[3], szName, g_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(0, Azul, "!g[%s]!t %s -!g GANO EL POZO! - !y%d de $$!", g_PluginInfo[3], szName, g_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(0, Azul, "!g[%s]!t %s!y Gano!g %d de $$ X%d!!g ( +%d $$)", g_PluginInfo[3], szName, g_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(id, cs_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(0, Azul, "!g[%s]!t %s!y Gano!g 16x%d de $$!g (+%d $$)", g_PluginInfo[3], szName, g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER], (16*g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER])); client_cmd(id, "spk %s", Ganar) cs_set_user_money(id, cs_get_user_money(id) + g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]*16); } case 95..98: { ChatColor(0, Azul, "!g[%s]!t %s!y Gano!g 32x%d de $$!g (+%d $$)", g_PluginInfo[3], szName, g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER], (32*g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER])); client_cmd(id, "spk %s", Ganar) cs_set_user_money(id, cs_get_user_money(id) + g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]*32); } case 99..102: { ChatColor(0, Azul, "!g[%s]!t %s!y Gano!g 88x%d de $$!g (+%d $$)", g_PluginInfo[3], szName, g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER], (88*g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER])); client_cmd(id, "spk %s", Ganar) cs_set_user_money(id, cs_get_user_money(id) + g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]*88); } case 103: { ChatColor(0, Azul, "!g[%s]!t %s!y Gano!g 160x%d de $$!g (+%d $$)", g_PluginInfo[3], szName, g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER], (160*g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER])); client_cmd(id, "spk %s", Ganar) cs_set_user_money(id, cs_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(id, szName, charsmax(szName));
switch(random_num(1, 100)) { #if defined BET_FRAGS case 1..20: {
ChatColor(0, Azul, "!g[%s]!t %s!y gano el!g DOBLE DE SUS FRAGS!! !g(+%d Frags)", g_PluginInfo[3], szName, get_user_frags(id)); rangos_set_user_frags(id, rangos_get_user_frags(id) * 2); } case 21..100: { ChatColor(0, Azul, "!g[%s]r!t %s!y perdio todos sus!g FRAGS !yen el!g Me la juego!! (-%d Frags)", g_PluginInfo[3], szName, get_user_frags(id)) client_cmd(id, "spk %s", Perder) g_iPozo += (rangos_get_user_frags(id) / 4); rangos_set_user_frags(id, 0); } #else case 1..20: {
ChatColor(0, Azul, "!g[%s]!t %s!y gano el!g DOBLE DE SU DINERO!! !g(+%d $$)", g_PluginInfo[3], szName, cs_get_user_money(id)); cs_set_user_money(id, cs_get_user_money(id) * 2); } case 21..100: { ChatColor(0, Azul, "!g[%s]r!t %s!y perdio toda su!g DINEROy en el!g Me la juego!! (-%d $$)", g_PluginInfo[3], szName, cs_get_user_money(id)) client_cmd(id, "spk %s", Perder) g_iPozo += (cs_get_user_money(id) / 4); cs_set_user_money(id, 0); } #endif }
g_bPlayerBetting[id] = false; g_iBetAmount[id] = 0; }
public clcmd_Pozo(id) { #if defined BET_FRAGS ChatColor(id, Azul, "!g[%s]!y Frags acumulados en el!g POZO: %d", g_PluginInfo[3], g_iPozo); #else ChatColor(id, Azul, "!g[%s]!y Dinero acumulado en el!g POZO: %d $$", g_PluginInfo[3], g_iPozo); #endif return PLUGIN_HANDLED; }
stock ChatColor(id, Colors:color, msg[], any:...) { static szMsg[191], msgSayText; #define teaminfo_sent(%0) (TeamInfoSent & (1<<%0)) if (!msgSayText) msgSayText = get_user_msgid("SayText"); vformat(szMsg, 190, msg, 4);
replace_all(szMsg, 190, "!g", "^4"); replace_all(szMsg, 190, "!y", "^1"); replace_all(szMsg, 190, "!t", "^3"); message_begin(id ? MSG_ONE_UNRELIABLE : MSG_BROADCAST, msgSayText, .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 = 0; pid < 3; pid++) { message_begin(MSG_ONE_UNRELIABLE, msgTeamInfo, .player = id) write_byte(pid+33) write_string(pTeams[pid]) message_end() } }
Mensajes: 659
Temas: 97
Registro en: Feb 2016
Reputación:
12
14/05/2019, 10:38 AM
(Última modificación: 14/05/2019, 06:17 PM por Alejandro. Edited 1 time in total.)
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_maxplayers, g_msgTeamInfo, g_msgSayText, g_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_knifex2, cvar_hsx2 /* ==================================== *[INIT]* =====================================*/ public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR)
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", VaultRango, charsmax(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|", Prefijo, Rangos[g_rango[id]][NOMBRE], g_frags[id]) chatcolor(id, "!g%s!y |!tProximo Rango: !y%s|!tFrags Restantes: !y%d|", Prefijo, Rangos[g_rango[id]+1][NOMBRE], Rangos[g_rango[id]][FRAGS] - g_frags[id]) } /* ================================== [PUTINSERVER] ===================================*/ public client_putinserver(id) { get_user_name( id, g_playername[ id ], charsmax( g_playername[ ] ) ); g_rango[id] = 0 g_frags[id] = 0 Cargar(id) } /* ================================== [DISCONNECT] ===================================*/ public client_disconnect(id) { if(XD) Guardar(id); }
/* ================================== [ROUND END] ===================================*/ public logevent_round_end() { for(new id = 1; id <= g_maxplayers; id++) { 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(hs) g_frags[attacker]++ } AumentarRango(attacker) } } /*======== cmdFrags| aca Registramos el evento de Dar Frags ==========*/ public cmdFrags(id, level, cid) { if(!cmd_access(id, level, cid, 2)) return PLUGIN_HANDLED; new name[32]; read_argv(1, name, charsmax(name)) new player = cmd_target(id, name, CMDTARGET_ALLOW_SELF) if(!player) return PLUGIN_HANDLED; new num[10]; read_argv(2, num, charsmax(num)) g_frags[player] += str_to_num(num) new nameuser[32], nameadmin[32] get_user_name(id, nameadmin, charsmax(nameadmin)) get_user_name(player, nameuser, charsmax(nameuser)) client_print(0, print_chat, "[AMXX] Administrador %s: Regalar %s Frags a %s", nameadmin, num, nameuser) 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 ]", Prefijo, Rangos[g_rango[id]][NOMBRE]) client_cmd(id, "spk %s", Sonido) Aumento = false } } /*===================================== *[SAY]* =====================================*/ public message_saytext(id) { static said[192] read_args(said, charsmax(said)) remove_quotes(said) if (said[0] == '@' || said[0] == '%' || said[0] == '/' || said[0] == '.' || said[0] == '!' || equal (said, "")) return PLUGIN_HANDLED
if (!ValidMessage(said, 1)) 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(said, charsmax(said), "^x01%s^x04%s ^x03%s ^x04: %s", alive, Rangos[g_rango[id]][NOMBRE], name, said) } else { format(said, charsmax(said), "^x01%s^04%s ^x03%s ^x01: %s", alive, Rangos[g_rango[id]][NOMBRE], name, said) } static i, team[11] for (i = 1; i <= g_maxplayers; i++) { 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(i, team, charsmax(team)) changeTeamInfo(i, color) writeMessage(i, said) changeTeamInfo(i, team) } } return PLUGIN_HANDLED_MAIN; }
public message_sayteam(id) { static said[192] read_args(said, charsmax(said)) remove_quotes(said) if (said[0] == '@' || said[0] == '%' || said[0] == '/' || said[0] == '.' || said[0] == '!' || equal (said, "")) return PLUGIN_HANDLED
if (!ValidMessage(said, 1)) return PLUGIN_CONTINUE; static playerTeam, playerTeamName[19] playerTeam = get_user_team(id) switch (playerTeam) { case 1: copy (playerTeamName, 6, "TE") case 2: copy (playerTeamName, 8, "CT") default: copy (playerTeamName, 11, "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(said, charsmax(said), "^x01%s [ %s ] ^x04%s ^x03%s ^x04: %s", alive, playerTeam, Rangos[g_rango[id]], name, said) } else { format(said, charsmax(said), "^x01%s [ %s ] ^04%s ^x03%s ^x01: %s", alive, playerTeam, Rangos[g_rango[id]],name, said) }
static i, team[11] for (i = 1; i <= g_maxplayers; i++) { 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(i, team, charsmax(team)) changeTeamInfo(i, color) writeMessage(i, said) changeTeamInfo(i, team) } } } return PLUGIN_HANDLED_MAIN; } public changeTeamInfo(player, team[]) { message_begin(MSG_ONE, g_msgTeamInfo, _, player) write_byte(player) write_string(team) message_end() }
public writeMessage(player, message[]) { message_begin(MSG_ONE, g_msgSayText, {0, 0, 0}, player) write_byte(player) write_string(message) message_end() } /* =================================== *[GUARDADO]* =====================================*/ Guardar(id) { formatex(szKey, charsmax(szKey), "data_rangos") formatex(szRangos, charsmax(szRangos), "%d %d", g_frags[id], g_rango[id]) nfv_set_data(VaultRango, szKey, g_playername[id], szRangos) }
Cargar(id) { new g_load_c1[25], g_load_c2[25] formatex(szKey, charsmax(szKey), "data_rangos") if(!nfv_get_data(VaultRango, szKey, g_playername[id], szRangos, sizeof(szRangos) - 1)) return; parse(szRangos, g_load_c1, charsmax(g_load_c1), g_load_c2, charsmax(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 = 1, players[32]; static msg[191]; vformat(msg, 190, input, 3); replace_all(msg, 190, "!g", "^4"); // Verde replace_all(msg, 190, "!y", "^1"); // Default replace_all(msg, 190, "!t", "^3"); // Color del Equipo if (id) players[0] = id; else get_players(players, count, "ch"); { for (new i = 0; i < count; i++) { if (is_user_connected(players[i])) { message_begin(MSG_ONE_UNRELIABLE, get_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(id, frags) { g_frags[id] = frags;
return g_frags[id]; } // Stock para Saber Si el mensaje es valido stock ValidMessage(text[], maxcount) { static len, i, count len = strlen(text) count = 0 if (!len) return false; for (i = 0; i < len; i++) { if (text[i] != ' ') { count++ if (count >= maxcount) return true; } } return false; }
Código PHP: st g_BetAmounts[][_DATA_BET] = { { 2, 1 }, { 4, 2 }, { 6, 3 }, { 8, 4 } };
new bool:g_bPlayerBetting[33] = false, g_iBetAmount[33], Float:g_fTimeBetProgress = 5.0, g_iPozo, g_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], iMenu, i; formatex(szText, charsmax(szText), "Menu de Suerte"); iMenu = menu_create(szText, "Handled_BetM");
for(i = 0; i < sizeof(g_BetAmounts); i++) { formatex(szText, charsmax(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(iMenu, szText); }
if(rangos_get_user_frags(id) >= g_iMinAmountDoN) { menu_additem(iMenu, "\wJugar\y ME LA JUEGO"); } else { formatex(szText, charsmax(szText), "\dJugar ME LA JUEGO \y[Necesitas %d Frags]", g_iMinAmountDoN); menu_additem(iMenu, szText); }
menu_setprop(iMenu, MPROP_EXITNAME, "\d[\rCerrar Menu\d]"); menu_display(id, iMenu); return PLUGIN_HANDLED }
public Handled_BetM(id, iMenu, iItem) { new szName[32]; get_user_name(id, szName, charsmax(szName));
if(iItem == MENU_EXIT) { menu_destroy(iMenu); return PLUGIN_HANDLED; }
if(g_bPlayerBetting[id]) { ChatColor(id, Azul, "!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(id, Azul,"!g[%s]!y No tienes!g suficientes frags.", g_PluginInfo[3]); return PLUGIN_HANDLED; }
ChatColor(0, Azul, "!g[%s]!t %s!y aposto todos sus frags!g (%d)!y en!g Me la juego!!", g_PluginInfo[3], szName, rangos_get_user_frags(id)); set_task(g_fTimeBetProgress, "Bet_DoN_Result", id); } else { if(get_user_frags(id) < g_BetAmounts[iItem][BET_AMOUNT]) { ChatColor(id, Azul, "!g[%s]!y No tienes!g frags suficientes!.", g_PluginInfo[3]); return PLUGIN_HANDLED; }
ChatColor(0, Azul, "!g[%s]!t %s!y - aposto!g %d frags.", g_PluginInfo[3], szName, g_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(id, szName, charsmax(szName));
switch(random_num(1, 103)) { case 1..25: { ChatColor(0, Azul, "!g[%s]!t %s!y - Gano!g %d Frags...", g_PluginInfo[3], szName, g_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(0, Azul, "!g[%s]!t %s!y perdio!g %d Frags!", g_PluginInfo[3], szName, g_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(0, Azul, "!g[%s]!t %s -!g GANO EL POZO! - !y%d Frags!", g_PluginInfo[3], szName, g_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(0, Azul, "!g[%s]!t %s!y Gano!g %d Frags X%d!!g ( +%d Frags)", g_PluginInfo[3], szName, g_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(id, rangos_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(0, Azul, "!g[%s]!t %s!y Gano!g 16x%d Frags (+%d Frags)", g_PluginInfo[3], szName, g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER], (16*g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER])); client_cmd(id, "spk %s", Ganar) rangos_set_user_frags(id, rangos_get_user_frags(id) + g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]*16); } case 95..98: { ChatColor(0, Azul, "!g[%s]!t %s!y Gano!g 32x%d Frags!g (+%d Frags)", g_PluginInfo[3], szName, g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER], (32*g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER])); client_cmd(id, "spk %s", Ganar) rangos_set_user_frags(id, rangos_get_user_frags(id) + g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]*32); } case 99..102: { ChatColor(0, Azul, "!g[%s]!t %s!y Gano!g 88x%d Frags!g (+%d Frags)", g_PluginInfo[3], szName, g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER], (88*g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER])); client_cmd(id, "spk %s", Ganar) rangos_set_user_frags(id, rangos_get_user_frags(id) + g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]*88); } case 103: { ChatColor(0, Azul, "!g[%s]!t %s!y Gano!g 160x%d Frags!g (+%d Frags)", g_PluginInfo[3], szName, g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER], (160*g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER])); client_cmd(id, "spk %s", Ganar) rangos_set_user_frags(id, rangos_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(id, szName, charsmax(szName));
switch(random_num(1, 100)) { case 1..20: {
ChatColor(0, Azul, "!g[%s]!t %s!y gano el!g DOBLE DE SUS FRAGS!! !g(+%d Frags)", g_PluginInfo[3], szName, get_user_frags(id)); rangos_set_user_frags(id, rangos_get_user_frags(id) * 2); } case 21..100: { ChatColor(0, Azul, "!g[%s]r!t %s!y perdio todos sus!g FRAGS !yen el!g Me la juego!! (-%d Frags)", g_PluginInfo[3], szName, get_user_frags(id)) client_cmd(id, "spk %s", Perder) g_iPozo += (rangos_get_user_frags(id) / 4); rangos_set_user_frags(id, 0); } }
g_bPlayerBetting[id] = false; g_iBetAmount[id] = 0; }
public clcmd_Pozo(id) { ChatColor(id, Azul, "!g[%s]!y Frags acumulados en el!g POZO: %d", g_PluginInfo[3], g_iPozo);
return PLUGIN_HANDLED; }
stock ChatColor(id, Colors:color, msg[], any:...) { static szMsg[191], msgSayText; #define teaminfo_sent(%0) (TeamInfoSent & (1<<%0)) if (!msgSayText) msgSayText = get_user_msgid("SayText"); vformat(szMsg, 190, msg, 4);
replace_all(szMsg, 190, "!g", "^4"); replace_all(szMsg, 190, "!y", "^1"); replace_all(szMsg, 190, "!t", "^3"); message_begin(id ? MSG_ONE_UNRELIABLE : MSG_BROADCAST, msgSayText, .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 = 0; pid < 3; pid++) { message_begin(MSG_ONE_UNRELIABLE, msgTeamInfo, .player = id) write_byte(pid+33) write_string(pTeams[pid]) message_end() } }
Mensajes: 166
Temas: 57
Registro en: Jan 2019
Reputación:
0
14/05/2019, 12:30 PM
(Última modificación: 14/05/2019, 12:39 PM por javier123. Edited 1 time in total.)
tengo que unir los 2 codigos y hacer un plugins ?
no me deja compilar me sale esto de error
st g_BetAmounts[][_DATA_BET] =
Mensajes: 3,077
Temas: 33
Registro en: May 2017
Reputación:
34
14/05/2019, 01:43 PM
(Última modificación: 14/05/2019, 01:47 PM por Valentina.. Edited 1 time in total.)
(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.
Mensajes: 166
Temas: 57
Registro en: Jan 2019
Reputación:
0
14/05/2019, 02:33 PM
(Última modificación: 14/05/2019, 02:35 PM por javier123.)
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] =
Mensajes: 3,238
Temas: 47
Registro en: Feb 2015
Reputación:
34
14/05/2019, 05:41 PM
(Última modificación: 14/05/2019, 05:42 PM por Skylar. Edited 1 time in total.)
(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_AMOUNT, BET_MULTIPLIER };
new const g_PluginInfo[][] = { "Betting System", "v1.0", "RusselNight", "AMXX" };
new const g_BetAmounts[][_DATA_BET] = { { 2, 1 }, { 4, 2 }, { 6, 3 }, { 8, 4 } };
new bool:g_bPlayerBetting[33] = false, g_iBetAmount[33], Float:g_fTimeBetProgress = 5.0, g_iPozo, g_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], iMenu, i; formatex(szText, charsmax(szText), "Menu de Suerte"); iMenu = menu_create(szText, "Handled_BetM");
for(i = 0; i < sizeof(g_BetAmounts); i++) { formatex(szText, charsmax(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(iMenu, szText); }
if(rangos_get_user_frags(id) >= g_iMinAmountDoN) { menu_additem(iMenu, "\wJugar\y ME LA JUEGO"); } else { formatex(szText, charsmax(szText), "\dJugar ME LA JUEGO \y[Necesitas %d Frags]", g_iMinAmountDoN); menu_additem(iMenu, szText); }
menu_setprop(iMenu, MPROP_EXITNAME, "\d[\rCerrar Menu\d]"); menu_display(id, iMenu); return PLUGIN_HANDLED }
public Handled_BetM(id, iMenu, iItem) { new szName[32]; get_user_name(id, szName, charsmax(szName));
if(iItem == MENU_EXIT) { menu_destroy(iMenu); return PLUGIN_HANDLED; }
if(g_bPlayerBetting[id]) { ChatColor(id, Azul, "!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(id, Azul,"!g[%s]!y No tienes!g suficientes frags.", g_PluginInfo[3]); return PLUGIN_HANDLED; }
ChatColor(0, Azul, "!g[%s]!t %s!y aposto todos sus frags!g (%d)!y en!g Me la juego!!", g_PluginInfo[3], szName, rangos_get_user_frags(id)); set_task(g_fTimeBetProgress, "Bet_DoN_Result", id); } else { if(get_user_frags(id) < g_BetAmounts[iItem][BET_AMOUNT]) { ChatColor(id, Azul, "!g[%s]!y No tienes!g frags suficientes!.", g_PluginInfo[3]); return PLUGIN_HANDLED; }
ChatColor(0, Azul, "!g[%s]!t %s!y - aposto!g %d frags.", g_PluginInfo[3], szName, g_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(id, szName, charsmax(szName));
switch(random_num(1, 103)) { case 1..25: { ChatColor(0, Azul, "!g[%s]!t %s!y - Gano!g %d Frags...", g_PluginInfo[3], szName, g_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(0, Azul, "!g[%s]!t %s!y perdio!g %d Frags!", g_PluginInfo[3], szName, g_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(0, Azul, "!g[%s]!t %s -!g GANO EL POZO! - !y%d Frags!", g_PluginInfo[3], szName, g_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(0, Azul, "!g[%s]!t %s!y Gano!g %d Frags X%d!!g ( +%d Frags)", g_PluginInfo[3], szName, g_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(id, rangos_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(0, Azul, "!g[%s]!t %s!y Gano!g 16x%d Frags (+%d Frags)", g_PluginInfo[3], szName, g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER], (16*g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER])); client_cmd(id, "spk %s", Ganar) rangos_set_user_frags(id, rangos_get_user_frags(id) + g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]*16); } case 95..98: { ChatColor(0, Azul, "!g[%s]!t %s!y Gano!g 32x%d Frags!g (+%d Frags)", g_PluginInfo[3], szName, g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER], (32*g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER])); client_cmd(id, "spk %s", Ganar) rangos_set_user_frags(id, rangos_get_user_frags(id) + g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]*32); } case 99..102: { ChatColor(0, Azul, "!g[%s]!t %s!y Gano!g 88x%d Frags!g (+%d Frags)", g_PluginInfo[3], szName, g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER], (88*g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER])); client_cmd(id, "spk %s", Ganar) rangos_set_user_frags(id, rangos_get_user_frags(id) + g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]*88); } case 103: { ChatColor(0, Azul, "!g[%s]!t %s!y Gano!g 160x%d Frags!g (+%d Frags)", g_PluginInfo[3], szName, g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER], (160*g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER])); client_cmd(id, "spk %s", Ganar) rangos_set_user_frags(id, rangos_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(id, szName, charsmax(szName));
switch(random_num(1, 100)) { case 1..20: {
ChatColor(0, Azul, "!g[%s]!t %s!y gano el!g DOBLE DE SUS FRAGS!! !g(+%d Frags)", g_PluginInfo[3], szName, get_user_frags(id)); rangos_set_user_frags(id, rangos_get_user_frags(id) * 2); } case 21..100: { ChatColor(0, Azul, "!g[%s]r!t %s!y perdio todos sus!g FRAGS !yen el!g Me la juego!! (-%d Frags)", g_PluginInfo[3], szName, get_user_frags(id)) client_cmd(id, "spk %s", Perder) g_iPozo += (rangos_get_user_frags(id) / 4); rangos_set_user_frags(id, 0); } }
g_bPlayerBetting[id] = false; g_iBetAmount[id] = 0; }
public clcmd_Pozo(id) { ChatColor(id, Azul, "!g[%s]!y Frags acumulados en el!g POZO: %d", g_PluginInfo[3], g_iPozo);
return PLUGIN_HANDLED; }
stock ChatColor(id, Colors:color, msg[], any:...) { static szMsg[191], msgSayText; #define teaminfo_sent(%0) (TeamInfoSent & (1<<%0)) if (!msgSayText) msgSayText = get_user_msgid("SayText"); vformat(szMsg, 190, msg, 4);
replace_all(szMsg, 190, "!g", "^4"); replace_all(szMsg, 190, "!y", "^1"); replace_all(szMsg, 190, "!t", "^3"); message_begin(id ? MSG_ONE_UNRELIABLE : MSG_BROADCAST, msgSayText, .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 = 0; pid < 3; pid++) { message_begin(MSG_ONE_UNRELIABLE, msgTeamInfo, .player = id) write_byte(pid+33) write_string(pTeams[pid]) message_end() } }
Mensajes: 1,072
Temas: 57
Registro en: Feb 2016
Reputación:
8
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í.
Mensajes: 166
Temas: 57
Registro en: Jan 2019
Reputación:
0
if(rangos_get_user_frags(id) >= g_iMinAmountDoN)
error sale eso al compilarlo
Mensajes: 1,072
Temas: 57
Registro en: Feb 2016
Reputación:
8
agrega esto a tu code.
Código PHP: native rangos_get_user_frags(id); native rangos_set_user_frags(id, frags)
Y acordate de poner 1ero el Rangos CS:GO y después abajo de él, el de los frags.
Mensajes: 166
Temas: 57
Registro en: Jan 2019
Reputación:
0
14/05/2019, 05:55 PM
(Última modificación: 14/05/2019, 05:58 PM por javier123.)
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_AMOUNT, BET_MULTIPLIER };
new const g_PluginInfo[][] = { "Betting System", "v1.0", "RusselNight", "AMXX" };
new const g_BetAmounts[][_DATA_BET] = { { 2, 1 }, { 4, 2 }, { 6, 3 }, { 8, 4 } };
new bool:g_bPlayerBetting[33] = false, g_iBetAmount[33], Float:g_fTimeBetProgress = 5.0, g_iPozo, g_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], iMenu, i; formatex(szText, charsmax(szText), "Menu de Suerte"); iMenu = menu_create(szText, "Handled_BetM");
for(i = 0; i < sizeof(g_BetAmounts); i++) { formatex(szText, charsmax(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(iMenu, szText); }
if(rangos_get_user_frags(id) >= g_iMinAmountDoN) { menu_additem(iMenu, "\wJugar\y ME LA JUEGO"); } else { formatex(szText, charsmax(szText), "\dJugar ME LA JUEGO \y[Necesitas %d Frags]", g_iMinAmountDoN); menu_additem(iMenu, szText); }
menu_setprop(iMenu, MPROP_EXITNAME, "\d[\rCerrar Menu\d]"); menu_display(id, iMenu); return PLUGIN_HANDLED }
public Handled_BetM(id, iMenu, iItem) { new szName[32]; get_user_name(id, szName, charsmax(szName));
if(iItem == MENU_EXIT) { menu_destroy(iMenu); return PLUGIN_HANDLED; }
if(g_bPlayerBetting[id]) { ChatColor(id, Azul, "!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(id, Azul,"!g[%s]!y No tienes!g suficientes frags.", g_PluginInfo[3]); return PLUGIN_HANDLED; }
ChatColor(0, Azul, "!g[%s]!t %s!y aposto todos sus frags!g (%d)!y en!g Me la juego!!", g_PluginInfo[3], szName, rangos_get_user_frags(id)); set_task(g_fTimeBetProgress, "Bet_DoN_Result", id); } else { if(get_user_frags(id) < g_BetAmounts[iItem][BET_AMOUNT]) { ChatColor(id, Azul, "!g[%s]!y No tienes!g frags suficientes!.", g_PluginInfo[3]); return PLUGIN_HANDLED; }
ChatColor(0, Azul, "!g[%s]!t %s!y - aposto!g %d frags.", g_PluginInfo[3], szName, g_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(id, szName, charsmax(szName));
switch(random_num(1, 103)) { case 1..25: { ChatColor(0, Azul, "!g[%s]!t %s!y - Gano!g %d Frags...", g_PluginInfo[3], szName, g_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(0, Azul, "!g[%s]!t %s!y perdio!g %d Frags!", g_PluginInfo[3], szName, g_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(0, Azul, "!g[%s]!t %s -!g GANO EL POZO! - !y%d Frags!", g_PluginInfo[3], szName, g_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(0, Azul, "!g[%s]!t %s!y Gano!g %d Frags X%d!!g ( +%d Frags)", g_PluginInfo[3], szName, g_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(id, rangos_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(0, Azul, "!g[%s]!t %s!y Gano!g 16x%d Frags (+%d Frags)", g_PluginInfo[3], szName, g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER], (16*g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER])); client_cmd(id, "spk %s", Ganar) rangos_set_user_frags(id, rangos_get_user_frags(id) + g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]*16); } case 95..98: { ChatColor(0, Azul, "!g[%s]!t %s!y Gano!g 32x%d Frags!g (+%d Frags)", g_PluginInfo[3], szName, g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER], (32*g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER])); client_cmd(id, "spk %s", Ganar) rangos_set_user_frags(id, rangos_get_user_frags(id) + g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]*32); } case 99..102: { ChatColor(0, Azul, "!g[%s]!t %s!y Gano!g 88x%d Frags!g (+%d Frags)", g_PluginInfo[3], szName, g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER], (88*g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER])); client_cmd(id, "spk %s", Ganar) rangos_set_user_frags(id, rangos_get_user_frags(id) + g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER]*88); } case 103: { ChatColor(0, Azul, "!g[%s]!t %s!y Gano!g 160x%d Frags!g (+%d Frags)", g_PluginInfo[3], szName, g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER], (160*g_BetAmounts[g_iBetAmount[id]][BET_MULTIPLIER])); client_cmd(id, "spk %s", Ganar) rangos_set_user_frags(id, rangos_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(id, szName, charsmax(szName));
switch(random_num(1, 100)) { case 1..20: {
ChatColor(0, Azul, "!g[%s]!t %s!y gano el!g DOBLE DE SUS FRAGS!! !g(+%d Frags)", g_PluginInfo[3], szName, get_user_frags(id)); rangos_set_user_frags(id, rangos_get_user_frags(id) * 2); } case 21..100: { ChatColor(0, Azul, "!g[%s]r!t %s!y perdio todos sus!g FRAGS !yen el!g Me la juego!! (-%d Frags)", g_PluginInfo[3], szName, get_user_frags(id)) client_cmd(id, "spk %s", Perder) g_iPozo += (rangos_get_user_frags(id) / 4); rangos_set_user_frags(id, 0); } }
g_bPlayerBetting[id] = false; g_iBetAmount[id] = 0; }
public clcmd_Pozo(id) { ChatColor(id, Azul, "!g[%s]!y Frags acumulados en el!g POZO: %d", g_PluginInfo[3], g_iPozo);
return PLUGIN_HANDLED; }
stock ChatColor(id, Colors:color, msg[], any:...) { static szMsg[191], msgSayText; #define teaminfo_sent(%0) (TeamInfoSent & (1<<%0)) if (!msgSayText) msgSayText = get_user_msgid("SayText"); vformat(szMsg, 190, msg, 4);
replace_all(szMsg, 190, "!g", "^4"); replace_all(szMsg, 190, "!y", "^1"); replace_all(szMsg, 190, "!t", "^3"); message_begin(id ? MSG_ONE_UNRELIABLE : MSG_BROADCAST, msgSayText, .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 = 0; pid < 3; pid++) { message_begin(MSG_ONE_UNRELIABLE, msgTeamInfo, .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_maxplayers, g_msgTeamInfo, g_msgSayText, g_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_knifex2, cvar_hsx2 /* ==================================== *[INIT]* =====================================*/ public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR)
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", VaultRango, charsmax(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|", Prefijo, Rangos[g_rango[id]][NOMBRE], g_frags[id]) chatcolor(id, "!g%s!y |!tProximo Rango: !y%s|!tFrags Restantes: !y%d|", Prefijo, Rangos[g_rango[id]+1][NOMBRE], Rangos[g_rango[id]][FRAGS] - g_frags[id]) } /* ================================== [PUTINSERVER] ===================================*/ public client_putinserver(id) { get_user_name( id, g_playername[ id ], charsmax( g_playername[ ] ) ); g_rango[id] = 0 g_frags[id] = 0 Cargar(id) } /* ================================== [DISCONNECT] ===================================*/ public client_disconnect(id) { if(XD) Guardar(id); }
/* ================================== [ROUND END] ===================================*/ public logevent_round_end() { for(new id = 1; id <= g_maxplayers; id++) { 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(hs) g_frags[attacker]++ } AumentarRango(attacker) } } /*======== cmdFrags| aca Registramos el evento de Dar Frags ==========*/ public cmdFrags(id, level, cid) { if(!cmd_access(id, level, cid, 2)) return PLUGIN_HANDLED; new name[32]; read_argv(1, name, charsmax(name)) new player = cmd_target(id, name, CMDTARGET_ALLOW_SELF) if(!player) return PLUGIN_HANDLED; new num[10]; read_argv(2, num, charsmax(num)) g_frags[player] += str_to_num(num) new nameuser[32], nameadmin[32] get_user_name(id, nameadmin, charsmax(nameadmin)) get_user_name(player, nameuser, charsmax(nameuser)) client_print(0, print_chat, "[AMXX] Administrador %s: Regalar %s Frags a %s", nameadmin, num, nameuser) 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 ]", Prefijo, Rangos[g_rango[id]][NOMBRE]) client_cmd(id, "spk %s", Sonido) Aumento = false } } /*===================================== *[SAY]* =====================================*/ public message_saytext(id) { static said[192] read_args(said, charsmax(said)) remove_quotes(said) if (said[0] == '@' || said[0] == '%' || said[0] == '/' || said[0] == '.' || said[0] == '!' || equal (said, "")) return PLUGIN_HANDLED
if (!ValidMessage(said, 1)) 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(said, charsmax(said), "^x01%s^x04%s ^x03%s ^x04: %s", alive, Rangos[g_rango[id]][NOMBRE], name, said) } else { format(said, charsmax(said), "^x01%s^04%s ^x03%s ^x01: %s", alive, Rangos[g_rango[id]][NOMBRE], name, said) } static i, team[11] for (i = 1; i <= g_maxplayers; i++) { 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(i, team, charsmax(team)) changeTeamInfo(i, color) writeMessage(i, said) changeTeamInfo(i, team) } } return PLUGIN_HANDLED_MAIN; }
public message_sayteam(id) { static said[192] read_args(said, charsmax(said)) remove_quotes(said) if (said[0] == '@' || said[0] == '%' || said[0] == '/' || said[0] == '.' || said[0] == '!' || equal (said, "")) return PLUGIN_HANDLED
if (!ValidMessage(said, 1)) return PLUGIN_CONTINUE; static playerTeam, playerTeamName[19] playerTeam = get_user_team(id) switch (playerTeam) { case 1: copy (playerTeamName, 6, "TE") case 2: copy (playerTeamName, 8, "CT") default: copy (playerTeamName, 11, "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(said, charsmax(said), "^x01%s [ %s ] ^x04%s ^x03%s ^x04: %s", alive, playerTeam, Rangos[g_rango[id]], name, said) } else { format(said, charsmax(said), "^x01%s [ %s ] ^04%s ^x03%s ^x01: %s", alive, playerTeam, Rangos[g_rango[id]],name, said) }
static i, team[11] for (i = 1; i <= g_maxplayers; i++) { 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(i, team, charsmax(team)) changeTeamInfo(i, color) writeMessage(i, said) changeTeamInfo(i, team) } } } return PLUGIN_HANDLED_MAIN; } public changeTeamInfo(player, team[]) { message_begin(MSG_ONE, g_msgTeamInfo, _, player) write_byte(player) write_string(team) message_end() }
public writeMessage(player, message[]) { message_begin(MSG_ONE, g_msgSayText, {0, 0, 0}, player) write_byte(player) write_string(message) message_end() } /* =================================== *[GUARDADO]* =====================================*/ Guardar(id) { formatex(szKey, charsmax(szKey), "data_rangos") formatex(szRangos, charsmax(szRangos), "%d %d", g_frags[id], g_rango[id]) nfv_set_data(VaultRango, szKey, g_playername[id], szRangos) }
Cargar(id) { new g_load_c1[25], g_load_c2[25] formatex(szKey, charsmax(szKey), "data_rangos") if(!nfv_get_data(VaultRango, szKey, g_playername[id], szRangos, sizeof(szRangos) - 1)) return; parse(szRangos, g_load_c1, charsmax(g_load_c1), g_load_c2, charsmax(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 = 1, players[32]; static msg[191]; vformat(msg, 190, input, 3); replace_all(msg, 190, "!g", "^4"); // Verde replace_all(msg, 190, "!y", "^1"); // Default replace_all(msg, 190, "!t", "^3"); // Color del Equipo if (id) players[0] = id; else get_players(players, count, "ch"); { for (new i = 0; i < count; i++) { if (is_user_connected(players[i])) { message_begin(MSG_ONE_UNRELIABLE, get_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(id, frags) { g_frags[id] += frags;
return g_frags[id]; } // Stock para Saber Si el mensaje es valido stock ValidMessage(text[], maxcount) { static len, i, count len = strlen(text) count = 0 if (!len) return false; for (i = 0; i < len; i++) { if (text[i] != ' ') { count++ if (count >= maxcount) return true; } } return false; }
|