Member
Join Date: Apr 2011
Location: Poland
|
![Old](images/statusicon/post_old.svg)
06-21-2011
, 10:38
Re: Hiper player make Admin Only
|
#16
|
Glow is working fine, try now. Also make sure that there is no conflict between any of your plugins.
Code:
#include <amxmodx>
#include <engine>
#include <fakemeta>
#include <fakemeta_util>
#include <fun>
#include <hamsandwich>
#include <zombieplague>
new const v_hiperp_eagle[] = "models/v_hiperp_eagle.mdl"
new const p_hiperp_eagle[] = "models/p_hiperp_eagle.mdl"
new const v_hiperp_chainsaw[] = "models/v_hiperp_chainsaw.mdl"
new gravity, speed, eaglepower, armor, deagledamage, knifehiperp
new glowonoff, armoramount, gravitystats, knifedamage, ammopackreward
new glow_red, glow_green, glow_blue
new aura_radius, aura_red, aura_green, aura_blue
new g_maxplayers
new speed_value
new bool:g_HasHiperPlayer[33]
public plugin_init()
{
register_plugin("[ZP] Hiper Player", "1.1", "TheArmagedon")
gravity = register_cvar("zp_hiperp_gravity", "1")
armor = register_cvar("zp_hiperp_armor", "1")
speed = register_cvar("zp_hiperp_speed", "280.0")
eaglepower = register_cvar("zp_hiperp_eagle", "1")
deagledamage = register_cvar("zp_hiperp_eagledmg", "3.0")
armoramount = register_cvar("zp_hiperp_armor_amount", "100")
gravitystats = register_cvar("zp_hiperp_gravity_amount", "0.65")
knifehiperp = register_cvar("zp_hiperp_knife", "1")
knifedamage = register_cvar("zp_hiperp_knife_dmg", "4.0")
ammopackreward = register_cvar("zp_hiperp_ap_reward", "3")
glowonoff = register_cvar("zp_hiperp_glow", "1")
glow_red = register_cvar ("zp_hiperp_glow_R", "255")
glow_green = register_cvar ("zp_hiperp_glow_G", "255")
glow_blue = register_cvar ("zp_hiperp_glow_B", "0")
aura_radius = register_cvar ("zp_hiperp_aura_radius", "30.0")
aura_red = register_cvar ("zp_hiperp_aura_R", "255")
aura_green = register_cvar ("zp_hiperp_aura_G", "255")
aura_blue = register_cvar ("zp_hiperp_aura_B", "0")
register_event("CurWeapon", "event_CurWeapon", "be", "1=1")
register_event("HLTV","event_new_round", "a","1=0", "2=0");
register_forward(FM_PlayerPreThink, "FW_playerprethink");
RegisterHam(Ham_Spawn,"player","spawned",1)
RegisterHam(Ham_TakeDamage, "player", "fw_TakeDamage")
RegisterHam(Ham_Killed, "player", "fw_player_killed");
g_maxplayers = get_maxplayers()
}
public plugin_precache()
{
precache_model(v_hiperp_eagle)
precache_model(p_hiperp_eagle)
precache_model(v_hiperp_chainsaw)
}
public event_new_round()
{
speed_value = get_pcvar_num(speed)
}
public spawned(id)
{
if(get_user_flags(id) & read_flags("q"))
{
g_HasHiperPlayer[id] = true
setstats(id)
}
}
public zp_user_humanized_post(id)
{
if(!zp_get_user_survivor(id) && (get_user_flags(id) & read_flags("q")))
{
g_HasHiperPlayer[id] = true
setstats(id)
}
else g_HasHiperPlayer[id] = false
}
public zp_user_infected_post(infected, infector)
{
if(g_HasHiperPlayer[infected])
{
g_HasHiperPlayer[infected] = false
}
}
public fw_player_killed(victim, attacker, shouldgib)
{
if(!is_user_connected(attacker) || !is_user_connected(victim) || attacker == victim || !attacker)
return HAM_IGNORED
if(g_HasHiperPlayer[victim])
{
g_HasHiperPlayer[victim] = false
}
if(g_HasHiperPlayer[attacker])
{
static iReward
iReward = get_pcvar_num(ammopackreward)
if(iReward > 0)
{
client_print(attacker, print_center, "[HiperPlayer] Zombie Killed. +%d Ammopacks", iReward)
zp_set_user_ammo_packs(attacker, zp_get_user_ammo_packs(attacker) + iReward)
}
}
return HAM_IGNORED
}
public setstats(id)
{
if(is_user_alive(id)){
if(get_pcvar_num(armor) == 1) {
set_pev(id, pev_armorvalue, float(get_pcvar_num(armoramount)), 100);
}
if(get_pcvar_num(gravity) == 1) {
set_user_gravity(id, get_pcvar_float(gravitystats));
}
if(get_pcvar_num(eaglepower) == 1) {
give_item(id, "weapon_deagle");
give_item(id, "ammo_50ae")
}
if(get_pcvar_num(glowonoff) == 1) {
fm_set_rendering(id, kRenderFxGlowShell, get_pcvar_num(glow_red), get_pcvar_num(glow_green), get_pcvar_num(glow_blue), kRenderNormal, 16);
}
if(get_pcvar_num(knifehiperp) == 1) {
give_item(id, "weapon_knife");
}
}
}
public PLAYERAURA(id)
{
static Float:originF[3]
pev(id, pev_origin, originF)
engfunc(EngFunc_MessageBegin, MSG_PVS, SVC_TEMPENTITY, originF, 0)
write_byte(TE_DLIGHT)
engfunc(EngFunc_WriteCoord, originF[0]) // x
engfunc(EngFunc_WriteCoord, originF[1]) // y
engfunc(EngFunc_WriteCoord, originF[2]) // z
write_byte(get_pcvar_num(aura_radius)) // radius
write_byte(get_pcvar_num(aura_red)) // red
write_byte(get_pcvar_num(aura_green)) // green
write_byte(get_pcvar_num(aura_blue)) // blue
write_byte(2) // life
write_byte(0) // decay rate
message_end()
}
public event_CurWeapon(id)
{
new weapid = read_data(2)
if(!is_user_alive(id))
return;
if(g_HasHiperPlayer[id] && weapid == CSW_DEAGLE)
{
entity_set_string(id, EV_SZ_viewmodel, v_hiperp_eagle)
entity_set_string(id, EV_SZ_weaponmodel, p_hiperp_eagle)
}
if(g_HasHiperPlayer[id] && weapid == CSW_KNIFE )
{
entity_set_string(id, EV_SZ_viewmodel, v_hiperp_chainsaw)
}
}
public fw_TakeDamage(victim, inflictor, attacker, Float:damage, damage_type)
{
if(!(1 <= attacker <= g_maxplayers))
return HAM_IGNORED;
if(get_user_weapon(attacker) != CSW_DEAGLE)
if(get_user_weapon(attacker) != CSW_KNIFE)
return HAM_IGNORED;
if (get_user_weapon(attacker) && g_HasHiperPlayer[attacker])
{
SetHamParamFloat(4, damage * get_pcvar_float(deagledamage))
SetHamParamFloat(4, damage * get_pcvar_float(knifedamage))
}
return HAM_IGNORED;
}
public FW_playerprethink(id)
{
if (!is_user_alive(id) || zp_get_user_zombie(id) || zp_get_user_survivor(id))
return PLUGIN_CONTINUE
if(g_HasHiperPlayer[id] && speed_value > 0)
{
set_user_maxspeed(id, float(speed_value))
}
if(g_HasHiperPlayer[id] && get_pcvar_num(aura_radius) > 0)
{
PLAYERAURA(id)
}
return PLUGIN_CONTINUE
}
- Added aura with cvars RGB and size of radius
- RGB cvars for glow
in plugins.ini
write
zp_hiper.amxx
at end
I think this plugin can be done better, i mean more effecient but at least it is working.
Last edited by bartek93tbg; 06-21-2011 at 12:52.
|
|