Raised This Month: $ Target: $400
 0% 

Subplugin Submission [ZP] Extra item: Sniper v1.6


  
 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
Vechta
Veteran Member
Join Date: Jun 2010
Old 09-10-2010 , 11:06   Re: [ZP] Extra item: Sniper v1.3
Reply With Quote #9

Test this

PHP Code:
/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <amxmisc>
#include <fun>
#include <fakemeta>
#include <hamsandwich>
#include <zombieplague>

#define PLUGIN "[ZP] Sniper"
#define VERSION "1.0"
#define AUTHOR "Vechta"

new cvar_healthcvar_armorcvar_speedcvar_damagecvar_glowcvar_gravity
new g_sniper[33], g_hassniper[33]
new 
g_item_sniper

new const g_item_name[] =  "Sniper" // Item name
new const g_item_cost 10 // Item cost
new const g_item_team ZP_TEAM_HUMAN // Item team

new const SNIPER_AWP[] = "models/v_awp.mdl" // here you can change to your awp model

#define is_valid_player(%1) (1 <= %1 <= 32) // Check player

public plugin_init() 
{
    
register_plugin(PLUGINVERSIONAUTHOR)
    
    
g_item_sniper zp_register_extra_item(g_item_nameg_item_costg_item_team// Register Sniper as Item
    
    
cvar_health register_cvar("zp_sniper_health""1000"// Default - 100
    
cvar_armor register_cvar("zp_sniper_armor""100"// Default - 100
    
cvar_speed register_cvar("zp_sniper_speed""240.0"// Default - 240.0
    
cvar_gravity register_cvar("zp_sniper_gravity""0.5"// Default - 0.5 (Half gravity)
    
cvar_damage register_cvar("zp_sniper_awp_damage""1000"// Default - 1000
    
cvar_glow register_cvar("zp_sniper_glow""0 255 0"// Default - 0 255 0
    
    
register_event("DeathMsg""Sniper_Killed""a"// Remove Sniper if he was killed
    
register_event("CurWeapon""Ev_CurWeapon""be""1=1"); // Awp model

    
RegisterHam(Ham_TakeDamage"player""Fw_PlayerDamaged"1// Register sniper damage
    
register_forward(FM_PlayerPreThink"fm_PlayerPreThink"// it's for glow thing
}

public 
plugin_precache()
    
precache_model(SNIPER_AWP// Precache Awp model

public zp_extra_item_selected(playeritemid)
{
    if (
itemid == g_item_sniper)
    {
        if (!
g_hassniper[player])
        {
            
// Set the player to Sniper
            
g_sniper[player] = true
            g_hassniper
[player] = true
            
            
// Change users: health, armor, speed, gravity
            
set_user_health(playerget_user_health(player) + get_pcvar_num(cvar_health))
            
set_user_armor(playerget_user_armor(player) + get_pcvar_num(cvar_armor))
            
set_pev(playerpev_speedget_pcvar_float(cvar_speed))
            
set_pev(playerpev_gravityget_pcvar_float(cvar_gravity))
            
            
// Strip first users weapon to give Awp
            
strip_user_weapons(player)
            
            
// Give weapon awp
            
give_item(player"weapon_knife")
            
give_item(player"weapon_awp")
        }
        else
        {
            
client_print(playerprint_chat"[ZP] You are already a Sniper!")
            return 
ZP_PLUGIN_HANDLED;
        }
    }
    return 
PLUGIN_HANDLED;
}
    
public 
Sniper_Killed()
{
    new 
victim read_data(2)
    
    
g_sniper[victim] = false
    g_hassniper
[victim] = false

    
if (g_sniper[victim])
    {
        
set_user_rendering(victimkRenderFxGlowShell255255255kRenderNormal25)
    }
}

public 
Fw_PlayerDamaged(idinflictorattackerdamagedamagebits

    if ( 
is_valid_player(attacker) && get_user_weapon(attacker) == CSW_AWP && g_hassniper[attacker] ) 
    {
        
SetHamParamFloat(4damage *= get_pcvar_float(cvar_damage))
    }
}

public 
Event_CurWeapon(id)
{
    if (
get_user_weapon(id) == CSW_AWP && g_hassniper[id])
    {
        
set_pev(idpev_viewmodel2SNIPER_AWP)
    }
}

public 
fm_PlayerPreThink(id)
{
    if (
g_hassniper[id] && is_user_alive(id))
    {
        if (
zp_get_user_zombie(id) || zp_get_user_nemesis(id)) return;
    
        
// Glow part
        
new szColors[16]
        
get_pcvar_string(cvar_glowszColors15)
                
        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)
                
        
set_user_rendering(idkRenderFxGlowShelliRediGreeniBluekRenderNormal20)
    }

Vechta is offline
 



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 15:54.


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