Raised This Month: $ Target: $400
 0% 

Subplugin Submission [T] List of Modified + Requested Plugins


Post New Thread Reply   
 
Thread Tools Display Modes
Depresie
Veteran Member
Join Date: Nov 2013
Old 05-10-2015 , 11:41   Re: [ZP] List of Modified + Requested Plugins
Reply With Quote #781

maybe....?
Code:
new const zclass_clawmodel[] = "models/zombie_plague/AZM/v_headcrab.mdl"
Depresie is offline
Mr.Pro
Member
Join Date: Jul 2014
Old 05-10-2015 , 13:09   Re: [ZP] List of Modified + Requested Plugins
Reply With Quote #782

I tried to combine 2 zombie classes but not as how i want it to be
it is a class for vip should have regeneration and fury
it have only fury and i don't know how to fix that and i don't really know scripting language and u maybe wonder how i did that just copy and try to know how work
here is the code and i want to fix regeneration as it not working and make some changes make fury to be used by pressing "V" not "E"
and when on fury not just a godmod as it get knocked back i want it like madness not affected with bullets and if the user is using a fury he can't use another until the first end
the SMA
PHP Code:
/*
                [ZP] Class : Healing Zombie
                 ( Passive zombie skill )
                       by Fry


    Description :

            This is another zombie class only this zombie can heal him self.


    Cvars :

            zp_healing_zombie_delay   "3.0"  - After how many seconds will be healing, default is after 3 seconds.
            zp_healing_zombie_amount "50.0"  - How much HP you will gain in healing process, default is 15 hp in 3 seconds.
        

    Credits :

            hleV - For his created plugin. (creating/fixing from v1.0 - v1.0.5)

    
    Changelog :

            06/11/2008 - v1.0 - First release
            16/06/2009 - v1.0.4 - removed toggle cvar, fixed health was regenerate more than max (all the time), prevented this class for Nemesis, optimized code.
            27/06/2009 - v1.0.5 - fixed minor bug.
            12/08/2009 - v1.0.6 - fixed passive regeneration, changed plugin and zombie name.
*/


#include <amxmodx>
#include <zombieplague>
#include <engine>
#include <fun>
#include <fakemeta>
#include <hamsandwich>
#include <zm_vip>

#define ID_FURY (taskid - TASK_FURY)

// Task offsets
enum (+= 100)
{
    
TASK_FURY
}

/*================================================================================
 [Customizations]
=================================================================================*/

new const zclass_name[] = "Regeneration Zombie"
new const zclass_info[] = "+++ Hp & speed , Can heal hp"
new const zclass_model[] = "zombie_source"
new const zclass_clawmodel[] = "v_knife_zombie.mdl"
const zclass_health 8000
const zclass_speed 280
const Float:zclass_gravity 0.7
const Float:zclass_knockback 2.5

new g_zclass_healingg_healing_delayg_healing_amountzp_nemg_zclass_shockwave
new Float:g_heal_delay[33]

new const 
idle[] = "zombie_plague/cerberus_idle.wav"
new const fury[] = "zombie_plague/cerberus_fury.wav"
new const normaly[] = "zombie_plague/cerberus_normaly.wav"

/*================================================================================
 Customization ends here!
 Any edits will be your responsibility
=================================================================================*/  

// Plugin info.
#define PLUGIN "[ZP] Class : Healing Zombie"
#define VERSION "0.1"
#define AUTHOR "DJHD!"

// Variables
new g_veces[33], i_fury_time[33], g_maxplayers

// Cvar Pointers
new cvar_furycvar_furytime

/*================================================================================
 [Init, CFG and Precache]
=================================================================================*/

public plugin_init()
{
    
register_plugin(PLUGINVERSIONAUTHOR)
    
    
cvar_fury register_cvar("zp_cerberus_fury""999")
    
cvar_furytime register_cvar("zp_cerberus_fury_time""10.0")
    
    static 
szCvar[30]
    
formatex(szCvarcharsmax(szCvar), "v%s by %s"VERSIONAUTHOR)
    
    
register_logevent("roundStart"2"1=Round_Start")
    
register_forward(FM_PlayerPreThink"fw_PlayerPreThink")
    
    
g_maxplayers get_maxplayers()

    
register_plugin(PLUGINVERSIONAUTHOR)
    
    
register_cvar("zp_zclass_healing_zombie",VERSION,FCVAR_SERVER|FCVAR_EXTDLL|FCVAR_UNLOGGED|FCVAR_SPONLY)
    
    
g_healing_delay register_cvar("zp_healing_zombie_delay""1.0")
    
g_healing_amount register_cvar("zp_healing_zombie_amount""40.0")
    
    
register_event("Damage""Damage""be")
    
    
register_forward(FM_PlayerPreThink"fw_PlayerPreThink")
}

public 
plugin_precache()
{
    
g_zclass_healing zp_register_zombie_class(zclass_namezclass_infozclass_modelzclass_clawmodelzclass_healthzclass_speedzclass_gravityzclass_knockback)

    
precache_sound(idle)
    
precache_sound(fury)
    
precache_sound(normaly)
}

/*================================================================================
 [Zombie Plague Forwards]
=================================================================================*/

public zp_user_infected_post(idinfector)
{
    if (
zp_get_user_zombie_class(id) == g_zclass_healing)
    {
        
client_print(idprint_chat"[ZP] You have %d fury to use press - ^"V^""get_pcvar_num(cvar_fury))
        
        
g_veces[id] = get_pcvar_num(cvar_fury)
        
i_fury_time[id] = get_pcvar_num(cvar_furytime)
        
emit_sound(idCHAN_STREAMidle1.0ATTN_NORM0PITCH_HIGH)
        
remove_task(id)
    }
}
public 
Damage(victim)
{
    if (!
is_user_alive(victim) || !zp_get_user_zombie(victim))
        return 
PLUGIN_HANDLED
        
    
if (zp_get_user_zombie_class(victim) != g_zclass_healing)
        return 
PLUGIN_CONTINUE
    
    
static Float:g_gametime
    
    g_gametime 
get_gametime()
        
    
g_heal_delay[victim] = g_gametime get_pcvar_float(g_healing_delay)
    
    return 
PLUGIN_CONTINUE
}

public 
zp_user_humanized_post(taskid)
{
    new 
id ID_FURY
    remove_task
(id+TASK_FURY)
    
set_user_godmode(id0)
}


/*================================================================================
 [Main Forwards]
=================================================================================*/

public fw_PlayerPreThink(idplayer)
{
    if (!
is_user_alive(id) || !zp_get_user_zombie(id))
        return 
FMRES_IGNORED
    
    
new button get_user_button(id)
    new 
oldbutton get_user_oldbutton(id)
    
    if (
zp_get_user_zombie(id) && (zp_get_user_zombie_class(id) == g_zclass_healing))
    {
        if (!(
oldbutton IN_USE) && (button IN_USE))
            
clcmd_furia(id)
    }
        
    if (
zp_get_user_zombie_class(id) != g_zclass_healing)
        return 
FMRES_IGNORED
        
    
static Float:g_gametimeFloat:g_health
    
    g_gametime 
get_gametime()
    
pev(playerpev_healthg_health)
    
    if (
g_health zclass_health && g_heal_delay[player] < g_gametime)
    {
        
set_pev(playerpev_healthg_health get_pcvar_float(g_healing_amount))
        
g_heal_delay[player] = g_gametime get_pcvar_float(g_healing_delay)
    }
    
    return 
FMRES_IGNORED
}

