Raised This Month: $51 Target: $400
 12% 

Admin_Class


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
toponicar
Junior Member
Join Date: Apr 2015
Old 04-05-2015 , 13:49   Admin_Class
Reply With Quote #1

Greeting people. I'm new here, and I still do not know where to create a new topic. Sorry if spamming in the wrong section!
Basically I have a zombie server, and I made a class for VIP zombie !!!
But now I'm interested in how to make a class specifically for admins ???
toponicar is offline
thekiller123
Member
Join Date: Dec 2012
Old 04-05-2015 , 15:41   Re: Admin_Class
Reply With Quote #2

you have .sma for edit for you.
thekiller123 is offline
toponicar
Junior Member
Join Date: Apr 2015
Old 04-05-2015 , 16:26   Re: Admin_Class
Reply With Quote #3

Quote:
Originally Posted by thekiller123 View Post
you have .sma for edit for you.
Yes, I have. Here he is at.

Code:
/* ====================================================
Name: Deimos Zombie
Type: Zombie Class
Desc: Press +Attack2 to Drop Human Weapon
Edit: Dias Leon
This zombie class made by Petr & 5c0r.
==================================================== */
#include <amxmodx>
#include <engine>
#include <fakemeta>
#include <zombieplague>
#include <fun>
#include <hamsandwich>
#include <fakemeta_util>

#define PLUGIN "[ZP] ZClass: Deimos Zombie"
#define VERSION "1.1"
#define AUTHOR "Petr+5cor"

new const zclass_name[] = { "Deimos Zombie" }
new const zclass_info[] = { "Press +Attack2 to Drop Human Weapon" }
new const zclass_model[] = { "zombie_deimos1" }
new const zclass_clawmodel[] = { "v_knife_deimos1.mdl" }
const zclass_health = 3000
const zclass_speed = 240
const Float:zclass_gravity = 1.0
const Float:zclass_knockback = 0.25

new beamSpr, deimos_spr
new const deimos_sound[] = "zombie_plague/deimos_skill_hit.wav"

//Cvars
new pcvar_distance
new cvar_cooldown // Cooldown when dropped the weapon of human

new g_deimos

new g_maxplayers
new is_cooldown[33] = 0
new bool:g_cd[33]
new cvar_nemesis

#define PRIMARY_WEAPONS_BIT_SUM ((1<<CSW_SCOUT)|(1<<CSW_XM1014)|(1<<CSW_MAC10)|(1<<CSW_AUG)|(1<<CSW_UMP45)|(1<<CSW_SG550)|(1<<CSW_GALIL)|(1<<CSW_FAMAS)|(1<<CSW_AWP)|(1<<CSW_MP5NAVY)|(1<<CSW_M249)|(1<<CSW_M3)|(1<<CSW_M4A1)|(1<<CSW_TMP)|(1<<CSW_G3SG1)|(1<<CSW_SG552)|(1<<CSW_AK47)|(1<<CSW_P90)) // You can allways add more 

public plugin_precache()
{
	g_deimos = zp_register_zombie_class(zclass_name, zclass_info, zclass_model, zclass_clawmodel, zclass_health, zclass_speed, zclass_gravity, zclass_knockback)
	beamSpr = precache_model("sprites/lgtning.spr")
	deimos_spr = precache_model("sprites/deimosexp.spr")
	precache_sound(deimos_sound)
}

public plugin_init() 
{
	register_plugin(PLUGIN, VERSION, AUTHOR)
	pcvar_distance = register_cvar ( "zp_deimos_distance", "1000" )
	cvar_cooldown = register_cvar("zp_deimos_shot_cooldown","45")
	cvar_nemesis = register_cvar("zp_deimos_nemesis", "1")
	g_maxplayers = get_maxplayers()
	register_logevent("roundStart", 2, "1=Round_Start")
	register_forward(FM_CmdStart, "fwd_cmd_start")
	RegisterHam(Ham_Spawn,"player","fw_PlayerSpawn_Post",1)
}
public fw_PlayerSpawn_Post(id)
{
	// Not alive...
	if(!is_user_alive(id))
		return HAM_IGNORED
	if(cvar_nemesis == 1)
	{
		if(zp_get_user_zombie_class(id) == g_deimos && zp_get_user_zombie(id))
		{
			g_cd[id] = true
		}
		} else {
		if(zp_get_user_zombie_class(id) == g_deimos && zp_get_user_zombie(id) && !zp_get_user_nemesis(id))
		{
			g_cd[id] = true
		}	
	}
	
	return HAM_IGNORED
}  

public fwd_cmd_start(id, uc_handle, seed) 
{
	if(cvar_nemesis == 1)
	{
		if (!is_user_alive(id) || !zp_get_user_zombie(id) || g_cd[id] )
			return FMRES_IGNORED
		} else {
		if (!is_user_alive(id) || !zp_get_user_zombie(id) || g_cd[id] || zp_get_user_nemesis(id) )
			return FMRES_IGNORED
	}
	
	if (zp_get_user_zombie_class(id) != g_deimos)
		return FMRES_IGNORED
	
	static buttons
	buttons = get_uc(uc_handle, UC_Buttons)
	
	if(buttons & IN_ATTACK2) {
		drop_weapon(id)
		g_cd[id] = true
	}
	
	buttons &= ~IN_ATTACK2
	set_uc(uc_handle, UC_Buttons, buttons)
	
	return FMRES_HANDLED
}

