Problema plugin zomibe hud time

Modificari necesare ale pluginurilor

Moderators: Moderatori ajutatori, Moderatori, Echipa eXtreamCS.com

Post Reply
User avatar
Scooby-Doo
Membru, skill +1
Membru, skill +1
Posts: 271
Joined: 23 Oct 2014, 23:27
Detinator Steam: Da
CS Status: ~Online~
Detinator server CS: ZOMBIE.OLDGODS.RO
SteamID: darian433
Fond eXtream: 0
Location: Romania
Discord: Darian433#0850
Has thanked: 21 times
Been thanked: 16 times
Contact:

22 Jul 2019, 06:20

Salut, am incercat sa adaug la o clasa de zombie in hud timpul pana poate folosi urmatoarea abilitate dar nu apare. Nu primesc erori cand compilez dar nu apare mesajul in hud. Am vrut sa adaug ceva de genul, dupa ce apasa tasta de abilitate sa apara direct mesajul pe ecran, mai sunt x secunda pana poti folosi iar. Sa-mi si explicati ce am gresit, multumesc.

Code: Select all

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

#define PLUGIN "CSO Lusty Rose"
#define VERSION "1.0.1"
#define AUTHOR "ALBTeam"

new const zclass_name[] = "Light"
new const zclass_info[] = "Press G To Stealth"
new const zclass_model[] = "cosspeed1_origin"
new const zclass_clawmodel[] = "v_knife_cosspeed1.mdl"
new const zclass_clawmodel_invi[] = "models/zombie_plague/v_knife_cosspeed1_inv.mdl"
const zclass_health = 2600
const zclass_speed = 295
const Float:zclass_gravity = 0.7
const Float:zclass_knockback = 6.0

const MAX_CLIENTS = 32 ;

new const zombie_sound_invisible[] = "zombie_plague/zombi_pressure_female.wav"

new idclass
const Float:invisible_time = 10.0
const Float:invisible_timewait = 10.0
const invisible_dmg = 200
const Float:invisible_speed = 215.0
const Float:invisible_gravity = 0.9
const invisible_alpha = 10

new g_invisible[33], g_invisible_wait[33]

new g_msgSayText
new g_maxplayers
new g_roundend

new g_coldown[ MAX_CLIENTS + 1 ], g_coldown_inv_time[MAX_CLIENTS + 1]
new player

enum (+= 100)
{
	TASK_INVISIBLE = 2000,
	TASK_WAIT_INVISIBLE,
	TASK_INVISIBLE_SOUND,
	TASK_BOT_USE_SKILL
}

#define ID_INVISIBLE (taskid - TASK_INVISIBLE)
#define ID_WAIT_INVISIBLE (taskid - TASK_WAIT_INVISIBLE)
#define ID_INVISIBLE_SOUND (taskid - TASK_INVISIBLE_SOUND)
#define ID_BOT_USE_SKILL (taskid - TASK_BOT_USE_SKILL)

public plugin_init()
{
	register_plugin(PLUGIN, VERSION, AUTHOR)
	
	register_event("HLTV", "event_round_start", "a", "1=0", "2=0")
	register_event("DeathMsg", "Death", "a")
	register_event("CurWeapon", "EventCurWeapon", "be", "1=1")
	register_logevent("logevent_round_end", 2, "1=Round_End")
	
	register_clcmd("drop", "cmd_invisible")
	
	g_msgSayText = get_user_msgid("SayText")
	g_maxplayers = get_maxplayers()
}

public plugin_precache()
{
	precache_model(zclass_clawmodel_invi)
	precache_sound(zombie_sound_invisible)
	
	idclass = zp_register_zombie_class(zclass_name, zclass_info, zclass_model, zclass_clawmodel, zclass_health, zclass_speed, zclass_gravity, zclass_knockback)
}

public client_putinserver(id)
{
	reset_value_player(id)
}

public client_disconnect(id)
{
	reset_value_player(id)
}

public event_round_start()
{
	g_roundend = 0
	
	for (new id=1; id<=g_maxplayers; id++)
	{
		if (!is_user_connected(id)) continue;
		
		reset_value_player(id)
	}
}

public logevent_round_end()
{
	g_roundend = 1
}

public Death()
{
	new victim = read_data(2) 
	reset_value_player(victim)
}

public EventCurWeapon(id)
{
	if(!is_user_alive(id)) return PLUGIN_CONTINUE;
	
	if(g_invisible[id]) set_user_maxspeed(id, invisible_speed);
	
	return PLUGIN_CONTINUE;
}

public zp_user_infected_post(id)
{
	reset_value_player(id)
	
	if(zp_get_user_nemesis(id)) return;
	
	if(zp_get_user_zombie_class(id) == idclass)
	{
		if(is_user_bot(id))
		{
			set_task(random_float(5.0,15.0), "bot_use_skill", id+TASK_BOT_USE_SKILL)
			return
		}
		g_coldown_inv_time[player] = floatround(invisible_timewait)
		zp_colored_print(id, "^x04[ZP]^x01 Your skill is^x04 Stealth^x01. Cooldown^x04 %.1f ^x01seconds.", invisible_timewait)
	}
}

public zp_user_humanized_post(id)
{
	reset_value_player(id)
}

public zp_user_unfrozen(id)
{
	if(g_invisible[id])
	{
		set_user_rendering(id,kRenderFxGlowShell,20,20,20,kRenderTransAlpha, invisible_alpha)
		set_user_maxspeed(id, invisible_speed)
		set_user_gravity(id, invisible_gravity)
	}
}

public cmd_invisible(id)
{
	if (g_roundend) return PLUGIN_CONTINUE
	
	if (!is_user_alive(id) || !zp_get_user_zombie(id) || zp_get_user_nemesis(id)) return PLUGIN_CONTINUE

	new health = get_user_health(id) - invisible_dmg
	if (zp_get_user_zombie_class(id) == idclass && health>0 && !g_invisible[id] && !g_invisible_wait[id])
	{
		g_invisible[id] = 1
		g_coldown[player] = 1
		
		set_wpnmodel(id)
		set_user_health(id, health)
		set_user_rendering(id,kRenderFxGlowShell,20,20,20,kRenderTransAlpha, invisible_alpha)
		set_user_footsteps(id, 1)
		set_user_maxspeed(id, invisible_speed)
		set_user_gravity(id, invisible_gravity)
		PlayEmitSound(id, zombie_sound_invisible)
		
		set_task(invisible_time, "RemoveInvisible", id+TASK_INVISIBLE)
		set_task(2.0, "InvisibleSound", id+TASK_INVISIBLE_SOUND, _, _, "b")
		set_task(1.0, "ShowHUD", player , _, _, "a",g_coldown_inv_time[player]) 
		
		g_coldown_inv_time[player] = floatround(invisible_timewait) 

		zp_colored_print(id, "^x04[ZP]^x01 You will^x04 Stealth^x01 for^x04 %.1f ^x01seconds.", invisible_time)
		
		return PLUGIN_HANDLED
	}
	
	return PLUGIN_CONTINUE
}

public bot_use_skill(taskid)
{
	new id = ID_BOT_USE_SKILL
	
	if (!is_user_alive(id)) return;

	cmd_invisible(id)
	
	set_task(random_float(5.0,15.0), "bot_use_skill", id+TASK_BOT_USE_SKILL)
}

public InvisibleSound(taskid)
{
	new id = ID_INVISIBLE_SOUND
	
	if (g_invisible[id]) PlayEmitSound(id, zombie_sound_invisible)
	else remove_task(taskid)
}

public RemoveInvisible(taskid)
{
	new id = ID_INVISIBLE
	
	g_invisible[id] = 0
	
	set_wpnmodel(id)
	set_user_rendering(id)
	set_user_footsteps(id, 0)
	set_user_maxspeed(id, float(zclass_speed))
	set_user_gravity(id, zclass_gravity)
	zp_colored_print(id, "^x04[ZP]^x01 Your^x04 Stealth^x01 skill is over.")
	
	g_invisible_wait[id] = 1
	
	set_task(invisible_timewait, "RemoveWaitInvisible", id+TASK_WAIT_INVISIBLE)
	set_task(1.0, "ShowHUD", player , _, _, "a",g_invisible_wait[player]) 
}

public ShowHUD(player)
{
	if(is_user_alive(player) && zp_get_user_zombie(player))
	{
	     set_hudmessage(200, 100, 0, -1.0, 0.87, 0, 1.0, 1.1, 0.0, 0.0 , -1) 
	     show_hudmessage(player, "^x04[ZP]^x01 Your skill is^x04 Stealth^x01. Cooldown^x04 %.1f ^x01seconds." , g_invisible_wait[player])
	}
	else
    {
        remove_task(player)
	} 	
}


public RemoveWaitInvisible(taskid)
{
	new id = ID_WAIT_INVISIBLE
	
	g_invisible_wait[id] = 0
	
	zp_colored_print(id, "^x04[ZP]^x01 Your skill^x04 Stealth^x01 is ready.")
}

set_wpnmodel(id)
{
	if (!is_user_alive(id)) return;
	
	if (get_user_weapon(id) == CSW_KNIFE)
	{
		if (g_invisible[id])
		{
			set_pev(id, pev_viewmodel2, zclass_clawmodel_invi)
		}
		else
		{
			static temp[100]
			format(temp, charsmax(temp), "models/zombie_plague/%s", zclass_clawmodel)
			set_pev(id, pev_viewmodel2, temp)
		}
	}	
}

PlayEmitSound(id, const sound[])
{
	emit_sound(id, CHAN_VOICE, sound, 1.0, ATTN_NORM, 0, PITCH_NORM)
}

reset_value_player(id)
{
	g_invisible[id] = 0
	g_invisible_wait[id] = 0
	
	remove_task(id+TASK_INVISIBLE)
	remove_task(id+TASK_WAIT_INVISIBLE)
	remove_task(id+TASK_BOT_USE_SKILL)
}