/*================================================================================
 [Internal Functions]
=================================================================================*/

public clcmd_furia(taskid)
{
    new 
id ID_FURY
    
    
if(!is_user_alive(id) || !is_user_connected(id)|| !zp_get_user_zombie(id) || zp_get_user_nemesis(id) || zp_get_user_zombie_class(id) != g_zclass_healingzp_nemg_zclass_shockwave)
        return 
PLUGIN_HANDLED
    
    
if(g_veces[id] > 0)
    {
        
g_veces[id] = g_veces[id] -1
        
        set_task
(0.1"effects"id+TASK_FURY__"b")
        
i_fury_time[id] = get_pcvar_num(cvar_furytime)
        
        
set_task(1.0"ShowHUD"id+TASK_FURY__"a"i_fury_time[id])
        
        
emit_sound(idCHAN_STREAMfury1.0ATTN_NORM0PITCH_HIGH)
    }
    else
    {
        
client_print(idprint_chat"[ZP] You dont have more fury.")
        return 
PLUGIN_HANDLED
    
}
    
    return 
PLUGIN_HANDLED
}

public 
effects(id)
{
    if(!
is_user_alive(id) || !is_user_connected(id)|| !zp_get_user_zombie(id) || zp_get_user_nemesis(id) || zp_get_user_zombie_class(id) != g_zclass_healingzp_nemg_zclass_shockwave)
        return
        
    static 
origin[3]
    
get_user_origin(idorigin)
    
    
message_begin(MSG_PVSSVC_TEMPENTITYorigin)
    
write_byte(TE_PARTICLEBURST// TE id
    
write_coord(origin[0]) // x
    
write_coord(origin[1]) // y
    
write_coord(origin[2]) // z
    
write_short(130// radius
    
write_byte(70// color
    
write_byte(3// duration (will be randomized a bit)
    
message_end()
    
    
message_begin(MSG_PVSSVC_TEMPENTITYorigin)
    
write_byte(TE_DLIGHT// TE id
    
write_coord(origin[0]) // x
    
write_coord(origin[1]) // y
    
write_coord(origin[2]) // z
    
write_byte(22// radius
    
write_byte(255// r
    
write_byte(0// g
    
write_byte(30// b
    
write_byte(2// life
    
write_byte(0// decay rate
    
message_end()
    
    
set_user_godmode(id1)
    
    
set_task(get_pcvar_float(cvar_furytime), "remove_fury"id)
}

public 
ShowHUD(id)
{
    if(
is_user_alive(id))
    {
        
i_fury_time[id] = i_fury_time[id] - 1;
        
set_hudmessage(2001000, -1.0, -0.4601.01.10.00.0, -1)
        
show_hudmessage(id"Fury: %d"i_fury_time[id]+1)
    }
    else
    {
        
remove_task(id+TASK_FURY)
    }
}

public 
remove_fury(taskid)
{
    new 
id ID_FURY
    
    remove_task
(id+TASK_FURY)
    
    
set_user_godmode(id0)
    
emit_sound(idCHAN_STREAMnormaly1.0ATTN_NORM0PITCH_HIGH)
}

public 
roundStart()
{
    for(new 
1<= g_maxplayersi++)
    {
        
i_fury_time[i] = get_pcvar_num(cvar_furytime)
        
remove_task(i)
    }


Last edited by Mr.Pro; 05-10-2015 at 13:11.
Mr.Pro is offline
NewKidz
Member
Join Date: Oct 2010
Old 05-10-2015 , 16:52   Re: [ZP] List of Modified + Requested Plugins
Reply With Quote #783

Hello guys, i edited [ZP]Addon: Human classes by fiendshard.
I want make cz bots can choose random human classes.
It compile without any problems, but the bot won't choose the class.
Could you help me?

PHP Code:
#include <amxmodx>
#include <cstrike>
#include <fun>
#include <fakemeta>
#include <fakemeta_util>
#include <hamsandwich>
#include <zombieplague>

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]
new 
g_hamczbots
new cvar_botquota

new g_isbot[33]

public 
plugin_init()
{
    
register_plugin("[ZP] Addon: Human Classes""1.3""fiendshard")
    
RegisterHam(Ham_Spawn"player""fwHamPlayerSpawnPost"1)
    
    
cvar_botquota get_cvar_pointer("bot_quota")
}

public 
plugin_precache()
{
                        
// Change paths and names of your models below. Beware of typos.
    
engfunc(EngFunc_PrecacheModel"models/player/arctic/arctic.mdl")
    
engfunc(EngFunc_PrecacheModel"models/player/gsg9/gsg9.mdl")
    
engfunc(EngFunc_PrecacheModel"models/player/guerilla/guerilla.mdl")
    
engfunc(EngFunc_PrecacheModel"models/player/leet/leet.mdl")
    
engfunc(EngFunc_PrecacheModel"models/player/sas/sas.mdl")
    
engfunc(EngFunc_PrecacheModel"models/player/terror/terror.mdl")
    
engfunc(EngFunc_PrecacheModel"models/player/urban/urban.mdl")
    
engfunc(EngFunc_PrecacheModel"models/player/spetsnaz/spetsnaz.mdl")
}

public 
client_putinserver(id)
{
    
g_isbot[id] = true
    
    
if (!g_hamczbots && cvar_botquota)
        {
            
// Set a task to let the private data initialize
            
set_task(0.1"register_ham_czbots"id)
        }
}

public 
register_ham_czbots(id)
{
    if (
g_hamczbots || !is_user_connected(id) || !get_pcvar_num(cvar_botquota))
        return;
    
    
RegisterHamFromEntity(Ham_Spawnid"fwHamPlayerSpawnPost"1)
    
    
g_hamczbots true

    
if (is_user_alive(id)) fwHamPlayerSpawnPost(id)
}

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)
{
    if(!
is_user_bot(id))
        
set_task(get_cvar_float("zp_delay")+5.0"ClCmdSelectModel",id)
}

public 
ClCmdSelectModel(idmenuid)
{
    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 perk:^n(Press 'H' for details)""human_menu_handler")
    
menu_additem(menu"\wAntighost""1"0)
    
menu_additem(menu"\wTank""2"0)
    
menu_additem(menu"\wParkour""3"0)
    
menu_additem(menu"\wColdman""4"0)
    
menu_additem(menu"\wDemolition""5"0)
    
menu_additem(menu"\wLightbringer""6"0)
    
menu_additem(menu"\wSharpshooter""7"0)
    
menu_additem(menu"\wBalance",    "8"0)
    
menu_display(idmenu0)
    if (
g_isbot[id])
    {
        
g_player_class[id] = 8
        
return;
    }
}

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:
        {
            if(
zp_get_user_zombie(id) || zp_get_user_survivor(id) || zp_get_user_nemesis(id)) return PLUGIN_HANDLED;
            
g_player_class[id] = 1
            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/arctic/arctic.mdl")
                
fm_set_weaponmodel_ent(id)
            }
            
drop_primary_weapons(id)
            
give_item(id,"weapon_mac10")
            
give_item(id,"weapon_fiveseven")
            
give_item(id,"weapon_smokegrenade")
            
set_user_health(id150)
            
set_user_armor(id75)
            
cs_set_user_bpammo(idCSW_MAC10200)
            
cs_set_user_bpammo(idCSW_FIVESEVEN200)
            
client_print(idprint_chat,"You chose Antighost (Press 'H'>'About' for details')")
        }
        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
            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/gsg9/gsg9.mdl")
                
fm_set_weaponmodel_ent(id)
            }
            
drop_primary_weapons(id)
            
give_item(id,"weapon_m3")
            
give_item(id,"weapon_deagle")
            
give_item(id,"weapon_hegrenade")
            
set_user_health(id250)
            
set_user_armor(id45)
            
set_user_gravity(id1.15)
            
cs_set_user_bpammo(idCSW_M350)
            
cs_set_user_bpammo(idCSW_DEAGLE200)
            
client_print(idprint_chat,"You chose Tank (Press 'H'>'About' for details')");
        }
        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
            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/guerilla/guerilla.mdl")
                
fm_set_weaponmodel_ent(id)
            }
            
drop_primary_weapons(id)
            
give_item(id,"weapon_mp5navy")
            
give_item(id,"weapon_p228")
            
set_user_health(id150)
            
set_user_armor(id45)
            
set_user_gravity(id0.68)
            
set_user_maxspeed(idget_cvar_float("zp_human_speed") + 40)
            
cs_set_user_bpammo(idCSW_MP5NAVY200)
            
cs_set_user_bpammo(idCSW_P228200)
            
client_cmd(id,"say /napalm")
            
client_print(idprint_chat,"You chose Parkour (Press 'H'>'About' for details')");
        }
        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
            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/leet/leet.mdl")
                
fm_set_weaponmodel_ent(id)
            }
            
drop_primary_weapons(id)
            
give_item(id,"weapon_galil")
            
give_item(id,"weapon_glock18")
            
give_item(id,"weapon_flashbang")
            
set_user_health(id135)
            
set_user_armor(id45)
            
cs_set_user_bpammo(idCSW_GALIL200)
            
cs_set_user_bpammo(idCSW_GLOCK18200)
            
cs_set_user_bpammo(idCSW_FLASHBANG3)
            
client_print(idprint_chat,"You chose Coldman (Press 'H'>'About' for details')");
        }
        case 
5
        {
            if(
zp_get_user_zombie(id) || zp_get_user_survivor(id) || zp_get_user_nemesis(id)) return PLUGIN_HANDLED;
            
g_player_class[id] = 5
            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/sas/sas.mdl")
                
fm_set_weaponmodel_ent(id)
            }
            
drop_primary_weapons(id)
            
give_item(id,"weapon_tmp")
            
give_item(id,"weapon_usp")
            
give_item(id,"weapon_hegrenade")
            
set_user_health(id200)
            
set_user_armor(id30)
            
set_user_gravity(id0.9)
            
cs_set_user_bpammo(idCSW_TMP200)
            
cs_set_user_bpammo(idCSW_USP200)
            
cs_set_user_bpammo(idCSW_HEGRENADE3)
            
client_cmd(id,"say /napalm")
            
client_cmd(id,"say /napalm")
            
client_print(idprint_chat,"You chose Demolition (Press 'H'>'About' for details')")
        }
        case 
6
        {
            if(
zp_get_user_zombie(id) || zp_get_user_survivor(id) || zp_get_user_nemesis(id)) return PLUGIN_HANDLED;
            
g_player_class[id] = 6
            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/terror/terror.mdl")
                
fm_set_weaponmodel_ent(id)
            }
            
drop_primary_weapons(id)
            
give_item(id,"weapon_sg552")
            
give_item(id,"weapon_elite")
            
give_item(id,"weapon_smokegrenade")
            
give_item(id,"weapon_flashbang")
            
set_user_health(id100)
            
set_user_armor(id10)
            
set_user_gravity(id0.9)
            
cs_set_user_bpammo(idCSW_SG552200)
            
cs_set_user_bpammo(idCSW_ELITE200)
            
cs_set_user_bpammo(idCSW_SMOKEGRENADE5)
            
set_pev(idpev_effectspev(idpev_effects) | EF_BRIGHTLIGHT)
            
client_print(idprint_chat,"You chose Lightbringer (Press 'H'>'About' for details')");
        }
        case 
7
        {
            if(
zp_get_user_zombie(id) || zp_get_user_survivor(id) || zp_get_user_nemesis(id)) return PLUGIN_HANDLED;
            
g_player_class[id] = 7
            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/urban/urban.mdl")
                
fm_set_weaponmodel_ent(id)
            }
            
drop_primary_weapons(id)
            
give_item(id,"weapon_awp")
            
give_item(id,"weapon_p228")
            
give_item(id,"weapon_flashbang")
            new 
weapon_id fm_find_ent_by_owner(-1"weapon_awp"id); 
            if(
weapon_id
            { 
                
cs_set_weapon_ammo(weapon_id25); 
            }
            
set_user_health(id185)
            
set_user_armor(id60)
            
set_user_gravity(id1.05)
            
cs_set_user_bpammo(idCSW_AWP50)
            
cs_set_user_bpammo(idCSW_P228200)
            
client_print(idprint_chat,"You chose Sharpshooter (Press 'H'>'About' for details')");
        }
        case 
8:
        {
            if(
zp_get_user_zombie(id) || zp_get_user_survivor(id) || zp_get_user_nemesis(id)) return PLUGIN_HANDLED;
            
g_player_class[id] = 8
            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/spetsnaz/spetsnaz.mdl")
                
fm_set_weaponmodel_ent(id)
            }
            
drop_primary_weapons(id)
            
give_item(id,"weapon_m4a1")
            
give_item(id,"weapon_usp")
            
give_item(id,"weapon_flashbang")
            
give_item(id,"weapon_smokegrenade")
            
give_item(id,"weapon_hegrenade")
            
set_user_health(id200)
            
set_user_armor(id50)
            
cs_set_user_bpammo(idCSW_M4A1200)
            
cs_set_user_bpammo(idCSW_USP200)
            
client_print(idprint_chat,"You chose Balance (Press 'H'>'About' for details')")
        }
    }
    
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] = 0
    
}
    if (
pev_valid(g_ent_weaponmodel[id]))
    {
        
engfunc(EngFunc_RemoveEntityg_ent_weaponmodel[id])
        
g_ent_weaponmodel[id] = 0
    
}
}

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 

    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)
        }
    }

