bueno a pedido de muchos voy a enseņarles como hacer
las clases humanas que antes usaba
bueno empesamos
para empesar hay que agregar el include fun
ahora hay que crearce unas cvar que quieran agregar para la clase
ahi agregare para HP, Chaleco, Velocidad, e Gravedad
PHP Code:
// CVAR pointers
code...code...code
cvar_civhp, cvar_civgr, cvar_civar, cvar_civsp,
cvar_rechp, cvar_recgr, cvar_recar, cvar_recsp,cvar_cadhp, cvar_cadgr, cvar_cadar, cvar_cadsp, cvar_solhp, cvar_solgr, cvar_solar, cvar_solsp
pd: Hp = vida gr = Gravedad ar = armadura(chaleco) sp = velocidad
ahora las registramos
PHP Code:
//Civil
cvar_civhp = register_cvar("zp_civ_hp", "100")
cvar_civgr = register_cvar("zp_civ_gravity", "0.9")
cvar_civar = register_cvar("zp_civ_armor", "0")
cvar_civsp = register_cvar("zp_civ_speed", "250")
//Recluta
cvar_rechp = register_cvar("zp_rec_hp", "110")
cvar_recgr = register_cvar("zp_rec_gravity", "0.65")
cvar_recar = register_cvar("zp_rec_armor", "0")
cvar_recsp = register_cvar("zp_rec_speed", "230")
//Cadete
cvar_cadhp = register_cvar("zp_cad_hp", "150")
cvar_cadgr = register_cvar("zp_cad_gravity", "0.8")
cvar_cadar = register_cvar("zp_cad_armor", "0")
cvar_cadsp = register_cvar("zp_cad_speed", "225")
//Soldado
cvar_solhp = register_cvar("zp_sol_hp", "105")
cvar_solgr = register_cvar("zp_sol_gravity", "0.85")
cvar_solar = register_cvar("zp_sol_armor", "5")
cvar_solsp = register_cvar("zp_sol_speed", "235")
eso utilizare ahora
ahora para que salga el menu despues de escoger las armas
no vamos a
PHP Code:
// Buy Menu 2
public menu_buy2(id, key)
{
// Zombies or survivors get no guns
if (g_zombie[id] || g_survivor[id] || !is_user_alive(id))
return PLUGIN_HANDLED;
// Special keys / weapon list exceeded
if (key >= sizeof g_secondary_items)
{
// Toggle autoselect
if (key == MENU_KEY_AUTOSELECT)
WPN_AUTO_ON = 1 - WPN_AUTO_ON
// Reshow menu unless user exited
if (key != MENU_KEY_EXIT)
show_menu_buy2(id)
return PLUGIN_HANDLED;
}
// Store selected weapon
WPN_AUTO_SEC = key
// Drop secondary gun again, in case we picked another (bugfix)
drop_weapons(id, 2)
// Get weapon index
static weaponid
weaponid = get_weaponid(g_secondary_items[key])
// Give the new weapon with full ammo
fm_give_item(id, g_secondary_items[key])
fm_set_user_bpammo(id, weaponid, MAXBPAMMO[weaponid])
return PLUGIN_HANDLED;
}
ahi aguegamos el menu o id quedaria asi y es
menuplayers(id)
PHP Code:
// Buy Menu 2
public menu_buy2(id, key)
{
// Zombies or survivors get no guns
if (g_zombie[id] || g_survivor[id] || !is_user_alive(id))
return PLUGIN_HANDLED;
// Special keys / weapon list exceeded
if (key >= sizeof g_secondary_items)
{
// Toggle autoselect
if (key == MENU_KEY_AUTOSELECT)
WPN_AUTO_ON = 1 - WPN_AUTO_ON
// Reshow menu unless user exited
if (key != MENU_KEY_EXIT)
show_menu_buy2(id)
return PLUGIN_HANDLED;
}
// Store selected weapon
WPN_AUTO_SEC = key
// Drop secondary gun again, in case we picked another (bugfix)
drop_weapons(id, 2)
// Get weapon index
static weaponid
weaponid = get_weaponid(g_secondary_items[key])
// Give the new weapon with full ammo
fm_give_item(id, g_secondary_items[key])
fm_set_user_bpammo(id, weaponid, MAXBPAMMO[weaponid])
menuplayers(id)
return PLUGIN_HANDLED;
}
ahora nos vamos al final de code y agragamos el public
PHP Code:
public menuplayers(id)
ahora aguegamos
PHP Code:
new menu = menu_create("\y Clases Humanas:", "mostrar_cliente")
clases humanas es como se va a llamar en el titulo del menu y mostrar cliente es el menu de estadisticas de las opciones
ahora las opciones
PHP Code:
menu_additem(menu, "\w Civil \yBalanceado", "1", 0)
menu_additem(menu, "\w Civil \yHP, Speed", "2", 0)
menu_additem(menu, "\w Civil \ySpeed, Gravedad ", "3", 0)
menu_additem(menu, "\w Civil \yArmor", "4", 0)
ahora la opcion de cerrar
PHP Code:
menu_setprop(menu, MPROP_EXIT, MEXIT_ALL)
menu_display(id, menu, 0)
}
Ahora el public de mostrar cliente
PHP Code:
public mostrar_cliente(id, menu, item)
mmmmmmmmmmmm
bueno se me ase tarde voy a hacer lo mas rapido que puedo y despues les digo de que es
aki aguregamos las prevenciones para que zombies survivor y nemesis no ouedan escoger clases humanas
PHP Code:
public mostrar_cliente(id, menu, item)
{
if(item == MENU_EXIT)
{
menu_destroy(menu)
return PLUGIN_HANDLED
}
else if (g_zombie[id])
{
menu_destroy(menu)
client_print(id, print_chat, "Tu No Puedes Escoger Una Clase Humana Porque Eres Zombie.")
return PLUGIN_HANDLED
}
else if (g_survivor[id])
{
menu_destroy(menu)
client_print(id, print_chat, "Tu No Puedes Escoger Una Clase Humana Porque Eres Survivor.")
return PLUGIN_HANDLED
}
else if (g_nemesis[id])
{
menu_destroy(menu)
client_print(id, print_chat, "Tu No Puedes Escoger Una Clase Humana Porque Eres Nemesis.")
return PLUGIN_HANDLED
}
else if (!is_user_alive(id))
{
menu_destroy(menu)
client_print(id, print_chat, "Tu No Puedes Escoger Una Clase Humana Porque Estas Muerto.")
return PLUGIN_HANDLED
}
ahora las habilidades
PHP Code:
new data[6], iName[64]
new access, callback
menu_item_getinfo(menu, item, access, data,5, iName, 63, callback)
new key = str_to_num(data)
switch(key)
{
case 1:
{
set_user_maxspeed(id, get_pcvar_float(cvar_civsp))
set_user_health(id, get_pcvar_num(cvar_civhp))
set_user_gravity(id, get_pcvar_float(cvar_civgr))
set_user_armor(id, get_pcvar_num(cvar_civar))
menu_destroy(menu)
return PLUGIN_HANDLED
}
case 2:
{
set_user_maxspeed(id, get_pcvar_float(cvar_recsp))
set_user_health(id, get_pcvar_num(cvar_rechp))
set_user_gravity(id, get_pcvar_float(cvar_recgr))
set_user_armor(id, get_pcvar_num(cvar_recar))
menu_destroy(menu)
return PLUGIN_HANDLED
}
case 3:
{
set_user_maxspeed(id, get_pcvar_float(cvar_cadsp))
set_user_health(id, get_pcvar_num(cvar_cadhp))
set_user_gravity(id, get_pcvar_float(cvar_cadgr))
set_user_armor(id, get_pcvar_num(cvar_cadar))
menu_destroy(menu)
return PLUGIN_HANDLED
}
case 4:
{
set_user_maxspeed(id, get_pcvar_float(cvar_solsp))
set_user_health(id, get_pcvar_num(cvar_solhp))
set_user_gravity(id, get_pcvar_float(cvar_solgr))
set_user_armor(id, get_pcvar_num(cvar_solar))
menu_destroy(menu)
return PLUGIN_HANDLED
}
}
menu_destroy(menu)
return PLUGIN_HANDLED
}
listo terminamos aki esta como deberia de quedar
PHP Code:
public menuplayers(id)
{
new menu = menu_create("\y Clases Humanas:", "mostrar_cliente")
menu_additem(menu, "\w Civil \yBalanceado", "1", 0)
menu_additem(menu, "\w Civil \yHP, Speed", "2", 0)
menu_additem(menu, "\w Civil \ySpeed, Gravedad ", "3", 0)
menu_additem(menu, "\w Civil \yArmor", "4", 0)
menu_setprop(menu, MPROP_EXIT, MEXIT_ALL)
menu_display(id, menu, 0)
}
public mostrar_cliente(id, menu, item)
{
if(item == MENU_EXIT)
{
menu_destroy(menu)
return PLUGIN_HANDLED
}
else if (g_zombie[id])
{
menu_destroy(menu)
client_print(id, print_chat, "Tu No Puedes Escoger Una Clase Humana Porque Eres Zombie.")
return PLUGIN_HANDLED
}
else if (g_survivor[id])
{
menu_destroy(menu)
client_print(id, print_chat, "Tu No Puedes Escoger Una Clase Humana Porque Eres Survivor.")
return PLUGIN_HANDLED
}
else if (g_nemesis[id])
{
menu_destroy(menu)
client_print(id, print_chat, "Tu No Puedes Escoger Una Clase Humana Porque Eres Nemesis.")
return PLUGIN_HANDLED
}
else if (!is_user_alive(id))
{
menu_destroy(menu)
client_print(id, print_chat, "Tu No Puedes Escoger Una Clase Humana Porque Estas Muerto.")
return PLUGIN_HANDLED
}
new data[6], iName[64]
new access, callback
menu_item_getinfo(menu, item, access, data,5, iName, 63, callback)
new key = str_to_num(data)
switch(key)
{
case 1:
{
set_user_maxspeed(id, get_pcvar_float(cvar_civsp))
set_user_health(id, get_pcvar_num(cvar_civhp))
set_user_gravity(id, get_pcvar_float(cvar_civgr))
set_user_armor(id, get_pcvar_num(cvar_civar))
menu_destroy(menu)
return PLUGIN_HANDLED
}
case 2:
{
set_user_maxspeed(id, get_pcvar_float(cvar_recsp))
set_user_health(id, get_pcvar_num(cvar_rechp))
set_user_gravity(id, get_pcvar_float(cvar_recgr))
set_user_armor(id, get_pcvar_num(cvar_recar))
menu_destroy(menu)
return PLUGIN_HANDLED
}
case 3:
{
set_user_maxspeed(id, get_pcvar_float(cvar_cadsp))
set_user_health(id, get_pcvar_num(cvar_cadhp))
set_user_gravity(id, get_pcvar_float(cvar_cadgr))
set_user_armor(id, get_pcvar_num(cvar_cadar))
menu_destroy(menu)
return PLUGIN_HANDLED
}
case 4:
{
set_user_maxspeed(id, get_pcvar_float(cvar_solsp))
set_user_health(id, get_pcvar_num(cvar_solhp))
set_user_gravity(id, get_pcvar_float(cvar_solgr))
set_user_armor(id, get_pcvar_num(cvar_solar))
menu_destroy(menu)
return PLUGIN_HANDLED
}
}
menu_destroy(menu)
return PLUGIN_HANDLED
}
bueno no dije que era lo ultimo pero despues edito para responder que es cada uno
bueno listo
ESta es la manera que antes usaba y no eran las mejores que habia pero es una opcion y funcionan al 100
Creditos son mios pero tambien a
GameStrike15 por ayudarme antes con unas cosillas
Bueno Espero que les sirva y errores y otras cosas avisenme
aki o por msn
PHP Code:
danielvine92@hotmail.com
__________________