Code: Select all
#include <amxmodx>
#include <cstrike>
#include <engine>
#include <hamsandwich>
#include <fun>
#define HAM_KILLED 0 //0-event\1-ham
#pragma tabsize 0
#define VIP_ACCESS "t"
#define is_vip(%1) (get_user_flags(%1)&read_flags(VIP_ACCESS))
new Ham:Ham_Player_ResetMaxSpeed = Ham_Item_PreFrame
#define SPEED 100.0
new Float:gWeaponSpeed[] = {
0.0,//null
250.0, // CSW_P228
0.0,//c4?
260.0, // CSW_SCOUT
250.0, // CSW_HEGRENADE
240.0, // CSW_XM1014
250.0, // CSW_C4
250.0, // CSW_MAC10
240.0, // CSW_AUG
250.0, // CSW_SMOKEGRENADE
250.0, // CSW_ELITE
250.0, // CSW_FIVESEVEN
250.0, // CSW_UMP45
210.0, // CSW_SG550
240.0, // CSW_GALI
240.0, // CSW_FAMAS
250.0, // CSW_USP
250.0, // CSW_GLOCK18
210.0, // CSW_AWP
250.0, // CSW_MP5NAVY
220.0, // CSW_M249
230.0, // CSW_M3
230.0, // CSW_M4A1
250.0, // CSW_TMP
210.0, // CSW_G3SG1
250.0, // CSW_FLASHBANG
250.0, // CSW_DEAGLE
235.0, // CSW_SG552
221.0, // CSW_AK47
250.0, // CSW_KNIFE
245.0 // CSW_P90
};
//=> 350.0
public plugin_init()
{
RegisterHam(Ham_Spawn, "player", "PlayerPostSpawn", 1);
#if HAM_KILLED == 1
RegisterHam(Ham_Killed, "player", "Player_Death", 1)
#else
register_event("DeathMsg", "Player_Death", "a");
#endif
RegisterHam(Ham_Player_ResetMaxSpeed,"player","playerResetMaxSpeed", 1)//curw/think(ham/eng),norm + engfunc(EngFunc_SetClientMaxspeed,id,SPEED)
RegisterHam(Ham_TakeDamage, "player", "Player_Hurt")
}
public playerResetMaxSpeed(id)
{
if(!is_user_alive(id)||!is_vip(id)) return HAM_IGNORED
new weapon = get_user_weapon(id)
set_user_maxspeed(id, gWeaponSpeed[weapon]+SPEED)//pev classname&speed
return HAM_SUPERCEDE
}
public PlayerPostSpawn(id) if(is_user_alive(id)&&is_vip(id)) set_task(10.0,"ITEME",id)
public ITEME(id)
{
if(!is_user_alive(id)) return
give_item(id,"weapon_deagle")
give_item(id,"weapon_hegrenade")
give_item(id,"weapon_smokegrenade")
give_item(id,"weapon_flashbang")
give_item(id,"weapon_flashbang")
cs_set_user_bpammo(id,CSW_DEAGLE,35)
set_user_gravity(id,700.0/get_cvar_float("sv_gravity"))
cs_set_user_money(id,1500,1)
if(get_user_team(id)==2) give_item(id,"item_thighpack")
new name[32]
get_user_name(id,name,charsmax(name))
client_print(id,print_chat,"VIP - Salut %s, beneficiile VIP ti-au fost atribuite cu succes !",name)
}
public Player_Hurt(victim, inflictor, attacker, Float:dmg, dmgbits) {
if ( !is_user_alive(attacker)||attacker==victim )
return HAM_IGNORED;
if ( is_vip(attacker) )
{
SetHamParamFloat(4, dmg * 30.0)
return HAM_HANDLED;
}
return HAM_IGNORED;
}
#if HAM_KILLED == 1
public Player_Death(victim, attacker, shouldgib)
#else
public Player_Death()
#endif
{
#if HAM_KILLED == 0
static attacker; attacker = read_data( 1 );
static victim; victim = read_data( 2 );
static hs; hs=read_data(3)
#endif
if(!is_user_alive(attacker)||attacker==victim)
{
#if HAM_KILLED == 1
return HAM_IGNORED
#else
return
#endif
}
if(is_vip(attacker))
{
#if HAM_KILLED == 1
if(shouldgib==2)//hitzones / get_pdata_int(victim, 75, 5) == HIT_HEAD
#else
if(hs)
#endif
{
set_user_health(attacker,min(100,get_user_health(attacker)+7))
cs_set_user_money(attacker,cs_get_user_money(attacker)+750,1)
}
else
{
set_user_health(attacker,min(100,get_user_health(attacker)+5))
cs_set_user_money(attacker,cs_get_user_money(attacker)+500,1)
}
}
#if HAM_KILLED == 1
return HAM_IGNORED
#endif
}