drop_weapon(id)
{
	new target, body
	static Float:start[3]
	static Float:aim[3]
	
	pev(id, pev_origin, start)
	fm_get_aim_origin(id, aim)
	
	start[2] += 16.0; // raise
	aim[2] += 16.0; // raise
	get_user_aiming ( id, target, body, pcvar_distance )
	
	if( is_user_alive( target ) && !zp_get_user_zombie( target ) && !zp_get_user_survivor( target ) )
	{	
		message_begin(MSG_BROADCAST ,SVC_TEMPENTITY)
		write_byte(TE_EXPLOSION)
		engfunc(EngFunc_WriteCoord, aim[0])
		engfunc(EngFunc_WriteCoord, aim[1])
		engfunc(EngFunc_WriteCoord, aim[2])
		write_short(deimos_spr)
		write_byte(10)
		write_byte(30)
		write_byte(4)
		message_end()
		
		emit_sound(id, CHAN_WEAPON, deimos_sound, VOL_NORM, ATTN_NORM, 0, PITCH_NORM)
		
		drop(target)
	}	
	
	message_begin(MSG_BROADCAST,SVC_TEMPENTITY)
	write_byte(0)
	engfunc(EngFunc_WriteCoord,start[0]);
	engfunc(EngFunc_WriteCoord,start[1]);
	engfunc(EngFunc_WriteCoord,start[2]);
	engfunc(EngFunc_WriteCoord,aim[0]);
	engfunc(EngFunc_WriteCoord,aim[1]);
	engfunc(EngFunc_WriteCoord,aim[2]);
	write_short(beamSpr); // sprite index
	write_byte(0); // start frame
	write_byte(30); // frame rate in 0.1's
	write_byte(10); // life in 0.1's
	write_byte(100); // line width in 0.1's
	write_byte(10); // noise amplititude in 0.01's
	write_byte(200); // red
	write_byte(200); // green
	write_byte(0); // blue
	write_byte(100); // brightness
	write_byte(50); // scroll speed in 0.1's
	message_end();
	set_task( get_pcvar_float(cvar_cooldown), "reset_cooldown2", id );
}

public zp_user_infected_post(id, infector)
{
	if ((zp_get_user_zombie_class(id) == g_deimos) && !zp_get_user_nemesis(id))
	{
		is_cooldown[id] = 0
		g_cd[id] = false
	}
}
public reset_cooldown2(id)
{
	g_cd[id] = false
	client_print( id, print_chat, "[Deimos Zombie] Now. You can use your Ability. Press +Attack2" )
}

public zp_user_humanized_post(id)
{
	remove_task(id)
	is_cooldown[id] = 0
}

public roundStart()
{
	for (new i = 1; i <= g_maxplayers; i++)
	{
		is_cooldown[i] = 0
		remove_task(i)
	}
}
stock drop(id) 
{
	new weapons[32], num
	get_user_weapons(id, weapons, num)
	for (new i = 0; i < num; i++) {
		if (PRIMARY_WEAPONS_BIT_SUM & (1<<weapons[i])) 
		{
			static wname[32]
			get_weaponname(weapons[i], wname, sizeof wname - 1)
			engclient_cmd(id, "drop", wname)
		}
	}
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1066\\ f0\\ fs16 \n\\ par }
*/
toponicar is offline
thekiller123
Member
Join Date: Dec 2012
Old 04-05-2015 , 16:51   Re: Admin_Class
Reply With Quote #4

Try:

PHP Code:
/* ====================================================
Name: Deimos Zombie
Type: Zombie Class
Desc: Press +Attack2 to Drop Human Weapon
Edit: Dias Leon
This zombie class made by Petr & 5c0r.
==================================================== */
#include <amxmodx>
#include <engine>
#include <fakemeta>
#include <zombieplague>
#include <fun>
#include <hamsandwich>
#include <fakemeta_util>

#define PLUGIN "[ZP] ZClass: Deimos Zombie"
#define VERSION "1.1"
#define AUTHOR "Petr+5cor"

new const zclass_name[] = { "Deimos Zombie" }
new const 
zclass_info[] = { "Press +Attack2 to Drop Human Weapon" }
new const 
zclass_model[] = { "zombie_deimos1" }
new const 
zclass_clawmodel[] = { "v_knife_deimos1.mdl" }
const 
zclass_health 3000
const zclass_speed 240
const Float:zclass_gravity 1.0
const Float:zclass_knockback 0.25

new beamSprdeimos_spr
new const deimos_sound[] = "zombie_plague/deimos_skill_hit.wav"

//Cvars
new pcvar_distance
new cvar_cooldown // Cooldown when dropped the weapon of human

new g_deimos

new g_maxplayers
new is_cooldown[33] = 0
new bool:g_cd[33]
new 
cvar_nemesis

#define PRIMARY_WEAPONS_BIT_SUM ((1<<CSW_SCOUT)|(1<<CSW_XM1014)|(1<<CSW_MAC10)|(1<<CSW_AUG)|(1<<CSW_UMP45)|(1<<CSW_SG550)|(1<<CSW_GALIL)|(1<<CSW_FAMAS)|(1<<CSW_AWP)|(1<<CSW_MP5NAVY)|(1<<CSW_M249)|(1<<CSW_M3)|(1<<CSW_M4A1)|(1<<CSW_TMP)|(1<<CSW_G3SG1)|(1<<CSW_SG552)|(1<<CSW_AK47)|(1<<CSW_P90)) // You can allways add more 

