Mensajes: 73
Temas: 24
Registro en: Jul 2018
Reputación:
0
Existe algún sistema de reset que se como el sistema de niveles del gungame? que por ejemplo, al llegar al reset 1 te desbloquee un arma y así sucesivamente...
Hazlo, y si te da miedo, hazlo con miedo.
Mensajes: 1,040
Temas: 89
Registro en: Jun 2015
Reputación:
21
Esto es lo que se me ocurrio por lo que entendi
Código PHP: #include <amxmodx> #include <hamsandwich> #include <fun>
#define PLUGIN "New Plug-In" #define VERSION "1.0" #define AUTHOR "HK-416"
#define MAX_LEVEL 100 #define DIFICULTAD_LEVEL(%1) ((%1 * 10) * 2)
new g_level[33] new g_frags[33] new g_reset[33]
enum _:arm { ARMA_NOMBRE[32], ARMA_WEAPON_ID[31], ARMA_CSW, ARMA_LVL, ARMA_RR }
new const ARMAS[][arm] = { { "MAC-10", "weapon_mac10", CSW_MAC10, 1, 0}, { "UMP-45", "weapon_ump45", CSW_UMP45, 10, 0}, { "AK-47", "weapon_ak47", CSW_AK47, 20, 1} }
public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) register_clcmd("say /guns", "show_guns") register_clcmd("say /rr", "show_reset")
RegisterHam(Ham_Killed, "player", "fw_PlayerKilled") }
public client_putinserver(id) set_task(0.1, "show_hud", id+1234,_,_,"b")
public client_disconnect(id) remove_task(id+1234)
public show_guns(id) { new menu, tex[350], rr[100] menu = menu_create("Armas Primarias", "hand_guns") for (new i = 0; i < sizeof ARMAS; i++) { if (ARMAS[i][ARMA_RR] > 0) formatex(rr, charsmax(rr), "Rr: %d", ARMAS[i][ARMA_RR]) else formatex(rr, charsmax(rr), "")
if (g_level[id] >= ARMAS[i][ARMA_LVL] && g_reset[id] >= ARMAS[i][ARMA_RR]) formatex(tex, charsmax(tex), "%s", ARMAS[i][ARMA_NOMBRE]) else formatex(tex, charsmax(tex), "%s \rLvl: %d %s", ARMAS[i][ARMA_NOMBRE], ARMAS[i][ARMA_LVL], rr)
menu_additem(menu, tex) } menu_display(id, menu, 0) }
public hand_guns(id, menu, item) { if (item == MENU_EXIT) { menu_destroy(menu) return PLUGIN_HANDLED; } if (g_level[id] < ARMAS[item][ARMA_LVL] && g_reset[id] < ARMAS[item][ARMA_RR]) { client_print(id, print_chat, "No cumples con los requisitos") show_guns(id) return PLUGIN_HANDLED; } strip_user_weapons(id) give_item(id, "weapon_knife") give_item(id, ARMAS[item][ARMA_WEAPON_ID]) return PLUGIN_HANDLED; }
public check_level(id) { new bool:subio = false; while (g_frags[id] >= DIFICULTAD_LEVEL(g_level[id]) && g_level[id] < MAX_LEVEL) { g_level[id] ++ subio = true; } if (subio) client_print(id, print_center, "Subiste de nivel") }
public show_hud(id) { id -= 1234 set_hudmessage(255, 0, 0, 0.0, 0.0, 0, 6.0, 2.0) show_hudmessage(id, "Frags: %d / %d^nNivel: %d / %d^nResets: %d", g_frags[id], DIFICULTAD_LEVEL(g_level[id]), g_level[id], MAX_LEVEL, g_reset[id]) }
public fw_PlayerKilled(victim, attacker, shouldgib) { if (victim == attacker) return;
g_frags[attacker] ++ check_level(attacker) }
public show_reset(id) { new menu = menu_create("Menu de \yReset^n^n\rRequisitos^n\y1. \wNivel Minimo \r100^n^n\yBeneficios^n1. \wNuevo Armamento", "hand_rr")
menu_additem(menu, "Hacer reset", "1")
menu_display(id, menu, 0) }
public hand_rr(id, menu, item) { if (item == MENU_EXIT) { menu_destroy(menu) return PLUGIN_HANDLED; } if (g_level[id] < 100) { client_print(id, print_chat, "No tienes el nivel minimo") show_reset(id) return PLUGIN_HANDLED; } g_level[id] = 1 g_reset[id] ++ g_frags[id] = 0 return PLUGIN_HANDLED; }
“Quien te quiere en su vida, volverá a buscarte”
Qué frase más estúpida
Porque quien te quiere en su vida, jamás se iría.
Mensajes: 73
Temas: 24
Registro en: Jul 2018
Reputación:
0
(21/08/2018, 08:23 PM)HK-416 escribió: Esto es lo que se me ocurrio por lo que entendi
Código PHP: #include <amxmodx> #include <hamsandwich> #include <fun>
#define PLUGIN "New Plug-In" #define VERSION "1.0" #define AUTHOR "HK-416"
#define MAX_LEVEL 100 #define DIFICULTAD_LEVEL(%1) ((%1 * 10) * 2)
new g_level[33] new g_frags[33] new g_reset[33]
enum _:arm { ARMA_NOMBRE[32], ARMA_WEAPON_ID[31], ARMA_CSW, ARMA_LVL, ARMA_RR }
new const ARMAS[][arm] = { { "MAC-10", "weapon_mac10", CSW_MAC10, 1, 0}, { "UMP-45", "weapon_ump45", CSW_UMP45, 10, 0}, { "AK-47", "weapon_ak47", CSW_AK47, 20, 1} }
public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) register_clcmd("say /guns", "show_guns") register_clcmd("say /rr", "show_reset")
RegisterHam(Ham_Killed, "player", "fw_PlayerKilled") }
public client_putinserver(id) set_task(0.1, "show_hud", id+1234,_,_,"b")
public client_disconnect(id) remove_task(id+1234)
public show_guns(id) { new menu, tex[350], rr[100] menu = menu_create("Armas Primarias", "hand_guns") for (new i = 0; i < sizeof ARMAS; i++) { if (ARMAS[i][ARMA_RR] > 0) formatex(rr, charsmax(rr), "Rr: %d", ARMAS[i][ARMA_RR]) else formatex(rr, charsmax(rr), "")
if (g_level[id] >= ARMAS[i][ARMA_LVL] && g_reset[id] >= ARMAS[i][ARMA_RR]) formatex(tex, charsmax(tex), "%s", ARMAS[i][ARMA_NOMBRE]) else formatex(tex, charsmax(tex), "%s \rLvl: %d %s", ARMAS[i][ARMA_NOMBRE], ARMAS[i][ARMA_LVL], rr)
menu_additem(menu, tex) } menu_display(id, menu, 0) }
public hand_guns(id, menu, item) { if (item == MENU_EXIT) { menu_destroy(menu) return PLUGIN_HANDLED; } if (g_level[id] < ARMAS[item][ARMA_LVL] && g_reset[id] < ARMAS[item][ARMA_RR]) { client_print(id, print_chat, "No cumples con los requisitos") show_guns(id) return PLUGIN_HANDLED; } strip_user_weapons(id) give_item(id, "weapon_knife") give_item(id, ARMAS[item][ARMA_WEAPON_ID]) return PLUGIN_HANDLED; }
public check_level(id) { new bool:subio = false; while (g_frags[id] >= DIFICULTAD_LEVEL(g_level[id]) && g_level[id] < MAX_LEVEL) { g_level[id] ++ subio = true; } if (subio) client_print(id, print_center, "Subiste de nivel") }
public show_hud(id) { id -= 1234 set_hudmessage(255, 0, 0, 0.0, 0.0, 0, 6.0, 2.0) show_hudmessage(id, "Frags: %d / %d^nNivel: %d / %d^nResets: %d", g_frags[id], DIFICULTAD_LEVEL(g_level[id]), g_level[id], MAX_LEVEL, g_reset[id]) }
public fw_PlayerKilled(victim, attacker, shouldgib) { if (victim == attacker) return;
g_frags[attacker] ++ check_level(attacker) }
public show_reset(id) { new menu = menu_create("Menu de \yReset^n^n\rRequisitos^n\y1. \wNivel Minimo \r100^n^n\yBeneficios^n1. \wNuevo Armamento", "hand_rr")
menu_additem(menu, "Hacer reset", "1")
menu_display(id, menu, 0) }
public hand_rr(id, menu, item) { if (item == MENU_EXIT) { menu_destroy(menu) return PLUGIN_HANDLED; } if (g_level[id] < 100) { client_print(id, print_chat, "No tienes el nivel minimo") show_reset(id) return PLUGIN_HANDLED; } g_level[id] = 1 g_reset[id] ++ g_frags[id] = 0 return PLUGIN_HANDLED; }
Pero los frags no los cuenta, siempre están en 0/0
Hazlo, y si te da miedo, hazlo con miedo.
Mensajes: 586
Temas: 15
Registro en: Jul 2017
Reputación:
6
Los cuenta perfectamente. Fíjate si te da algún log en consola, puedes que lo hayas copiado mal.
Mensajes: 3,238
Temas: 47
Registro en: Feb 2015
Reputación:
34
Código PHP: #include <amxmodx> #include <cstrike> #include <fun> #include <hamsandwich>
#define PLUGIN "New Plug-In" #define VERSION "1.0" #define AUTHOR "Sky^^"
enum _:EWEAPONS { E_CSW, E_WEAPON[ 30 ], E_BPAMMO, E_FRAGS };
new const szWEAPONS[ ][ EWEAPONS ] = { // CSW // WEAPON // BALAS(BPAMMO) // FRAGS REQUERIDAS { CSW_M4A1, "weapon_m4a1", 999, 3 }, { CSW_AK47, "weapon_ak47", 999, 6 } };
public plugin_init( ) { register_plugin( PLUGIN, VERSION, AUTHOR ); RegisterHam( Ham_Spawn, "player", "ham_SpawnPlayer" ); }
public ham_SpawnPlayer( id ) { if( !is_user_alive( id ) ) return; set_task( 0.5, "fn_GiveWeapons", id ); }
public fn_GiveWeapons( id ) { if( !is_user_alive( id ) ) return; strip_user_weapons( id ); give_item( id, "weapon_knife" ); new i, wpn; wpn = -1; for( i = 0; i < sizeof( szWEAPONS ); i++ ) { if( get_user_frags( id ) >= szWEAPONS[ i ][ E_FRAGS ] ) wpn = i; } if( wpn >= 0 ) give_item( id, szWEAPONS[ wpn ][ E_WEAPON ] ); cs_set_user_bpammo( id, szWEAPONS[ wpn ][ E_CSW ], szWEAPONS[ wpn ][ E_BPAMMO ] ); } }
Agregale vos el sistema de reset
Mensajes: 73
Temas: 24
Registro en: Jul 2018
Reputación:
0
(21/08/2018, 11:30 PM)Pablo_1998 escribió: Los cuenta perfectamente. Fíjate si te da algún log en consola, puedes que lo hayas copiado mal.
A ti te sale Frags 3/20 pero a mí me sale 0/0, en dónde configuro los frags que quiero para que suba de lvl?
Hazlo, y si te da miedo, hazlo con miedo.
Mensajes: 449
Temas: 32
Registro en: Apr 2017
Reputación:
6
para definir las frags requeridas, usa un macro
Código PHP: #define DIFICULTAD_LEVEL(%1) ((%1 * 10) * 2)
ejemplo para el nivel 1, te pide las siguientes frags como dice la operacion matematica
((Nivel *10)*2)
Si no te cuenta las frags, algo haces mal, pasa los logs
Si no te gusta algo, cámbialo. Si no lo puedes cambiar, cambia la forma en que piensas sobre ello <3
|