zp_colored_print(target, const message[], any:...)
{
	static buffer[512], i, argscount
	argscount = numargs()
	
	if (!target)
	{
		static player
		for (player = 1; player <= g_maxplayers; player++)
		{
			if (!is_user_connected(player))
				continue;
			
			static changed[5], changedcount
			changedcount = 0
			
			for (i = 2; i < argscount; i++)
			{
				if (getarg(i) == LANG_PLAYER)
				{
					setarg(i, 0, player)
					changed[changedcount] = i
					changedcount++
				}
			}
			
			vformat(buffer, charsmax(buffer), message, 3)
			
			message_begin(MSG_ONE_UNRELIABLE, g_msgSayText, _, player)
			write_byte(player)
			write_string(buffer)
			message_end()
			
			for (i = 0; i < changedcount; i++)
				setarg(changed[i], 0, LANG_PLAYER)
		}
	}
	else
	{
		vformat(buffer, charsmax(buffer), message, 3)
		
		message_begin(MSG_ONE, g_msgSayText, _, target)
		write_byte(target)
		write_string(buffer)
		message_end()
	}
}
Discord: Darian433#0850

RoyalServer 2
User avatar
faKe91
Fost moderator
Fost moderator
Posts: 1064
Joined: 07 Oct 2014, 18:49
Detinator Steam: Da
CS Status: I <3 Heavy Metal
SteamID: dogseatmypancreas
Reputatie: Fost moderator ajutator
Fost Membru Club eXtreamCS (doua luni)
Fond eXtream: 0
Location: Republica Moldova, Chișinău
Has thanked: 9 times
Been thanked: 12 times

22 Jul 2019, 08:08

Mutat in sectiunea corespunzatoare
User avatar
levin
Scripter eXtreamCS
Scripter eXtreamCS
Posts: 3844
Joined: 24 Aug 2011, 12:24
Detinator Steam: Da
CS Status:
Detinator server CS: ☯∴
SteamID: riseofevo
Reputatie: Scripter eXtreamCS
Nume anterior: Adryyy
Location: ҳ̸Ҳ̸ҳ
Discord: devilclass
Has thanked: 36 times
Been thanked: 594 times
Contact:

22 Jul 2019, 15:18

Code: Select all

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

#define PLUGIN "CSO Lusty Rose"
#define VERSION "1.0.1"
#define AUTHOR "ALBTeam"

new const zclass_name[] = "Light"
new const zclass_info[] = "Press G To Stealth"
new const zclass_model[] = "cosspeed1_origin"
new const zclass_clawmodel[] = "v_knife_cosspeed1.mdl"
new const zclass_clawmodel_invi[] = "models/zombie_plague/v_knife_cosspeed1_inv.mdl"
const zclass_health = 2600
const zclass_speed = 295
const Float:zclass_gravity = 0.7
const Float:zclass_knockback = 6.0

const MAX_CLIENTS = 32 ;

new const zombie_sound_invisible[] = "zombie_plague/zombi_pressure_female.wav"

new idclass
const Float:invisible_time = 10.0
const Float:invisible_timewait = 10.0
const invisible_dmg = 200
const Float:invisible_speed = 215.0
const Float:invisible_gravity = 0.9
const invisible_alpha = 10

new g_invisible[33], g_invisible_wait[33]

new g_msgSayText
new g_maxplayers
new g_roundend

new g_coldown_inv_time[MAX_CLIENTS + 1]
new player

enum (+= 100)
{
	TASK_INVISIBLE = 2000,
	TASK_WAIT_INVISIBLE,
	TASK_INVISIBLE_SOUND,
	TASK_BOT_USE_SKILL
}

#define ID_INVISIBLE (taskid - TASK_INVISIBLE)
#define ID_WAIT_INVISIBLE (taskid - TASK_WAIT_INVISIBLE)
#define ID_INVISIBLE_SOUND (taskid - TASK_INVISIBLE_SOUND)
#define ID_BOT_USE_SKILL (taskid - TASK_BOT_USE_SKILL)

public plugin_init()
{
	register_plugin(PLUGIN, VERSION, AUTHOR)
	
	register_event("HLTV", "event_round_start", "a", "1=0", "2=0")
	register_event("DeathMsg", "Death", "a")
	register_event("CurWeapon", "EventCurWeapon", "be", "1=1")
	register_logevent("logevent_round_end", 2, "1=Round_End")
	
	register_clcmd("drop", "cmd_invisible")
	
	g_msgSayText = get_user_msgid("SayText")
	g_maxplayers = get_maxplayers()
}

public plugin_precache()
{
	precache_model(zclass_clawmodel_invi)
	precache_sound(zombie_sound_invisible)
	
	idclass = zp_register_zombie_class(zclass_name, zclass_info, zclass_model, zclass_clawmodel, zclass_health, zclass_speed, zclass_gravity, zclass_knockback)
}

public client_putinserver(id)
{
	reset_value_player(id)
}

public client_disconnect(id)
{
	reset_value_player(id)
}

public event_round_start()
{
	g_roundend = 0
	
	for (new id=1; id<=g_maxplayers; id++)
	{
		if (!is_user_connected(id)) continue;
		
		reset_value_player(id)
	}
}

public logevent_round_end()
{
	g_roundend = 1
}

public Death()
{
	new victim = read_data(2) 
	reset_value_player(victim)
}

public EventCurWeapon(id)
{
	if(!is_user_alive(id)) return PLUGIN_CONTINUE;
	
	if(g_invisible[id]) set_user_maxspeed(id, invisible_speed);
	
	return PLUGIN_CONTINUE;
}

public zp_user_infected_post(id)
{
	reset_value_player(id)
	
	if(zp_get_user_nemesis(id)) return;
	
	if(zp_get_user_zombie_class(id) == idclass)
	{
		if(is_user_bot(id))
		{
			set_task(random_float(5.0,15.0), "bot_use_skill", id+TASK_BOT_USE_SKILL)
			return
		}
		g_coldown_inv_time[player] = floatround(invisible_timewait)
		set_task(1.0, "ShowHUD", id,.flags="b") 
		zp_colored_print(id, "^x04[ZP]^x01 Your skill is^x04 Stealth^x01. Cooldown^x04 %.1f ^x01seconds.", invisible_timewait)
	}
}

public zp_user_humanized_post(id)
{
	reset_value_player(id)
}

public zp_user_unfrozen(id)
{
	if(g_invisible[id])
	{
		set_user_rendering(id,kRenderFxGlowShell,20,20,20,kRenderTransAlpha, invisible_alpha)
		set_user_maxspeed(id, invisible_speed)
		set_user_gravity(id, invisible_gravity)
	}
}

public cmd_invisible(id)
{
	if (g_roundend) return PLUGIN_CONTINUE
	
	if (!is_user_alive(id) || !zp_get_user_zombie(id) || zp_get_user_nemesis(id)) return PLUGIN_CONTINUE

	new health = get_user_health(id) - invisible_dmg
	if (zp_get_user_zombie_class(id) == idclass && health>0 && !g_invisible[id] && !g_invisible_wait[id])
	{
		g_invisible[id] = 1
		
		set_wpnmodel(id)
		set_user_health(id, health)
		set_user_rendering(id,kRenderFxGlowShell,20,20,20,kRenderTransAlpha, invisible_alpha)
		set_user_footsteps(id, 1)
		set_user_maxspeed(id, invisible_speed)
		set_user_gravity(id, invisible_gravity)
		PlayEmitSound(id, zombie_sound_invisible)
		
		set_task(invisible_time, "RemoveInvisible", id+TASK_INVISIBLE)
		set_task(2.0, "InvisibleSound", id+TASK_INVISIBLE_SOUND, _, _, "b")
		
		zp_colored_print(id, "^x04[ZP]^x01 You will^x04 Stealth^x01 for^x04 %.1f ^x01seconds.", invisible_time)
		
		return PLUGIN_HANDLED
	}
	
	return PLUGIN_CONTINUE
}

public ShowHUD(id)
{
	if(g_invisible[id])
	{
		set_hudmessage(200, 100, 0, -1.0, 0.87, 0, 1.0, 1.1, 0.0, 0.0 , -1) 
		if(g_coldown_inv_time[id]>0)
		{
			g_coldown_inv_time[id]--
			show_hudmessage(id, "Your skill is Stealth. Cooldown %d second%s.",g_coldown_inv_time[id],g_coldown_inv_time[id]==1?"":"s")
		}
		else
		{
			show_hudmessage(id, "Your skill it's ready.")
			g_coldown_inv_time[id]=0
			remove_task(id)
		}
	}
	else	remove_task(id)
	return PLUGIN_HANDLED
}

public bot_use_skill(taskid)
{
	new id = ID_BOT_USE_SKILL
	
	if (!is_user_alive(id)) return;

	cmd_invisible(id)
	
	set_task(random_float(5.0,15.0), "bot_use_skill", id+TASK_BOT_USE_SKILL)
}

public InvisibleSound(taskid)
{
	new id = ID_INVISIBLE_SOUND
	
	if (g_invisible[id]) PlayEmitSound(id, zombie_sound_invisible)
	else remove_task(taskid)
}

public RemoveInvisible(taskid)
{
	new id = ID_INVISIBLE
	
	g_invisible[id] = 0
	
	set_wpnmodel(id)
	set_user_rendering(id)
	set_user_footsteps(id, 0)
	set_user_maxspeed(id, float(zclass_speed))
	set_user_gravity(id, zclass_gravity)
	zp_colored_print(id, "^x04[ZP]^x01 Your^x04 Stealth^x01 skill is over.")
	
	g_invisible_wait[id] = 1
	
	set_task(invisible_timewait, "RemoveWaitInvisible", id+TASK_WAIT_INVISIBLE)
}

public RemoveWaitInvisible(taskid)
{
	new id = ID_WAIT_INVISIBLE
	
	g_invisible_wait[id] = 0
	
	zp_colored_print(id, "^x04[ZP]^x01 Your skill^x04 Stealth^x01 is ready.")
}

set_wpnmodel(id)
{
	if (!is_user_alive(id)) return;
	
	if (get_user_weapon(id) == CSW_KNIFE)
	{
		if (g_invisible[id])
		{
			set_pev(id, pev_viewmodel2, zclass_clawmodel_invi)
		}
		else
		{
			static temp[100]
			format(temp, charsmax(temp), "models/zombie_plague/%s", zclass_clawmodel)
			set_pev(id, pev_viewmodel2, temp)
		}
	}	
}

