Raised This Month: $51 Target: $400
 12% 

Request change classes zm


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
cristi223
Junior Member
Join Date: Oct 2014
Old 01-26-2015 , 12:59   Request change classes zm
Reply With Quote #1

Hi all.
I would miss if I can remove xp from these classes are no xp .
Thanks.
1.
PHP Code:
*======================================================================================
    
    -------------------------------
    -*- [
ZPZombie Class: Crow -*-
    -------------------------------
    
    ~~~~~~~~~~~~~~~
    - 
Description -
    ~~~~~~~~~~~~~~~
    
    
You can adjust fligth speedpress jump to fly and hold jump
    
you remain flying until you either touch ground or hold jumpHope you all like it.
    
======================================================================================*/

#include < amxmodx >
#include < engine >
#include < fakemeta >
#include < zombieplague >
#include < Licence >

#define PLUGIN "[ZP] Zombie Class Crow"
#define VERSION "1.0"

new g_zclass_crowg_maxplayerscvar_fly_speedcvar_crow_glowcvar_float,
cvar_glow_thicknesscvar_glow_color[3], thicknessFloat:g_flPlayerGravity33 ], 
bool:g_can_fly33 ], RGBNRNGNB;

// Crow Zombie Atributes
new const zclass_name[ ] = "Crow Zombie"// name
new const zclass_info[ ] = "Can fly"// description
new const zclass_model[ ] = "zmland_crow_beta"// model
new const zclass_clawmodel[ ] = "v_zmland_crow_claws1.mdl"// claw model
const zclass_health 1000// health
const zclass_speed 257// speed
const Float:zclass_gravity 0.57// gravity
const Float:zclass_knockback 1.1// knockback
const zclass_level 5

public plugin_init( )
{
    
Licence( );

    
register_pluginPLUGINVERSION"Cristi. C" );

    
register_event"HLTV""event_round_start""a""1=0""2=0" );
    
register_event"DeathMsg""fw_PlayerKilled""a" );
    
    
g_maxplayers get_maxplayers( );
    
    
cvar_fly_speed register_cvar"zp_crow_fly_speed""257" );
    
cvar_crow_glow register_cvar"zp_crow_glow""1" );
    
cvar_float register_cvar"zp_crow_float""1" );

    
cvar_glow_color] = register_cvar"zp_crow_glow_R""0" );
    
cvar_glow_color] = register_cvar"zp_crow_glow_G""0" );
    
cvar_glow_color] = register_cvar"zp_crow_glow_B""255" );
    
cvar_glow_thickness register_cvar"zp_crow_glow_thickness""15" );
    
    
get_pcvar_numcvar_glow_color] );
    
get_pcvar_numcvar_glow_color] );
    
get_pcvar_numcvar_glow_color] );
    
    
thickness get_pcvar_numcvar_glow_thickness ); 
}

public 
plugin_precache( )
    
g_zclass_crow zp_register_zombie_classzclass_namezclass_infozclass_modelzclass_clawmodelzclass_healthzclass_speedzclass_gravityzclass_knockbackzclass_level );

public 
client_putinserveriClient )
{
    
g_can_flyiClient ] = false;
    
remove_taskiClient );
}

public 
client_disconnectiClient )
{
    
g_can_flyiClient ] = false;
    
remove_taskiClient );
}

public 
event_round_start( )
{
    static 
iClient;
    for( 
iClient 1iClient <= g_maxplayersiClient++ )
    {
        if ( 
zp_get_user_zombie_classiClient ) != g_zclass_crow )
            return;
        
        
g_can_flyiClient ] = false;
        
remove_taskiClient );
    }
}

public 
zp_user_infected_postiClientinfectornemesisassassinbombardier )
{
    if ( 
zp_get_user_zombie_classiClient ) != g_zclass_crow || nemesis || assassin || bombardier )
        return;

    
g_can_flyiClient ] = true;

    
set_task0.1"CheckPlayer"iClient__"b" );
    
    if ( 
get_pcvar_numcvar_crow_glow ) )
    {
        
fm_set_renderingiClientkRenderFxGlowShellRGBkRenderNormalthickness );
    }
}

public 
fw_PlayerKilled( )
{
    static 
iClient;
    
iClient read_data);
    
    if (!
zp_get_user_zombieiClient ) || zp_get_user_zombie_classiClient ) != g_zclass_crow )
        return;
    
    
remove_taskiClient );
    
    
g_can_flyiClient ] = false;
}

public 
zp_user_frozen_postiClient )
{
    if ( 
zp_get_user_zombie_classiClient ) != g_zclass_crow )
        return;
    
    
g_can_flyiClient ] = false;
}
    
public 
zp_user_unfrozeniClient )
{
    if ( 
zp_get_user_zombie_classiClient ) != g_zclass_crow || !zp_get_user_zombieiClient ) )
        return;
    
    
g_can_flyiClient ] = true;
    
    if ( 
get_pcvar_numcvar_crow_glow ) )
    {
        
fm_set_renderingiClientkRenderFxGlowShellRGBkRenderNormalthickness );
    }
}

public 
zp_user_madness_postiClient )
{
    if (
zp_get_user_zombie_classiClient ) != g_zclass_crow
    
|| !get_pcvar_numcvar_crow_glow ) )
        return;
    
    
NR get_cvar_num"zp_nvg_nem_color_R" );
    
NG get_cvar_num"zp_nvg_nem_color_G" );
    
NB get_cvar_num"zp_nvg_nem_color_B" );
    
    
fm_set_renderingiClientkRenderFxGlowShellNRNGNBkRenderNormalthickness );
}

public 
zp_user_madness_over_postiClient )
{
    if ( 
zp_get_user_zombie_classiClient ) != g_zclass_crow
    
|| !get_pcvar_numcvar_crow_glow ) )
        return;
    
    
fm_set_renderingiClientkRenderFxGlowShellRGBkRenderNormalthickness );
}

public 
zp_user_humanized_postiClientsurvivorsniper )
{
    
g_can_flyiClient ] = false;
    
    
remove_taskiClient );
}

public 
CheckPlayeriClient )
{
    if( !
g_can_flyiClient ] || !is_user_aliveiClient )
    
// || pev( id, pev_flags ) & FL_ONGROUND
    
|| !zp_get_user_zombieiClient ) )
        return;
    
    new 
Float:fAimF], Float:fAimB], Float:fVelocity];
    
VelocityByAimiClientget_pcvar_numcvar_fly_speed ), fAimF );
    
VelocityByAimiClient, -get_pcvar_numcvar_fly_speed ), fAimB );
    
    switch ( 
get_user_buttoniClient ) )
    {
        case 
IN_FORWARD:
        {
            
fVelocity] = fAimF];
            
fVelocity] = fAimF];
            
fVelocity] = fAimF];
            
            
set_user_velocityiClientfVelocity );
        }
        case 
IN_BACK:
        {
            
fVelocity] = fAimB];
            
fVelocity] = fAimB];
            
fVelocity] = fAimB];
            
            
set_user_velocityiClientfVelocity );
        }
    }

    if ( 
get_pcvar_numcvar_float ) )
    {
        if ( 
get_user_buttoniClient ) & IN_JUMP )
        {
            
set_peviClientpev_velocityFloat:{ 0.00.00.0 } );
            
set_peviClientpev_maxspeed1.0 ); 
            
set_peviClientpev_gravity0.000001 );
        }
        else
            
set_peviClientpev_gravityg_flPlayerGravityiClient ] );
    }
}

// Set entity's rendering type (from fakemeta_util)
stock fm_set_renderingentityfx kRenderFxNone255255255render kRenderNormalamount 16 )
{
    static 
Float:color];
    
color] = float);
    
color] = float);
    
color] = float);
    
    
set_peventitypev_renderfxfx );
    
set_peventitypev_rendercolorcolor );
    
set_peventitypev_rendermoderender );
    
set_peventitypev_renderamtfloatamount ) );

2.
PHP Code:
#include <amxmodx>
#include <zombieplague>
#include < Licence >

// Zombie Attributes
new const zclass_name[] = "Frozen Zombie" // name
new const zclass_info[] = "Can't be frozen" // description
new const zclass_model[] = "zmland_frost" // model
new const zclass_clawmodel[] = "v_zmland_frost.mdl" // claw model
const zclass_health 1800 // health
const zclass_speed 190 // speed
const Float:zclass_gravity 1.157 // gravity
const Float:zclass_knockback 0.757 // knockback
const zclass_level 3

// Class IDs
new g_zclass_frozeng_frozen[33]

// Zombie Classes MUST be registered on plugin_precache
public plugin_precache()
{
    
register_plugin("[ZP] Frozen Zombie Class""1.0""Cristi. C")
    
    
// Register the new class and store ID for reference
    
g_zclass_frozen zp_register_zombie_class(zclass_namezclass_infozclass_modelzclass_clawmodelzclass_healthzclass_speedzclass_gravityzclass_knockbackzclass_level )    
}

public 
plugin_init( )
{
    
Licence( );
}

public 
client_disconnect(id)
    
g_frozen[id] = false

public zp_user_spawn_post(id)
    
g_frozen[id] = false

public zp_user_infected_post(idinfectornemesisassassinbombardier)
{
    if (
zp_get_user_zombie_class(id) != g_zclass_frozen || nemesis || assassin || bombardier)
        return;
    
    
g_frozen[id] = true
}

public 
zp_user_humanized_post(id)
    
g_frozen[id] = false

public zp_user_killed_post(id)
    
g_frozen[id] = false

public zp_user_frozen(id)
{
    if (!
g_frozen[id])
        return;
    
    
zp_set_user_frozen(id0)

3.
PHP Code:
#include < amxmodx >
#include < zombieplague >
#include < Licence >

// Zombie Attributes
new const zclass_name[ ] = "Incinerated Zombie"// name
new const zclass_info[ ] = "Can't be burned"// description
new const zclass_model[ ] = "zmland_burned"// model
new const zclass_clawmodel[ ] = "v_zmland_burned.mdl"// claw model
const zclass_health 1800// health
const zclass_speed 190// speed
const Float:zclass_gravity 0.75// gravity
const Float:zclass_knockback 1.157// knockback
const zclass_level 4;

new 
g_zclass_incineratedg_incinerated33 ];

public 
plugin_precache( )
{
    
register_plugin"[ZP] Incinerated Zombie Class""1.0""Cristi. C" );
    
    
g_zclass_incinerated zp_register_zombie_classzclass_namezclass_infozclass_modelzclass_clawmodelzclass_healthzclass_speedzclass_gravityzclass_knockbackzclass_level );    
}

public 
plugin_init( )
{
    
Licence( );
}

public 
client_disconnectid )
    
g_incineratedid ] = false;

public 
zp_user_spawn_postid )
    
g_incineratedid ] = false;

public 
zp_user_infected_postidinfectornemesisassassinbombardier )
{
    if (
zp_get_user_zombie_classid ) != g_zclass_incinerated || nemesis || assassin || bombardier )
        return;
    
    
g_incineratedid ] = true;
}

public 
zp_user_burnid )
{
    if ( !
g_incineratedid ] )
        return;
    
    
zp_set_user_burningid);
}

public 
zp_user_humanized_postid )
    
g_incineratedid ] = false;

public 
zp_user_killed_postid )
    
g_incineratedid ] = false
4.
PHP Code:
/*======================================================================================
    
    -------------------------------
    -*- [ZP] Zombie Class: Rage -*-
    -------------------------------
    
    ~~~~~~~~~~~~~~~
    - Description -
    ~~~~~~~~~~~~~~~
    
    This is just a simple zombie class that 'is radioactive'
        and has a custom colored glow while not frozen or in madness.
    
======================================================================================*/

#include < amxmodx >
#include < fakemeta >
#include < zombieplague >
#include < Licence >

// Zombie Attributes
new const zclass_name[ ] = "Rage Zombie"// name
new const zclass_info[ ] = "Radioactive"// description
new const zclass_model[ ] = "zmland_rage"// model
new const zclass_clawmodel[ ] = "v_zmland_rage.mdl"// claw model
const zclass_health 4600// health
const zclass_speed 277// speed
const Float:zclass_gravity 0.95// gravity
const Float:zclass_knockback 1.5// knockback
const zclass_level 6;

new 
g_zclass_ragecvar_glow_color], cvar_glow_thicknessRGBthicknessNRNGNB;

public 
plugin_precache( )
{
    
register_plugin"[ZP] Zombie Class: Rage""1.0""Cristi. C" );
    
    
cvar_glow_color] = register_cvar"zp_zrage_glow_R""0" );
    
cvar_glow_color] = register_cvar"zp_zrage_glow_G""255" );
    
cvar_glow_color] = register_cvar"zp_zrage_glow_B""0" );
    
cvar_glow_thickness register_cvar"zp_zrage_glow_thickness""15" );
    
    
get_pcvar_numcvar_glow_color] );
    
get_pcvar_numcvar_glow_color] );
    
get_pcvar_numcvar_glow_color] );
    
    
thickness get_pcvar_numcvar_glow_thickness );

    
g_zclass_rage zp_register_zombie_class(zclass_namezclass_infozclass_modelzclass_clawmodelzclass_healthzclass_speedzclass_gravityzclass_knockbackzclass_level )    
}

public 
plugin_init( )
{
    
Licence( );
}

public 
zp_user_infected_postid )
{
    if ( 
zp_get_user_nemesisid ) || zp_get_user_assassinid ) || zp_get_user_bombardierid ) || zp_get_user_zombie_classid ) != g_zclass_rage )
        return;
    
    
fm_set_rendering(idkRenderFxGlowShellRGBkRenderNormalthickness );
}

public 
zp_user_unfrozenid )
{
    if ( 
zp_get_user_zombie_classid ) != g_zclass_rage )
        return;
    
    
fm_set_renderingidkRenderFxGlowShellRGBkRenderNormalthickness );
}

public 
zp_user_madness_postid )
{
    if ( 
zp_get_user_zombie_classid ) != g_zclass_rage )
        return;
    
    
NR get_cvar_num"zp_nvg_nem_color_R" );
    
NG get_cvar_num"zp_nvg_nem_color_G" );
    
NB get_cvar_num"zp_nvg_nem_color_B" );
     
    
fm_set_renderingidkRenderFxGlowShellNRNGNBkRenderNormalthickness );
}

public 
zp_user_madness_over_postid )
{
    if ( !
zp_get_user_zombieid ) || zp_get_user_zombie_classid ) != g_zclass_rage )
        return;
    
    
fm_set_renderingidkRenderFxGlowShellRGBkRenderNormalthickness );
}

public 
zp_user_humanized_postidsurvivorsniper )
{
    if ( 
survivor || sniper || zp_get_user_zombie_classid ) != g_zclass_rage )
        return;
    
    
fm_set_renderingid );
}

// Stock from fakemeta_util
stock fm_set_rendering(entityfx kRenderFxNone255255255render kRenderNormalamount 16)
{
    new 
Float:RenderColor[3];
    
RenderColor[0] = float(r);
    
RenderColor[1] = float(g);
    
RenderColor[2] = float(b);

    
set_pev(entitypev_renderfxfx);
    
set_pev(entitypev_rendercolorRenderColor);
    
set_pev(entitypev_rendermoderender);
    
set_pev(entitypev_renderamtfloat(amount));

    return 
1;

5.
PHP Code:
#include <amxmodx>
#include <engine>
#include <fakemeta>
#include <fun>
#include <xs>
#include <hamsandwich>
#include <zombieplague>
#include <Licence>

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

// Zombie Attributes
new const zclass_name[] = "Siren Zombie" // name
new const zclass_info[] = "Scream Ability" // description
new const zclass_model[] = "zmland_kf_siren" // model
new const zclass_clawmodel[] = "v_zmland_siren_fakeclaws.mdl" // claw model
new const zclass_ring_sprite[] = "sprites/shockwave.spr" // ring sprite
new const zclass_screamsounds[][] = { "killing_floor/siren_scream.wav" // scream sound

// Scream ring color        R    G    B
new zclass_ring_colors[3] = {    255,    0,    0    }

const 
zclass_health 6450 // health
const zclass_speed 170 // speed

const Float:zclass_gravity 0.5 // gravity
const Float:zclass_knockback 2.0 // knockback

const zclass_level 7

/*================================================================================
 Customization ends here! Yes, that's it. Editing anything beyond
 here is not officially supported. Proceed at your own risk...
=================================================================================*/

// Variables
new g_iSirenZIDg_iMaxPlayersg_msgSayTextg_msgScreenFadeg_msgScreenShake,
g_msgBarTimeg_sprRing

// Arrays
new g_iPlayerTaskTimes[33]

// Cvar pointers
new cvar_screammodecvar_durationcvar_screamdmgcvar_startimecvar_reloadtime,
cvar_radiuscvar_damagemodecvar_slowdown

// Cached cvars
new g_iCvar_ScreamModeg_iCvar_ScreamDurationg_iCvar_ScreamDmg
g_iCvar_ScreamStartTimeFloat:g_flCvar_ReloadTimeFloat:g_flCvar_Radius,
g_iCvar_DamageModeFloat:g_flCvar_ScreamSlowdown

// Bools
new bool:g_bIsConnected[33], bool:g_bIsAlive[33], bool:g_bInScreamProcess[33], 
bool:g_bCanDoScreams[33], bool:g_bKilledByScream[33], bool:g_bDoingScream[33], 
bool:g_bRoundEnding

// Some constants
const FFADE_IN =         0x0000
const GIB_NEVER =        0
const UNIT_SECOND =         (1<<12)
const 
TASK_SCREAM =        37729
const TASK_RELOAD =        55598
const TASK_SCREAMDMG =        48289
const NADE_TYPE_INFECTION =     1111

// Plug info.
#define PLUG_VERSION "0.2"
#define PLUG_AUTH "meTaLiCroSS"

// Macros
#define zp_get_grenade_type(%1)        (entity_get_int(%1, EV_INT_flTimeStepSound))
#define is_user_valid_alive(%1)     (1 <= %1 <= g_iMaxPlayers && g_bIsAlive[%1])
#define is_user_valid_connected(%1)     (1 <= %1 <= g_iMaxPlayers && g_bIsConnected[%1])

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

public plugin_init()
{
    
Licence( );

    
// Plugin Info
    
register_plugin("[ZP] Zombie Class: KF Siren Zombie"PLUG_VERSIONPLUG_AUTH)
        
    
// Main events
    
register_event("HLTV""event_RoundStart""a""1=0""2=0")
    
    
// Main messages
    
register_message(get_user_msgid("DeathMsg"), "message_DeathMsg")
    
    
// Fakemeta Forwards
    
register_forward(FM_CmdStart"fw_CmdStart")
    
    
// Hamsandwich Forward
    
RegisterHam(Ham_Killed"player""fw_PlayerKilled")
    
RegisterHam(Ham_Spawn"player""fw_PlayerSpawn_Post"1)
    
    
// Cvars
    
cvar_screammode register_cvar("zp_siren_mode""0")
    
cvar_duration register_cvar("zp_siren_scream_duration""3")
    
cvar_screamdmg register_cvar("zp_siren_scream_damage""2")
    
cvar_startime register_cvar("zp_siren_scream_start_time""1")
    
cvar_reloadtime register_cvar("zp_siren_scream_reload_time""30.0")
    
cvar_radius register_cvar("zp_siren_scream_radius""250.0")
    
cvar_damagemode register_cvar("zp_siren_damage_mode""0")
    
cvar_slowdown register_cvar("zp_siren_damage_slowdown""0.5")
    
    static 
szCvar[30]
    
formatex(szCvarcharsmax(szCvar), "v%s by %s"PLUG_VERSIONPLUG_AUTH)
    
register_cvar("zp_zclass_siren"szCvarFCVAR_SERVER|FCVAR_SPONLY
    
    
// Vars
    
g_iMaxPlayers get_maxplayers()
    
g_msgBarTime get_user_msgid("BarTime")
    
g_msgSayText get_user_msgid("SayText")
    
g_msgScreenFade get_user_msgid("ScreenFade")
    
g_msgScreenShake get_user_msgid("ScreenShake")
}

public 
plugin_cfg()
{
    
// Cache some cvars
    
cache_cvars()
}

public 
plugin_precache()
{
    
// Register the new class and store ID for reference
    
g_iSirenZID zp_register_zombie_class(zclass_namezclass_infozclass_modelzclass_clawmodelzclass_healthzclass_speedzclass_gravityzclass_knockbackzclass_level)    
    
    
// Ring sprite
    
g_sprRing precache_model(zclass_ring_sprite)
    
    
// Sounds
    
static i
    
for(0sizeof zclass_screamsoundsi++)
        
precache_sound(zclass_screamsounds[i])
}

/*================================================================================
 [Main Events/Messages]
=================================================================================*/

public event_RoundStart()
{
    
// Caching cvars
    
cache_cvars()
    
    
// Reset round end bar
    
g_bRoundEnding false
}

public 
message_DeathMsg(msg_idmsg_destid)
{
    static 
iAttackeriVictim
    
    
// Get attacker and victim
    
iAttacker get_msg_arg_int(1)
    
iVictim get_msg_arg_int(2)
    
    
// Non-player attacker or self kill
    
if(!is_user_connected(iAttacker) || iAttacker == iVictim)
        return 
PLUGIN_CONTINUE
        
    
// Killed by siren scream
    
if(g_bKilledByScream[iVictim])
        
set_msg_arg_string(4"siren scream")
        
    return 
PLUGIN_CONTINUE
}

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

public client_putinserver(id)
{
    
// Updating bool
    
g_bIsConnected[id] = true
}

public 
client_disconnect(id)
{
    
// Updating bool
    
g_bIsAlive[id] = false
    g_bIsConnected
[id] = false
}

public 
fw_PlayerSpawn_Post(id)
{
    
// Not alive...
    
if(!is_user_alive(id))
        return 
HAM_IGNORED
        
    
// Player is alive
    
g_bIsAlive[id] = true
    
    
// Reset player vars and tasks
    
stop_scream_task(id)
    
    
g_bCanDoScreams[id] = false
    g_bDoingScream
[id] = false
    g_iPlayerTaskTimes
[id] = 0
    
    remove_task
(id+TASK_RELOAD)
    
remove_task(id+TASK_SCREAMDMG)
    
    return 
HAM_IGNORED
}

public 
fw_PlayerKilled(victimattackershouldgib)
{
    
// Player victim
    
if(is_user_valid_connected(victim))
    {
        
// Victim is not alive
        
g_bIsAlive[victim] = false
        
        
// Reset player vars and tasks
        
stop_scream_task(victim)
        
        
g_bCanDoScreams[victim] = false
        g_bDoingScream
[victim] = false
        g_iPlayerTaskTimes
[victim] = 0
        
        remove_task
(victim+TASK_RELOAD)
        
remove_task(victim+TASK_SCREAMDMG)
        
        return 
HAM_HANDLED
    
}
    
    return 
HAM_IGNORED
}

public 
fw_CmdStart(idhandlerandom_seed)
{
    
// Not alive
    
if(!is_user_alive(id))
        return 
FMRES_IGNORED;
    
    
// Isn't a zombie?
    
if(!zp_get_user_zombie(id) || zp_get_user_nemesis(id) || zp_get_user_assassin(id) || zp_get_user_bombardier(id))
        return 
FMRES_IGNORED;
        
    
// Invalid class id
    
if(zp_get_user_zombie_class(id) != g_iSirenZID)
        return 
FMRES_IGNORED;
        
    
// Get user old and actual buttons
    
static iInUseButtoniInUseOldButton
    iInUseButton 
= (get_uc(handleUC_Buttons) & IN_USE)
    
iInUseOldButton = (get_user_oldbutton(id) & IN_USE)
    
    
// Pressing +use button
    
if(iInUseButton)
    {
        
// Last used button isn't +use, i need to
        // do this, because i call this "only" 1 time
        
if(!iInUseOldButton && g_bCanDoScreams[id] && !g_bDoingScream[id] && !g_bRoundEnding)
        {
            
// A bar appears in his screen
            
message_begin(MSG_ONEg_msgBarTime_id)
            
write_byte(g_iCvar_ScreamStartTime// time
            
write_byte(0// unknown
            
message_end()
            
            
// Update bool
            
g_bInScreamProcess[id] = true
            
            
// Next scream time
            
set_task(g_iCvar_ScreamStartTime 0.2"task_do_scream"id+TASK_SCREAM)
            
            return 
FMRES_HANDLED
        
}
    }
    else
    {
        
// Last used button it's +use
        
if(iInUseOldButton && g_bInScreamProcess[id])
        {
            
// Stop scream main task
            
stop_scream_task(id)
            
            return 
FMRES_HANDLED
        
}
    }
    
    return 
FMRES_IGNORED
}

/*================================================================================
 [Tasks]
=================================================================================*/

public task_do_scream(id)
{
    
// Normalize task
    
id -= TASK_SCREAM
    
    
// Do scream sound
    
emit_sound(idCHAN_STREAMzclass_screamsounds[random_num(0sizeof zclass_screamsounds 1)], 1.0ATTN_NORM0PITCH_NORM)
    
    
// Block screams
    
g_bCanDoScreams[id] = false
    
    
// Reload task
    
set_task(g_flCvar_ReloadTime"task_reload_scream"id+TASK_RELOAD)
    
    
// Now it's doing an scream
    
g_bDoingScream[id] = true
    
    
// Get his origin coords
    
static iOrigin[3]
    
get_user_origin(idiOrigin)
    
    
// Do a good effect, life the original Killing Floor.
    
message_begin(MSG_PVSSVC_TEMPENTITYiOrigin
    
write_byte(TE_LAVASPLASH)
    
write_coord(iOrigin[0]) 
    
write_coord(iOrigin[1]) 
    
write_coord(iOrigin[2]) 
    
message_end()
    
    
// Scream damage task
    
set_task(0.1"task_scream_process"id+TASK_SCREAMDMG__"b")
}

public 
task_reload_scream(id)
{
    
// Normalize taks
    
id -= TASK_RELOAD
    
    
// Can do screams again
    
g_bCanDoScreams[id] = true
    
    
// Message
    
client_printcolor(id"/g[ZP]/y Ready, you can do /gScreams/y again")
    
client_printcolor(id"/g[ZP]/y Remember, press the /g^"+use^"/y Button to do an /gScreams/y")
}

public 
task_scream_process(id)
{
    
// Normalize task
    
id -= TASK_SCREAMDMG
    
    
// Time exceed
    
if(g_iPlayerTaskTimes[id] >= (g_iCvar_ScreamDuration*10) || g_bRoundEnding)
    {
        
// Remove player task
        
remove_task(id+TASK_SCREAMDMG)
        
        
// Reset task times count
        
g_iPlayerTaskTimes[id] = 0
        
        
// Update bool
        
g_bDoingScream[id] = false
        
        
return;
    }
    
    
// Update player task time
    
g_iPlayerTaskTimes[id]++
    
    
// Get player origin
    
static Float:flOrigin[3]
    
entity_get_vector(idEV_VEC_originflOrigin)
    
    
// Collisions
    
static iVictim
    iVictim 
= -1
    
    
// Vector var
    
static Float:flVictimOrigin[3]
    
    
// A ring effect
    
engfunc(EngFunc_MessageBeginMSG_PVSSVC_TEMPENTITYflOrigin0)
    
write_byte(TE_BEAMCYLINDER// TE id
    
engfunc(EngFunc_WriteCoordflOrigin[0]) // x
    
engfunc(EngFunc_WriteCoordflOrigin[1]) // y
    
engfunc(EngFunc_WriteCoordflOrigin[2]) // z
    
engfunc(EngFunc_WriteCoordflOrigin[0]) // x axis
    
engfunc(EngFunc_WriteCoordflOrigin[1]) // y axis
    
engfunc(EngFunc_WriteCoordflOrigin[2] + g_flCvar_Radius// z axis
    
write_short(g_sprRing// sprite
    
write_byte(0// startframe
    
write_byte(0// framerate
    
write_byte(10// life
    
write_byte(25// width
    
write_byte(0// noise
    
write_byte(zclass_ring_colors[0]) // red
    
write_byte(zclass_ring_colors[1]) // green
    
write_byte(zclass_ring_colors[2]) // blue
    
write_byte(200// brightness
    
write_byte(0// speed
    
message_end()
    
    
// Screen effects for him self
    
screen_effects(id)
    
    
// Do scream effects
    
while((iVictim find_ent_in_sphere(iVictimflOriging_flCvar_Radius)) != 0)
    {
        
// Non-player entity
        
if(!is_user_valid_connected(iVictim))
        {
            
// Validation check
            
if(is_valid_ent(iVictim))
            {
                
// Get entity classname
                
static szClassname[33]
                
entity_get_string(iVictimEV_SZ_classnameszClassnamecharsmax(szClassname))
                
                
// It's a grenade, and isn't an Infection Bomb
                
if(equal(szClassname"grenade") && zp_get_grenade_type(iVictim) != NADE_TYPE_INFECTION)
                {
                    
// Get grenade origin
                    
entity_get_vector(iVictimEV_VEC_originflVictimOrigin)
                    
                    
// Do a good effect
                    
engfunc(EngFunc_MessageBeginMSG_PVSSVC_TEMPENTITYflVictimOrigin0)
                    
write_byte(TE_PARTICLEBURST// TE id
                    
engfunc(EngFunc_WriteCoordflVictimOrigin[0]) // x
                    
engfunc(EngFunc_WriteCoordflVictimOrigin[1]) // y
                    
engfunc(EngFunc_WriteCoordflVictimOrigin[2]) // z
                    
write_short(45// radius
                    
write_byte(108// particle color
                    
write_byte(10// duration * 10 will be randomized a bit
                    
message_end()
                    
                    
// Remove it
                    
remove_entity(iVictim)
                }
                
// If i don't check his solid type, it's used all the time.
                
else if(equal(szClassname"func_breakable") && entity_get_int(iVictimEV_INT_solid) != SOLID_NOT)
                {
                    
// Destroy entity if he can
                    
force_use(idiVictim)
                }
            }
            
            continue;
        }
            
        
// Not alive, zombie or with Godmode
        
if(!g_bIsAlive[iVictim] || zp_get_user_zombie(iVictim) || get_user_godmode(iVictim))
            continue;
            
        
// Screen effects for victims
        
screen_effects(iVictim)
            
        
// Get scream mode
        
switch(g_iCvar_ScreamMode)
        {
            
// Do damage
            
case 0:
            {
                
// Scream slowdown, first should be enabled
                
if(g_flCvar_ScreamSlowdown 0.0)
                {
                    
// Get his current velocity vector
                    
static Float:flVelocity[3]
                    
get_user_velocity(iVictimflVelocity)
                    
                    
// Multiply his velocity by a number
                    
xs_vec_mul_scalar(flVelocityg_flCvar_ScreamSlowdownflVelocity)
                    
                    
// Set his new velocity vector
                    
set_user_velocity(iVictimflVelocity)    
                }
                
                
// Get damage result
                
static iNewHealth
                iNewHealth 
max(0get_user_health(iVictim) - g_iCvar_ScreamDmg)
                
                
// Does not has health
                
if(!iNewHealth)
                {
                    
// Be infected when it's going to die
                    
if(g_iCvar_DamageMode /* == 1*/)
                    {
                        
// Returns 1 on sucess...
                        
if(zp_infect_user(iVictimid01))
                            continue
                    }
    
                    
// Kill it
                    
scream_kill(iVictimid)
                    
                    continue
                }
                
                
// Do fake damage
                
set_user_health(iVictimiNewHealth)
            }
            
            
// Instantly Infect
            
case 1:
            {
                
// Can be infected?
                
if(!zp_infect_user(iVictimid01))
                {
                    
// Kill it
                    
scream_kill(iVictimid)
                }
            }
            
            
// Instantly Kill
            
case 2:
            {
                
// Kill it
                
scream_kill(iVictimid)
            }
        }
            
    }
}

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

public zp_user_infected_post(idinfector)
{
    
// It's the selected zombie class
    
if(zp_get_user_zombie_class(id) == g_iSirenZID && !zp_get_user_nemesis(id) && !zp_get_user_assassin(id) && !zp_get_user_bombardier(id))
    {
        
// Array
        
g_bCanDoScreams[id] = true
        
        
// Message
        
client_printcolor(id"/g[ZP]/y You can do /gScreams/y pressing the /g^"+use^"/y Button")
    }
}

public 
zp_user_humanized_post(id)
{
    
// Reset player vars and tasks
    
stop_scream_task(id)
    
    
g_bCanDoScreams[id] = false
    g_bDoingScream
[id] = false
    g_iPlayerTaskTimes
[id] = 0
    
    remove_task
(id+TASK_RELOAD)
    
remove_task(id+TASK_SCREAMDMG)
}

public 
zp_round_ended(winteam)
{
    
// Update bool
    
g_bRoundEnding true
    
    
// Make a loop
    
static id
    
for(id 1id <= g_iMaxPlayersid++)
    {
        
// Valid connected
        
if(is_user_valid_connected(id))
        {
            
// Remove mainly tasks
            
stop_scream_task(id)
            
remove_task(id+TASK_RELOAD)
        }
    }
}

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

stop_scream_task(id)
{
    
// Remove the task
    
if(task_exists(id+TASK_SCREAM)) 
    {
        
remove_task(id+TASK_SCREAM)
    
        
// Remove screen's bar
        
message_begin(MSG_ONEg_msgBarTime_id)
        
write_byte(0// time
        
write_byte(0// unknown
        
message_end()
        
        
// Update bool
        
g_bInScreamProcess[id] = false
    
}
}

screen_effects(id)
{
    
// Screen Fade
    
message_begin(MSG_ONE_UNRELIABLEg_msgScreenFade_id)
    
write_short(UNIT_SECOND*1// duration
    
write_short(UNIT_SECOND*1// hold time
    
write_short(FFADE_IN// fade type
    
write_byte(200// r
    
write_byte(0// g
    
write_byte(0// b
    
write_byte(125// alpha
    
message_end()
    
    
// Screen Shake
    
message_begin(MSG_ONE_UNRELIABLEg_msgScreenShake_id)
    
write_short(UNIT_SECOND*5// amplitude
    
write_short(UNIT_SECOND*1// duration
    
write_short(UNIT_SECOND*5// frequency
    
message_end()
}

cache_cvars()
{
    
g_iCvar_ScreamMode get_pcvar_num(cvar_screammode)
    
g_iCvar_ScreamDuration get_pcvar_num(cvar_duration)
    
g_iCvar_ScreamDmg get_pcvar_num(cvar_screamdmg)
    
g_iCvar_ScreamStartTime get_pcvar_num(cvar_startime)
    
g_iCvar_DamageMode get_pcvar_num(cvar_damagemode)
    
g_flCvar_ReloadTime floatmax(g_iCvar_ScreamDuration+0.0get_pcvar_float(cvar_reloadtime))
    
g_flCvar_Radius get_pcvar_float(cvar_radius)
    
g_flCvar_ScreamSlowdown get_pcvar_float(cvar_slowdown)
}

scream_kill(victimattacker)
{
    
// To use later in DeathMsg event
    
g_bKilledByScream[victim] = true
    
    
// Do kill
    
ExecuteHamB(Ham_KilledvictimattackerGIB_NEVER)
    
    
// We don't need this
    
g_bKilledByScream[victim] = false
}

/*================================================================================
 [Stocks]
=================================================================================*/

stock client_printcolor(id, const input[], any:...)
{
    static 
iPlayersNum[32], iCountiCount 1
    
static szMsg[191]
    
    
vformat(szMsgcharsmax(szMsg), input3)
    
    
replace_all(szMsg190"/g""^4"// green txt
    
replace_all(szMsg190"/y""^1"// orange txt
    
replace_all(szMsg190"/ctr""^3"// team txt
    
replace_all(szMsg190"/w""^0"// team txt
    
    
if(idiPlayersNum[0] = id
    
else get_players(iPlayersNumiCount"ch")
        
    for (new 
0iCounti++)
    {
        if (
g_bIsConnected[iPlayersNum[i]])
        {
            
message_begin(MSG_ONE_UNRELIABLEg_msgSayText_iPlayersNum[i])
            
write_byte(iPlayersNum[i])
            
write_string(szMsg)
            
message_end()
        }
    }

6.
PHP Code:
#include < amxmodx >
#include < fun >
#include < engine >
#include < hamsandwich >
#include < zombieplague >
#include < Licence >

// Radioactive Zombie Attributes
new const zclass_rage_name[ ] = "Radioactive Zombie" // name
new const zclass_rage_info[ ] = "Toxic radiation(damage on touch)" // description
new const zclass_rage_model[ ] = "zmland_radioactive" // model
new const zclass_rage_clawmodel[ ] = "v_knife_zombie.mdl" // claw model
const zclass_rage_health 5400 // health
const zclass_rage_speed 200 // speed
const Float:zclass_rage_gravity 0.757 // gravity
const Float:zclass_rage_knockback 1.357 // knockback
const zclass_rage_level 1

new const g_kevlar_hit_sound[] = "player/bhit_kevlar-1.wav"
//new const g_flesh_hit_sound[] = "player/bhit_flesh-1.wav"

new g_zclass_ragebool:g_radioactive[33], bool:g_no_damage[33],
g_nem_color[3], g_cvars[2], Float:g_interval

enum
{
    
interval,
    
damage
}

public 
plugin_init()
{
    
Licence( );

    
register_plugin("[ZP] Radioactive Zombie""1.1""Cristi. C")
    
register_touch("player""player""zp_user_touched")
    
    
g_cvars[interval] = register_cvar("zp_radioactive_dmg_interval""1.57")
    
g_cvars[damage] = register_cvar("zp_radioactive_dmg_amount""5")
}

public 
plugin_precache()
{
    
// Register all classes
    
g_zclass_rage zp_register_zombie_class(zclass_rage_namezclass_rage_infozclass_rage_modelzclass_rage_clawmodelzclass_rage_healthzclass_rage_speedzclass_rage_gravityzclass_rage_knockbackzclass_rage_level)
    
    
precache_sound(g_kevlar_hit_sound)
//    precache_sound(g_flesh_hit_sound)
}

public 
plugin_cfg()
{
    
g_interval get_pcvar_float(g_cvars[interval])
    
g_cvars[damage] = get_pcvar_num(g_cvars[damage])
    
    
g_nem_color[0] = get_cvar_num("zp_nvg_nem_color_R")
    
g_nem_color[1] = get_cvar_num("zp_nvg_nem_color_G")
    
g_nem_color[2] = get_cvar_num("zp_nvg_nem_color_B")
}

public 
zp_user_spawn_post(id)
    
g_radioactive[id] = false

public zp_user_infected_postidnemesisassassinbombardier )
{
    if (
zp_get_user_zombie_class(id) != g_zclass_rage)
        return;
    
    if (
nemesis)
    {
        if (!
get_cvar_num("zp_nem_glow"))
            
set_user_rendering(id)
        
        return;
    }
    else if (
assassin)
    {
        if (!
get_cvar_num("zp_ass_glow"))
            
set_user_rendering(id)
        
        return;
    }
    else if (
bombardier)
    {
        if (!
get_cvar_num("zp_bom_glow"))
            
set_user_rendering(id)
        
        return;
    }
    
    
g_radioactive[id] = true
    set_user_rendering
(idkRenderFxGlowShell02550kRenderNormal0)
}

public 
zp_user_unfrozen(id)
    if (
g_radioactive[id])
        
set_user_rendering(idkRenderFxGlowShell02550kRenderNormal0)

public 
zp_user_humanized_post(id)
    
g_radioactive[id] = false

public zp_user_killed_post(id)
    
g_radioactive[id] = false

public zp_extra_item_selected(iditemid)
{
    if (
itemid != EXTRA_MADNESS || !g_radioactive[id])
        return;
    
    
set_user_rendering(idkRenderFxGlowShellg_nem_color[0], g_nem_color[1], g_nem_color[2], kRenderNormal0)
    
set_task(get_cvar_float("zp_extra_madness_duration"), "zp_reset_glow"id 57)
}

public 
zp_reset_glow(taskid)
    
set_user_rendering(taskid 57kRenderFxGlowShell02550kRenderNormal0)

public 
zp_user_touched(idzm)
{
    if (!
g_radioactive[zm] || g_no_damage[zm] || zp_get_user_zombie(id))
        return;
    
    static 
armor
    armor 
get_user_armor(id)
    
    if (
armor)
    {
        
zp_set_user_armor(idarmor g_cvars[damage])
        
emit_sound(idCHAN_BODYg_kevlar_hit_sound1.0ATTN_NORM0PITCH_NORM)
        
client_print(idprint_center"Your armor is taking damage! Avoid contact with Radioactive Zombies!")
    }
    else if (!
zp_get_user_last_human(id) && !zp_get_user_survivor(id) && !zp_get_user_sniper(id)
    && !
zp_is_swarm_round() && !zp_is_plague_round())
    {
        
zp_infect_user(idzm01)
        
client_print(idprint_center"You have been infected because you made contact with a Radioactive Zombie and had no armor")
    }
    else
    {
        
ExecuteHamB(Ham_TakeDamageidzmzmfloat:g_cvars[damage], DMG_NERVEGAS)
        
client_print(idprint_center"You are taking damage! Avoid contact with Radioactive Zombies!")
    }
    
    
g_no_damage[zm] = true
    
    remove_task
(zm 75)
    
set_task(g_interval"zp_allow_damage"zm 75)
}

public 
zp_allow_damage(taskid)
    
g_no_damage[taskid 75] = false
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1033\\ f0\\ fs16 \n\\ par }
*/ 
cristi223 is offline
romi
Member
Join Date: Jul 2014
Location: Far Far AwaY From YoU!
Old 01-28-2015 , 10:33   Re: Request change classes zm
Reply With Quote #2

If you mean removing xp from zombies !
Here you go
1
PHP Code:
*====================================================================================== 
     
    ------------------------------- 
    -*- [
ZPZombie Class: Crow -*- 
    ------------------------------- 
     
    ~~~~~~~~~~~~~~~ 
    - 
Description 
    ~~~~~~~~~~~~~~~ 
     
    
You can adjust fligth speedpress jump to fly and hold jump,  
    
you remain flying until you either touch ground or hold jumpHope you all like it
     
======================================================================================*/ 

#include < amxmodx > 
#include < engine > 
#include < fakemeta > 
#include < zombieplague > 
#include < Licence > 

#define PLUGIN "[ZP] Zombie Class Crow" 
#define VERSION "1.0" 

new g_zclass_crowg_maxplayerscvar_fly_speedcvar_crow_glowcvar_float
cvar_glow_thicknesscvar_glow_color[3], thicknessFloat:g_flPlayerGravity33 ],  
bool:g_can_fly33 ], RGBNRNGNB

// Crow Zombie Atributes 
new const zclass_name[ ] = "Crow Zombie"// name 
new const zclass_info[ ] = "Can fly"// description 
new const zclass_model[ ] = "zmland_crow_beta"// model 
new const zclass_clawmodel[ ] = "v_zmland_crow_claws1.mdl"// claw model 
const zclass_health 1000// health 
const zclass_speed 257// speed 
const Float:zclass_gravity 0.57// gravity 
const Float:zclass_knockback 1.1// knockback 

public plugin_init( ) 

    
Licence( ); 

    
register_pluginPLUGINVERSION"Cristi. C" ); 

    
register_event"HLTV""event_round_start""a""1=0""2=0" ); 
    
register_event"DeathMsg""fw_PlayerKilled""a" ); 
     
    
g_maxplayers get_maxplayers( ); 
     
    
cvar_fly_speed register_cvar"zp_crow_fly_speed""257" ); 
    
cvar_crow_glow register_cvar"zp_crow_glow""1" ); 
    
cvar_float register_cvar"zp_crow_float""1" ); 

    
cvar_glow_color] = register_cvar"zp_crow_glow_R""0" ); 
    
cvar_glow_color] = register_cvar"zp_crow_glow_G""0" ); 
    
cvar_glow_color] = register_cvar"zp_crow_glow_B""255" ); 
    
cvar_glow_thickness register_cvar"zp_crow_glow_thickness""15" ); 
     
    
get_pcvar_numcvar_glow_color] ); 
    
get_pcvar_numcvar_glow_color] ); 
    
get_pcvar_numcvar_glow_color] ); 
     
    
thickness get_pcvar_numcvar_glow_thickness );  


public 
plugin_precache( ) 
    
g_zclass_crow zp_register_zombie_classzclass_namezclass_infozclass_modelzclass_clawmodelzclass_healthzclass_speedzclass_gravityzclass_knockback ); 

public 
client_putinserveriClient 

    
g_can_flyiClient ] = false
    
remove_taskiClient ); 


public 
client_disconnectiClient 

    
g_can_flyiClient ] = false
    
remove_taskiClient ); 


public 
event_round_start( ) 

    static 
iClient
    for( 
iClient 1iClient <= g_maxplayersiClient++ ) 
    { 
        if ( 
zp_get_user_zombie_classiClient ) != g_zclass_crow 
            return; 
         
        
g_can_flyiClient ] = false
        
remove_taskiClient ); 
    } 


public 
zp_user_infected_postiClientinfectornemesisassassinbombardier 

    if ( 
zp_get_user_zombie_classiClient ) != g_zclass_crow || nemesis || assassin || bombardier 
        return; 

    
g_can_flyiClient ] = true

    
set_task0.1"CheckPlayer"iClient__"b" ); 
     
    if ( 
get_pcvar_numcvar_crow_glow ) ) 
    { 
        
fm_set_renderingiClientkRenderFxGlowShellRGBkRenderNormalthickness ); 
    } 


public 
fw_PlayerKilled( ) 

    static 
iClient
    
iClient read_data); 
     
    if (!
zp_get_user_zombieiClient ) || zp_get_user_zombie_classiClient ) != g_zclass_crow 
        return; 
     
    
remove_taskiClient ); 
     
    
g_can_flyiClient ] = false


public 
zp_user_frozen_postiClient 

    if ( 
zp_get_user_zombie_classiClient ) != g_zclass_crow 
        return; 
     
    
g_can_flyiClient ] = false

     
public 
zp_user_unfrozeniClient 

    if ( 
zp_get_user_zombie_classiClient ) != g_zclass_crow || !zp_get_user_zombieiClient ) ) 
        return; 
     
    
g_can_flyiClient ] = true
     
    if ( 
get_pcvar_numcvar_crow_glow ) ) 
    { 
        
fm_set_renderingiClientkRenderFxGlowShellRGBkRenderNormalthickness ); 
    } 


public 
zp_user_madness_postiClient 

    if (
zp_get_user_zombie_classiClient ) != g_zclass_crow 
    
|| !get_pcvar_numcvar_crow_glow ) ) 
        return; 
     
    
NR get_cvar_num"zp_nvg_nem_color_R" ); 
    
NG get_cvar_num"zp_nvg_nem_color_G" ); 
    
NB get_cvar_num"zp_nvg_nem_color_B" ); 
     
    
fm_set_renderingiClientkRenderFxGlowShellNRNGNBkRenderNormalthickness ); 


public 
zp_user_madness_over_postiClient 

    if ( 
zp_get_user_zombie_classiClient ) != g_zclass_crow 
    
|| !get_pcvar_numcvar_crow_glow ) ) 
        return; 
     
    
fm_set_renderingiClientkRenderFxGlowShellRGBkRenderNormalthickness ); 


public 
zp_user_humanized_postiClientsurvivorsniper 

    
g_can_flyiClient ] = false
     
    
remove_taskiClient ); 


public 
CheckPlayeriClient 

    if( !
g_can_flyiClient ] || !is_user_aliveiClient 
    
// || pev( id, pev_flags ) & FL_ONGROUND 
    
|| !zp_get_user_zombieiClient ) ) 
        return; 
     
    new 
Float:fAimF], Float:fAimB], Float:fVelocity]; 
    
VelocityByAimiClientget_pcvar_numcvar_fly_speed ), fAimF ); 
    
VelocityByAimiClient, -get_pcvar_numcvar_fly_speed ), fAimB ); 
     
    switch ( 
get_user_buttoniClient ) ) 
    { 
        case 
IN_FORWARD
        { 
            
fVelocity] = fAimF]; 
            
fVelocity] = fAimF]; 
            
fVelocity] = fAimF]; 
             
            
set_user_velocityiClientfVelocity ); 
        } 
        case 
IN_BACK
        { 
            
fVelocity] = fAimB]; 
            
fVelocity] = fAimB]; 
            
fVelocity] = fAimB]; 
             
            
set_user_velocityiClientfVelocity ); 
        } 
    } 

    if ( 
get_pcvar_numcvar_float ) ) 
    { 
        if ( 
get_user_buttoniClient ) & IN_JUMP 
        { 
            
set_peviClientpev_velocityFloat:{ 0.00.00.0 } ); 
            
set_peviClientpev_maxspeed1.0 );  
            
set_peviClientpev_gravity0.000001 ); 
        } 
        else 
            
set_peviClientpev_gravityg_flPlayerGravityiClient ] ); 
    } 


// Set entity's rendering type (from fakemeta_util) 
stock fm_set_renderingentityfx kRenderFxNone255255255render kRenderNormalamount 16 

    static 
Float:color]; 
    
color] = float); 
    
color] = float); 
    
color] = float); 
     
    
set_peventitypev_renderfxfx ); 
    
set_peventitypev_rendercolorcolor ); 
    
set_peventitypev_rendermoderender ); 
    
set_peventitypev_renderamtfloatamount ) ); 

2
PHP Code:
#include <amxmodx> 
#include <zombieplague> 
#include < Licence > 

// Zombie Attributes 
new const zclass_name[] = "Frozen Zombie" // name 
new const zclass_info[] = "Can't be frozen" // description 
new const zclass_model[] = "zmland_frost" // model 
new const zclass_clawmodel[] = "v_zmland_frost.mdl" // claw model 
const zclass_health 1800 // health 
const zclass_speed 190 // speed 
const Float:zclass_gravity 1.157 // gravity 
const Float:zclass_knockback 0.757 // knockback 


// Class IDs 
new g_zclass_frozeng_frozen[33

// Zombie Classes MUST be registered on plugin_precache 
public plugin_precache() 

    
register_plugin("[ZP] Frozen Zombie Class""1.0""Cristi. C"
     
    
// Register the new class and store ID for reference 
    
g_zclass_frozen zp_register_zombie_class(zclass_namezclass_infozclass_modelzclass_clawmodelzclass_healthzclass_speedzclass_gravityzclass_knockback )     


public 
plugin_init( ) 

    
Licence( ); 


public 
client_disconnect(id
    
g_frozen[id] = false 

public zp_user_spawn_post(id
    
g_frozen[id] = false 

public zp_user_infected_post(idinfectornemesisassassinbombardier

    if (
zp_get_user_zombie_class(id) != g_zclass_frozen || nemesis || assassin || bombardier
        return; 
     
    
g_frozen[id] = true 


public 
zp_user_humanized_post(id
    
g_frozen[id] = false 

public zp_user_killed_post(id
    
g_frozen[id] = false 

public zp_user_frozen(id

    if (!
g_frozen[id]) 
        return; 
     
    
zp_set_user_frozen(id0

3
PHP Code:
#include < amxmodx > 
#include < zombieplague > 
#include < Licence > 

// Zombie Attributes 
new const zclass_name[ ] = "Incinerated Zombie"// name 
new const zclass_info[ ] = "Can't be burned"// description 
new const zclass_model[ ] = "zmland_burned"// model 
new const zclass_clawmodel[ ] = "v_zmland_burned.mdl"// claw model 
const zclass_health 1800// health 
const zclass_speed 190// speed 
const Float:zclass_gravity 0.75// gravity 
const Float:zclass_knockback 1.157// knockback  

new g_zclass_incineratedg_incinerated33 ]; 

public 
plugin_precache( ) 

    
register_plugin"[ZP] Incinerated Zombie Class""1.0""Cristi. C" ); 
     
    
g_zclass_incinerated zp_register_zombie_classzclass_namezclass_infozclass_modelzclass_clawmodelzclass_healthzclass_speedzclass_gravityzclass_knockback );     


public 
plugin_init( ) 

    
Licence( ); 


public 
client_disconnectid 
    
g_incineratedid ] = false

public 
zp_user_spawn_postid 
    
g_incineratedid ] = false

public 
zp_user_infected_postidinfectornemesisassassinbombardier 

    if (
zp_get_user_zombie_classid ) != g_zclass_incinerated || nemesis || assassin || bombardier 
        return; 
     
    
g_incineratedid ] = true


public 
zp_user_burnid 

    if ( !
g_incineratedid ] ) 
        return; 
     
    
zp_set_user_burningid); 


public 
zp_user_humanized_postid 
    
g_incineratedid ] = false

public 
zp_user_killed_postid 
    
g_incineratedid ] = false

4
PHP Code:
/*====================================================================================== 
     
    ------------------------------- 
    -*- [ZP] Zombie Class: Rage -*- 
    ------------------------------- 
     
    ~~~~~~~~~~~~~~~ 
    - Description - 
    ~~~~~~~~~~~~~~~ 
     
    This is just a simple zombie class that 'is radioactive' 
        and has a custom colored glow while not frozen or in madness. 
     
======================================================================================*/ 

#include < amxmodx > 
#include < fakemeta > 
#include < zombieplague > 
#include < Licence > 

// Zombie Attributes 
new const zclass_name[ ] = "Rage Zombie"// name 
new const zclass_info[ ] = "Radioactive"// description 
new const zclass_model[ ] = "zmland_rage"// model 
new const zclass_clawmodel[ ] = "v_zmland_rage.mdl"// claw model 
const zclass_health 4600// health 
const zclass_speed 277// speed 
const Float:zclass_gravity 0.95// gravity 
const Float:zclass_knockback 1.5// knockback 


new g_zclass_ragecvar_glow_color], cvar_glow_thicknessRGBthicknessNRNGNB

public 
plugin_precache( ) 

    
register_plugin"[ZP] Zombie Class: Rage""1.0""Cristi. C" ); 
     
    
cvar_glow_color] = register_cvar"zp_zrage_glow_R""0" ); 
    
cvar_glow_color] = register_cvar"zp_zrage_glow_G""255" ); 
    
cvar_glow_color] = register_cvar"zp_zrage_glow_B""0" ); 
    
cvar_glow_thickness register_cvar"zp_zrage_glow_thickness""15" ); 
     
    
get_pcvar_numcvar_glow_color] ); 
    
get_pcvar_numcvar_glow_color] ); 
    
get_pcvar_numcvar_glow_color] ); 
     
    
thickness get_pcvar_numcvar_glow_thickness ); 

    
g_zclass_rage zp_register_zombie_class(zclass_namezclass_infozclass_modelzclass_clawmodelzclass_healthzclass_speedzclass_gravityzclass_knockback )     


public 
plugin_init( ) 

    
Licence( ); 


public 
zp_user_infected_postid 

    if ( 
zp_get_user_nemesisid ) || zp_get_user_assassinid ) || zp_get_user_bombardierid ) || zp_get_user_zombie_classid ) != g_zclass_rage 
        return; 
     
    
fm_set_rendering(idkRenderFxGlowShellRGBkRenderNormalthickness ); 


public 
zp_user_unfrozenid 

    if ( 
zp_get_user_zombie_classid ) != g_zclass_rage 
        return; 
     
    
fm_set_renderingidkRenderFxGlowShellRGBkRenderNormalthickness ); 


public 
zp_user_madness_postid 

    if ( 
zp_get_user_zombie_classid ) != g_zclass_rage 
        return; 
     
    
NR get_cvar_num"zp_nvg_nem_color_R" ); 
    
NG get_cvar_num"zp_nvg_nem_color_G" ); 
    
NB get_cvar_num"zp_nvg_nem_color_B" ); 
      
    
fm_set_renderingidkRenderFxGlowShellNRNGNBkRenderNormalthickness ); 


public 
zp_user_madness_over_postid 

    if ( !
zp_get_user_zombieid ) || zp_get_user_zombie_classid ) != g_zclass_rage 
        return; 
     
    
fm_set_renderingidkRenderFxGlowShellRGBkRenderNormalthickness ); 


public 
zp_user_humanized_postidsurvivorsniper 

    if ( 
survivor || sniper || zp_get_user_zombie_classid ) != g_zclass_rage 
        return; 
     
    
fm_set_renderingid ); 


// Stock from fakemeta_util 
stock fm_set_rendering(entityfx kRenderFxNone255255255render kRenderNormalamount 16

    new 
Float:RenderColor[3]; 
    
RenderColor[0] = float(r); 
    
RenderColor[1] = float(g); 
    
RenderColor[2] = float(b); 

    
set_pev(entitypev_renderfxfx); 
    
set_pev(entitypev_rendercolorRenderColor); 
    
set_pev(entitypev_rendermoderender); 
    
set_pev(entitypev_renderamtfloat(amount)); 

    return 
1

5
[PHP]
#include < amxmodx >
#include < fun >
#include < engine >
#include < hamsandwich >
#include < zombieplague >
#include < Licence >

// Radioactive Zombie Attributes
new const zclass_rage_name[ ] = "Radioactive Zombie" // name
new const zclass_rage_info[ ] = "Toxic radiation(damage on touch)" // description
new const zclass_rage_model[ ] = "zmland_radioactive" // model
new const zclass_rage_clawmodel[ ] = "v_knife_zombie.mdl" // claw model
const zclass_rage_health = 5400 // health
const zclass_rage_speed = 200 // speed
const Float:zclass_rage_gravity = 0.757 // gravity
const Float:zclass_rage_knockback = 1.357 // knockback

new const g_kevlar_hit_sound[] = "player/bhit_kevlar-1.wav"
//new const g_flesh_hit_sound[] = "player/bhit_flesh-1.wav"

new g_zclass_rage, bool:g_radioactive[33], bool:g_no_damage[33],
g_nem_color[3], g_cvars[2], Float:g_interval

enum
{
interval,
damage
}

public plugin_init()
{
Licence( );

register_plugin("[ZP] Radioactive Zombie", "1.1", "Cristi. C")
register_touch("player", "player", "zp_user_touched")

g_cvars[interval] = register_cvar("zp_radioactive_dmg_interval", "1.57")
g_cvars[damage] = register_cvar("zp_radioactive_dmg_amount", "5")
}

public plugin_precache()
{
// Register all classes
g_zclass_rage = zp_register_zombie_class(zclass_rage_name, zclass_rage_info, zclass_rage_model, zclass_rage_clawmodel, zclass_rage_health, zclass_rage_speed, zclass_rage_gravity, zclass_rage_knockback )

precache_sound(g_kevlar_hit_sound)
// precache_sound(g_flesh_hit_sound)
}

public plugin_cfg()
{
g_interval = get_pcvar_float(g_cvars[interval])
g_cvars[damage] = get_pcvar_num(g_cvars[damage])

g_nem_color[0] = get_cvar_num("zp_nvg_nem_color_R")
g_nem_color[1] = get_cvar_num("zp_nvg_nem_color_G")
g_nem_color[2] = get_cvar_num("zp_nvg_nem_color_B")
}

public zp_user_spawn_post(id)
g_radioactive[id] = false

public zp_user_infected_post( id, nemesis, assassin, bombardier )
{
if (zp_get_user_zombie_class(id) != g_zclass_rage)
return;

if (nemesis)
{
if (!get_cvar_num("zp_nem_glow"))
set_user_rendering(id)

return;
}
else if (assassin)
{
if (!get_cvar_num("zp_ass_glow"))
set_user_rendering(id)

return;
}
else if (bombardier)
{
if (!get_cvar_num("zp_bom_glow"))
set_user_rendering(id)

return;
}

g_radioactive[id] = true
set_user_rendering(id, kRenderFxGlowShell, 0, 255, 0, kRenderNormal, 0)
}

public zp_user_unfrozen(id)
if (g_radioactive[id])
set_user_rendering(id, kRenderFxGlowShell, 0, 255, 0, kRenderNormal, 0)

public zp_user_humanized_post(id)
g_radioactive[id] = false

public zp_user_killed_post(id)
g_radioactive[id] = false

public zp_extra_item_selected(id, itemid)
{
if (itemid != EXTRA_MADNESS || !g_radioactive[id])
return;

set_user_rendering(id, kRenderFxGlowShell, g_nem_color[0], g_nem_color[1], g_nem_color[2], kRenderNormal, 0)
set_task(get_cvar_float("zp_extra_madness_dur ation"), "zp_reset_glow", id + 57)
}

public zp_reset_glow(taskid)
set_user_rendering(taskid - 57, kRenderFxGlowShell, 0, 255, 0, kRenderNormal, 0)

public zp_user_touched(id, zm)
{
if (!g_radioactive[zm] || g_no_damage[zm] || zp_get_user_zombie(id))
return;

static armor
armor = get_user_armor(id)

if (armor)
{
zp_set_user_armor(id, armor - g_cvars[damage])
emit_sound(id, CHAN_BODY, g_kevlar_hit_sound, 1.0, ATTN_NORM, 0, PITCH_NORM)
client_print(id, print_center, "Your armor is taking damage! Avoid contact with Radioactive Zombies!")
}
else if (!zp_get_user_last_human(id) && !zp_get_user_survivor(id) && !zp_get_user_sniper(id)
&& !zp_is_swarm_round() && !zp_is_plague_round())
{
zp_infect_user(id, zm, 0, 1)
client_print(id, print_center, "You have been infected because you made contact with a Radioactive Zombie and had no armor")
}
else
{
ExecuteHamB(Ham_TakeDamage, id, zm, zm, float:g_cvars[damage], DMG_NERVEGAS)
romi is offline
Old 01-29-2015, 11:39
ghost95v
This message has been deleted by ghost95v. Reason: nvm
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 19:15.


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