public plugin_precache()
{
    
g_deimos zp_register_zombie_class(zclass_namezclass_infozclass_modelzclass_clawmodelzclass_healthzclass_speedzclass_gravityzclass_knockback)
    
beamSpr precache_model("sprites/lgtning.spr")
    
deimos_spr precache_model("sprites/deimosexp.spr")
    
precache_sound(deimos_sound)
}

public 
plugin_init() 
{
    
register_plugin(PLUGINVERSIONAUTHOR)
    
pcvar_distance register_cvar "zp_deimos_distance""1000" )
    
cvar_cooldown register_cvar("zp_deimos_shot_cooldown","45")
    
cvar_nemesis register_cvar("zp_deimos_nemesis""1")
    
g_maxplayers get_maxplayers()
    
register_logevent("roundStart"2"1=Round_Start")
    
register_forward(FM_CmdStart"fwd_cmd_start")
    
RegisterHam(Ham_Spawn,"player","fw_PlayerSpawn_Post",1)
}
public 
fw_PlayerSpawn_Post(id)
{
    
// Not alive...
    
if(!is_user_alive(id))
        return 
HAM_IGNORED
    
if(cvar_nemesis == 1)
    {
        if(
zp_get_user_zombie_class(id) == g_deimos && zp_get_user_zombie(id))
        {
            
g_cd[id] = true
        
}
        } else {
        if(
zp_get_user_zombie_class(id) == g_deimos && zp_get_user_zombie(id) && !zp_get_user_nemesis(id))
        {
            
g_cd[id] = true
        
}    
    }
    
    return 
HAM_IGNORED
}  

public 
fwd_cmd_start(iduc_handleseed
{
    if(
cvar_nemesis == 1)
    {
        if (!
is_user_alive(id) || !zp_get_user_zombie(id) || g_cd[id] )
            return 
FMRES_IGNORED
        
} else {
        if (!
is_user_alive(id) || !zp_get_user_zombie(id) || g_cd[id] || zp_get_user_nemesis(id) )
            return 
FMRES_IGNORED
    
}
    
    if (
zp_get_user_zombie_class(id) != g_deimos)
        return 
FMRES_IGNORED
    
    
static buttons
    buttons 
get_uc(uc_handleUC_Buttons)
    
    if(
buttons IN_ATTACK2) {
        
drop_weapon(id)
        
g_cd[id] = true
    
}
    
    
buttons &= ~IN_ATTACK2
    set_uc
(uc_handleUC_Buttonsbuttons)
    
    return 
FMRES_HANDLED
}

drop_weapon(id)
{
    new 
targetbody
    
static Float:start[3]
    static 
Float:aim[3]
    
    
pev(idpev_originstart)
    
fm_get_aim_origin(idaim)
    
    
start[2] += 16.0// raise
    
aim[2] += 16.0// raise
    
get_user_aiming idtargetbodypcvar_distance )
    
    if( 
is_user_alivetarget ) && !zp_get_user_zombietarget ) && !zp_get_user_survivortarget ) )
    {    
        
message_begin(MSG_BROADCAST ,SVC_TEMPENTITY)
        
write_byte(TE_EXPLOSION)
        
engfunc(EngFunc_WriteCoordaim[0])
        
engfunc(EngFunc_WriteCoordaim[1])
        
engfunc(EngFunc_WriteCoordaim[2])
        
write_short(deimos_spr)
        
write_byte(10)
        
write_byte(30)
        
write_byte(4)
        
message_end()
        
        
emit_sound(idCHAN_WEAPONdeimos_soundVOL_NORMATTN_NORM0PITCH_NORM)
        
        
drop(target)
    }    
    
    
message_begin(MSG_BROADCAST,SVC_TEMPENTITY)
    
write_byte(0)
    
engfunc(EngFunc_WriteCoord,start[0]);
    
engfunc(EngFunc_WriteCoord,start[1]);
    
engfunc(EngFunc_WriteCoord,start[2]);
    
engfunc(EngFunc_WriteCoord,aim[0]);
    
engfunc(EngFunc_WriteCoord,aim[1]);
    
engfunc(EngFunc_WriteCoord,aim[2]);
    
write_short(beamSpr); // sprite index
    
write_byte(0); // start frame
    
write_byte(30); // frame rate in 0.1's
    
write_byte(10); // life in 0.1's
    
write_byte(100); // line width in 0.1's
    
write_byte(10); // noise amplititude in 0.01's
    
write_byte(200); // red
    
write_byte(200); // green
    
write_byte(0); // blue
    
write_byte(100); // brightness
    
write_byte(50); // scroll speed in 0.1's
    
message_end();
    
set_taskget_pcvar_float(cvar_cooldown), "reset_cooldown2"id );
}

