Dzięki !
Możesz jeszcze pomóc, znalazłem lepszy plugin ale są błędy, poprawisz ?
/*
Human Classes for zombie plague, menu for classes automatically invoked 8 seconds after player spawn
This plug is far from complete, please help with further development of it since it may have some undesired
results on gameplay. You can edit this plug however it fit your needs.
Here is TO DO list:
1. Make B key invoke human class menu
2. Make user choose class only once per round (could be limited with round timer or some other method) - done
3. Make user choice remember thru whole map time, just like it was done for zombies
4. Changing of models is not implemented yet due to numerous bugs and uncertain effects
5. For now, there are 7 classes only. If you have idea for more classes, make a request
6. Make classes buyable for ammo packs
7. Bots support
*/
#include <amxmodx>
#include <cstrike>
#include <fun>
#include <fakemeta>
#include <hamsandwich>
#include <zombieplague>
new g_player_class[33]
public plugin_init()
{
register_plugin("[ZP] Addon: Human Classes", "1.1", "fiendshard")
RegisterHam(Ham_Spawn, "player", "fwHamPlayerSpawnPost", 1)
}
public fwHamPlayerSpawnPost(id)
{
set_task(get_cvar_float("zp_delay")+5.0, "ClCmdSelectModel",id)
}
public ClCmdSelectModel(id, menuid)
{
if(zp_get_user_zombie(id) || zp_get_user_nemesis(id) || zp_get_user_survivor(id))
{
return PLUGIN_HANDLED;
}
else if(!is_user_alive(id))
{
return PLUGIN_HANDLED;
}
else
{
human_menu(id)
}
return PLUGIN_CONTINUE;
}
public human_menu(id)
{
new menu = menu_create("\rChoose Your Human Class:", "human_menu_handler")
menu_additem(menu, "\wWysoki Czlowiek (300 HP)", "1", 0)
menu_additem(menu, "\wSkoczek (Grawitacja ++)", "2", 0)
menu_additem(menu, "\wLodowy Czlowiek(5x Flash)", "3", 0)
menu_additem(menu, "\wOgnik (5x HE)", "4", 0)
menu_setprop(menu, MPROP_EXIT, MEXIT_ALL)
menu_display(id, menu, 0)
}
public human_menu_handler(id, menu, item)
{
if( item == MENU_EXIT )
{
menu_destroy(menu)
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:
{
if(zp_get_user_zombie(id) || zp_get_user_survivor(id) || zp_get_user_nemesis(id)) return PLUGIN_HANDLED;
g_player_class[id] = 1
set_user_health(id, 300)
set_user_armor(id, 0)
set_user_gravity(id, 1.00)
client_print(id, print_chat,"[ZP] Twoja klasa to Wysoki Czlowiek");
}
case 2:
{
if(zp_get_user_zombie(id) || zp_get_user_survivor(id) || zp_get_user_nemesis(id)) return PLUGIN_HANDLED;
g_player_class[id] = 2
set_user_health(id, get_cvar_num("zp_human_health"))
set_user_armor(id, 0)
set_user_gravity(id, 0.50)
client_print(id, print_chat,"[ZP] Twoja Klasa to Skoczek");
}
case 3:
{
if(zp_get_user_zombie(id) || zp_get_user_survivor(id) || zp_get_user_nemesis(id)) return PLUGIN_HANDLED;
g_player_class[id] = 3
set_user_health(id, get_cvar_num("zp_human_health"))
set_user_armor(id, 30)
set_user_gravity(id, 1.00)
cs_set_user_bpammo(id, CSW_FLASHBANG, 5)
client_print(id, print_chat,"[ZP] Twoja klasa to Lodowy Czlowiek");
}
case 4:
{
if(zp_get_user_zombie(id) || zp_get_user_survivor(id) || zp_get_user_nemesis(id)) return PLUGIN_HANDLED;
g_player_class[id] = 4
set_user_health(id, get_cvar_num("zp_human_health"))
set_user_armor(id, 40)
set_user_gravity(id, 1.00)
cs_set_user_bpammo(id, CSW_HEGRENADE, 5)
client_print(id, print_chat,"[ZP] Twoja klasa to Ognik")
}
}
menu_destroy(menu)
return PLUGIN_HANDLED
}
Użytkownik BaleweoO edytował ten post 14.05.2011 17:54