PlayEmitSound(id, const sound[])
{
	emit_sound(id, CHAN_VOICE, sound, 1.0, ATTN_NORM, 0, PITCH_NORM)
}

reset_value_player(id)
{
	g_invisible[id] = 0
	g_invisible_wait[id] = 0
	
	remove_task(id+TASK_INVISIBLE)
	remove_task(id+TASK_WAIT_INVISIBLE)
	remove_task(id+TASK_BOT_USE_SKILL)
}

zp_colored_print(target, const message[], any:...)
{
	static buffer[512], i, argscount
	argscount = numargs()
	
	if (!target)
	{
		static player
		for (player = 1; player <= g_maxplayers; player++)
		{
			if (!is_user_connected(player))
				continue;
			
			static changed[5], changedcount
			changedcount = 0
			
			for (i = 2; i < argscount; i++)
			{
				if (getarg(i) == LANG_PLAYER)
				{
					setarg(i, 0, player)
					changed[changedcount] = i
					changedcount++
				}
			}
			
			vformat(buffer, charsmax(buffer), message, 3)
			
			message_begin(MSG_ONE_UNRELIABLE, g_msgSayText, _, player)
			write_byte(player)
			write_string(buffer)
			message_end()
			
			for (i = 0; i < changedcount; i++)
				setarg(changed[i], 0, LANG_PLAYER)
		}
	}
	else
	{
		vformat(buffer, charsmax(buffer), message, 3)
		
		message_begin(MSG_ONE, g_msgSayText, _, target)
		write_byte(target)
		write_string(buffer)
		message_end()
	}
}
Pentru ajutor, faceți cerere bine detaliată, completând și respectând modelul corespunzător.
Nu-mi mai dați cereri doar pentru a mă avea în lista de prieteni.
Dacă te ajut, și mă ignori/etc > te adaug în „foe”.
Aveți grijă la cei ce încearcă să mă copieze sau să dea drept mine..Puteți lua legătura cu mine prin STEAM dacă aveți o problemă/nelămurire în acest caz! Cont de forum am doar aici.
În cazul în care utilizați ceva din ce am postat(ex: aici), e bine să fiți la curent cu modificările aduse și de aici, iar dacă sunt ceva probleme nu ezitați să luați legătura cu mine. Actualizarea unor coduri nu se vor afișa public, doar dacă se găsește ceva critic/urgent de remediat, unele fiind coduri vechi iar unele refăcute chiar recent dar private.
* Nume pe cs1.6: eVoLuTiOn \ Nume vechi: eVo
* Atelierul meu - post2819572.html#p2819572 (închis, click link ca să vedeți de ce)
User avatar
Scooby-Doo
Membru, skill +1
Membru, skill +1
Posts: 271
Joined: 23 Oct 2014, 23:27
Detinator Steam: Da
CS Status: ~Online~
Detinator server CS: ZOMBIE.OLDGODS.RO
SteamID: darian433
Fond eXtream: 0
Location: Romania
Discord: Darian433#0850
Has thanked: 21 times
Been thanked: 16 times
Contact:

22 Jul 2019, 18:03

L E V I N wrote:
22 Jul 2019, 15:18

Code: Select all

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

#define PLUGIN "CSO Lusty Rose"
#define VERSION "1.0.1"
#define AUTHOR "ALBTeam"

new const zclass_name[] = "Light"
new const zclass_info[] = "Press G To Stealth"
new const zclass_model[] = "cosspeed1_origin"
new const zclass_clawmodel[] = "v_knife_cosspeed1.mdl"
new const zclass_clawmodel_invi[] = "models/zombie_plague/v_knife_cosspeed1_inv.mdl"
const zclass_health = 2600
const zclass_speed = 295
const Float:zclass_gravity = 0.7
const Float:zclass_knockback = 6.0

const MAX_CLIENTS = 32 ;

new const zombie_sound_invisible[] = "zombie_plague/zombi_pressure_female.wav"

new idclass
const Float:invisible_time = 10.0
const Float:invisible_timewait = 10.0
const invisible_dmg = 200
const Float:invisible_speed = 215.0
const Float:invisible_gravity = 0.9
const invisible_alpha = 10

new g_invisible[33], g_invisible_wait[33]

new g_msgSayText
new g_maxplayers
new g_roundend

new g_coldown_inv_time[MAX_CLIENTS + 1]
new player

enum (+= 100)
{
	TASK_INVISIBLE = 2000,
	TASK_WAIT_INVISIBLE,
	TASK_INVISIBLE_SOUND,
	TASK_BOT_USE_SKILL
}

#define ID_INVISIBLE (taskid - TASK_INVISIBLE)
#define ID_WAIT_INVISIBLE (taskid - TASK_WAIT_INVISIBLE)
#define ID_INVISIBLE_SOUND (taskid - TASK_INVISIBLE_SOUND)
#define ID_BOT_USE_SKILL (taskid - TASK_BOT_USE_SKILL)

public plugin_init()
{
	register_plugin(PLUGIN, VERSION, AUTHOR)
	
	register_event("HLTV", "event_round_start", "a", "1=0", "2=0")
	register_event("DeathMsg", "Death", "a")
	register_event("CurWeapon", "EventCurWeapon", "be", "1=1")
	register_logevent("logevent_round_end", 2, "1=Round_End")
	
	register_clcmd("drop", "cmd_invisible")
	
	g_msgSayText = get_user_msgid("SayText")
	g_maxplayers = get_maxplayers()
}

public plugin_precache()
{
	precache_model(zclass_clawmodel_invi)
	precache_sound(zombie_sound_invisible)
	
	idclass = zp_register_zombie_class(zclass_name, zclass_info, zclass_model, zclass_clawmodel, zclass_health, zclass_speed, zclass_gravity, zclass_knockback)
}

public client_putinserver(id)
{
	reset_value_player(id)
}

public client_disconnect(id)
{
	reset_value_player(id)
}

public event_round_start()
{
	g_roundend = 0
	
	for (new id=1; id<=g_maxplayers; id++)
	{
		if (!is_user_connected(id)) continue;
		
		reset_value_player(id)
	}
}

public logevent_round_end()
{
	g_roundend = 1
}

public Death()
{
	new victim = read_data(2) 
	reset_value_player(victim)
}

public EventCurWeapon(id)
{
	if(!is_user_alive(id)) return PLUGIN_CONTINUE;
	
	if(g_invisible[id]) set_user_maxspeed(id, invisible_speed);
	
	return PLUGIN_CONTINUE;
}

public zp_user_infected_post(id)
{
	reset_value_player(id)
	
	if(zp_get_user_nemesis(id)) return;
	
	if(zp_get_user_zombie_class(id) == idclass)
	{
		if(is_user_bot(id))
		{
			set_task(random_float(5.0,15.0), "bot_use_skill", id+TASK_BOT_USE_SKILL)
			return
		}
		g_coldown_inv_time[player] = floatround(invisible_timewait)
		set_task(1.0, "ShowHUD", id,.flags="b") 
		zp_colored_print(id, "^x04[ZP]^x01 Your skill is^x04 Stealth^x01. Cooldown^x04 %.1f ^x01seconds.", invisible_timewait)
	}
}

public zp_user_humanized_post(id)
{
	reset_value_player(id)
}

public zp_user_unfrozen(id)
{
	if(g_invisible[id])
	{
		set_user_rendering(id,kRenderFxGlowShell,20,20,20,kRenderTransAlpha, invisible_alpha)
		set_user_maxspeed(id, invisible_speed)
		set_user_gravity(id, invisible_gravity)
	}
}

public cmd_invisible(id)
{
	if (g_roundend) return PLUGIN_CONTINUE
	
	if (!is_user_alive(id) || !zp_get_user_zombie(id) || zp_get_user_nemesis(id)) return PLUGIN_CONTINUE

	new health = get_user_health(id) - invisible_dmg
	if (zp_get_user_zombie_class(id) == idclass && health>0 && !g_invisible[id] && !g_invisible_wait[id])
	{
		g_invisible[id] = 1
		
		set_wpnmodel(id)
		set_user_health(id, health)
		set_user_rendering(id,kRenderFxGlowShell,20,20,20,kRenderTransAlpha, invisible_alpha)
		set_user_footsteps(id, 1)
		set_user_maxspeed(id, invisible_speed)
		set_user_gravity(id, invisible_gravity)
		PlayEmitSound(id, zombie_sound_invisible)
		
		set_task(invisible_time, "RemoveInvisible", id+TASK_INVISIBLE)
		set_task(2.0, "InvisibleSound", id+TASK_INVISIBLE_SOUND, _, _, "b")
		
		zp_colored_print(id, "^x04[ZP]^x01 You will^x04 Stealth^x01 for^x04 %.1f ^x01seconds.", invisible_time)
		
		return PLUGIN_HANDLED
	}
	
	return PLUGIN_CONTINUE
}

public ShowHUD(id)
{
	if(g_invisible[id])
	{
		set_hudmessage(200, 100, 0, -1.0, 0.87, 0, 1.0, 1.1, 0.0, 0.0 , -1) 
		if(g_coldown_inv_time[id]>0)
		{
			g_coldown_inv_time[id]--
			show_hudmessage(id, "Your skill is Stealth. Cooldown %d second%s.",g_coldown_inv_time[id],g_coldown_inv_time[id]==1?"":"s")
		}
		else
		{
			show_hudmessage(id, "Your skill it's ready.")
			g_coldown_inv_time[id]=0
			remove_task(id)
		}
	}
	else	remove_task(id)
	return PLUGIN_HANDLED
}

public bot_use_skill(taskid)
{
	new id = ID_BOT_USE_SKILL
	
	if (!is_user_alive(id)) return;

	cmd_invisible(id)
	
	set_task(random_float(5.0,15.0), "bot_use_skill", id+TASK_BOT_USE_SKILL)
}

public InvisibleSound(taskid)
{
	new id = ID_INVISIBLE_SOUND
	
	if (g_invisible[id]) PlayEmitSound(id, zombie_sound_invisible)
	else remove_task(taskid)
}

