Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- 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 <biohazard>
- new g_player_class[33]
- new bh_human_health
- public plugin_init()
- {
- register_plugin("[BIO] Human Classes", "1.5", "Vitalyzd")
- RegisterHam(Ham_Spawn, "player", "fwHamPlayerSpawnPost", 1)
- bh_human_health = register_cvar( "bh_human_health", "100");
- }
- public fwHamPlayerSpawnPost(id)
- {
- set_task(get_cvar_float("bh_starttime")+5.0, "ClCmdSelectModel",id)
- }
- public ClCmdSelectModel(id, menuid)
- {
- if(is_user_zombie(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("[BIO]Choose Human Class:", "human_menu_handler")
- menu_additem(menu, "Armorer (100 Armor)", "1", 0)
- menu_additem(menu, "Pounder (300 HP)", "2", 0)
- menu_additem(menu, "Jumper (Gravity ++)", "3", 0)
- menu_additem(menu, "Flash Soldier (Flash Bomb X 5)", "4", 0)
- menu_additem(menu, "Firebat (HE Bomb X 5)", "5", 0)
- menu_additem(menu, "Light Handler (Light Aura)", "6", 0)
- menu_additem(menu, "Universal Soldier (Admin Class)", "7", ADMIN_BAN);
- 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(is_user_zombie(id)) return PLUGIN_HANDLED;
- g_player_class[id] = 1
- set_user_health(id, get_pcvar_num(bh_human_health))
- set_user_armor(id, 200)
- set_user_gravity(id, 1.00)
- client_print(id, print_chat,"[BIO] Armorer (200 Armor)")
- }
- case 2:
- {
- if(is_user_zombie(id)) return PLUGIN_HANDLED;
- g_player_class[id] = 2
- set_user_health(id, 300)
- set_user_armor(id, 0)
- set_user_gravity(id, 1.00)
- client_print(id, print_chat,"[BIO] Pounder (300 HP)");
- }
- case 3:
- {
- if(is_user_zombie(id)) return PLUGIN_HANDLED;
- g_player_class[id] = 3
- set_user_health(id, get_pcvar_num(bh_human_health))
- set_user_armor(id, 0)
- set_user_gravity(id, 0.50)
- client_print(id, print_chat,"[BIO] Jumper (Gravity is 1/2)");
- }
- case 4:
- {
- if(is_user_zombie(id)) return PLUGIN_HANDLED;
- g_player_class[id] = 4
- set_user_health(id, get_pcvar_num(bh_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,"[BIO] FLASH Soldier (+5 FlashBomb)");
- }
- case 5:
- {
- if(is_user_zombie(id)) return PLUGIN_HANDLED;
- g_player_class[id] = 5
- set_user_health(id, get_pcvar_num(bh_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,"[BIO] Firebat (+5 He Granade)")
- }
- case 6:
- {
- if(is_user_zombie(id)) return PLUGIN_HANDLED;
- g_player_class[id] = 6
- set_user_health(id, get_pcvar_num(bh_human_health))
- set_user_armor(id, 0)
- set_user_gravity(id, 1.00)
- set_pev(id, pev_effects, pev(id, pev_effects) | EF_BRIGHTLIGHT)
- client_print(id, print_chat,"[BIO] Light Handler (Light Aura)");
- }
- case 7:
- {
- if(is_user_zombie(id)) return PLUGIN_HANDLED;
- g_player_class[id] = 7
- set_user_health(id, 255)
- set_user_armor(id, 500)
- set_user_gravity(id, 1.00)
- cs_set_user_bpammo(id, CSW_HEGRENADE, 5)
- cs_set_user_bpammo(id, CSW_FLASHBANG, 5)
- cs_set_user_nvg(id, 1)
- client_print(id, print_chat,"[BIO] Universal Soldier (Admin Class)");
- }
- }
- menu_destroy(menu)
- return PLUGIN_HANDLED
- }
- /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
- *{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang9242\\ f0\\ fs16 \n\\ par }
- */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement