AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Scripting Help (https://forums.alliedmods.net/forumdisplay.php?f=11)
-   -   ZP 4.3 Soldier UQZ (https://forums.alliedmods.net/showthread.php?t=183500)

powq1111 04-22-2012 13:14

ZP 4.3 Soldier UQZ
 
I wont the Soldier uqz have no immortal in swarm nemesis and plague rounds. I try something but its not work :-(


PHP Code:

// Includes
#include <amxmodx>
#include <amxmisc>
#include <engine>
#include <fun>
#include <fakemeta>
#include <hamsandwich>
#include <xs>
#include <zombieplague>
#include <zmvip>



// Defines
#define ITEM_NAME "Soldier UqZ"
#define ITEM_COST 45
#define TASK_AURA 27000

// Weapons Offsets
#define OFFSET_CLIPAMMO    51
#define OFFSET_LINUX_WEAPONS 4
#define fm_cs_set_weapon_ammo(%1,%2)    set_pdata_int(%1, OFFSET_CLIPAMMO, %2, OFFSET_LINUX_WEAPONS)
#define NO_RECOIL_WEAPONS_BITSUM  ( 1 << CSW_KNIFE | 1 << CSW_HEGRENADE | 1 << CSW_FLASHBANG | 1 << CSW_SMOKEGRENADE | 1 << CSW_C4 )

// Players Offsets
#define g_uqz_weapon 373

// Max Clips
const WPN_BS = ((1<<CSW_HEGRENADE)|(1<<CSW_SMOKEGRENADE)|(1<<CSW_FLASHBANG)|(1<<CSW_KNIFE)|(1<<CSW_C4))
new const 
g_MaxClips[] = { 013010070303001520253035,
25122010301008303020073030050 }
new const 
g_i_armor 350

// Global Variables
new g_maxplayers
new g_uqz
new cvar_uqz_oncvar_uqz_hpcvar_uqz_apcvar_uqz_gravcvar_uqz_unclip_oncvar_uqz_dmg
new cvar_uqz_norecoil_oncvar_uqz_invis_oncvar_inviscvar_jumps_extras
new cvar_uqz_glow_oncvar_uqz_aura_oncvar_uqz_aura_size
new cvar_uqz_glow_colorscvar_uqz_aura_colors
new saltos_extras[33] = 0
new bool:g_un_clip[33]
new 
bool:g_damage[33]
new 
bool:g_norecoil[33]
new 
bool:invis[33]
new 
bool:glow[33]
new 
bool:jumps[33]
new 
bool:tres_saltos[33] = false

// Init Plugin
public plugin_init()
{
    
// Register Plugin
    
register_plugin("[ZP] Extra Item: Soldier UqZ""1.5""Kiske =D")
    
g_uqz zv_register_extra_item("Terminator""+HP +ARMOR +JUMP"200ZV_TEAM_HUMAN)  

    
// Language File
    
register_dictionary("zp_soldier_uqz.txt")
    
    
// Events
    
register_event("HLTV""event_round_start""a""1=0""2=0")
    
register_event("CurWeapon""Event_CurWeapon""be""1=1")

    
// Forwards
    
RegisterHam(Ham_TakeDamage"player""fw_TakeDamage")
    
register_forward(FM_PlayerPreThink"fm_PlayerPreThink")
    
    
// Thanks MasI
    
new weapon_name[24]
    for (new 
1<= 30i++)
    {
        if (!(
NO_RECOIL_WEAPONS_BITSUM << i) && get_weaponname(iweapon_name23))
        {
            
RegisterHam(Ham_Weapon_PrimaryAttackweapon_name"fw_primary_attack")
            
RegisterHam(Ham_Weapon_PrimaryAttackweapon_name"fw_primary_attack_post"1)
        }
    }
    
// End Thanks MasI

    // Cvars
    /** CVARS - Stats **/
    
cvar_uqz_on register_cvar("zp_soldier_uqz_enable""1")                 // Extra Item Enable
    
cvar_uqz_hp register_cvar("zp_uqz_health""350")                     // Health
    
cvar_uqz_ap register_cvar("zp_uqz_armor""125")                         // Armor
    
cvar_uqz_grav register_cvar("zp_uqz_gravity""0.70")                    // Gravity -- 0.70 = 560
    
cvar_uqz_unclip_on register_cvar("zp_uqz_unclip_enable""1")            // Unlimited Clip Enable
    
cvar_uqz_dmg register_cvar("zp_uqz_dmg_multiplier""3.0")            // Damage Multiplier x3 -- 1.0 = Damage Disable
    
cvar_uqz_norecoil_on register_cvar("zp_uqz_norecoil_enable""1")        // NoRecoil Enable
    
cvar_uqz_invis_on register_cvar("zp_uqz_invis_on""0")                // Invis Soldier UqZ Enable
    
cvar_invis register_cvar("zp_uqz_invis""0.0")                        // Invis Soldier UqZ -- 0.0 = Invis Full
    
cvar_jumps_extras register_cvar("zp_uqz_jumps_extras""3")            // 3 Jumps Extras -- 3 + 1(Default) = 4 Jumps
    /** CVARS - Effects **/
    
cvar_uqz_glow_on register_cvar("zp_uqz_glow_enable""1")                // Glow Enable
    
cvar_uqz_aura_on register_cvar("zp_uqz_aura_enable""1")                // Aura Enable
    
cvar_uqz_aura_size register_cvar("zp_uqz_aura_size""50")            // Aura Size
    
cvar_uqz_glow_colors register_cvar("zp_uqz_glow_rgb""0 255 255")     // Color Glow RGB
    
cvar_uqz_aura_colors register_cvar("zp_uqz_aura_rgb""0 255 255")     // Color Aura RGB

    // Glow and Aura = LTBlue

}

// Cfg Plugin
public plugin_cfg()
{
    
// Config
    
new cfgdirecction[32]
    
get_configsdir(cfgdirecctionsizeof cfgdirecction 1);

    
// Cargar Config (soldier_uqz.cfg)
    
server_cmd("exec %s/soldier_uqz.cfg"cfgdirecction)
}

// Register Extra Item
public zv_extra_item_selected(playeritemid)  
{
    if(
get_pcvar_num(cvar_uqz_on))
    {
        if(
itemid == g_uqz)
        {
            
            
            
// Stats
            
set_user_health(playerget_pcvar_num(cvar_uqz_hp)) // Health
            
set_user_armor(playerget_pcvar_num(cvar_uqz_ap)) // Armor
            
set_user_gravity(playerget_pcvar_float(cvar_uqz_grav)) // Gravity
            
            // Unlimited Clip
            
if(get_pcvar_num(cvar_uqz_unclip_on))
            {
                
g_un_clip[player] = true
            
}
            
            
// Damage Multiplier
            
g_damage[player] = true
            
            
// No Recoil
            
if(get_pcvar_num(cvar_uqz_norecoil_on))
            {
                
g_norecoil[player] = true
            
}
            
            
// Invis
            
if(get_pcvar_num(cvar_uqz_invis_on))
            {
                
invis[player] = true
            
}
            else 
// Glow
            
{
                if(
get_pcvar_num(cvar_uqz_glow_on))
                {
                    
glow[player] = true
                
}
            }
            
            
// Jumps Extras
            
if(get_pcvar_num(cvar_jumps_extras))
            {
                
jumps[player] = true
            
}
            
            
// Aura
            
if(get_pcvar_num(cvar_uqz_aura_on))
            {
                
set_task(0.1"uqz_aura"player TASK_AURA__"b")
            }
            
            
// Message
            
new name[32]
            
get_user_name(playername31)
            
set_hudmessage(02552550.050.4510.05.01.01.0, -1)
            
show_hudmessage(0"%L"player"IS"name)

        }
    }
    else
    {
        
client_print(playerprint_chat"[ZP] %L"player"DISABLED")
    }
}


       

// The User is Infecting
public zp_user_infected_post(id)
{
    
remove_task(id TASK_AURA)
    
g_un_clip[id] = false
    g_damage
[id] = false
    g_norecoil
[id] = false
    invis
[id] = false
    glow
[id] = false
    saltos_extras
[id] = 0
    tres_saltos
[id] = false
    jumps
[id] = false
}

// User Connect
public client_connect(id)
{
    
remove_task(id TASK_AURA)
    
g_un_clip[id] = false
    g_damage
[id] = false
    g_norecoil
[id] = false
    invis
[id] = false
    glow
[id] = false
    saltos_extras
[id] = 0
    tres_saltos
[id] = false
    jumps
[id] = false
}

// Event Round Start
public event_round_start()
{
    for (new 
idid <= g_maxplayersid++)
    {
        
g_un_clip[id] = true
        g_damage
[id] = true
        g_norecoil
[id] = true
        invis
[id] = true
        glow
[id] = true
        tres_saltos
[id] = true
        jumps
[id] = true
    
}
}

// Event Round Start
public event_zombie_round_start()
{
    for (new 
idid <= g_maxplayersid++)
    {
        
g_un_clip[id] = true
        g_damage
[id] = true
        g_norecoil
[id] = true
        invis
[id] = true
        glow
[id] = true
        tres_saltos
[id] = true
        jumps
[id] = true
    
}
}

// Current Weapon info
public Event_CurWeapon(id)
{
    if (
g_un_clip[id])
    {
        
g_un_clip[id] = true
        
new uqzWeapon read_data(2)
        
        if(!(
WPN_BS & (1<<uqzWeapon)))
            
fm_cs_set_weapon_ammo(get_pdata_cbase(idg_uqz_weapon), g_MaxClips[uqzWeapon])
    }
}

// Ham Take Damage Forward
public fw_TakeDamage(attackerFloat:damage)
{
    if(
g_damage[attacker])
    {
        
g_damage[attacker] = true
        
new weapon get_user_weapon(attacker__)
        
        if(
weapon == CSW_XM1014 || CSW_DEAGLE)
        {
            
SetHamParamFloat(4damage *= get_pcvar_num(cvar_uqz_dmg))
        }
    }
}

// Thanks MasI
public fw_primary_attack(ent)
{
    new 
id pev(ent,pev_owner)
    if(
g_norecoil[id])
    {
        
g_norecoil[id] = true
        pev
(idpev_punchangleFloat:{0.00.00.0})
        return 
HAM_IGNORED
    
}
    return 
HAM_IGNORED
}

public 
fw_primary_attack_post(ent)
{
    new 
id pev(ent,pev_owner)
    if(
g_norecoil[id])
    {
        
g_norecoil[id] = true
        set_pev
(idpev_punchangleFloat:{0.00.00.0})
        return 
HAM_IGNORED
    
}
    return 
HAM_IGNORED
}
// End Thanks MasI

// Forward Player PreThink
public fm_PlayerPreThink(id)
{
    if (!
is_user_alive(id) || zp_get_user_zombie(id))
        return 
PLUGIN_CONTINUE
    
    
// Glow and Invis
    
if(get_pcvar_num(cvar_uqz_invis_on))
    {
        if(
invis[id])
        {
            
invis[id] = true
            set_pev
(idpev_renderfxkRenderFxGlowShell)
            
set_pev(idpev_rendermodekRenderTransAlpha)
            
set_pev(idpev_renderamtget_pcvar_float(cvar_invis))
        }
    }
    else
    {
        if(
glow[id])
        {
            
glow[id] = true
            
            
new szColors[16]
            
get_pcvar_string(cvar_uqz_glow_colorsszColors15)
            
            new 
gRed[4], gGreen[4], gBlue[4], iRediGreeniBlue
            parse
(szColorsgRed3gGreen3gBlue3)
            
            
iRed clamp(str_to_num(gRed), 0255)
            
iGreen clamp(str_to_num(gGreen), 0255)
            
iBlue clamp(str_to_num(gBlue), 0255)
            
            if(
get_pcvar_num(cvar_uqz_glow_on))
            {
                
set_user_rendering(idkRenderFxGlowShelliRediGreeniBluekRenderNormal20)
            }
        }
    }
    
    if(
get_pcvar_num(cvar_jumps_extras))
    {
        if(
jumps[id])
        {
            
jumps[id] = true
            
            
new usebut get_user_button(id)
            new 
oldbut get_user_oldbutton(id)
            if((
usebut IN_JUMP) && !(get_entity_flags(id) & FL_ONGROUND) && !(oldbut IN_JUMP))
            {
                if (
saltos_extras[id] < get_pcvar_num(cvar_jumps_extras))
                {
                    
tres_saltos[id] = true
                    saltos_extras
[id]++
                    return 
PLUGIN_CONTINUE
                
}
            }
            if((
usebut IN_JUMP) && (get_entity_flags(id) & FL_ONGROUND))
            {
                
saltos_extras[id] = 0
                
return PLUGIN_CONTINUE
            
}
        }
    }
    return 
PLUGIN_CONTINUE
}

// Forward PostThink
public client_PostThink(id)
{    
    if (!
is_user_alive(id) || zp_get_user_zombie(id))
        return 
PLUGIN_CONTINUE
    
    
if(jumps[id])
    {
        
jumps[id] = true
        
        
if(tres_saltos[id] == true)
        {
            new 
Float:vezlocity[3]    
            
entity_get_vector(idEV_VEC_velocityvezlocity)
            
vezlocity[2] = random_float(265.0285.0)
            
entity_set_vector(idEV_VEC_velocityvezlocity)
            
tres_saltos[id] = false
            
return PLUGIN_CONTINUE
        
}    
    }
    return 
PLUGIN_CONTINUE
}

// Aura
public uqz_aura(id)
{
    
id -= TASK_AURA

    
// Player is Life ?
    
if (!is_user_alive(id))
        return
    
    new 
szColors[16]
    
get_pcvar_string(cvar_uqz_aura_colorsszColors15)
    
    new 
gRed[4], gGreen[4], gBlue[4], iRediGreeniBlue
    parse
(szColorsgRed3gGreen3gBlue3)
    
    
iRed clamp(str_to_num(gRed), 0255)
    
iGreen clamp(str_to_num(gGreen), 0255)
    
iBlue clamp(str_to_num(gBlue), 0255)

    
// Register Pev_
    
static Float:FOrigin[3]
    
pev(idpev_originFOrigin)

    
engfunc(EngFunc_MessageBeginMSG_PVSSVC_TEMPENTITYFOrigin0// Open the Function
    
write_byte(TE_DLIGHT// TE Id
    
engfunc(EngFunc_WriteCoordFOrigin[0]) // Player Position
    
engfunc(EngFunc_WriteCoordFOrigin[1]) // Position 'Y'
    
engfunc(EngFunc_WriteCoordFOrigin[2]) // Position 'X'
    
write_byte(get_pcvar_num(cvar_uqz_aura_size)) // Radius
    
write_byte(iRed// Red
    
write_byte(iGreen// Green
    
write_byte(iBlue// Blue
    
write_byte(2// Life
    
write_byte(0// Delay Rate
    
message_end() // Close the Function




All times are GMT -4. The time now is 07:48.

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