AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Scripting Help (https://forums.alliedmods.net/forumdisplay.php?f=11)
-   -   Plugin Modification (https://forums.alliedmods.net/showthread.php?t=147238)

rodrigo286 01-07-2011 02:00

Plugin Modification
 
Well I edited this plugin class Human zombie plague and the zombie plage took him to work on servers without zombie plague, but after the server compiles and open the menu does not open as I proceed to the same show?

PHP Code:

/*  
Classes Humanas para a zombie plague, menu para as mesmas e mostrado poucos segundos depois de iniciar o modo de jogo.
Voce pode editar este plugin no entanto, para atender as suas necessidades. Agora, com modelos de apoio

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 - done 
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 - nah, there's just too manu plugs like that 
7. Bots support - never! 

Stealth Warrior had to be removed due to model changing. Will try to make him available again 

Models defined here, in this plug, are default models from CS. That means it will work right away, with no modifications. 
However, if you want to set some other models, you need to change some lines in this code. 

Credits: fiendshard 
         Mercylezz - zombie plague mod and this tut: http://forums.alliedmods.net/showthread.php?t=69386 
         Other guys at forum that helped with suggestions

*/ 

#include <amxmodx> 
#include <cstrike> 
#include <fun> 
#include <fakemeta> 
#include <fakemeta_util> 
#include <hamsandwich> 
#define VIP1_FLAG ADMIN_LEVEL_G 

const PRIMARY_WEAPONS_BITSUM = (1<<CSW_SCOUT)|(1<<CSW_XM1014)|(1<<CSW_MAC10)|(1<<CSW_AUG)|(1<<CSW_UMP45)|(1<<CSW_SG550)|(1<<CSW_GALIL)|(1<<CSW_FAMAS)|(1<<CSW_AWP)|(1<<CSW_MP5NAVY)|(1<<CSW_M249)|(1<<CSW_M3)|(1<<CSW_M4A1)|(1<<CSW_TMP)|(1<<CSW_G3SG1)|(1<<CSW_SG552)|(1<<CSW_AK47)|(1<<CSW_P90


new 
g_ent_playermodel[33]; 
new 
g_ent_weaponmodel[33]; 
new 
g_currentweapon[33]; 

new 
g_player_class[33

public 
plugin_init() 

        
register_plugin("[Mult] Class""2.0""fiendshard"
        
RegisterHam(Ham_Spawn"player""fwHamPlayerSpawnPost"1


public 
plugin_precache() 

                                        
// Change paths and names of your models below. Beware of typos. 
        
engfunc(EngFunc_PrecacheModel"models/player/zk_wesker_re/zk_wesker_re.mdl"
        
engfunc(EngFunc_PrecacheModel"models/player/zk_leon_re/zk_leon_re.mdl"
        
engfunc(EngFunc_PrecacheModel"models/player/new_jill_sx/new_jill_sx.mdl"
        
engfunc(EngFunc_PrecacheModel"models/player/zk_ada_re/zk_ada_re.mdl"
        
engfunc(EngFunc_PrecacheModel"models/player/yuri/yuri.mdl"
        
engfunc(EngFunc_PrecacheModel"models/player/choijiyoon/choijiyoon.mdl")
        
engfunc(EngFunc_PrecacheModel"models/player/nano/hellmoss-nano.mdl"
        
engfunc(EngFunc_PrecacheModel"models/player/ADMUmb_SX/ADMUmb_SX.mdl"
        
engfunc(EngFunc_PrecacheModel"models/player/SpILLED_Sakura/SpILLED_Sakura.mdl"


public 
message_cur_weapon(msg_idmsg_destmsg_entity

        if (!
is_user_alive(msg_entity) || get_msg_arg_int(1) != 1
                return; 
        static 
weapon 
        weapon 
get_msg_arg_int(2
        
g_currentweapon[msg_entity] = weapon 
        fm_set_weaponmodel_ent
(msg_entity



public 
fwHamPlayerSpawnPost(id

        
set_task(get_cvar_float("zp_delay")+5.0"ClCmdSelectModel",id


public 
ClCmdSelectModel(idmenuid

                return 
PLUGIN_HANDLED
        } 

public 
human_menu(id

        new 
menu menu_create("\rEscolha seu Personagem:""human_menu_handler")
        
menu_additem(menu"\wLeon - A coragem biba (50 de Colete)""1"0)
        
menu_additem(menu"\wWesker - A biba Gato Rapido (300 de Vida + 30 colete)""2"0
        
menu_additem(menu"\wJill - A Piriguete Saltadora (Gravidade ++ + 30 colete)""3"0
        
menu_additem(menu"\wChoijiyoon - Rosquinha Gelada (FrostNade X 5 + 30 colete)""4"0
        
menu_additem(menu"\wYuri - Rosquinha Quente (NapalmNade X 5 + 30 colete)""5"2
        
menu_additem(menu"\wAda - A piriguete Iluminada (FlareNade X 5 + Aura de Luz + 35 colete)""6"1)
        
menu_additem(menu"\w[ADM] Nano Suit - A armadura power color (Alta velocida + 70 colete)""7"ADMIN_IMMUNITY)
        
menu_additem(menu"\w[ADM] Homens de Preto - Os bibas bem trajados (NapalmNade X 6 + 70 colete)""8"ADMIN_IMMUNITY)
        
menu_additem(menu"\w[VIP] Sakura - A piriguete das cartas (NapalmNade X 5 + 60 colete)""9"VIP1_FLAG)
        
menu_additem(menu"\w[VIP] VIP - O filhinho de papai (70 colete)""10"VIP1_FLAG)
        
menu_setprop(menuMPROP_EXITMEXIT_ALL
        
menu_display(idmenu0
         

public 
human_menu_handler(idmenuitem

        if( 
item == MENU_EXIT 
        { 
                
menu_destroy(menu
                return 
PLUGIN_HANDLED 
        

        new 
data[6], iName[64
        new 
accesscallback 
        menu_item_getinfo
(menuitemaccessdata5iName63callback
        new 
key str_to_num(data
        switch(
key
        { 
                case 
1
                { 
                        
g_player_class[id] = 
                        fm_remove_model_ents
(id
                        if (!
pev_valid(g_ent_playermodel[id])) 
                        { 
                                
g_ent_playermodel[id] = engfunc(EngFunc_CreateNamedEntityengfunc(EngFunc_AllocString"info_target")); 
                                
set_user_rendering(id,kRenderFxNone,0,0,0,kRenderTransAlpha,1
                                
set_pev(g_ent_playermodel[id], pev_classname"player_model"
                                
set_pev(g_ent_playermodel[id], pev_movetypeMOVETYPE_FOLLOW
                                
set_pev(g_ent_playermodel[id], pev_aimentid
                                
set_pev(g_ent_playermodel[id], pev_ownerid
                                                                               
// Change name of your model below. 
                                
engfunc(EngFunc_SetModelg_ent_playermodel[id], "models/player/zk_leon_re/zk_leon_re.mdl"
                                
fm_set_weaponmodel_ent(id
                        } 
                        
set_user_armor(id50
                        
client_print(idprint_chat,"[SemxorA] Seu personagem e: Leon - A coragem biba (40 de Colete)"
                } 
                case 
2
                { 
                        
g_player_class[id] = 
                        fm_remove_model_ents
(id
                        if (!
pev_valid(g_ent_playermodel[id])) 
                        { 
                                
g_ent_playermodel[id] = engfunc(EngFunc_CreateNamedEntityengfunc(EngFunc_AllocString"info_target")); 
                                
set_user_rendering(id,kRenderFxNone,0,0,0,kRenderTransAlpha,1
                                
set_pev(g_ent_playermodel[id], pev_classname"player_model"
                                
set_pev(g_ent_playermodel[id], pev_movetypeMOVETYPE_FOLLOW
                                
set_pev(g_ent_playermodel[id], pev_aimentid
                                
set_pev(g_ent_playermodel[id], pev_ownerid
                                                                               
// Change name of your model below. 
                                
engfunc(EngFunc_SetModelg_ent_playermodel[id], "models/player/zk_wesker_re/zk_wesker_re.mdl"
                                
fm_set_weaponmodel_ent(id
                        } 
                        
set_user_health(id300
                        
set_user_armor(id30
                        
client_print(idprint_chat,"[SemxorA] Seu personagem e: Wesker - A biba Gato Rapido (300 de Vida + 30 colete)"); 
                } 
                case 
3:  
                { 
                        
g_player_class[id] = 
                        fm_remove_model_ents
(id
                        if (!
pev_valid(g_ent_playermodel[id])) 
                        { 
                                
g_ent_playermodel[id] = engfunc(EngFunc_CreateNamedEntityengfunc(EngFunc_AllocString"info_target")); 
                                
set_user_rendering(id,kRenderFxNone,0,0,0,kRenderTransAlpha,1
                                
set_pev(g_ent_playermodel[id], pev_classname"player_model"
                                
set_pev(g_ent_playermodel[id], pev_movetypeMOVETYPE_FOLLOW
                                
set_pev(g_ent_playermodel[id], pev_aimentid
                                
set_pev(g_ent_playermodel[id], pev_ownerid
                                                                               
// Change name of your model below. 
                                
engfunc(EngFunc_SetModelg_ent_playermodel[id], "models/player/new_jill_sx/new_jill_sx.mdl"
                                
fm_set_weaponmodel_ent(id
                        } 
                        
set_user_gravity(id0.50
                        
set_user_armor(id30
                        
client_print(idprint_chat,"[SemxorA] Sua personagem e: Jill - A Piriguete Saltadora (Gravidade e 1/2 + 30 colete)"); 
                } 
                case 
4:  
                { 
                        
g_player_class[id] = 
                        fm_remove_model_ents
(id
                        if (!
pev_valid(g_ent_playermodel[id])) 
                        { 
                                
g_ent_playermodel[id] = engfunc(EngFunc_CreateNamedEntityengfunc(EngFunc_AllocString"info_target")); 
                                
set_user_rendering(id,kRenderFxNone,0,0,0,kRenderTransAlpha,1
                                
set_pev(g_ent_playermodel[id], pev_classname"player_model"
                                
set_pev(g_ent_playermodel[id], pev_movetypeMOVETYPE_FOLLOW
                                
set_pev(g_ent_playermodel[id], pev_aimentid
                                
set_pev(g_ent_playermodel[id], pev_ownerid
                                                                               
// Change name of your model below. 
                                
engfunc(EngFunc_SetModelg_ent_playermodel[id], "models/player/choijiyoon/choijiyoon.mdl"
                                
fm_set_weaponmodel_ent(id
                        } 

                        
cs_set_user_bpammo(idCSW_FLASHBANG5
                        
set_user_armor(id30
                        
client_print(idprint_chat,"[SemxorA] Seu personagem e: Choijiyoon - Rosquinha Gelada (FrostNade X 5 + 30 colete)"); 
                } 
                case 
5:  
                { 
                        
g_player_class[id] = 
                        fm_remove_model_ents
(id
                        if (!
pev_valid(g_ent_playermodel[id])) 
                        { 
                                
g_ent_playermodel[id] = engfunc(EngFunc_CreateNamedEntityengfunc(EngFunc_AllocString"info_target")); 
                                
set_user_rendering(id,kRenderFxNone,0,0,0,kRenderTransAlpha,1
                                
set_pev(g_ent_playermodel[id], pev_classname"player_model"
                                
set_pev(g_ent_playermodel[id], pev_movetypeMOVETYPE_FOLLOW
                                
set_pev(g_ent_playermodel[id], pev_aimentid
                                
set_pev(g_ent_playermodel[id], pev_ownerid
                                                                               
// Change name of your model below. 
                                
engfunc(EngFunc_SetModelg_ent_playermodel[id], "models/player/yuri/yuri.mdl"
                                
fm_set_weaponmodel_ent(id
                        } 
                        
set_user_health(idget_cvar_num("zp_human_health")) 
                        
set_user_armor(id30
                        
set_user_gravity(id1.00
                        
cs_set_user_bpammo(idCSW_HEGRENADE5
                        
client_print(idprint_chat,"[SemxorA] Seu personagem e: Yuri - Rosquinha Quente (NapalmNade X 5 + 30 colete)"
                }
           case 
6:  
                { 
                        
g_player_class[id] = 
                        fm_remove_model_ents
(id
                        if (!
pev_valid(g_ent_playermodel[id])) 
                        { 
                                
g_ent_playermodel[id] = engfunc(EngFunc_CreateNamedEntityengfunc(EngFunc_AllocString"info_target")); 
                                
set_user_rendering(id,kRenderFxNone,0,0,0,kRenderTransAlpha,1
                                
set_pev(g_ent_playermodel[id], pev_classname"player_model"
                                
set_pev(g_ent_playermodel[id], pev_movetypeMOVETYPE_FOLLOW
                                
set_pev(g_ent_playermodel[id], pev_aimentid
                                
set_pev(g_ent_playermodel[id], pev_ownerid
                                                                               
// Change name of your model below. 
                                
engfunc(EngFunc_SetModelg_ent_playermodel[id], "models/player/zk_ada_re/zk_ada_re.mdl"
                                
fm_set_weaponmodel_ent(id
                        } 
                        
set_user_health(idget_cvar_num("zp_human_health")) 
                        
set_user_armor(id35
                        
set_user_gravity(id1.00
                        
cs_set_user_bpammo(idCSW_SMOKEGRENADE5
                        
set_pev(idpev_effectspev(idpev_effects) | EF_BRIGHTLIGHT
                        
client_print(idprint_chat,"[SemxorA] Seu personagem e: Ada - A piriguete Iluminada (FlareNade X 5 + Aura de Luz + 35 colete)"); 
                } 
                case 
7:  
                { 
                        
g_player_class[id] = 
                        fm_remove_model_ents
(id
                        if (!
pev_valid(g_ent_playermodel[id])) 
                        { 
                                
g_ent_playermodel[id] = engfunc(EngFunc_CreateNamedEntityengfunc(EngFunc_AllocString"info_target")); 
                                
set_user_rendering(id,kRenderFxNone,0,0,0,kRenderTransAlpha,1
                                
set_pev(g_ent_playermodel[id], pev_classname"player_model"
                                
set_pev(g_ent_playermodel[id], pev_movetypeMOVETYPE_FOLLOW
                                
set_pev(g_ent_playermodel[id], pev_aimentid
                                
set_pev(g_ent_playermodel[id], pev_ownerid
                                                                               
// Change name of your model below. 
                                
engfunc(EngFunc_SetModelg_ent_playermodel[id], "models/player/nano/hellmoss-nano.mdl"
                                
fm_set_weaponmodel_ent(id
                        } 
                        
set_user_health(idget_cvar_num("zp_human_health")) 
                        
set_user_armor(id70
                        
set_user_maxspeed(id400.0
                        
client_print(idprint_chat,"[SemxorA] Seu personagem e: Nano Suit - A armadura power color (Alta velocida + 70 colete)"); 
                }
           case 
8:  
                { 
                        
g_player_class[id] = 
                        fm_remove_model_ents
(id
                        if (!
pev_valid(g_ent_playermodel[id])) 
                        { 
                                
g_ent_playermodel[id] = engfunc(EngFunc_CreateNamedEntityengfunc(EngFunc_AllocString"info_target")); 
                                
set_user_rendering(id,kRenderFxNone,0,0,0,kRenderTransAlpha,1
                                
set_pev(g_ent_playermodel[id], pev_classname"player_model"
                                
set_pev(g_ent_playermodel[id], pev_movetypeMOVETYPE_FOLLOW
                                
set_pev(g_ent_playermodel[id], pev_aimentid
                                
set_pev(g_ent_playermodel[id], pev_ownerid
                                                                               
// Change name of your model below. 
                                
engfunc(EngFunc_SetModelg_ent_playermodel[id], "models/player/ADMUmb_SX/ADMUmb_SX.mdl"
                                
fm_set_weaponmodel_ent(id
                        } 
                        
set_user_health(idget_cvar_num("zp_human_health")) 
                        
set_user_armor(id70
                        
set_user_gravity(id1.00
                        
cs_set_user_bpammo(idCSW_HEGRENADE6)
                        
client_print(idprint_chat,"[SemxorA] Seu personagem e: Homens de Preto - Os bibas bem trajados (NapalmNade X 6 + 60 colete)"); 
                }
           case 
9:  
                { 
                        
g_player_class[id] = 
                        fm_remove_model_ents
(id
                        if (!
pev_valid(g_ent_playermodel[id])) 
                        { 
                                
g_ent_playermodel[id] = engfunc(EngFunc_CreateNamedEntityengfunc(EngFunc_AllocString"info_target")); 
                                
set_user_rendering(id,kRenderFxNone,0,0,0,kRenderTransAlpha,1
                                
set_pev(g_ent_playermodel[id], pev_classname"player_model"
                                
set_pev(g_ent_playermodel[id], pev_movetypeMOVETYPE_FOLLOW
                                
set_pev(g_ent_playermodel[id], pev_aimentid
                                
set_pev(g_ent_playermodel[id], pev_ownerid
                                                                               
// Change name of your model below. 
                                
engfunc(EngFunc_SetModelg_ent_playermodel[id], "models/player/SpILLED_Sakura/SpILLED_Sakura.mdl"
                                
fm_set_weaponmodel_ent(id
                        } 
                        
set_user_health(idget_cvar_num("zp_human_health")) 
                        
set_user_armor(id60
                        
set_user_gravity(id1.00
                        
cs_set_user_bpammo(idCSW_HEGRENADE5)  
                        
client_print(idprint_chat,"[SemxorA] Seu personagem e: Sakura - A piriguete das cartas (NapalmNade X 5 + 60 colete)"); 
                }
           case 
10:  
                { 
                        
g_player_class[id] = 10 
                        fm_remove_model_ents
(id
                        if (!
pev_valid(g_ent_playermodel[id])) 
                        { 
                                
g_ent_playermodel[id] = engfunc(EngFunc_CreateNamedEntityengfunc(EngFunc_AllocString"info_target")); 
                                
set_user_rendering(id,kRenderFxNone,0,0,0,kRenderTransAlpha,1
                                
set_pev(g_ent_playermodel[id], pev_classname"player_model"
                                
set_pev(g_ent_playermodel[id], pev_movetypeMOVETYPE_FOLLOW
                                
set_pev(g_ent_playermodel[id], pev_aimentid
                                
set_pev(g_ent_playermodel[id], pev_ownerid
                                                                               
// Change name of your model below. 
                                
engfunc(EngFunc_SetModelg_ent_playermodel[id], "models/player/vip/vip.mdl"
                                
fm_set_weaponmodel_ent(id
                        } 
                        
set_user_health(idget_cvar_num("zp_human_health")) 
                        
set_user_armor(id70
                        
set_pev(idpev_effectspev(idpev_effects) | EF_BRIGHTLIGHT
                        
client_print(idprint_chat,"[SemxorA] Seu personagem e: VIP - O filhinho de papai (70 colete)"); 
                }
        } 
        
menu_destroy(menu
        return 
PLUGIN_HANDLED 


public 
zp_user_infected_post(idinfector

        
fm_remove_model_ents(id


stock fm_remove_model_ents(id

        if (
pev_valid(g_ent_playermodel[id])) 
        { 
                
engfunc(EngFunc_RemoveEntityg_ent_playermodel[id]) 
                
g_ent_playermodel[id] = 
        

        if (
pev_valid(g_ent_weaponmodel[id])) 
        { 
                
engfunc(EngFunc_RemoveEntityg_ent_weaponmodel[id]) 
                
g_ent_weaponmodel[id] = 
        



stock fm_set_weaponmodel_ent(id

        static 
model[100
        
pev(idpev_weaponmodel2modelsizeof model 1
         
        if (!
pev_valid(g_ent_weaponmodel[id])) 
        { 
                
g_ent_weaponmodel[id] = engfunc(EngFunc_CreateNamedEntityengfunc(EngFunc_AllocString"info_target")) 
                if (!
pev_valid(g_ent_weaponmodel[id])) return; 
                 
                
set_pev(g_ent_weaponmodel[id], pev_classname"weapon_model"
                
set_pev(g_ent_weaponmodel[id], pev_movetypeMOVETYPE_FOLLOW
                
set_pev(g_ent_weaponmodel[id], pev_aimentid
                
set_pev(g_ent_weaponmodel[id], pev_ownerid
        } 
         
        
engfunc(EngFunc_SetModelg_ent_weaponmodel[id], model


stock drop_primary_weapons(id)   

        static 
weapons 32 ], numiweaponid 
        num 
0  
        get_user_weapons 
(idweaponsnum 
         
        for ( 
0numi++ ) 
        { 
                
weaponid weapons 
                if  ( ( (
1<<weaponid) & PRIMARY_WEAPONS_BITSUM ) )               
                { 
                        static 
wname[32
                        
get_weaponname(weaponidwnamecharsmax(wname)) 
                        
engclient_cmd(id"drop"wname
                } 
        } 


Was this line? But how?

PHP Code:

        set_task(get_cvar_float("zp_delay")+5.0"ClCmdSelectModel",id


Thanks for help.

lucas_7_94 01-07-2011 08:04

Re: Plugin Modification
 
yes , change ClCmdSelectModel to human_menu

rodrigo286 01-07-2011 10:26

Re: Plugin Modification
 
Perfect!!!
Lucas_7_94 thanks man!

But there are some classes that I choose when the player is killed, it happens with 4 classes, thanks!

lucas_7_94 01-07-2011 10:35

Re: Plugin Modification
 
no problem man.

rodrigo286 01-07-2011 10:43

Re: Plugin Modification
 
PHP Code:

But there are some classes that I choose when the player is killedit happens with 4 classesthanks

I FIXED :)

Close plz, thanks lucas for u help!

rodrigo286 01-07-2011 11:44

Re: Plugin Modification
 
I tried to glow in a class with the following command:

PHP Code:

screen_fade(id,1,1,random_num(0,255),random_num(0,255),random_num(0,255),50

PHP Code:

case 6:  
                { 
                        
g_player_class[id] = 
                        fm_remove_model_ents
(id
                        if (!
pev_valid(g_ent_playermodel[id])) 
                        { 
                                
g_ent_playermodel[id] = engfunc(EngFunc_CreateNamedEntityengfunc(EngFunc_AllocString"info_target")); 
                                
set_user_rendering(id,kRenderFxNone,0,0,0,kRenderTransAlpha,1
                                
set_pev(g_ent_playermodel[id], pev_classname"player_model"
                                
set_pev(g_ent_playermodel[id], pev_movetypeMOVETYPE_FOLLOW
                                
set_pev(g_ent_playermodel[id], pev_aimentid
                                
set_pev(g_ent_playermodel[id], pev_ownerid
                                                                               
// Change name of your model below. 
                                
engfunc(EngFunc_SetModelg_ent_playermodel[id], "models/player/zk_ada_re/zk_ada_re.mdl"
                                
fm_set_weaponmodel_ent(id
                        } 
                        
set_user_health(id150
                        
set_user_armor(id35
                        
set_user_gravity(id1.00)
                        
set_user_rendering(id,kRenderFxGlowShell,random_num(0,255),random_num(0,255),random_num(0,255),kRenderNormal,20);
                        
client_print(idprint_chat,"[SemxorA] Seu personagem e: Ada - A piriguete Iluminada (Glow + 35 colete)"); 
                } 

did not work

lucas_7_94 01-07-2011 12:48

Re: Plugin Modification
 
the glow is using set_user_rendering.


All times are GMT -4. The time now is 02:06.

Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.