public RemoveInvisible(taskid)
{
	new id = ID_INVISIBLE
	
	g_invisible[id] = 0
	
	set_wpnmodel(id)
	set_user_rendering(id)
	set_user_footsteps(id, 0)
	set_user_maxspeed(id, float(zclass_speed))
	set_user_gravity(id, zclass_gravity)
	zp_colored_print(id, "^x04[ZP]^x01 Your^x04 Stealth^x01 skill is over.")
	
	g_invisible_wait[id] = 1
	
	set_task(invisible_timewait, "RemoveWaitInvisible", id+TASK_WAIT_INVISIBLE)
}

public RemoveWaitInvisible(taskid)
{
	new id = ID_WAIT_INVISIBLE
	
	g_invisible_wait[id] = 0
	
	zp_colored_print(id, "^x04[ZP]^x01 Your skill^x04 Stealth^x01 is ready.")
}

set_wpnmodel(id)
{
	if (!is_user_alive(id)) return;
	
	if (get_user_weapon(id) == CSW_KNIFE)
	{
		if (g_invisible[id])
		{
			set_pev(id, pev_viewmodel2, zclass_clawmodel_invi)
		}
		else
		{
			static temp[100]
			format(temp, charsmax(temp), "models/zombie_plague/%s", zclass_clawmodel)
			set_pev(id, pev_viewmodel2, temp)
		}
	}	
}

PlayEmitSound(id, const sound[])
{
	emit_sound(id, CHAN_VOICE, sound, 1.0, ATTN_NORM, 0, PITCH_NORM)
}

reset_value_player(id)
{
	g_invisible[id] = 0
	g_invisible_wait[id] = 0
	
	remove_task(id+TASK_INVISIBLE)
	remove_task(id+TASK_WAIT_INVISIBLE)
	remove_task(id+TASK_BOT_USE_SKILL)
}

zp_colored_print(target, const message[], any:...)
{
	static buffer[512], i, argscount
	argscount = numargs()
	
	if (!target)
	{
		static player
		for (player = 1; player <= g_maxplayers; player++)
		{
			if (!is_user_connected(player))
				continue;
			
			static changed[5], changedcount
			changedcount = 0
			
			for (i = 2; i < argscount; i++)
			{
				if (getarg(i) == LANG_PLAYER)
				{
					setarg(i, 0, player)
					changed[changedcount] = i
					changedcount++
				}
			}
			
			vformat(buffer, charsmax(buffer), message, 3)
			
			message_begin(MSG_ONE_UNRELIABLE, g_msgSayText, _, player)
			write_byte(player)
			write_string(buffer)
			message_end()
			
			for (i = 0; i < changedcount; i++)
				setarg(changed[i], 0, LANG_PLAYER)
		}
	}
	else
	{
		vformat(buffer, charsmax(buffer), message, 3)
		
		message_begin(MSG_ONE, g_msgSayText, _, target)
		write_byte(target)
		write_string(buffer)
		message_end()
	}
}
Se compileaza, nu da warning-uri dar tot nu apare mesajul in hud.
Discord: Darian433#0850

User avatar
levin
Scripter eXtreamCS
Scripter eXtreamCS
Posts: 3844
Joined: 24 Aug 2011, 12:24
Detinator Steam: Da
CS Status:
Detinator server CS: ☯∴
SteamID: riseofevo
Reputatie: Scripter eXtreamCS
Nume anterior: Adryyy
Location: ҳ̸Ҳ̸ҳ
Discord: devilclass
Has thanked: 36 times
Been thanked: 594 times
Contact:

22 Jul 2019, 19:32

Code: Select all

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

#define PLUGIN "CSO Lusty Rose"
#define VERSION "1.0.1"
#define AUTHOR "ALBTeam"

new const zclass_name[] = "Light"
new const zclass_info[] = "Press G To Stealth"
new const zclass_model[] = "cosspeed1_origin"
new const zclass_clawmodel[] = "v_knife_cosspeed1.mdl"
new const zclass_clawmodel_invi[] = "models/zombie_plague/v_knife_cosspeed1_inv.mdl"
const zclass_health = 2600
const zclass_speed = 295
const Float:zclass_gravity = 0.7
const Float:zclass_knockback = 6.0

const MAX_CLIENTS = 32 ;

new const zombie_sound_invisible[] = "zombie_plague/zombi_pressure_female.wav"

new idclass
const Float:invisible_time = 10.0
const Float:invisible_timewait = 10.0
const invisible_dmg = 200
const Float:invisible_speed = 215.0
const Float:invisible_gravity = 0.9
const invisible_alpha = 10

new g_invisible[33], g_invisible_wait[33]

new g_msgSayText
new g_maxplayers
new g_roundend

new g_cooldown_inv_time[MAX_CLIENTS + 1]

enum (+= 100)
{
	TASK_INVISIBLE = 2000,
	TASK_WAIT_INVISIBLE,
	TASK_INVISIBLE_SOUND,
	TASK_BOT_USE_SKILL
}

#define ID_INVISIBLE (taskid - TASK_INVISIBLE)
#define ID_WAIT_INVISIBLE (taskid - TASK_WAIT_INVISIBLE)
#define ID_INVISIBLE_SOUND (taskid - TASK_INVISIBLE_SOUND)
#define ID_BOT_USE_SKILL (taskid - TASK_BOT_USE_SKILL)

public plugin_init()
{
	register_plugin(PLUGIN, VERSION, AUTHOR)
	
	register_event("HLTV", "event_round_start", "a", "1=0", "2=0")
	register_event("DeathMsg", "Death", "a")
	register_event("CurWeapon", "EventCurWeapon", "be", "1=1")
	register_logevent("logevent_round_end", 2, "1=Round_End")
	
	register_clcmd("drop", "cmd_invisible")
	
	g_msgSayText = get_user_msgid("SayText")
	g_maxplayers = get_maxplayers()
}

public plugin_precache()
{
	precache_model(zclass_clawmodel_invi)
	precache_sound(zombie_sound_invisible)
	
	idclass = zp_register_zombie_class(zclass_name, zclass_info, zclass_model, zclass_clawmodel, zclass_health, zclass_speed, zclass_gravity, zclass_knockback)
}

public client_putinserver(id)	reset_value_player(id)
public client_disconnect(id)	reset_value_player(id)
public event_round_start()
{
	g_roundend = 0
	
	for (new id=1; id<=g_maxplayers; id++)
	{
		if (!is_user_connected(id)) continue;
		
		reset_value_player(id)
	}
}
public logevent_round_end()	g_roundend = 1

public Death()
{
	new victim = read_data(2) 
	reset_value_player(victim)
}

public EventCurWeapon(id)
{
	if(!is_user_alive(id)) return PLUGIN_CONTINUE;
	
	if(g_invisible[id]) set_user_maxspeed(id, invisible_speed);
	
	return PLUGIN_CONTINUE;
}

public zp_user_infected_post(id)
{	
	if(zp_get_user_nemesis(id)) return;
	
	if(zp_get_user_zombie_class(id) == idclass)
	{
		reset_value_player(id)
		
		if(is_user_bot(id))
		{
			set_task(random_float(5.0,15.0), "bot_use_skill", id+TASK_BOT_USE_SKILL)
			return
		}
		g_cooldown_inv_time[id] = floatround(invisible_timewait)
		set_task(1.0, "ShowHUD", id,.flags="b") 
		zp_colored_print(id, "^x04[ZP]^x01 Your skill is^x04 Stealth^x01. Cooldown^x04 %.1f ^x01seconds.", invisible_timewait)
	}
}

public ShowHUD(id)
{
	if(g_invisible[id])
	{
		set_hudmessage(200, 100, 0, -1.0, 0.87, 0, 1.0, 1.1, 0.0, 0.0 , -1) 
		if(g_cooldown_inv_time[id]>=0)
		{
			g_cooldown_inv_time[id]--
			show_hudmessage(id, "Your skill is Stealth. Cooldown %d second%s.",g_cooldown_inv_time[id],g_cooldown_inv_time[id]==1?"":"s")
		}
		else if(g_cooldown_inv_time[id]<0)
		{
			show_hudmessage(id, "Your skill it's ready.")
			g_cooldown_inv_time[id]=0
			remove_task(id)
		}
	}
	else	remove_task(id)
	return PLUGIN_HANDLED
}

public zp_user_humanized_post(id)	reset_value_player(id)

public zp_user_unfrozen(id)
{
	if(g_invisible[id])
	{
		set_user_rendering(id,kRenderFxGlowShell,20,20,20,kRenderTransAlpha, invisible_alpha)
		set_user_maxspeed(id, invisible_speed)
		set_user_gravity(id, invisible_gravity)
	}
}

public cmd_invisible(id)
{
	if (g_roundend) return PLUGIN_CONTINUE
	
	if (!is_user_alive(id) || !zp_get_user_zombie(id) || zp_get_user_nemesis(id)) return PLUGIN_CONTINUE

	new health = get_user_health(id) - invisible_dmg
	if (zp_get_user_zombie_class(id) == idclass && health>0 && !g_invisible[id] && !g_invisible_wait[id])
	{
		g_invisible[id] = 1
		
		set_wpnmodel(id)
		set_user_health(id, health)
		set_user_rendering(id,kRenderFxGlowShell,20,20,20,kRenderTransAlpha, invisible_alpha)
		set_user_footsteps(id, 1)
		set_user_maxspeed(id, invisible_speed)
		set_user_gravity(id, invisible_gravity)
		PlayEmitSound(id, zombie_sound_invisible)
		
		set_task(invisible_time, "RemoveInvisible", id+TASK_INVISIBLE)
		set_task(2.0, "InvisibleSound", id+TASK_INVISIBLE_SOUND, _, _, "b")
		
		zp_colored_print(id, "^x04[ZP]^x01 You will^x04 Stealth^x01 for^x04 %.1f ^x01seconds.", invisible_time)
		
		return PLUGIN_HANDLED
	}
	
	return PLUGIN_CONTINUE
}

public bot_use_skill(taskid)
{
	new id = ID_BOT_USE_SKILL
	
	if (!is_user_alive(id)) return;

	cmd_invisible(id)
	
	set_task(random_float(5.0,15.0), "bot_use_skill", id+TASK_BOT_USE_SKILL)
}

public InvisibleSound(taskid)
{
	new id = ID_INVISIBLE_SOUND
	
	if (g_invisible[id]) PlayEmitSound(id, zombie_sound_invisible)
	else remove_task(taskid)
}

public RemoveInvisible(taskid)
{
	new id = ID_INVISIBLE
	
	g_invisible[id] = 0
	
	set_wpnmodel(id)
	set_user_rendering(id)
	set_user_footsteps(id, 0)
	set_user_maxspeed(id, float(zclass_speed))
	set_user_gravity(id, zclass_gravity)
	zp_colored_print(id, "^x04[ZP]^x01 Your^x04 Stealth^x01 skill is over.")
	
	g_invisible_wait[id] = 1
	
	set_task(invisible_timewait, "RemoveWaitInvisible", id+TASK_WAIT_INVISIBLE)
}

public RemoveWaitInvisible(taskid)
{
	new id = ID_WAIT_INVISIBLE
	
	g_invisible_wait[id] = 0
	
	zp_colored_print(id, "^x04[ZP]^x01 Your skill^x04 Stealth^x01 is ready.")
}

set_wpnmodel(id)
{
	if (!is_user_alive(id)) return;
	
	if (get_user_weapon(id) == CSW_KNIFE)
	{
		if (g_invisible[id])	set_pev(id, pev_viewmodel2, zclass_clawmodel_invi)
		else
		{
			static temp[100]
			formatex(temp, charsmax(temp), "models/zombie_plague/%s", zclass_clawmodel)
			set_pev(id, pev_viewmodel2, temp)
		}
	}	
}

PlayEmitSound(id, const sound[])	emit_sound(id, CHAN_VOICE, sound, 1.0, ATTN_NORM, 0, PITCH_NORM)

reset_value_player(id)
{
	g_invisible[id] = 0
	g_invisible_wait[id] = 0
	g_cooldown_inv_time[id]=0
	
	remove_task(id+TASK_INVISIBLE)
	remove_task(id+TASK_WAIT_INVISIBLE)
	remove_task(id+TASK_BOT_USE_SKILL)
	remove_task(id)
}

zp_colored_print(target, const message[], any:...)
{
	static buffer[512], i, argscount
	argscount = numargs()
	
	if (!target)
	{
		static player
		for (player = 1; player <= g_maxplayers; player++)
		{
			if (!is_user_connected(player))	continue;
			
			static changed[5], changedcount
			changedcount = 0
			
			for (i = 2; i < argscount; i++)
			{
				if (getarg(i) == LANG_PLAYER)
				{
					setarg(i, 0, player)
					changed[changedcount] = i
					changedcount++
				}
			}
			
			vformat(buffer, charsmax(buffer), message, 3)
			
			message_begin(MSG_ONE_UNRELIABLE, g_msgSayText, _, player)
			write_byte(player)
			write_string(buffer)
			message_end()
			
			for (i = 0; i < changedcount; i++)	setarg(changed[i], 0, LANG_PLAYER)
		}
	}
	else
	{
		vformat(buffer, charsmax(buffer), message, 3)
		
		message_begin(MSG_ONE, g_msgSayText, _, target)
		write_byte(target)
		write_string(buffer)
		message_end()
	}
}
Pentru ajutor, faceți cerere bine detaliată, completând și respectând modelul corespunzător.
Nu-mi mai dați cereri doar pentru a mă avea în lista de prieteni.
Dacă te ajut, și mă ignori/etc > te adaug în „foe”.
Aveți grijă la cei ce încearcă să mă copieze sau să dea drept mine..Puteți lua legătura cu mine prin STEAM dacă aveți o problemă/nelămurire în acest caz! Cont de forum am doar aici.
În cazul în care utilizați ceva din ce am postat(ex: aici), e bine să fiți la curent cu modificările aduse și de aici, iar dacă sunt ceva probleme nu ezitați să luați legătura cu mine. Actualizarea unor coduri nu se vor afișa public, doar dacă se găsește ceva critic/urgent de remediat, unele fiind coduri vechi iar unele refăcute chiar recent dar private.
* Nume pe cs1.6: eVoLuTiOn \ Nume vechi: eVo
* Atelierul meu - post2819572.html#p2819572 (închis, click link ca să vedeți de ce)
User avatar
Scooby-Doo
Membru, skill +1
Membru, skill +1
Posts: 271
Joined: 23 Oct 2014, 23:27
Detinator Steam: Da
CS Status: ~Online~
Detinator server CS: ZOMBIE.OLDGODS.RO
SteamID: darian433
Fond eXtream: 0
Location: Romania
Discord: Darian433#0850
Has thanked: 21 times
Been thanked: 16 times
Contact:

22 Jul 2019, 22:15

L E V I N wrote:
22 Jul 2019, 19:32

Code: Select all

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

#define PLUGIN "CSO Lusty Rose"
#define VERSION "1.0.1"
#define AUTHOR "ALBTeam"

new const zclass_name[] = "Light"
new const zclass_info[] = "Press G To Stealth"
new const zclass_model[] = "cosspeed1_origin"
new const zclass_clawmodel[] = "v_knife_cosspeed1.mdl"
new const zclass_clawmodel_invi[] = "models/zombie_plague/v_knife_cosspeed1_inv.mdl"
const zclass_health = 2600
const zclass_speed = 295
const Float:zclass_gravity = 0.7
const Float:zclass_knockback = 6.0

const MAX_CLIENTS = 32 ;

new const zombie_sound_invisible[] = "zombie_plague/zombi_pressure_female.wav"

new idclass
const Float:invisible_time = 10.0
const Float:invisible_timewait = 10.0
const invisible_dmg = 200
const Float:invisible_speed = 215.0
const Float:invisible_gravity = 0.9
const invisible_alpha = 10

new g_invisible[33], g_invisible_wait[33]

new g_msgSayText
new g_maxplayers
new g_roundend

new g_cooldown_inv_time[MAX_CLIENTS + 1]

enum (+= 100)
{
	TASK_INVISIBLE = 2000,
	TASK_WAIT_INVISIBLE,
	TASK_INVISIBLE_SOUND,
	TASK_BOT_USE_SKILL
}

#define ID_INVISIBLE (taskid - TASK_INVISIBLE)
#define ID_WAIT_INVISIBLE (taskid - TASK_WAIT_INVISIBLE)
#define ID_INVISIBLE_SOUND (taskid - TASK_INVISIBLE_SOUND)
#define ID_BOT_USE_SKILL (taskid - TASK_BOT_USE_SKILL)

public plugin_init()
{
	register_plugin(PLUGIN, VERSION, AUTHOR)
	
	register_event("HLTV", "event_round_start", "a", "1=0", "2=0")
	register_event("DeathMsg", "Death", "a")
	register_event("CurWeapon", "EventCurWeapon", "be", "1=1")
	register_logevent("logevent_round_end", 2, "1=Round_End")
	
	register_clcmd("drop", "cmd_invisible")
	
	g_msgSayText = get_user_msgid("SayText")
	g_maxplayers = get_maxplayers()
}

public plugin_precache()
{
	precache_model(zclass_clawmodel_invi)
	precache_sound(zombie_sound_invisible)
	
	idclass = zp_register_zombie_class(zclass_name, zclass_info, zclass_model, zclass_clawmodel, zclass_health, zclass_speed, zclass_gravity, zclass_knockback)
}

public client_putinserver(id)	reset_value_player(id)
public client_disconnect(id)	reset_value_player(id)
public event_round_start()
{
	g_roundend = 0
	
	for (new id=1; id<=g_maxplayers; id++)
	{
		if (!is_user_connected(id)) continue;
		
		reset_value_player(id)
	}
}
public logevent_round_end()	g_roundend = 1

public Death()
{
	new victim = read_data(2) 
	reset_value_player(victim)
}

public EventCurWeapon(id)
{
	if(!is_user_alive(id)) return PLUGIN_CONTINUE;
	
	if(g_invisible[id]) set_user_maxspeed(id, invisible_speed);
	
	return PLUGIN_CONTINUE;
}

public zp_user_infected_post(id)
{	
	if(zp_get_user_nemesis(id)) return;
	
	if(zp_get_user_zombie_class(id) == idclass)
	{
		reset_value_player(id)
		
		if(is_user_bot(id))
		{
			set_task(random_float(5.0,15.0), "bot_use_skill", id+TASK_BOT_USE_SKILL)
			return
		}
		g_cooldown_inv_time[id] = floatround(invisible_timewait)
		set_task(1.0, "ShowHUD", id,.flags="b") 
		zp_colored_print(id, "^x04[ZP]^x01 Your skill is^x04 Stealth^x01. Cooldown^x04 %.1f ^x01seconds.", invisible_timewait)
	}
}

public ShowHUD(id)
{
	if(g_invisible[id])
	{
		set_hudmessage(200, 100, 0, -1.0, 0.87, 0, 1.0, 1.1, 0.0, 0.0 , -1) 
		if(g_cooldown_inv_time[id]>=0)
		{
			g_cooldown_inv_time[id]--
			show_hudmessage(id, "Your skill is Stealth. Cooldown %d second%s.",g_cooldown_inv_time[id],g_cooldown_inv_time[id]==1?"":"s")
		}
		else if(g_cooldown_inv_time[id]<0)
		{
			show_hudmessage(id, "Your skill it's ready.")
			g_cooldown_inv_time[id]=0
			remove_task(id)
		}
	}
	else	remove_task(id)
	return PLUGIN_HANDLED
}

public zp_user_humanized_post(id)	reset_value_player(id)

public zp_user_unfrozen(id)
{
	if(g_invisible[id])
	{
		set_user_rendering(id,kRenderFxGlowShell,20,20,20,kRenderTransAlpha, invisible_alpha)
		set_user_maxspeed(id, invisible_speed)
		set_user_gravity(id, invisible_gravity)
	}
}

public cmd_invisible(id)
{
	if (g_roundend) return PLUGIN_CONTINUE
	
	if (!is_user_alive(id) || !zp_get_user_zombie(id) || zp_get_user_nemesis(id)) return PLUGIN_CONTINUE

	new health = get_user_health(id) - invisible_dmg
	if (zp_get_user_zombie_class(id) == idclass && health>0 && !g_invisible[id] && !g_invisible_wait[id])
	{
		g_invisible[id] = 1
		
		set_wpnmodel(id)
		set_user_health(id, health)
		set_user_rendering(id,kRenderFxGlowShell,20,20,20,kRenderTransAlpha, invisible_alpha)
		set_user_footsteps(id, 1)
		set_user_maxspeed(id, invisible_speed)
		set_user_gravity(id, invisible_gravity)
		PlayEmitSound(id, zombie_sound_invisible)
		
		set_task(invisible_time, "RemoveInvisible", id+TASK_INVISIBLE)
		set_task(2.0, "InvisibleSound", id+TASK_INVISIBLE_SOUND, _, _, "b")
		
		zp_colored_print(id, "^x04[ZP]^x01 You will^x04 Stealth^x01 for^x04 %.1f ^x01seconds.", invisible_time)
		
		return PLUGIN_HANDLED
	}
	
	return PLUGIN_CONTINUE
}

public bot_use_skill(taskid)
{
	new id = ID_BOT_USE_SKILL
	
	if (!is_user_alive(id)) return;

	cmd_invisible(id)
	
	set_task(random_float(5.0,15.0), "bot_use_skill", id+TASK_BOT_USE_SKILL)
}

public InvisibleSound(taskid)
{
	new id = ID_INVISIBLE_SOUND
	
	if (g_invisible[id]) PlayEmitSound(id, zombie_sound_invisible)
	else remove_task(taskid)
}

public RemoveInvisible(taskid)
{
	new id = ID_INVISIBLE
	
	g_invisible[id] = 0
	
	set_wpnmodel(id)
	set_user_rendering(id)
	set_user_footsteps(id, 0)
	set_user_maxspeed(id, float(zclass_speed))
	set_user_gravity(id, zclass_gravity)
	zp_colored_print(id, "^x04[ZP]^x01 Your^x04 Stealth^x01 skill is over.")
	
	g_invisible_wait[id] = 1
	
	set_task(invisible_timewait, "RemoveWaitInvisible", id+TASK_WAIT_INVISIBLE)
}

public RemoveWaitInvisible(taskid)
{
	new id = ID_WAIT_INVISIBLE
	
	g_invisible_wait[id] = 0
	
	zp_colored_print(id, "^x04[ZP]^x01 Your skill^x04 Stealth^x01 is ready.")
}

set_wpnmodel(id)
{
	if (!is_user_alive(id)) return;
	
	if (get_user_weapon(id) == CSW_KNIFE)
	{
		if (g_invisible[id])	set_pev(id, pev_viewmodel2, zclass_clawmodel_invi)
		else
		{
			static temp[100]
			formatex(temp, charsmax(temp), "models/zombie_plague/%s", zclass_clawmodel)
			set_pev(id, pev_viewmodel2, temp)
		}
	}	
}

PlayEmitSound(id, const sound[])	emit_sound(id, CHAN_VOICE, sound, 1.0, ATTN_NORM, 0, PITCH_NORM)

reset_value_player(id)
{
	g_invisible[id] = 0
	g_invisible_wait[id] = 0
	g_cooldown_inv_time[id]=0
	
	remove_task(id+TASK_INVISIBLE)
	remove_task(id+TASK_WAIT_INVISIBLE)
	remove_task(id+TASK_BOT_USE_SKILL)
	remove_task(id)
}

zp_colored_print(target, const message[], any:...)
{
	static buffer[512], i, argscount
	argscount = numargs()
	
	if (!target)
	{
		static player
		for (player = 1; player <= g_maxplayers; player++)
		{
			if (!is_user_connected(player))	continue;
			
			static changed[5], changedcount
			changedcount = 0
			
			for (i = 2; i < argscount; i++)
			{
				if (getarg(i) == LANG_PLAYER)
				{
					setarg(i, 0, player)
					changed[changedcount] = i
					changedcount++
				}
			}
			
			vformat(buffer, charsmax(buffer), message, 3)
			
			message_begin(MSG_ONE_UNRELIABLE, g_msgSayText, _, player)
			write_byte(player)
			write_string(buffer)
			message_end()
			
			for (i = 0; i < changedcount; i++)	setarg(changed[i], 0, LANG_PLAYER)
		}
	}
	else
	{
		vformat(buffer, charsmax(buffer), message, 3)
		
		message_begin(MSG_ONE, g_msgSayText, _, target)
		write_byte(target)
		write_string(buffer)
		message_end()
	}
}
La fel...tot nu apare.
Eu am adaugat new player 32 si tot ce ii legat de public ShowHUD din plugin-ul de mai jos:

Code: Select all

#include <amxmodx>
#include <zombieplague>
#include <hamsandwich>
#include <fakemeta>
#include <engine>

#define SetSound(%0,%1,%2) emit_sound(%0, %1, %2, 1.0, ATTN_NORM, 0, PITCH_NORM)

new const PLUGIN[] = "[CSO] Class String Finger"
new const VERSION[] = "1.0"
new const AUTHOR[] =  "ShuriK"

new const zclass1_name[] = { "String Finger" }
new const zclass1_info[] = { "Q - Gravity , G - Long Attack " }
new const zclass1_model[] = { "resident_zombi_host" }
new const zclass1_clawmodel[] = { "v_knife_zombieresident.mdl" }
new const g_vgrenade[] = "models/zombie_plague/v_zombibomb_resident.mdl"
const zclass1_health = 1700
const zclass1_speed = 240 

const Float:zclass1_gravity = 1.0 //Гравитация в обычном режиме
const Float:zclass1_knockback = 1.0 //Отдача
const Float:gravity_time = 8.0 //Время гравитации;
const Float:realod_gravity  =  15.0 //Отсчет до гравитации;
const Float:realod_gmg  = 15.0 //Отсчет до вытягивание рук;
const Float:finger_gravity = 0.2 //Гравитая при способности;

const dmg_long = 200 //Дамаг вытягивания рук;
const Distance = 400 //Дистанция для вытягивание рук;

const MAX_CLIENTS = 32 ;

enum _:FINGER_ANIMATIONS
{
	LongDamageAnim   = 8,
	GravAnim      = 9,
	EndGrav        = 10,
	skill1        = 91,
	skill2       = 98
};

new g_stinger_sound[][] = 
{
	"zombi/resident_skill2.wav",
	"zombi/resident_skill1.wav",
	"zombi/resident_tw.wav" 
}

new g_string , 
    g_msgScreenFade,
	g_damage_use[ MAX_CLIENTS + 1 ] , 
    g_gravity_use[ MAX_CLIENTS + 1] ,
    g_coldown[ MAX_CLIENTS + 1 ] ,
    g_clodown_grav[MAX_CLIENTS + 1] ,
    g_coldown_dmg_time[MAX_CLIENTS + 1] , 
	g_coldown_grav_time[MAX_CLIENTS + 1] ;
     
public plugin_init() 
{
	register_event("CurWeapon","handle_gun","be","1=1")
	
	register_plugin(PLUGIN, VERSION, AUTHOR) ;
	
	register_forward(FM_CmdStart , "fm_cmdstart" ) ;
	
	register_clcmd("drop" , "Abil_LongDmg" );
	
	g_msgScreenFade = get_user_msgid("ScreenFade");
	
	register_dictionary( "zp_string.txt" ) ;
}

public plugin_precache()
{
	precache_model(g_vgrenade)
	
	g_string = zp_register_zombie_class(zclass1_name, zclass1_info, zclass1_model, zclass1_clawmodel, zclass1_health, zclass1_speed, zclass1_gravity, zclass1_knockback) ;
	
	static i ;
	
	for(i = 0; i < sizeof g_stinger_sound; i++)
	{
		precache_sound(g_stinger_sound[i]);
	}
}

public handle_gun(id)   
{   
new weap = get_user_weapon(id)   

if(weap == CSW_HEGRENADE && zp_get_user_zombie_class(id) == g_string && zp_get_user_zombie(id))   
{   
entity_set_string(id, EV_SZ_viewmodel, g_vgrenade)   
}   
else if(weap == CSW_SMOKEGRENADE && zp_get_user_zombie_class(id) == g_string && zp_get_user_zombie(id))   
{   
entity_set_string(id, EV_SZ_viewmodel, g_vgrenade)   
}   
return PLUGIN_HANDLED   
}

public zp_user_infected_post( player  )
{
	if(zp_get_user_zombie_class(player) == g_string && !zp_get_user_nemesis(player))
	{
		g_damage_use[player] = false 
		g_gravity_use[player] = false 
		
		g_coldown[player] = false 
		g_clodown_grav[player] = false 
		
		g_coldown_dmg_time[player] = floatround(realod_gmg) 
		g_coldown_grav_time[player] = floatround(realod_gravity) 
		remove_task(player) 

		cahtcol(player , "%L" , LANG_PLAYER , "FINGER")
		{
			return PLUGIN_HANDLED
		}
	}
	
	return PLUGIN_CONTINUE	 
}
 
public client_connect(player)
{
	g_damage_use[player] = false 
	g_gravity_use[player] = false 
}

public client_disconnect(player)
{
	g_damage_use[player] = false 
	g_gravity_use[player] = false 
}
	
public fm_cmdstart(player , UC_Handle , seed)
{
	if (!is_user_alive(player))
	{
		return FMRES_IGNORED
	}
		
	if(zp_get_user_zombie_class(player) == g_string && zp_get_user_zombie(player) && !zp_get_user_nemesis(player))
	{
		if(g_clodown_grav[player] == 0)
		{
			new gButton, gOldButton 
			
			gButton = get_uc(UC_Handle, UC_Buttons) 
			gOldButton = pev(player, pev_oldbuttons) 
			
			if((gButton & IN_RELOAD) && !(gOldButton & IN_RELOAD))
		    {
                   UTIL_Gravity(player) 
            }
	    } 
	}	
	return FMRES_IGNORED 
}

public Abil_LongDmg(player)
{
	if(is_user_alive(player) && zp_get_user_zombie_class(player) == g_string && zp_get_user_zombie(player) && !zp_get_user_nemesis(player))
	{
		if(g_coldown[player] == 0)
		{
			UTIL_LongDamage(player) ; return PLUGIN_HANDLED ;
		}
	}
	return PLUGIN_CONTINUE ;
}