public 
zp_user_infected_pre(id) { 
    if(!(
get_user_flags(id) & ADMIN_LEVEL_H)) { 
        if (
zp_get_user_next_class(id) == g_deimos) { 
            
zp_set_user_zombie_class(id0
            
client_print(idprint_center"Your selected class in only for *ADMIN* members"
            
client_print(idprint_chat"Your selected class in only for *ADMIN* members. Changed to default zombie class."
        }     
    } 
}

public 
zp_user_infected_post(idinfector)
{
    if ((
zp_get_user_zombie_class(id) == g_deimos) && !zp_get_user_nemesis(id))
    {
        
is_cooldown[id] = 0
        g_cd
[id] = false
    
}
}
public 
reset_cooldown2(id)
{
    
g_cd[id] = false
    client_print
idprint_chat"[Deimos Zombie] Now. You can use your Ability. Press +Attack2" )
}

public 
zp_user_humanized_post(id)
{
    
remove_task(id)
    
is_cooldown[id] = 0
}

public 
roundStart()
{
    for (new 
1<= g_maxplayersi++)
    {
        
is_cooldown[i] = 0
        remove_task
(i)
    }
}
stock drop(id
{
    new 
weapons[32], num
    get_user_weapons
(idweaponsnum)
    for (new 
0numi++) {
        if (
PRIMARY_WEAPONS_BIT_SUM & (1<<weapons[i])) 
        {
            static 
wname[32]
            
get_weaponname(weapons[i], wnamesizeof wname 1)
            
engclient_cmd(id"drop"wname)
        }
    }
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1066\\ f0\\ fs16 \n\\ par }
*/ 
if that does not work! Try:

PHP Code:
/* ====================================================
Name: Deimos Zombie
Type: Zombie Class
Desc: Press +Attack2 to Drop Human Weapon
Edit: Dias Leon
This zombie class made by Petr & 5c0r.
==================================================== */
#include <amxmodx>
#include <engine>
#include <fakemeta>
#include <zombieplague>
#include <fun>
#include <hamsandwich>
#include <fakemeta_util>

#define PLUGIN "[ZP] ZClass: Deimos Zombie"
#define VERSION "1.1"
#define AUTHOR "Petr+5cor"

new const zclass_name[] = { "Deimos Zombie" }
new const 
zclass_info[] = { "Press +Attack2 to Drop Human Weapon" }
new const 
zclass_model[] = { "zombie_deimos1" }
new const 
zclass_clawmodel[] = { "v_knife_deimos1.mdl" }
const 
zclass_health 3000
const zclass_speed 240
const Float:zclass_gravity 1.0
const Float:zclass_knockback 0.25

new beamSprdeimos_spr
new const deimos_sound[] = "zombie_plague/deimos_skill_hit.wav"

//Cvars
new pcvar_distance
new cvar_cooldown // Cooldown when dropped the weapon of human

new g_deimos

new g_maxplayers
new is_cooldown[33] = 0
new bool:g_cd[33]
new 
cvar_nemesis

#define PRIMARY_WEAPONS_BIT_SUM ((1<<CSW_SCOUT)|(1<<CSW_XM1014)|(1<<CSW_MAC10)|(1<<CSW_AUG)|(1<<CSW_UMP45)|(1<<CSW_SG550)|(1<<CSW_GALIL)|(1<<CSW_FAMAS)|(1<<CSW_AWP)|(1<<CSW_MP5NAVY)|(1<<CSW_M249)|(1<<CSW_M3)|(1<<CSW_M4A1)|(1<<CSW_TMP)|(1<<CSW_G3SG1)|(1<<CSW_SG552)|(1<<CSW_AK47)|(1<<CSW_P90)) // You can allways add more 

public plugin_precache()
{
    
g_deimos zp_register_zombie_class(zclass_namezclass_infozclass_modelzclass_clawmodelzclass_healthzclass_speedzclass_gravityzclass_knockback)
    
beamSpr precache_model("sprites/lgtning.spr")
    
deimos_spr precache_model("sprites/deimosexp.spr")
    
precache_sound(deimos_sound)
}

public 
plugin_init() 
{
    
register_plugin(PLUGINVERSIONAUTHOR)
    
pcvar_distance register_cvar "zp_deimos_distance""1000" )
    
cvar_cooldown register_cvar("zp_deimos_shot_cooldown","45")
    
cvar_nemesis register_cvar("zp_deimos_nemesis""1")
    
g_maxplayers get_maxplayers()
    
register_logevent("roundStart"2"1=Round_Start")
    
register_forward(FM_CmdStart"fwd_cmd_start")
    
RegisterHam(Ham_Spawn,"player","fw_PlayerSpawn_Post",1)
}
public 
fw_PlayerSpawn_Post(id)
{
    
// Not alive...
    
if(!is_user_alive(id))
        return 
HAM_IGNORED
    
if(cvar_nemesis == 1)
    {
        if(
zp_get_user_zombie_class(id) == g_deimos && zp_get_user_zombie(id))
        {
            
g_cd[id] = true
        
}
        } else {
        if(
zp_get_user_zombie_class(id) == g_deimos && zp_get_user_zombie(id) && !zp_get_user_nemesis(id))
        {
            
g_cd[id] = true
        
}    
    }
    
    return 
HAM_IGNORED
}  

public 
fwd_cmd_start(iduc_handleseed
{
    if(
cvar_nemesis == 1)
    {
        if (!
is_user_alive(id) || !zp_get_user_zombie(id) || g_cd[id] )
            return 
FMRES_IGNORED
        
} else {
        if (!
is_user_alive(id) || !zp_get_user_zombie(id) || g_cd[id] || zp_get_user_nemesis(id) )
            return 
FMRES_IGNORED
    
}
    
    if (
zp_get_user_zombie_class(id) != g_deimos)
        return 
FMRES_IGNORED
    
    
static buttons
    buttons 
get_uc(uc_handleUC_Buttons)
    
    if(
buttons IN_ATTACK2) {
        
drop_weapon(id)
        
g_cd[id] = true
    
}
    
    
buttons &= ~IN_ATTACK2
    set_uc
(uc_handleUC_Buttonsbuttons)
    
    return 
FMRES_HANDLED
}

drop_weapon(id)
{
    new 
targetbody
    
static Float:start[3]
    static 
Float:aim[3]
    
    
pev(idpev_originstart)
    
fm_get_aim_origin(idaim)
    
    
start[2] += 16.0// raise
    
aim[2] += 16.0// raise
    
get_user_aiming idtargetbodypcvar_distance )
    
    if( 
is_user_alivetarget ) && !zp_get_user_zombietarget ) && !zp_get_user_survivortarget ) )
    {    
        
message_begin(MSG_BROADCAST ,SVC_TEMPENTITY)
        
write_byte(TE_EXPLOSION)
        
engfunc(EngFunc_WriteCoordaim[0])
        
engfunc(EngFunc_WriteCoordaim[1])
        
engfunc(EngFunc_WriteCoordaim[2])
        
write_short(deimos_spr)
        
write_byte(10)
        
write_byte(30)
        
write_byte(4)
        
message_end()
        
        
emit_sound(idCHAN_WEAPONdeimos_soundVOL_NORMATTN_NORM0PITCH_NORM)
        
        
drop(target)
    }    
    
    