Someone please response this to me, i already post for help here: https://forums.alliedmods.net/showth...133055&page=21
and here: https://forums.alliedmods.net/showthread.php?t=262709
This is very important to me, thankyou before

Last edited by NewKidz; 05-10-2015 at 18:31.
NewKidz is offline
bakir123
Senior Member
Join Date: Jan 2015
Location: Palestine, Hebron
Old 05-11-2015 , 07:39   Re: [ZP] List of Modified + Requested Plugins
Reply With Quote #784

i use it jetpack and i want to drop in the hole and drop with sniper and with surviovr
and who didn`t know what i meaning with drop in the hole::
is mean i can't get rid of jetpack with press G near wall,Gap and hole
and if someone infection me will drop auto
look at photo:
https://fbcdn-sphotos-h-a.akamaihd.n...8fde40a9481053

idon't want jetpack in this place, i don't want to appear the jetpack in this place
PHP Code:
#include <amxmodx>
#include <fun>
#include <engine>
#include <fakemeta>
#include <hamsandwich>
#include <zombie_plague_advance>
#include <colorchat>

// HUD messages
const Float:HUD_EVENT_X = -1.0
const Float:HUD_EVENT_Y 0.17
const Float:HUD_INFECT_X 0.05
const Float:HUD_INFECT_Y 0.45
const Float:HUD_SPECT_X = -1.0
const Float:HUD_SPECT_Y 0.8
const Float:HUD_STATS_X 0.02
const Float:HUD_STATS_Y 0.9

#pragma tabsize 0

#define PLUGINNAME        "[ZP] Extra: Jetpack+Bazooka"
#define VERSION            "1.0"
#define AUTHOR            "HCS"

#define MAX_PLAYERS    32

#define ACCESS_LEVEL    ADMIN_LEVEL_A

#define TE_EXPLOSION    3
#define TE_BEAMFOLLOW    22
#define TE_BEAMCYLINDER    21

#define JETPACK_COST  30 // set how may ammopacks the Jatpack+Rocket cost

new ROCKET_MDL[64] = "models/rpgrocket.mdl"
new ROCKET_SOUND[64] = "zombie_plague/rocket_fire.wav"
new getrocket[64] = "items/9mmclip2.wav"

new bool:fly[33] = false
new bool:rocket[33] = false
new bool:rksound[33] = false
new bool:shot[33] = false

new frame[33];

new const 
Float:g_flCoords[][] = 
{
    {
0.500.40},
    {
0.560.44},
    {
0.600.50},
    {
0.560.56},
    {
0.500.60},
    {
0.440.56},
    {
0.400.50},
    {
0.440.44}
}

new 
g_iPlayerPos[MAX_PLAYERS+1]

new 
Float:gltime 0.0
new Float:last_Rocket[33] = 0.0
new Float:jp_cal[33] = 0.0
new Float:jp_soun[33] = 0.0
new flameexplosiontrailwhite
new g_flyEnergy[33], hasjet[33]
new 
cvar_jetpackcvar_jetpackSpeedcvar_RocketDmgcvar_Dmg_rangecvar_jetpackUpSpeedcvar_jetpackAcrate ,cvar_RocketDelaycvar_RocketSpeedcvar_fly_max_engerycvar_fly_engerycvar_regain_energyg_item_jetpackcvar_cal_timecvar_oneround


public plugin_init() {
    
register_plugin(PLUGINNAMEVERSIONAUTHOR)
    
    
g_item_jetpack zp_register_extra_item("Jetpack + Bazooka"JETPACK_COSTZP_TEAM_HUMAN)
    
register_clcmd("drop","cmdDrop")
        
    new 
ver[64]
    
format(ver,63,"%s v%s",PLUGINNAME,VERSION)
    
register_cvar("zp_jp_version",ver,FCVAR_SERVER)    
    
    
cvar_jetpack register_cvar("zp_jetpack""2")
    
    
cvar_jetpackSpeed=register_cvar("zp_jp_forward_speed","350.0")
    
cvar_jetpackUpSpeed=register_cvar("zp_jp_up_speed","35.0")
    
cvar_jetpackAcrate=register_cvar("zp_jp_accelerate","100.0")
    
    
cvar_RocketDelay=register_cvar("zp_jp_rocket_delay","12.0")
    
cvar_RocketSpeed=register_cvar("zp_jp_rocket_speed","1700")
    
cvar_RocketDmg=register_cvar("zp_jp_rocket_damage","950")
    
cvar_Dmg_range=register_cvar("zp_jp_damage_radius","600")    
    
    
cvar_fly_max_engery register_cvar("zp_jp_max_engery""100")
    
cvar_fly_engery register_cvar("zp_jp_engery""10")
    
cvar_regain_energy register_cvar("zp_jp_regain_energy""3")
    
cvar_cal_time register_cvar("zp_jp_energy_cal""1.0")
    
cvar_oneround register_cvar("zp_jp_oneround""0")

    
register_event("CurWeapon""check_models""be")
    
register_event("DeathMsg""player_die""a")
    
register_event("HLTV""event_round_start""a""1=0""2=0")
    
    
register_forward(FM_StartFrame"fm_startFrame")
    
register_forward(FM_PlayerPreThink"fm_prethink")
    
register_forward(FM_EmitSound"emitsound")


public 
plugin_precache() {
    
precache_model("models/p_egon.mdl")
    
precache_model("models/v_egon.mdl")
    
precache_model("models/w_egon.mdl")
    
precache_sound("jetpack.wav")
    
precache_sound("jp_blow.wav")
    
    
precache_model(ROCKET_MDL)
    
precache_sound(ROCKET_SOUND)
    
precache_sound(getrocket)
    
    
explosion precache_model("sprites/zerogxplode.spr")
    
trail precache_model("sprites/smoke.spr")
    
flame precache_model("sprites/xfireball3.spr")
    
white precache_model("sprites/white.spr")
}

public 
client_putinserver(id) {
    
fly[id] = false
    rocket
[id] = false
    hasjet
[id] = 0
    g_flyEnergy
[id] = 0
}

public 
client_disconnect(id) {
    
fly[id] = false
    rocket
[id] = false
    hasjet
[id] = 0
    g_flyEnergy
[id] = 0
}

public 
event_round_start()
{
    
remove_jetpacks();
    if (
get_pcvar_num(cvar_oneround) == 1) {
        for (new 
idid <= 32id++) hasjet[id] = 0g_flyEnergy[id] = 0fly[id] = false;
    }
}

public 
fm_startFrame(){ 

    
gltime get_gametime() 
    static 
id 
    
for (id 1id <= 32id++) 
    { 
       
frame[id]++;

    } 
}

public 
fm_prethink(id) {

    if(
is_user_alive(id))
       
jp_forward(id
}

public 
jp_forward(player) {
    
    if (!
is_user_alive(player) && (zp_get_user_zombie(player) || zp_get_user_nemesis(player) || zp_get_user_survivor(player)))
        return 
FMRES_IGNORED        
        
    
if (!hasjet[player])
        return 
FMRES_IGNORED
    
    
if(jp_cal[player] < gltime){
        
jp_energy(player); jp_cal[player] = gltime get_pcvar_float(cvar_cal_time)
    }
    
    
check_rocket(player)
    
    new 
clip,ammo
    
new wpnid get_user_weapon(player,clip,ammo)
    if (
wpnid == CSW_KNIFE || wpnid != CSW_KNIFE){
        if(
get_pcvar_num(cvar_jetpack) == 1){
            if(!(
pev(playerpev_flags)&FL_ONGROUND) && pev(player,pev_button)&IN_ATTACK){
                if((
g_flyEnergy[player] > get_pcvar_num(cvar_fly_max_engery)*0.3) && (g_flyEnergy[player] <= get_pcvar_num(cvar_fly_max_engery))){
                    if(
jp_soun[player] < gltime){
                        
emit_sound(player,CHAN_ITEM,"jetpack.wav",1.0,ATTN_NORM,1,PITCH_HIGH)
                        
jp_soun[player] = gltime 1.0
                    
}
                }            
                else if((
g_flyEnergy[player] > 0) && (g_flyEnergy[player] < get_pcvar_num(cvar_fly_max_engery)*0.3)){
                    if(
jp_soun[player] < gltime){
                            
emit_sound(player,CHAN_ITEM,"jp_blow.wav",1.0,ATTN_NORM,1,PITCH_HIGH)
                            
jp_soun[player] = gltime 1.0
                    
}
                }
            }
            
human_fly(player)
            
attack(player)    
        }
        if((
pev(player,pev_button)&IN_ATTACK2)){
                
attack2(player)    
            }    
    }
    if((
get_pcvar_num(cvar_jetpack) == && !(pev(playerpev_flags)&FL_ONGROUND)) && (pev(player,pev_button)&IN_JUMP && pev(player,pev_button)&IN_DUCK)){            
        if((
g_flyEnergy[player] > get_pcvar_num(cvar_fly_max_engery)*0.3) && (g_flyEnergy[player] <= get_pcvar_num(cvar_fly_max_engery))){
            if(
jp_soun[player] < gltime){
                
emit_sound(player,CHAN_ITEM,"jetpack.wav",1.0,ATTN_NORM,1,PITCH_HIGH)
                
jp_soun[player] = gltime 1.0
            
}
        }                    
        else if((
g_flyEnergy[player] > 0) && (g_flyEnergy[player] < get_pcvar_num(cvar_fly_max_engery)*0.3)){
            if(
jp_soun[player] < gltime){
                
emit_sound(player,CHAN_ITEM,"jp_blow.wav",1.0,ATTN_NORM,1,PITCH_HIGH)
                
jp_soun[player] = gltime 1.0
            
}
        }
        
human_fly(player)
        
attack(player)
    }    
    
    return 
FMRES_IGNORED
}

public 
jp_energy(player) {
            
        if (!(
pev(playerpev_flags)&FL_ONGROUND) && pev(player,pev_button)&IN_ATTACK)    
        {
            
// Get our current velocity        
            
new clip,ammo
            
new wpnid get_user_weapon(player,clip,ammo)
            if (
wpnid == CSW_KNIFE
            {
            
// flying
            
if(g_flyEnergy[player] > get_pcvar_num(cvar_fly_max_engery)*0.09)
                
g_flyEnergy[player] = g_flyEnergy[player] - get_pcvar_num(cvar_fly_engery);     // Increase distance counter        
            
}
        }
        else if ((
get_pcvar_num(cvar_jetpack) == && !(pev(playerpev_flags)&FL_ONGROUND)) && (pev(player,pev_button)&IN_JUMP && pev(player,pev_button)&IN_DUCK))
        {
            if(
g_flyEnergy[player] > get_pcvar_num(cvar_fly_max_engery)*0.09)
                
g_flyEnergy[player] = g_flyEnergy[player] - get_pcvar_num(cvar_fly_engery);     // Increase distance counter    
        
}
        
// Walking/Runnig
        
if (pev(playerpev_flags) & FL_ONGROUND)    
            
g_flyEnergy[player] = g_flyEnergy[player] + get_pcvar_num(cvar_regain_energy);// Decrease distance counter
}

public 
attack(player) {
//code snippa from TS_Jetpack 1.0 - Jetpack plugin for The Specialists.
//http://forums.alliedmods.net/showthread.php?t=55709&highlight=jetpack
//By: Bad_Bud
    
if(fly[player])
    {    
        static 
Float:JetpackData[3]
        
pev(player,pev_velocity,JetpackData)
                    
        new 
fOrigin[3],Float:Aim[3]
        
VelocityByAim(player10Aim)
        
get_user_origin(player,fOrigin)
        
fOrigin[0] -= floatround(Aim[0])
        
fOrigin[1] -= floatround(Aim[1])
        
fOrigin[2] -= floatround(Aim[2])
        
        
        if((
pev(player,pev_button)&IN_JUMP && pev(player,pev_button)&IN_DUCK) && !(pev(playerpev_flags) & FL_ONGROUND))
            {
                
                
message_begin(MSG_ALL,SVC_TEMPENTITY)
                
write_byte(17
                
write_coord(fOrigin[0])
                
write_coord(fOrigin[1])
                
write_coord(fOrigin[2])
                
write_short(flame)
                
write_byte(9)
                
write_byte(180)
                
message_end()    
                
                static 
Float:Speed
                Speed
=floatsqroot(JetpackData[0]*JetpackData[0]+JetpackData[1]*JetpackData[1])
                    
                if(
Speed!=0.0)//Makes players only lay down if their speed isn't 0; if they are thrusting forward.
                
{
                    
set_pev(player,EV_INT_movetype,6)
                    
set_pev(playerpev_frame0.9)
                }
                    
                if(
Speed<get_pcvar_float(cvar_jetpackSpeed))
                    
Speed+=get_pcvar_float(cvar_jetpackAcrate)
                        
                static 
Float:JetpackData2[3]
                
pev(player,pev_angles,JetpackData2)
                
JetpackData2[2]=0.0//Remove the Z value/
                    
                
angle_vector(JetpackData2,ANGLEVECTOR_FORWARD,JetpackData2)
                
JetpackData2[0]*=Speed
                JetpackData2
[1]*=Speed
                    
                JetpackData
[0]=JetpackData2[0]
                
JetpackData[1]=JetpackData2[1]
            }
            
        if(
JetpackData[2]<get_pcvar_float(cvar_jetpackSpeed)&&JetpackData[2]>0.0)//Jetpacks get more power on the way down -- it helps landing.
                
JetpackData[2]+=get_pcvar_float(cvar_jetpackUpSpeed)
            else if(
JetpackData[2]<0.0)
                
JetpackData[2]+=(get_pcvar_float(cvar_jetpackUpSpeed)*1.15)
                    
        
set_pev(player,pev_velocity,JetpackData)
    }
}

public 
attack2(player) {
        
    if (
rocket[player])
    {
        
        new 
rocket create_entity("info_target")
        if(
rocket == 0) return PLUGIN_CONTINUE
        
        entity_set_string
(rocketEV_SZ_classname"zp_jp_rocket")
        
entity_set_model(rocketROCKET_MDL)
        
        
entity_set_size(rocketFloat:{0.00.00.0}, Float:{0.00.00.0})
        
entity_set_int(rocketEV_INT_movetypeMOVETYPE_FLY)
        
entity_set_int(rocketEV_INT_solidSOLID_BBOX)
        
        new 
Float:vSrc[3]
        
entity_get_vector(playerEV_VEC_originvSrc)
        
        new 
Float:Aim[3],Float:origin[3]
        
VelocityByAim(player64Aim)
        
entity_get_vector(player,EV_VEC_origin,origin)
        
        
vSrc[0] += Aim[0]
        
vSrc[1] += Aim[1]
        
entity_set_origin(rocketvSrc)
        
        new 
Float:velocity[3], Float:angles[3], fOrigin[3]
        
VelocityByAim(playerget_pcvar_num(cvar_RocketSpeed), velocity)
        
        
entity_set_vector(rocketEV_VEC_velocityvelocity)
        
vector_to_angle(velocityangles)
        
entity_set_vector(rocketEV_VEC_anglesangles)
        
entity_set_edict(rocket,EV_ENT_owner,player)
        
entity_set_float(rocketEV_FL_takedamage1.0)
        
        
set_pev(rocketpev_effectsEF_LIGHT)

                
message_begin(MSG_BROADCASTSVC_TEMPENTITY)
        
write_byte(TE_BEAMFOLLOW)
        
write_short(rocket)
        
write_short(trail)
        
write_byte(25)
        
write_byte(8)
        
write_byte(255)
        
write_byte(255)
        
write_byte(255)
        
write_byte(200)
        
message_end()

                
message_beginMSG_BROADCASTSVC_TEMPENTITY );
                
write_byteTE_BEAMTORUS );
                
write_coordfOrigin[0]); // Start X
                
write_coordfOrigin[1] ); // Start Y
                
write_coordfOrigin[2]); // Start Z
                
write_coordfOrigin[0] ); // End X
                
write_coordfOrigin[1] ); // End Y
                
write_coordfOrigin[2] + 10); // End Z
                
write_shortflame ); // sprite
                
write_byte); // Starting frame
                
write_byte0  ); // framerate * 0.1
                
write_byte); // life * 0.1
                
write_byte50 ); // width
                
write_byte); // noise
                
write_byte); // color r,g,b
                
write_byte255 ); // color r,g,b
                
write_byte); // color r,g,b
                
write_byte255 ); // brightness
                
write_byte); // scroll speed
                
message_end();

        
emit_sound(rocketCHAN_WEAPONROCKET_SOUND1.0ATTN_NORM0PITCH_NORM)
        
        
shot[player] = true
        last_Rocket
[player] = gltime get_pcvar_num(cvar_RocketDelay)
    }
    return 
PLUGIN_CONTINUE
}

public 
check_models(id) {

    if (
zp_get_user_zombie(id) || zp_get_user_nemesis(id) || zp_get_user_survivor(id))
        return 
FMRES_IGNORED
    
    
if(hasjet[id]) {
        new 
clip,ammo
        
new wpnid get_user_weapon(id,clip,ammo)
        
        if ( 
wpnid == CSW_KNIFE ) {
            
switchmodel(id)
        }
        return 
PLUGIN_CONTINUE
    
}
    return 
PLUGIN_CONTINUE
}

public 
switchmodel(id) {
    
entity_set_string(id,EV_SZ_viewmodel,"models/v_egon.mdl")
    
entity_set_string(id,EV_SZ_weaponmodel,"models/p_egon.mdl")
}

public 
remove_jetpacks() {
    new 
nextitem  find_ent_by_class(-1,"zp_jp_jetpack")
    while(
nextitem) {
        
remove_entity(nextitem)
        
nextitem find_ent_by_class(-1,"zp_jp_jetpack")
    }
    return 
PLUGIN_CONTINUE
}

public 
emitsound(entitychannel, const sample[]) {
    if(
is_user_alive(entity)) {
        new 
clip,ammo
        
new weapon get_user_weapon(entity,clip,ammo)
        
        if(
hasjet[entity] && weapon == CSW_KNIFE) {
            if(
equal(sample,"weapons/knife_slash1.wav")) return FMRES_SUPERCEDE
            
if(equal(sample,"weapons/knife_slash2.wav")) return FMRES_SUPERCEDE
            
            
if(equal(sample,"weapons/knife_deploy1.wav")) return FMRES_SUPERCEDE
            
if(equal(sample,"weapons/knife_hitwall1.wav")) return FMRES_SUPERCEDE
            
            
if(equal(sample,"weapons/knife_hit1.wav")) return FMRES_SUPERCEDE
            
if(equal(sample,"weapons/knife_hit2.wav")) return FMRES_SUPERCEDE
            
if(equal(sample,"weapons/knife_hit3.wav")) return FMRES_SUPERCEDE
            
if(equal(sample,"weapons/knife_hit4.wav")) return FMRES_SUPERCEDE
            
            
if(equal(sample,"weapons/knife_stab.wav")) return FMRES_SUPERCEDE
        
}
    }
    return 
FMRES_IGNORED
}

public 
human_fly(player) {
    
    if (
g_flyEnergy[player] <= get_pcvar_num(cvar_fly_max_engery)*0.1)
    {
        
jp_off(player);    
    }
    if (
g_flyEnergy[player] > get_pcvar_num(cvar_fly_max_engery)*0.1)
    {
        
jp_on(player);
    }
}

public 
jp_on(player) {

    
fly[player] = true
    
}

public 
jp_off(player) {

    
fly[player] = false
    
}

public 
check_rocket(player) {
        
    if (
last_Rocket[player] > gltime)
    {    
        
rk_forbidden(player)
        
rksound[player] = true
    
}
    else
    {    

        if (
shot[player])
        {
            
rksound[player] = false
            shot
[player] = false
        
}
        
rk_sound(player)
        
rk_allow(player)
    }
    
}

public 
rk_allow(player) {
        
    
rocket[player] = true
}

public 
rk_forbidden(player) {

    
rocket[player] = false
    
}

public 
rk_sound(player) {

    if (!
rksound[player])
    {
        
engfunc(EngFunc_EmitSoundplayerCHAN_WEAPONgetrocket1.0ATTN_NORM0PITCH_NORM)
        
client_print(playerprint_center"")
        
rksound[player] = true
    
}
    else if (
rksound[player])
    {
        
    }
    
}

public 
player_die() {
    
    new 
id read_data(2)
    if(
hasjet[id]) {
        
drop_jetpack(id)
        
hasjet[id] = 0
        rocket
[id] = false
        g_flyEnergy
[id] = 0
    
}
    
    return 
PLUGIN_CONTINUE
}

public 
cmdDrop(id) {

    if(
hasjet[id]) {
        new 
clip,ammo
        
new weapon get_user_weapon(id,clip,ammo)
        if(
weapon == CSW_KNIFE) {
            
drop_jetpack(id)
            if(!
zp_get_user_zombie(id)){
                
entity_set_string(id,EV_SZ_viewmodel,"models/v_knife.mdl")
                
entity_set_string(id,EV_SZ_weaponmodel,"models/p_knife.mdl")
                }
            return 
PLUGIN_HANDLED
        
}
    }
    return 
PLUGIN_CONTINUE
}

public 
drop_jetpack(player) {
    if(
hasjet[player]) {
        new 
Float:Aim[3],Float:origin[3]
        
VelocityByAim(player64Aim)
        
entity_get_vector(player,EV_VEC_origin,origin)
        
        
origin[0] += Aim[0]
        
origin[1] += Aim[1]
        
        new 
jetpack create_entity("info_target")
        
entity_set_string(jetpack,EV_SZ_classname,"zp_jp_jetpack")
        
entity_set_model(jetpack,"models/p_egon.mdl")    
        
        
entity_set_size(jetpack,Float:{-16.0,-16.0,-16.0},Float:{16.0,16.0,16.0})
        
entity_set_int(jetpack,EV_INT_solid,1)
        
        
entity_set_int(jetpack,EV_INT_movetype,6)
        
        
entity_set_vector(jetpack,EV_VEC_origin,origin)        
        
        
hasjet[player] = 0
        rocket
[player] = false
    
}    
}

public 
pfn_touch(ptrptd) { 
    if(
is_valid_ent(ptr)) { 
        new 
classname[32
        
entity_get_string(ptr,EV_SZ_classname,classname,31
         
        if(
equal(classname"zp_jp_jetpack")) { 
            if(
is_valid_ent(ptd)) { 
                new 
id ptd 
                
if(id && id 34) { 
                    if(!
hasjet[id] && !zp_get_user_zombie(id) && is_user_alive(id)) { 
                         
                        
hasjet[id] = 
                        g_flyEnergy
[id] = get_pcvar_num(cvar_fly_engery
                        
rocket[id] = true 
                        client_cmd
(id,"spk items/gunpickup2.wav"
                        
engclient_cmd(id,"weapon_knife"
                        
switchmodel(id
                        
remove_entity(ptr)
                    }
                }
            }
        }else if(
equal(classname"zp_jp_rocket")) {
            new 
Float:fOrigin[3]
            new 
iOrigin[3]
            
entity_get_vector(ptrEV_VEC_originfOrigin)
            
FVecIVec(fOrigin,iOrigin)
            
jp_radius_damage(ptr)
                
            
message_begin(MSG_BROADCAST,SVC_TEMPENTITY,iOrigin)
            
write_byte(TE_EXPLOSION)
            
write_coord(iOrigin[0])
            
write_coord(iOrigin[1])
            
write_coord(iOrigin[2])
            
write_short(explosion)
            
write_byte(55)
            
write_byte(15)
            
write_byte(0)
            
message_end()

                        
message_begin(MSG_BROADCAST,SVC_TEMPENTITY,iOrigin)
            
write_byte(TE_EXPLOSION)
            
write_coord(iOrigin[0])
            
write_coord(iOrigin[1])
            
write_coord(iOrigin[2])
            
write_short(explosion)
            
write_byte(65)
            
write_byte(15)
            
write_byte(0)
            
message_end()

                        
message_begin(MSG_BROADCAST,SVC_TEMPENTITY,iOrigin)
            
write_byte(TE_EXPLOSION)
            
write_coord(iOrigin[0])
            
write_coord(iOrigin[1])
            
write_coord(iOrigin[2])
            
write_short(explosion)
            
write_byte(85)
            
write_byte(15)
            
write_byte(0)
            
message_end()
                
            
message_begin(MSG_ALL,SVC_TEMPENTITY,iOrigin)
            
write_byte(TE_BEAMCYLINDER)
            
write_coord(iOrigin[0])
            
write_coord(iOrigin[1])
            
write_coord(iOrigin[2])
            
write_coord(iOrigin[0])
            
write_coord(iOrigin[1])
            
write_coord(iOrigin[2]+650)
            
write_short(white)
            
write_byte(0)
            
write_byte(1)
            
write_byte(6)
            
write_byte(100)
            
write_byte(1)
            
write_byte(255)
            
write_byte(255)
            
write_byte(255)
            
write_byte(200)
            
write_byte(0)
            
message_end()

                        
message_begin(MSG_ALL,SVC_TEMPENTITY,iOrigin)
            
write_byte(TE_BEAMCYLINDER)
            
write_coord(iOrigin[0])
            
write_coord(iOrigin[1])
            
write_coord(iOrigin[2])
            
write_coord(iOrigin[0])
            
write_coord(iOrigin[1])
            
write_coord(iOrigin[2]+650)
            
write_short(white)
            
write_byte(0)
            
write_byte(1)
            
write_byte(6)
            
write_byte(100)
            
write_byte(1)
            
write_byte(255)
            
write_byte(255)
            
write_byte(255)
            
write_byte(200)
            
write_byte(0)
            
message_end()

                        
message_begin(MSG_ALL,SVC_TEMPENTITY,iOrigin)
            
write_byte(TE_BEAMCYLINDER)
            
write_coord(iOrigin[0])
            
write_coord(iOrigin[1])
            
write_coord(iOrigin[2])
            
write_coord(iOrigin[0])
            
write_coord(iOrigin[1])
            
write_coord(iOrigin[2]+650)
            
write_short(white)
            
write_byte(0)
            
write_byte(1)
            
write_byte(6)
            
write_byte(100)
            
write_byte(1)
            
write_byte(255)
            
write_byte(255)
            
write_byte(255)
            
write_byte(200)
            
write_byte(0)
            
message_end()
            
            if(
is_valid_ent(ptd)) {
                new 
classname2[32]
                
entity_get_string(ptd,EV_SZ_classname,classname2,31)
                
                if(
equal(classname2,"func_breakable"))
                    
force_use(ptr,ptd)
            }
            
            
remove_entity(ptr)
        }
    }
    return 
PLUGIN_CONTINUE
}

public 
zp_user_infected_pre(playerinfector){
    
    
cmdDrop(player);
    
hasjet[player] = 0;
    
g_flyEnergy[player] = 0;
    
rocket[player] = false;
}

public 
zp_extra_item_selected(playeritemid){
    

    new 
clip,ammo
    
new weapon get_user_weapon(player,clip,ammo)
         new 
name[32]  
         
get_user_name(playername31)  
        
    if (
itemid == g_item_jetpack)
    {
            
set_hudmessage(25516825HUD_SPECT_XHUD_SPECT_Y10.05.01.01.0, -1
                
show_hudmessage(player"%s bought a Jetpack!!"name)
        
ColorChat(playerGREY"^4[ZP]^1 Press ^3-CTRL+SPACE-^1 to fly!")
        
ColorChat(playerGREY"^4[ZP]^1 Press ^3-RIGHT CLICK-^1 to shoot!")
        
hasjet[player] = 1
        g_flyEnergy
[player] = get_pcvar_num(cvar_fly_max_engery)
        
rocket[player] = true
        client_cmd
(player,"spk items/gunpickup2.wav")
        if(
weapon == CSW_KNIFE){
            
switchmodel(player)
        }
        else
        {
            
engclient_cmd(player,"weapon_knife"),switchmodel(player)
        }
    }
}


stock jp_radius_damage(entity) {
    new 
id entity_get_edict(entity,EV_ENT_owner)
    new 
packs,name[32];
    for(new 
133i++) {
        if(
is_user_alive(i)) {
            new 
dist floatround(entity_range(entity,i))
            
            if(
dist <= get_pcvar_num(cvar_Dmg_range)) {
                new 
hp get_user_health(i)
                new 
Float:damage get_pcvar_float(cvar_RocketDmg)-(get_pcvar_float(cvar_RocketDmg)/get_pcvar_float(cvar_Dmg_range))*float(dist)
                
                new 
Origin[3]
                
get_user_origin(i,Origin)
                new 
iPos = ++g_iPlayerPos[id]
                if( 
iPos == sizeof(g_flCoords) )
            {
                
iPos g_iPlayerPos[id] = 0
            
}
                
                if(
zp_get_user_zombie(id) != zp_get_user_zombie(i)) {
                        
get_user_name(i,name,31);
                        if(
damage>=800)
                            
packs 2;
                        else
                            
packs 1;
                            
                        if(
hp damage)
                        {
                            
                            
zp_set_user_ammo_packs idzp_get_user_ammo_packs id ) + packs );
                            
jp_take_damage(i,floatround(damage),Origin,DMG_BLAST)
                            
ColorChat(idGREY"^4[ZP]^1 Damage to ^4%s^1 ::  ^4%i^1 damage"namefloatround(damage))

                            
set_hudmessage04080Float:g_flCoords[iPos][0], Float:g_flCoords[iPos][1], 00.12.50.020.02, -)
                            
show_hudmessageid"%i"floatround(damage) )
                            
                        }
                        else
                        {
                            
log_kill(id,i,"Jetpack Rocket",0)
                            
zp_set_user_ammo_packs idzp_get_user_ammo_packs id ) + );
                                
                        }
                    }
            }
        }
    }
}

stock log_kill(killervictimweapon[], headshot)
{
// code from MeRcyLeZZ
    
set_msg_block(get_user_msgid("DeathMsg"), BLOCK_SET)
    
ExecuteHamB(Ham_Killedvictimkiller2// set last param to 2 if you want victim to gib
    
set_msg_block(get_user_msgid("DeathMsg"), BLOCK_NOT)

    
    
message_begin(MSG_BROADCASTget_user_msgid("DeathMsg"))
    
write_byte(killer)
    
write_byte(victim)
    
write_byte(headshot)
    
write_string(weapon)
    
message_end()
//
    
    
if(get_user_team(killer)!=get_user_team(victim))
        
set_user_frags(killer,get_user_frags(killer) +1)
    if(
get_user_team(killer)==get_user_team(victim))
        
set_user_frags(killer,get_user_frags(killer) -1)
        
    new 
kname[32], vname[32], kauthid[32], vauthid[32], kteam[10], vteam[10]

    
get_user_name(killerkname31)
    
get_user_team(killerkteam9)
    
get_user_authid(killerkauthid31)
 
    
get_user_name(victimvname31)
    
get_user_team(victimvteam9)
    
get_user_authid(victimvauthid31)
        
    
log_message("^"%s<%d><%s><%s>^" killed ^"%s<%d><%s><%s>^" with ^"%s^""
    
knameget_user_userid(killer), kauthidkteam
     
vnameget_user_userid(victim), vauthidvteamweapon)

     return 
PLUGIN_CONTINUE;
}

stock jp_take_damage(victim,damage,origin[3],bit) {
    
message_begin(MSG_ONE,get_user_msgid("Damage"),{0,0,0},victim)
    
write_byte(21)
    
write_byte(20)
    
write_long(bit)
    
write_coord(origin[0])
    
write_coord(origin[1])
    
write_coord(origin[2])
    
message_end()
    
    
set_user_health(victim,get_user_health(victim)-damage)
        
client_cmd(victim,"spk fvox/flatline.wav")
        
msg_screen_fade(victim125500115)
        
msg_screen_shakevictim255<<1010<<10255<<10 );
}

stock msg_screen_fade(idholdtimergba

        
message_begin(MSG_ONE_UNRELIABLEget_user_msgid("ScreenFade"), {000}, id
        
write_short(seconds_to_units(holdtime)) 
        
write_short(seconds_to_units(holdtime)) 
        
write_short(0
        
write_byte(r
        
write_byte(g
        
write_byte(b
        
write_byte(a
        
message_end()


stock seconds_to_units(time) { 
        return ((
<< 10) * (time)) 
}

public 
msg_screen_shakeid,  Amplitud ,  DuracionFrecuencia  ){
 
    
message_begin(MSG_ONE_UNRELIABLEget_user_msgid("ScreenShake"), {0,0,0}, id); 
    
write_short(255<<10);
    
write_short(10<<10);
    
write_short(255<<10);
    
message_end() 
 

bakir123 is offline
Send a message via Skype™ to bakir123
zmd94
Veteran Member
Join Date: Nov 2013
Location: Malaysia (9w2zow).
Old 05-11-2015 , 12:15   Re: [ZP] List of Modified + Requested Plugins
Reply With Quote #785

LuboRusev, which ZP version do you use?

Mr. Pro, it is not possible to detect player that pressing "V" button. Next, for regenerate code, just see below plugin:

https://forums.alliedmods.net/showpo...&postcount=496

Next, to set the cooldown for that zombie ability, just see below code:

https://forums.alliedmods.net/showpo...&postcount=406

Lastly, set_user_godmode(id, 0) will prevent player from getting knock back also.

NewKidz, just try to change below:
Code:
public fwHamPlayerSpawnPost(id)
{
    if(!is_user_bot(id))
        set_task(get_cvar_float("zp_delay")+5.0, "ClCmdSelectModel",id)
}
-->
Code:
public fwHamPlayerSpawnPost(id)
{
    set_task(get_cvar_float("zp_delay")+5.0, "ClCmdSelectModel",id)
}
Bakir123, so you just want to completely remove it?

Last edited by zmd94; 05-11-2015 at 12:16.
zmd94 is offline
bakir123
Senior Member
Join Date: Jan 2015
Location: Palestine, Hebron
Old 05-11-2015 , 12:33   Re: [ZP] List of Modified + Requested Plugins
Reply With Quote #786

Well, I mean the player can't get rid of jetpack like that places , look at photo
And if player was in there place and press G its will be like knife ( never can't get rid of)
And drop auto with sniper and surviover
And I can give you more information about jetpack to understand me
Yes, I want to remove it

Last edited by bakir123; 05-11-2015 at 12:52.
bakir123 is offline
Send a message via Skype™ to bakir123
NewKidz
Member
Join Date: Oct 2010
Old 05-11-2015 , 17:54   Re: [ZP] List of Modified + Requested Plugins
Reply With Quote #787

Quote:
Originally Posted by zmd94 View Post
NewKidz, just try to change below:
Code:
public fwHamPlayerSpawnPost(id)
{
    if(!is_user_bot(id))
        set_task(get_cvar_float("zp_delay")+5.0, "ClCmdSelectModel",id)
}
-->
Code:
public fwHamPlayerSpawnPost(id)
{
    set_task(get_cvar_float("zp_delay")+5.0, "ClCmdSelectModel",id)
}
Okay thankyou sir, I will test it tomorrow.
I will tell u it work or not

Last edited by NewKidz; 05-12-2015 at 14:12.
NewKidz is offline
zmd94
Veteran Member
Join Date: Nov 2013
Location: Malaysia (9w2zow).
Old 05-11-2015 , 20:15   Re: [ZP] List of Modified + Requested Plugins
Reply With Quote #788

Bakir123, I recommend you to use below plugin:

https://forums.alliedmods.net/showthread.php?t=246124

NewKidz, alright.
zmd94 is offline
bakir123
Senior Member
Join Date: Jan 2015
Location: Palestine, Hebron
Old 05-11-2015 , 21:36   Re: [ZP] List of Modified + Requested Plugins
Reply With Quote #789

Zmd94
Sorry, I can't use jetpack ykomo because, is not work at my plague (A1.6.1)
Jetpack ykomo just for 4.3 and 5
Please help me zmd94 , and I like my jetpack
Please help
My request is a simple
I can't use another jetpack
I hope to help me
bakir123 is offline
Send a message via Skype™ to bakir123
NewKidz
Member
Join Date: Oct 2010
Old 05-12-2015 , 06:08   Re: [ZP] List of Modified + Requested Plugins
Reply With Quote #790

Zmd94,
I edited the sma following your instruction and it compiled without any problem but bots still won't choose the class._.
Could you test it sir? So you can know what's the problem. Sorry for bother you, but this is very important to me
NewKidz is offline
Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 13:15.


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