stock UTIL_Gravity(player)
{
	if (!is_user_alive(player))
	{
		return FMRES_IGNORED
	}
	
	if(zp_get_user_zombie_class(player) == g_string && zp_get_user_zombie(player) && !zp_get_user_nemesis(player))
	{
				   set_task(0.3, "PlaySound", player) ;
				   
				   g_gravity_use[player] = true 
				   
				   UTIL_PlayAnim(player , GravAnim) 
				   
				   g_clodown_grav[player] = true 
				   
				   UTIL_ScreenFade(player , 255 , 255 , 255)
				   
				   entity_set_int( player , EV_INT_sequence, skill2) 
				   
				   set_pdata_float(player , 83, 1.0 , 5) 
	               
				   set_pev( player, pev_gravity, finger_gravity )
				   
				   set_task(gravity_time , "remove_abil" , player )  
				   
				   g_coldown_grav_time[player] = floatround(realod_gravity) 
				   
				   set_task(1.0, "ShowHUD_grav", player , _, _, "a",g_coldown_grav_time[player]) 
				   
				   set_task(realod_gravity , "reset_grav" , player)		 		   
	}
	return FMRES_IGNORED 
}	

public PlaySound(Player) SetSound(Player, CHAN_BODY, g_stinger_sound[1]) ;

public ShowHUD_grav(player)
{
	if(is_user_alive(player) && zp_get_user_zombie(player))
	{
	     g_coldown_grav_time[player] = g_coldown_grav_time[player] - 1 
	     set_hudmessage(200, 100, 0, -1.0, 0.87, 0, 1.0, 1.1, 0.0, 0.0 , -1) 
	     show_hudmessage(player, "%L", LANG_PLAYER, "GRAV_USE" , g_coldown_grav_time[player])
	}
	else
    {
        remove_task(player)
	} 	
}


public remove_abil(player)
{
	if (!is_user_alive(player))
	{
		return FMRES_IGNORED
	}
	
	if(zp_get_user_zombie_class(player) == g_string && zp_get_user_zombie(player) && !zp_get_user_nemesis(player))
	{
	   SetSound(player, CHAN_BODY, g_stinger_sound[2]) ;
	   
	   g_gravity_use[player] = false  
	
	   set_pev( player, pev_gravity, zclass1_gravity ) 
	
	   UTIL_PlayAnim(player , EndGrav) 
	  
	   UTIL_ScreenFade(player , 255 , 255 , 255)
	
	   cahtcol(player , "%L" , LANG_PLAYER , "FINGER_GRAV_OVER" )  
	}  
	return FMRES_IGNORED 
	
}

public reset_grav(player)
{
	if (!is_user_alive(player))
	{
		return FMRES_IGNORED
	}
	
	if(zp_get_user_zombie_class(player) == g_string && zp_get_user_zombie(player) && !zp_get_user_nemesis(player))
	{
		g_clodown_grav[player] = 0
		
		cahtcol(player , "%L" , LANG_PLAYER , "FINGER_GRAV_ALLREADY" )  
	}
	return FMRES_IGNORED
}	
   

stock UTIL_LongDamage(player)
{
	if (!is_user_alive(player))
	{
		return FMRES_IGNORED
	}
	
	if(zp_get_user_zombie_class(player) == g_string && zp_get_user_zombie(player) && !zp_get_user_nemesis(player))
	{
		SetSound(player, CHAN_BODY, g_stinger_sound[0]) ;
		
		g_damage_use[player] = true  
		
		UTIL_PlayAnim( player , LongDamageAnim ) 
		
		entity_set_int( player , EV_INT_sequence, skill1) 

		g_coldown[player] = 1
		
		UTIL_ScreenFade(player , 0 , 255 , 0)
		
		set_pdata_float(player , 83, 1.0 , 5) 
		
		Skill(player) 
		
		set_task(realod_gmg , "reset_abil" , player) 
		
		g_coldown_dmg_time[player] = floatround(realod_gmg) 
		
		set_task(1.0, "ShowHUD", player , _, _, "a",g_coldown_dmg_time[player]) 
	}
	
	return FMRES_IGNORED 
}

public ShowHUD(player)
{
	if(is_user_alive(player) && zp_get_user_zombie(player))
	{
	    g_coldown_dmg_time[player] = g_coldown_dmg_time[player] - 1  
	    set_hudmessage(200, 100, 0, -1.0, 0.85, 0, 1.0, 1.1, 0.0, 0.0 , -1) 
	    show_hudmessage(player, "%L", LANG_PLAYER, "DMG_USE" , g_coldown_dmg_time[player]) 
	}
	else
    {
       remove_task(player) 
    }	   
}

stock Skill(player)
{
	if (!is_user_alive(player))
	{
		return FMRES_IGNORED;
	}
	
	static gBody , gTarget  
	get_user_aiming(player , gTarget , gBody , Distance) 
	
	if(gTarget)
	{
		if(is_user_alive(gTarget))
		{
			switch(gBody)
			{
				case HIT_STOMACH: dmg_long * 2.0
				case HIT_HEAD: dmg_long * 3.0 
				case HIT_LEFTARM: dmg_long * 1.0
				case HIT_RIGHTARM: dmg_long * 1.0
				case HIT_LEFTLEG: dmg_long * 0.5
				case HIT_RIGHTLEG: dmg_long * 0.5
			}
			
			ExecuteHamB(Ham_TakeDamage, gTarget, 0, player, dmg_long, DMG_SLASH) 
		}
	}
	return FMRES_IGNORED 
}

public reset_abil(player)
{
	if (!is_user_alive(player))
	{
		return FMRES_IGNORED
	}
	
	if(zp_get_user_zombie_class(player) == g_string && zp_get_user_zombie(player) && !zp_get_user_nemesis(player))
	{
		g_coldown[player] = 0 
		
		cahtcol(player , "%L" , LANG_PLAYER , "FINGER_DMG_ALLREADY" )  
	}
	return FMRES_IGNORED
}
	
stock UTIL_ScreenFade( player, r = 0, g = 0, b = 0)
{
	message_begin( MSG_ONE_UNRELIABLE, g_msgScreenFade, .player = player );
	write_short(  1 << 12  );
	write_short(  1 << 12  );
	write_short( 0x0000 );
	write_byte( r );
	write_byte( g );
	write_byte( b );
	write_byte( 80 );
	message_end( );
}
	
stock UTIL_PlayAnim(player , seq)
{
	set_pev(player, pev_weaponanim, seq)
	
	message_begin(MSG_ONE_UNRELIABLE, SVC_WEAPONANIM, .player = player)
	write_byte(seq)
	write_byte(pev(player, pev_body))
	message_end()
}	

stock cahtcol(const player, const input[], any:...)
{
    new count = 1, players[32]
    static msg[191]
    vformat(msg, 190, input, 3)
    
    replace_all(msg, 190, "!g", "^4")
    replace_all(msg, 190, "!y", "^1")
    replace_all(msg, 190, "!team", "^3")
    
    if (player) players[0] = player; else get_players(players, count, "ch")
    {
        for (new i = 0; i < count; i++)
        {
            if (is_user_connected(players[i]))
            {
                message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i]);
                write_byte(players[i]);
                write_string(msg);
                message_end();
            }
        }
    }
}	
Acesta are 2 hud-uri, 2 publicuri.
Plugin-ul fara ce am adaugat eu din cel de mai sus:

Code: Select all

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

#define PLUGIN "CSO Lusty Rose"
#define VERSION "1.0.1"
#define AUTHOR "ALBTeam"

new const zclass_name[] = "Light"
new const zclass_info[] = "Press G To Stealth"
new const zclass_model[] = "cosspeed1_origin"
new const zclass_clawmodel[] = "v_knife_cosspeed1.mdl"
new const zclass_clawmodel_invi[] = "models/zombie_plague/v_knife_cosspeed1_inv.mdl"
const zclass_health = 2600
const zclass_speed = 295
const Float:zclass_gravity = 0.7
const Float:zclass_knockback = 6.0

new const zombie_sound_invisible[] = "zombie_plague/zombi_pressure_female.wav"

new idclass
const Float:invisible_time = 10.0
const Float:invisible_timewait = 10.0
const invisible_dmg = 200
const Float:invisible_speed = 215.0
const Float:invisible_gravity = 0.9
const invisible_alpha = 10

new g_invisible[33], g_invisible_wait[33]

new g_msgSayText
new g_maxplayers
new g_roundend

enum (+= 100)
{
	TASK_INVISIBLE = 2000,
	TASK_WAIT_INVISIBLE,
	TASK_INVISIBLE_SOUND,
	TASK_BOT_USE_SKILL
}

#define ID_INVISIBLE (taskid - TASK_INVISIBLE)
#define ID_WAIT_INVISIBLE (taskid - TASK_WAIT_INVISIBLE)
#define ID_INVISIBLE_SOUND (taskid - TASK_INVISIBLE_SOUND)
#define ID_BOT_USE_SKILL (taskid - TASK_BOT_USE_SKILL)

public plugin_init()
{
	register_plugin(PLUGIN, VERSION, AUTHOR)
	
	register_event("HLTV", "event_round_start", "a", "1=0", "2=0")
	register_event("DeathMsg", "Death", "a")
	register_event("CurWeapon", "EventCurWeapon", "be", "1=1")
	register_logevent("logevent_round_end", 2, "1=Round_End")
	
	register_clcmd("drop", "cmd_invisible")
	
	g_msgSayText = get_user_msgid("SayText")
	g_maxplayers = get_maxplayers()
}

public plugin_precache()
{
	precache_model(zclass_clawmodel_invi)
	precache_sound(zombie_sound_invisible)
	
	idclass = zp_register_zombie_class(zclass_name, zclass_info, zclass_model, zclass_clawmodel, zclass_health, zclass_speed, zclass_gravity, zclass_knockback)
}

public client_putinserver(id)
{
	reset_value_player(id)
}

public client_disconnect(id)
{
	reset_value_player(id)
}

public event_round_start()
{
	g_roundend = 0
	
	for (new id=1; id<=g_maxplayers; id++)
	{
		if (!is_user_connected(id)) continue;
		
		reset_value_player(id)
	}
}

public logevent_round_end()
{
	g_roundend = 1
}