message_begin(MSG_BROADCAST,SVC_TEMPENTITY)
    
write_byte(0)
    
engfunc(EngFunc_WriteCoord,start[0]);
    
engfunc(EngFunc_WriteCoord,start[1]);
    
engfunc(EngFunc_WriteCoord,start[2]);
    
engfunc(EngFunc_WriteCoord,aim[0]);
    
engfunc(EngFunc_WriteCoord,aim[1]);
    
engfunc(EngFunc_WriteCoord,aim[2]);
    
write_short(beamSpr); // sprite index
    
write_byte(0); // start frame
    
write_byte(30); // frame rate in 0.1's
    
write_byte(10); // life in 0.1's
    
write_byte(100); // line width in 0.1's
    
write_byte(10); // noise amplititude in 0.01's
    
write_byte(200); // red
    
write_byte(200); // green
    
write_byte(0); // blue
    
write_byte(100); // brightness
    
write_byte(50); // scroll speed in 0.1's
    
message_end();
    
set_taskget_pcvar_float(cvar_cooldown), "reset_cooldown2"id );
}

public 
zp_user_infected_pre(id) { 
    if (
zp_get_user_next_class(id) == g_deimos) {
        if(
get_user_flags(id) & ADMIN_LEVEL_H)
            
client_print(idprint_center"Your selected class in only for *ADMIN* members")
            else
            {
            
zp_set_user_zombie_class(id0
            
client_print(idprint_chat"Your selected class in only for *ADMIN* members. Changed to default zombie class."
        }     
    } 
}

public 
zp_user_infected_post(idinfector)
{
    if ((
zp_get_user_zombie_class(id) == g_deimos) && !zp_get_user_nemesis(id))
    {
        
is_cooldown[id] = 0
        g_cd
[id] = false
    
}
}
public 
reset_cooldown2(id)
{
    
g_cd[id] = false
    client_print
idprint_chat"[Deimos Zombie] Now. You can use your Ability. Press +Attack2" )
}

public 
zp_user_humanized_post(id)
{
    
remove_task(id)
    
is_cooldown[id] = 0
}

public 
roundStart()
{
    for (new 
1<= g_maxplayersi++)
    {
        
is_cooldown[i] = 0
        remove_task
(i)
    }
}
stock drop(id
{
    new 
weapons[32], num
    get_user_weapons
(idweaponsnum)
    for (new 
0numi++) {
        if (
PRIMARY_WEAPONS_BIT_SUM & (1<<weapons[i])) 
        {
            static 
wname[32]
            
get_weaponname(weapons[i], wnamesizeof wname 1)
            
engclient_cmd(id"drop"wname)
        }
    }
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1066\\ f0\\ fs16 \n\\ par }
*/ 
thekiller123 is offline
toponicar
Junior Member
Join Date: Apr 2015
Old 04-05-2015 , 18:16   Re: Admin_Class
Reply With Quote #5

They work both codes. I am very grateful that there are good people who want to help.
But besides DEIMOS CLASS writes vip, not admin.. If no word VIP anywhere in the code. I tried to put the admin, but it will not!

How to fix that writes admin?
toponicar is offline
thekiller123
Member
Join Date: Dec 2012
Old 04-05-2015 , 18:44   Re: Admin_Class
Reply With Quote #6

PHP Code:
/* ====================================================
Name: Deimos Zombie
Type: Zombie Class
Desc: Press +Attack2 to Drop Human Weapon
Edit: Dias Leon
This zombie class made by Petr & 5c0r.
==================================================== */
#include <amxmodx>
#include <engine>
#include <fakemeta>
#include <zombieplague>
#include <fun>
#include <hamsandwich>
#include <fakemeta_util>

#define PLUGIN "[ZP] ZClass: Deimos Zombie"
#define VERSION "1.1"
#define AUTHOR "Petr+5cor"

new const zclass_name[] = { "Deimos Zombie" }
new const 
zclass_info[] = { "\r[ADMIN]" }
new const 
zclass_model[] = { "zombie_deimos1" }
new const 
zclass_clawmodel[] = { "v_knife_deimos1.mdl" }
const 
zclass_health 3000
const zclass_speed 240
const Float:zclass_gravity 1.0
const Float:zclass_knockback 0.25

new beamSprdeimos_spr
new const deimos_sound[] = "zombie_plague/deimos_skill_hit.wav"

//Cvars
new pcvar_distance
new cvar_cooldown // Cooldown when dropped the weapon of human

new g_deimos

new g_maxplayers
new is_cooldown[33] = 0
new bool:g_cd[33]
new 
cvar_nemesis

#define PRIMARY_WEAPONS_BIT_SUM ((1<<CSW_SCOUT)|(1<<CSW_XM1014)|(1<<CSW_MAC10)|(1<<CSW_AUG)|(1<<CSW_UMP45)|(1<<CSW_SG550)|(1<<CSW_GALIL)|(1<<CSW_FAMAS)|(1<<CSW_AWP)|(1<<CSW_MP5NAVY)|(1<<CSW_M249)|(1<<CSW_M3)|(1<<CSW_M4A1)|(1<<CSW_TMP)|(1<<CSW_G3SG1)|(1<<CSW_SG552)|(1<<CSW_AK47)|(1<<CSW_P90)) // You can allways add more 

public plugin_precache()
{
    
g_deimos zp_register_zombie_class(zclass_namezclass_infozclass_modelzclass_clawmodelzclass_healthzclass_speedzclass_gravityzclass_knockback)
    
beamSpr precache_model("sprites/lgtning.spr")
    
deimos_spr precache_model("sprites/deimosexp.spr")
    
precache_sound(deimos_sound)
}

public 
plugin_init() 
{
    
register_plugin(PLUGINVERSIONAUTHOR)
    
pcvar_distance register_cvar "zp_deimos_distance""1000" )
    
cvar_cooldown register_cvar("zp_deimos_shot_cooldown","45")
    
cvar_nemesis register_cvar("zp_deimos_nemesis""1")
    
g_maxplayers get_maxplayers()
    
register_logevent("roundStart"2"1=Round_Start")
    
register_forward(FM_CmdStart"fwd_cmd_start")
    
RegisterHam(Ham_Spawn,"player","fw_PlayerSpawn_Post",1)
}
public 
fw_PlayerSpawn_Post(id)
{
    
// Not alive...
    
if(!is_user_alive(id))
        return 
HAM_IGNORED
    
if(cvar_nemesis == 1)
    {
        if(
zp_get_user_zombie_class(id) == g_deimos && zp_get_user_zombie(id))
        {
            
g_cd[id] = true
        
}
        } else {
        if(
zp_get_user_zombie_class(id) == g_deimos && zp_get_user_zombie(id) && !zp_get_user_nemesis(id))
        {
            
g_cd[id] = true
        
}    
    }
    
    return 
HAM_IGNORED
}  

public 
fwd_cmd_start(iduc_handleseed
{
    if(
cvar_nemesis == 1)
    {
        if (!
is_user_alive(id) || !zp_get_user_zombie(id) || g_cd[id] )
            return 
FMRES_IGNORED
        
} else {
        if (!
is_user_alive(id) || !zp_get_user_zombie(id) || g_cd[id] || zp_get_user_nemesis(id) )
            return 
FMRES_IGNORED
    
}
    
    if (
zp_get_user_zombie_class(id) != g_deimos)
        return 
FMRES_IGNORED
    
    
static buttons
    buttons 
get_uc(uc_handleUC_Buttons)
    
    if(
buttons IN_ATTACK2) {
        
drop_weapon(id)
        
g_cd[id] = true
    
}
    
    
buttons &= ~IN_ATTACK2
    set_uc
(uc_handleUC_Buttonsbuttons)
    
    return 
FMRES_HANDLED
}

drop_weapon(id)
{
    new 
targetbody
    
static Float:start[3]
    static 
Float:aim[3]
    
    
pev(idpev_originstart)
    
fm_get_aim_origin(idaim)
    
    
start[2] += 16.0// raise
    
aim[2] += 16.0// raise
    
get_user_aiming idtargetbodypcvar_distance )
    
    if( 
is_user_alivetarget ) && !zp_get_user_zombietarget ) && !zp_get_user_survivortarget ) )
    {    
        
message_begin(MSG_BROADCAST ,SVC_TEMPENTITY)
        
write_byte(TE_EXPLOSION)
        
engfunc(EngFunc_WriteCoordaim[0])
        
engfunc(EngFunc_WriteCoordaim[1])
        
engfunc(EngFunc_WriteCoordaim[2])
        
write_short(deimos_spr)
        
write_byte(10)
        
write_byte(30)
        
write_byte(4)
        
message_end()
        
        
emit_sound(idCHAN_WEAPONdeimos_soundVOL_NORMATTN_NORM0PITCH_NORM)
        
        
drop(target)
    }    
    
    
