View Single Post
Dolph_Ziggler
BANNED
Join Date: Jun 2011
Old 06-20-2011 , 09:14   Re: Hiper player make Admin Only
Reply With Quote #6

try this its only for admin, if you found bug tell me (not tested)
Code:
//Here are includes!
#include <amxmodx>
#include <hamsandwich>
#include <engine>
#include <zombieplague>
#include <fun>
#include <fakemeta_util>
#include <cstrike>

#define ADMIN ADMIN_LEVEL_H

// Pcvar / Item ID / Model
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 g_itemid1, gravity, speed, eaglepower, armor, deagledamage, knifehiperp
new glowonoff, armoramount, gravitystats, knifedamage, ammopackreward
new g_maxplayers
new bool:g_HasHiperPlayer[33]
const ammo_pack_hiperp = 30

public plugin_init()
{
	// Register
	register_plugin("[ZP] Hiper Player", "1.1", "TheArmagedon")
	g_itemid1 = zp_register_extra_item("Hiper Player", ammo_pack_hiperp, ZP_TEAM_HUMAN)
	
	// Cvars | Events
	gravity		= register_cvar("zp_hiperp_gravity", "1")
	armor		= register_cvar("zp_hiperp_armor", "1")
	speed		= register_cvar("zp_hiperp_speed", "1")
	eaglepower	= register_cvar("zp_hiperp_eagle", "1")
	deagledamage	= register_cvar("zp_hiperp_eagledmg", "5.0")
	glowonoff	= register_cvar("zp_hiperp_glow", "1")
	armoramount	= register_cvar("zp_hiperp_armor_amount", "100")
	gravitystats	= register_cvar("zp_hiperp_gravity_amount", "0.7")
	knifehiperp	= register_cvar("zp_hiperp_knife", "1")
	knifedamage	= register_cvar("zp_hiperp_knife_dmg", "15.0")
	ammopackreward	= register_cvar("zp_hiperp_ap_reward", "2")
	
	RegisterHam(Ham_TakeDamage, "player", "fw_TakeDamage")
	register_event("HLTV", "event_round_start", "a", "1=0", "2=0")
	register_event("CurWeapon", "event_CurWeapon", "be", "1=1")
	g_maxplayers 	= get_maxplayers()
}
// Precache model
public plugin_precache()
{
	precache_model(v_hiperp_eagle)
	precache_model(p_hiperp_eagle)
	precache_model(v_hiperp_chainsaw)
}
// Round start
public event_round_start() 
{
	for(new id = 1; id <= g_maxplayers; id++) 
		g_HasHiperPlayer[id] = false 
}
// Infected
public zp_user_infected_post(infected, infector)
{
		if (g_HasHiperPlayer[infected])
		{
		g_HasHiperPlayer[infected] = false
		}
}
// Victim
public fw_player_killed(victim, attacker, shouldgib)
{
		if(!is_user_connected(attacker) || !is_user_connected(victim) || attacker == victim || !attacker)
		return HAM_IGNORED
		
	// Victim has hiperplayer
	if(g_HasHiperPlayer[victim])
	{
		g_HasHiperPlayer[victim] = false
	}
	// Attacker Has Hiperplayer
	if(g_HasHiperPlayer[attacker])
	{
		// Get Victim's Origin, Give Ammo cvar status and AP cvar amount
		static iOrigin[3]
		get_user_origin(victim, iOrigin)
		
		// Get reward cvar
		static iReward
		iReward = get_pcvar_num(ammopackreward)
		
		// Cvar is more than 0
		if(bool:iReward != false)
			client_print(attacker, print_center, "[HiperP] Zombie Killed. +%d Ammopacks", iReward)
		else
			client_print(attacker, print_center, "[HiperP] Zombie Killed")
			
		// Updating Ammopacks
		zp_set_user_ammo_packs(attacker, zp_get_user_ammo_packs(attacker) + iReward)
	}
	return HAM_IGNORED
}
// Item Selected
public zp_extra_item_selected(player, itemid)
{
	if (get_user_flags(id) & ADMIN)
	{
		if (itemid == g_itemid1) 
		{		
			if(g_HasHiperPlayer[player]) 
			{
				client_print(player, print_chat, "[ZP] You have purchased Hiper Player!")
				return;
			} 
			else 
			{
				g_HasHiperPlayer[player] = true
				if(get_pcvar_num(armor) == 1) 
				{
					set_user_armor(player, get_pcvar_num(armoramount));
				}
				if(get_pcvar_num(gravity) == 1) 
				{
					set_user_gravity(player, get_pcvar_float(gravitystats));
				}
				if(get_pcvar_num(speed) == 1) 
				{
					set_user_maxspeed(player, 350.0);
				}
				if(get_pcvar_num(eaglepower) == 1) 
				{
					give_item(player, "weapon_deagle");
				}
				if(get_pcvar_num(glowonoff) == 1) 
				{
					set_user_rendering(player, kRenderFxGlowShell, 10, 5, 0, kRenderNormal, 16);
				}
				if(get_pcvar_num(knifehiperp) == 1) 
				{
					give_item(player, "weapon_knife");
				}
			}
		}
	}
}
// Deagle/Knife Model
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)
	}
}
// Deagle Damage
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;
}
Dolph_Ziggler is offline
Send a message via MSN to Dolph_Ziggler