public Death()
{
	new victim = read_data(2) 
	reset_value_player(victim)
}

public EventCurWeapon(id)
{
	if(!is_user_alive(id)) return PLUGIN_CONTINUE;
	
	if(g_invisible[id]) set_user_maxspeed(id, invisible_speed);
	
	return PLUGIN_CONTINUE;
}

public zp_user_infected_post(id)
{
	reset_value_player(id)
	
	if(zp_get_user_nemesis(id)) return;
	
	if(zp_get_user_zombie_class(id) == idclass)
	{
		if(is_user_bot(id))
		{
			set_task(random_float(5.0,15.0), "bot_use_skill", id+TASK_BOT_USE_SKILL)
			return
		}
		
		zp_colored_print(id, "^x04[ZP]^x01 Your skill is^x04 Stealth^x01. Cooldown^x04 %.1f ^x01seconds.", invisible_timewait)
	}
}

public zp_user_humanized_post(id)
{
	reset_value_player(id)
}

public zp_user_unfrozen(id)
{
	if(g_invisible[id])
	{
		set_user_rendering(id,kRenderFxGlowShell,20,20,20,kRenderTransAlpha, invisible_alpha)
		set_user_maxspeed(id, invisible_speed)
		set_user_gravity(id, invisible_gravity)
	}
}

public cmd_invisible(id)
{
	if (g_roundend) return PLUGIN_CONTINUE
	
	if (!is_user_alive(id) || !zp_get_user_zombie(id) || zp_get_user_nemesis(id)) return PLUGIN_CONTINUE

	new health = get_user_health(id) - invisible_dmg
	if (zp_get_user_zombie_class(id) == idclass && health>0 && !g_invisible[id] && !g_invisible_wait[id])
	{
		g_invisible[id] = 1
		
		set_wpnmodel(id)
		set_user_health(id, health)
		set_user_rendering(id,kRenderFxGlowShell,20,20,20,kRenderTransAlpha, invisible_alpha)
		set_user_footsteps(id, 1)
		set_user_maxspeed(id, invisible_speed)
		set_user_gravity(id, invisible_gravity)
		PlayEmitSound(id, zombie_sound_invisible)
		
		set_task(invisible_time, "RemoveInvisible", id+TASK_INVISIBLE)
		set_task(2.0, "InvisibleSound", id+TASK_INVISIBLE_SOUND, _, _, "b")

		zp_colored_print(id, "^x04[ZP]^x01 You will^x04 Stealth^x01 for^x04 %.1f ^x01seconds.", invisible_time)
		
		return PLUGIN_HANDLED
	}
	
	return PLUGIN_CONTINUE
}

public bot_use_skill(taskid)
{
	new id = ID_BOT_USE_SKILL
	
	if (!is_user_alive(id)) return;

	cmd_invisible(id)
	
	set_task(random_float(5.0,15.0), "bot_use_skill", id+TASK_BOT_USE_SKILL)
}

public InvisibleSound(taskid)
{
	new id = ID_INVISIBLE_SOUND
	
	if (g_invisible[id]) PlayEmitSound(id, zombie_sound_invisible)
	else remove_task(taskid)
}

public RemoveInvisible(taskid)
{
	new id = ID_INVISIBLE
	
	g_invisible[id] = 0
	
	set_wpnmodel(id)
	set_user_rendering(id)
	set_user_footsteps(id, 0)
	set_user_maxspeed(id, float(zclass_speed))
	set_user_gravity(id, zclass_gravity)
	zp_colored_print(id, "^x04[ZP]^x01 Your^x04 Stealth^x01 skill is over.")
	
	g_invisible_wait[id] = 1
	
	set_task(invisible_timewait, "RemoveWaitInvisible", id+TASK_WAIT_INVISIBLE)
}

public RemoveWaitInvisible(taskid)
{
	new id = ID_WAIT_INVISIBLE
	
	g_invisible_wait[id] = 0
	
	zp_colored_print(id, "^x04[ZP]^x01 Your skill^x04 Stealth^x01 is ready.")
}

set_wpnmodel(id)
{
	if (!is_user_alive(id)) return;
	
	if (get_user_weapon(id) == CSW_KNIFE)
	{
		if (g_invisible[id])
		{
			set_pev(id, pev_viewmodel2, zclass_clawmodel_invi)
		}
		else
		{
			static temp[100]
			format(temp, charsmax(temp), "models/zombie_plague/%s", zclass_clawmodel)
			set_pev(id, pev_viewmodel2, temp)
		}
	}	
}

PlayEmitSound(id, const sound[])
{
	emit_sound(id, CHAN_VOICE, sound, 1.0, ATTN_NORM, 0, PITCH_NORM)
}

reset_value_player(id)
{
	g_invisible[id] = 0
	g_invisible_wait[id] = 0
	
	remove_task(id+TASK_INVISIBLE)
	remove_task(id+TASK_WAIT_INVISIBLE)
	remove_task(id+TASK_BOT_USE_SKILL)
}

zp_colored_print(target, const message[], any:...)
{
	static buffer[512], i, argscount
	argscount = numargs()
	
	if (!target)
	{
		static player
		for (player = 1; player <= g_maxplayers; player++)
		{
			if (!is_user_connected(player))
				continue;
			
			static changed[5], changedcount
			changedcount = 0
			
			for (i = 2; i < argscount; i++)
			{
				if (getarg(i) == LANG_PLAYER)
				{
					setarg(i, 0, player)
					changed[changedcount] = i
					changedcount++
				}
			}
			
			vformat(buffer, charsmax(buffer), message, 3)
			
			message_begin(MSG_ONE_UNRELIABLE, g_msgSayText, _, player)
			write_byte(player)
			write_string(buffer)
			message_end()
			
			for (i = 0; i < changedcount; i++)
				setarg(changed[i], 0, LANG_PLAYER)
		}
	}
	else
	{
		vformat(buffer, charsmax(buffer), message, 3)
		
		message_begin(MSG_ONE, g_msgSayText, _, target)
		write_byte(target)
		write_string(buffer)
		message_end()
	}
}
Discord: Darian433#0850

User avatar
levin
Scripter eXtreamCS
Scripter eXtreamCS
Posts: 3844
Joined: 24 Aug 2011, 12:24
Detinator Steam: Da
CS Status:
Detinator server CS: ☯∴
SteamID: riseofevo
Reputatie: Scripter eXtreamCS
Nume anterior: Adryyy
Location: ҳ̸Ҳ̸ҳ
Discord: devilclass
Has thanked: 36 times
Been thanked: 594 times
Contact:

23 Jul 2019, 16:41

n are cum să nu meargă
Pentru ajutor, faceți cerere bine detaliată, completând și respectând modelul corespunzător.
Nu-mi mai dați cereri doar pentru a mă avea în lista de prieteni.
Dacă te ajut, și mă ignori/etc > te adaug în „foe”.
Aveți grijă la cei ce încearcă să mă copieze sau să dea drept mine..Puteți lua legătura cu mine prin STEAM dacă aveți o problemă/nelămurire în acest caz! Cont de forum am doar aici.
În cazul în care utilizați ceva din ce am postat(ex: aici), e bine să fiți la curent cu modificările aduse și de aici, iar dacă sunt ceva probleme nu ezitați să luați legătura cu mine. Actualizarea unor coduri nu se vor afișa public, doar dacă se găsește ceva critic/urgent de remediat, unele fiind coduri vechi iar unele refăcute chiar recent dar private.
* Nume pe cs1.6: eVoLuTiOn \ Nume vechi: eVo
* Atelierul meu - post2819572.html#p2819572 (închis, click link ca să vedeți de ce)
User avatar
Scooby-Doo
Membru, skill +1
Membru, skill +1
Posts: 271
Joined: 23 Oct 2014, 23:27
Detinator Steam: Da
CS Status: ~Online~
Detinator server CS: ZOMBIE.OLDGODS.RO
SteamID: darian433
Fond eXtream: 0
Location: Romania
Discord: Darian433#0850
Has thanked: 21 times
Been thanked: 16 times
Contact:

26 Jul 2019, 20:07

L E V I N wrote:
23 Jul 2019, 16:41
n are cum să nu meargă
Nu....tot nu merge, am incercat si pe alte servere si nu apare.
Poate ai inteles gresit, ori nu ai testat dar eu vreau ca in momentul in care jucatorul foloseste skill-ul respectiv sa-i apara mesajul hud setat de mine cu timpul pana cand poate sa il foloseasca din nou, secunde adica si alea sa tot scada.
Discord: Darian433#0850

User avatar
levin
Scripter eXtreamCS
Scripter eXtreamCS
Posts: 3844
Joined: 24 Aug 2011, 12:24
Detinator Steam: Da
CS Status:
Detinator server CS: ☯∴
SteamID: riseofevo
Reputatie: Scripter eXtreamCS
Nume anterior: Adryyy
Location: ҳ̸Ҳ̸ҳ
Discord: devilclass
Has thanked: 36 times
Been thanked: 594 times
Contact:

08 Aug 2019, 14:43

nu are cum să nu meargă, o să testez pe seară...
Pentru ajutor, faceți cerere bine detaliată, completând și respectând modelul corespunzător.
Nu-mi mai dați cereri doar pentru a mă avea în lista de prieteni.
Dacă te ajut, și mă ignori/etc > te adaug în „foe”.
Aveți grijă la cei ce încearcă să mă copieze sau să dea drept mine..Puteți lua legătura cu mine prin STEAM dacă aveți o problemă/nelămurire în acest caz! Cont de forum am doar aici.
În cazul în care utilizați ceva din ce am postat(ex: aici), e bine să fiți la curent cu modificările aduse și de aici, iar dacă sunt ceva probleme nu ezitați să luați legătura cu mine. Actualizarea unor coduri nu se vor afișa public, doar dacă se găsește ceva critic/urgent de remediat, unele fiind coduri vechi iar unele refăcute chiar recent dar private.
* Nume pe cs1.6: eVoLuTiOn \ Nume vechi: eVo
* Atelierul meu - post2819572.html#p2819572 (închis, click link ca să vedeți de ce)
Post Reply

Return to “Modificari pluginuri”

  • Information
  • Who is online

    Users browsing this forum: No registered users and 26 guests