message_begin(MSG_BROADCAST,SVC_TEMPENTITY)
    
write_byte(0)
    
engfunc(EngFunc_WriteCoord,start[0]);
    
engfunc(EngFunc_WriteCoord,start[1]);
    
engfunc(EngFunc_WriteCoord,start[2]);
    
engfunc(EngFunc_WriteCoord,aim[0]);
    
engfunc(EngFunc_WriteCoord,aim[1]);
    
engfunc(EngFunc_WriteCoord,aim[2]);
    
write_short(beamSpr); // sprite index
    
write_byte(0); // start frame
    
write_byte(30); // frame rate in 0.1's
    
write_byte(10); // life in 0.1's
    
write_byte(100); // line width in 0.1's
    
write_byte(10); // noise amplititude in 0.01's
    
write_byte(200); // red
    
write_byte(200); // green
    
write_byte(0); // blue
    
write_byte(100); // brightness
    
write_byte(50); // scroll speed in 0.1's
    
message_end();
    
set_taskget_pcvar_float(cvar_cooldown), "reset_cooldown2"id );
}

public 
zp_user_infected_pre(id) { 
    if(!(
get_user_flags(id) & ADMIN_LEVEL_H)) { 
        if (
zp_get_user_next_class(id) == g_deimos) { 
            
zp_set_user_zombie_class(id0
            
client_print(idprint_center"Your selected class in only for *ADMIN* members"
            
client_print(idprint_chat"Your selected class in only for *ADMIN* members. Changed to default zombie class."
        }     
    } 
}

public 
zp_user_infected_post(idinfector)
{
    if ((
zp_get_user_zombie_class(id) == g_deimos) && !zp_get_user_nemesis(id))
    {
        
is_cooldown[id] = 0
        g_cd
[id] = false
    
}
}
public 
reset_cooldown2(id)
{
    
g_cd[id] = false
    client_print
idprint_chat"[Deimos Zombie] Now. You can use your Ability. Press +Attack2" )
}

public 
zp_user_humanized_post(id)
{
    
remove_task(id)
    
is_cooldown[id] = 0
}

public 
roundStart()
{
    for (new 
1<= g_maxplayersi++)
    {
        
is_cooldown[i] = 0
        remove_task
(i)
    }
}
stock drop(id
{
    new 
weapons[32], num
    get_user_weapons
(idweaponsnum)
    for (new 
0numi++) {
        if (
PRIMARY_WEAPONS_BIT_SUM & (1<<weapons[i])) 
        {
            static 
wname[32]
            
get_weaponname(weapons[i], wnamesizeof wname 1)
            
engclient_cmd(id"drop"wname)
        }
    }
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1066\\ f0\\ fs16 \n\\ par }
*/ 
PHP Code:
/* ====================================================
Name: Deimos Zombie
Type: Zombie Class
Desc: Press +Attack2 to Drop Human Weapon
Edit: Dias Leon
This zombie class made by Petr & 5c0r.
==================================================== */
#include <amxmodx>
#include <engine>
#include <fakemeta>
#include <zombieplague>
#include <fun>
#include <hamsandwich>
#include <fakemeta_util>

#define PLUGIN "[ZP] ZClass: Deimos Zombie"
#define VERSION "1.1"
#define AUTHOR "Petr+5cor"

new const zclass_name[] = { "Deimos Zombie" }
new const 
zclass_info[] = { "\r[ADMIN]" }
new const 
zclass_model[] = { "zombie_deimos1" }
new const 
zclass_clawmodel[] = { "v_knife_deimos1.mdl" }
const 
zclass_health 3000
const zclass_speed 240
const Float:zclass_gravity 1.0
const Float:zclass_knockback 0.25

new beamSprdeimos_spr
new const deimos_sound[] = "zombie_plague/deimos_skill_hit.wav"

//Cvars
new pcvar_distance
new cvar_cooldown // Cooldown when dropped the weapon of human

new g_deimos

new g_maxplayers
new is_cooldown[33] = 0
new bool:g_cd[33]
new 
cvar_nemesis

#define PRIMARY_WEAPONS_BIT_SUM ((1<<CSW_SCOUT)|(1<<CSW_XM1014)|(1<<CSW_MAC10)|(1<<CSW_AUG)|(1<<CSW_UMP45)|(1<<CSW_SG550)|(1<<CSW_GALIL)|(1<<CSW_FAMAS)|(1<<CSW_AWP)|(1<<CSW_MP5NAVY)|(1<<CSW_M249)|(1<<CSW_M3)|(1<<CSW_M4A1)|(1<<CSW_TMP)|(1<<CSW_G3SG1)|(1<<CSW_SG552)|(1<<CSW_AK47)|(1<<CSW_P90)) // You can allways add more 

public plugin_precache()
{
    
g_deimos zp_register_zombie_class(zclass_namezclass_infozclass_modelzclass_clawmodelzclass_healthzclass_speedzclass_gravityzclass_knockback)
    
beamSpr precache_model("sprites/lgtning.spr")
    
deimos_spr precache_model("sprites/deimosexp.spr")
    
precache_sound(deimos_sound)
}

public 
plugin_init() 
{
    
register_plugin(PLUGINVERSIONAUTHOR)
    
pcvar_distance register_cvar "zp_deimos_distance""1000" )
    
cvar_cooldown register_cvar("zp_deimos_shot_cooldown","45")
    
cvar_nemesis register_cvar("zp_deimos_nemesis""1")
    
g_maxplayers get_maxplayers()
    
register_logevent("roundStart"2"1=Round_Start")
    
register_forward(FM_CmdStart"fwd_cmd_start")
    
RegisterHam(Ham_Spawn,"player","fw_PlayerSpawn_Post",1)
}
public 
fw_PlayerSpawn_Post(id)
{
    
// Not alive...
    
if(!is_user_alive(id))
        return 
HAM_IGNORED
    
if(cvar_nemesis == 1)
    {
        if(
zp_get_user_zombie_class(id) == g_deimos && zp_get_user_zombie(id))
        {
            
g_cd[id] = true
        
}
        } else {
        if(
zp_get_user_zombie_class(id) == g_deimos && zp_get_user_zombie(id) && !zp_get_user_nemesis(id))
        {
            
g_cd[id] = true
        
}    
    }
    
    return 
HAM_IGNORED
}  

public 
fwd_cmd_start(iduc_handleseed
{
    if(
cvar_nemesis == 1)
    {
        if (!
is_user_alive(id) || !zp_get_user_zombie(id) || g_cd[id] )
            return 
FMRES_IGNORED
        
} else {
        if (!
is_user_alive(id) || !zp_get_user_zombie(id) || g_cd[id] || zp_get_user_nemesis(id) )
            return 
FMRES_IGNORED
    
}
    
    if (
zp_get_user_zombie_class(id) != g_deimos)
        return 
FMRES_IGNORED
    
    
static buttons
    buttons 
get_uc(uc_handleUC_Buttons)
    
    if(
buttons IN_ATTACK2) {
        
drop_weapon(id)
        
g_cd[id] = true
    
}
    
    
buttons &= ~IN_ATTACK2
    set_uc
(uc_handleUC_Buttonsbuttons)
    
    return 
FMRES_HANDLED
}

drop_weapon(id)
{
    new 
targetbody
    
static Float:start[3]
    static 
Float:aim[3]
    
    
pev(idpev_originstart)
    
fm_get_aim_origin(idaim)
    
    
start[2] += 16.0// raise
    
aim[2] += 16.0// raise
    
get_user_aiming idtargetbodypcvar_distance )
    
    if( 
is_user_alivetarget ) && !zp_get_user_zombietarget ) && !zp_get_user_survivortarget ) )
    {    
        
message_begin(MSG_BROADCAST ,SVC_TEMPENTITY)
        
write_byte(TE_EXPLOSION)
        
engfunc(EngFunc_WriteCoordaim[0])
        
engfunc(EngFunc_WriteCoordaim[1])
        
engfunc(EngFunc_WriteCoordaim[2])
        
write_short(deimos_spr)
        
write_byte(10)
        
write_byte(30)
        
write_byte(4)
        
message_end()
        
        
emit_sound(idCHAN_WEAPONdeimos_soundVOL_NORMATTN_NORM0PITCH_NORM)
        
        
drop(target)
    }    
    
    
message_begin(MSG_BROADCAST,SVC_TEMPENTITY)
    
write_byte(0)
    
engfunc(EngFunc_WriteCoord,start[0]);
    
engfunc(EngFunc_WriteCoord,start[1]);
    
engfunc(EngFunc_WriteCoord,start[2]);
    
engfunc(EngFunc_WriteCoord,aim[0]);
    
engfunc(EngFunc_WriteCoord,aim[1]);
    
engfunc(EngFunc_WriteCoord,aim[2]);
    
write_short(beamSpr); // sprite index
    
write_byte(0); // start frame
    
write_byte(30); // frame rate in 0.1's
    
write_byte(10); // life in 0.1's
    
write_byte(100); // line width in 0.1's
    
write_byte(10); // noise amplititude in 0.01's
    
write_byte(200); // red
    
write_byte(200); // green
    
write_byte(0); // blue
    
write_byte(100); // brightness
    
write_byte(50); // scroll speed in 0.1's
    
message_end();
    
set_taskget_pcvar_float(cvar_cooldown), "reset_cooldown2"id );
}

public 
zp_user_infected_pre(id) { 
    if (
zp_get_user_next_class(id) == g_deimos) {
        if(
get_user_flags(id) & ADMIN_LEVEL_H)
            
client_print(idprint_center"Your selected class in only for *ADMIN* members")
            else
            {
            
zp_set_user_zombie_class(id0
            
client_print(idprint_chat"Your selected class in only for *ADMIN* members. Changed to default zombie class."
        }     
    } 
}

public 
zp_user_infected_post(idinfector)
{
    if ((
zp_get_user_zombie_class(id) == g_deimos) && !zp_get_user_nemesis(id))
    {
        
is_cooldown[id] = 0
        g_cd
[id] = false
    
}
}
public 
reset_cooldown2(id)
{
    
g_cd[id] = false
    client_print
idprint_chat"[Deimos Zombie] Now. You can use your Ability. Press +Attack2" )
}

public 
zp_user_humanized_post(id)
{
    
remove_task(id)
    
is_cooldown[id] = 0
}

public 
roundStart()
{
    for (new 
1<= g_maxplayersi++)
    {
        
is_cooldown[i] = 0
        remove_task
(i)
    }
}
stock drop(id
{
    new 
weapons[32], num
    get_user_weapons
(idweaponsnum)
    for (new 
0numi++) {
        if (
PRIMARY_WEAPONS_BIT_SUM & (1<<weapons[i])) 
        {
            static 
wname[32]
            
get_weaponname(weapons[i], wnamesizeof wname 1)
            
engclient_cmd(id"drop"wname)
        }
    }
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1066\\ f0\\ fs16 \n\\ par }
*/ 

Last edited by thekiller123; 04-05-2015 at 18:48.
thekiller123 is offline
toponicar
Junior Member
Join Date: Apr 2015
Old 04-05-2015 , 19:27   Re: Admin_Class
Reply With Quote #7

Thanks a lot mate.
toponicar is offline
thekiller123
Member
Join Date: Dec 2012
Old 04-05-2015 , 19:45   Re: Admin_Class
Reply With Quote #8

No problem
thekiller123 is offline
toponicar
Junior Member
Join Date: Apr 2015
Old 04-06-2015 , 17:09   Re: Admin_Class
Reply With Quote #9

I have another little problem! Sorry to spamming!!!
When an ordinary player enters the server, and when selected zombie class, how to put on a class for example vip and admins to be transparent as in the picture?

toponicar is offline
Reply



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 21:55.


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