Compatible Plugins List

Plug-ins compatibility with Zombie Escape 1.x only!


User avatar
Raheem
Mod Developer
Mod Developer
Posts: 2214
Joined: 7 years ago
Contact:

#51

Post by Raheem » 6 years ago

Nice, Thanks spirox.
He who fails to plan is planning to fail

User avatar
Spir0x
Veteran Member
Veteran Member
Tunisia
Posts: 641
Joined: 7 years ago
Location: Tunisia
Contact:

#52

Post by Spir0x » 6 years ago

np

User avatar
Spir0x
Veteran Member
Veteran Member
Tunisia
Posts: 641
Joined: 7 years ago
Location: Tunisia
Contact:

#53

Post by Spir0x » 6 years ago

Radio Commands

Description:
  • A new nice gameplay plugin for Humans. Enjoy !! :)
Installation & Instructions:
  • Simply install it like any plugin and Don't forget to copy Sounds.
News:
  • Fixed sounds & disabled the radio for zombies.
Screenshots:
  • Image
    Image
    Image
Downloads:

Prekrasnoe Daleko
Member
Member
Russia
Posts: 32
Joined: 6 years ago
Location: Россия,Крым
Contact:

#54

Post by Prekrasnoe Daleko » 5 years ago

Hello everyone, the plug-in does not compile what the problems do not understand help

Code: Select all

#include <zombie_escape>
#include <ze_levels>
#include <xs>

#define PLUGIN "[ZE] SupplyBox"
#define VERSION "1.1"
#define AUTHOR "Dias"

// ======================= SUPPLYBOX CONFIG ======================== // 
#define SUPPLYBOX_CLASSNAME "supplybox"
#define TASK_SUPPLYBOX 128256
#define TASK_SUPPLYBOX2 138266
#define TASK_SUPPLYBOX_HELP 129257
#define TASK_SUPPLYBOX_WAIT 130259
const MAX_SUPPLYBOX_ENT = 100
new const supplybox_spawn_file[] = "%s/ze_supplybox/%s.cfg"
new const supplybox_icon_spr[] = "sprites/zombie_escape/icon_supplybox.spr"
new const supplybox_model[][] = {
	"models/zombie_escape/supplybox2.mdl"
}
new const supplybox_drop_sound[][] = {
	"zombie_escape/supplybox_drop.wav"
}
new const supplybox_pickup_sound[][] = {
	"zombie_escape/supplybox_pickup.wav"
}
// ======================= END OF SUPPLYBOX CONFIG ======================== // 

// Below here is hard code. Don't edit anything except cvars
new g_supplybox_num, g_supplybox_wait[33], supplybox_count,
supplybox_ent[MAX_SUPPLYBOX_ENT], g_supplybox_icon_id, Float:g_supplybox_spawn[MAX_SUPPLYBOX_ENT][3],
g_total_supplybox_spawn
new cvar_supplybox_icon, cvar_supplybox_max, cvar_supplybox_num, cvar_supplybox_totalintime, 
cvar_supplybox_time, cvar_supplybox_delaytime, cvar_supplybox_icon_size, cvar_supplybox_icon_light, cvar_xp_max_amount
new bool:made_supplybox, Float:g_icon_delay[33], g_newround, g_endround

public plugin_init()
{
	register_plugin(PLUGIN, VERSION, AUTHOR)

	register_event("HLTV", "event_newround", "a", "1=0", "2=0")
	register_logevent("logevent_round_end", 2, "1=Round_End")
	
	register_forward(FM_Touch, "fw_supplybox_touch")
	
	cvar_supplybox_max = register_cvar("ze_supplybox_max", "16")
	cvar_supplybox_num = register_cvar("ze_supplybox_num", "2")
	cvar_supplybox_totalintime = register_cvar("ze_supplybox_totalintime", "4")
	cvar_supplybox_time = register_cvar("ze_supplybox_time", "30")
	cvar_supplybox_icon = register_cvar("ze_supplybox_icon", "1")
	cvar_supplybox_delaytime = register_cvar("ze_supplybox_icon_delay_time", "0.03")	
	cvar_supplybox_icon_size = register_cvar("ze_supplybox_icon_size", "2")
	cvar_supplybox_icon_light = register_cvar("ze_supplybox_icon_light", "100")
	cvar_xp_max_amount = register_cvar("ze_xp_max_amount", "100")
	
	set_task(2.0, "update_radar", _, _, _, "b")
}

public plugin_precache()
{
	load_supplybox_spawn()
	
	static i
	for(i = 0; i < sizeof(supplybox_model); i++)
		engfunc(EngFunc_PrecacheModel, supplybox_model[i])
	for(i = 0; i < sizeof(supplybox_drop_sound); i++)
		engfunc(EngFunc_PrecacheSound, supplybox_drop_sound[i])		
	for(i = 0; i < sizeof(supplybox_pickup_sound); i++)
		engfunc(EngFunc_PrecacheSound, supplybox_pickup_sound[i])
		
	g_supplybox_icon_id = engfunc(EngFunc_PrecacheModel, supplybox_icon_spr)
}

public plugin_cfg()
{
	set_task(0.5, "event_newround")
}

public load_supplybox_spawn()
{
	// Check for spawns points of the current map
	static cfgdir[64]
	new mapname[32], filepath[100], linedata[64]
	get_localinfo("amxx_configsdir", cfgdir, charsmax(cfgdir))
	get_mapname(mapname, charsmax(mapname))
	formatex(filepath, charsmax(filepath), supplybox_spawn_file, cfgdir, mapname)
	
	// Load spawns points
	if (file_exists(filepath))
	{
		new file = fopen(filepath,"rt"), row[4][6]
		
		while (file && !feof(file))
		{
			fgets(file, linedata, charsmax(linedata))
			
			// invalid spawn
			if(!linedata[0] || str_count(linedata,' ') < 2) continue;
			
			// get spawn point data
			parse(linedata,row[0],5,row[1],5,row[2],5)
			
			// origin
			g_supplybox_spawn[g_total_supplybox_spawn][0] = floatstr(row[0])
			g_supplybox_spawn[g_total_supplybox_spawn][1] = floatstr(row[1])
			g_supplybox_spawn[g_total_supplybox_spawn][2] = floatstr(row[2])

			g_total_supplybox_spawn++
			if (g_total_supplybox_spawn >= MAX_SUPPLYBOX_ENT) 
				break
		}
		if (file) fclose(file)
	}
}

public update_radar()
{	
	for (new id = 1; id <= get_maxplayers(); id++)
	{
		if (!is_user_alive(id) || !supplybox_count || ze_is_user_zombie(id)) 
			continue
		
		static i, next_ent
		i = 1
		while(i <= supplybox_count)
		{
			next_ent = supplybox_ent[i]
			if (next_ent && is_valid_ent(next_ent))
			{
				static Float:origin[3]
				pev(next_ent, pev_origin, origin)
				
				message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("HostagePos"), {0,0,0}, id)
				write_byte(id)
				write_byte(i)		
				write_coord(floatround(origin[0]))
				write_coord(floatround(origin[1]))
				write_coord(floatround(origin[2]))
				message_end()
			
				message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("HostageK"), {0,0,0}, id)
				write_byte(i)
				message_end()
			}

			i++
		}
	}
}

public event_newround()
{
	made_supplybox = false
	g_newround = 1
	g_endround = 0
	
	remove_supplybox()
	supplybox_count = 0
	
	if(task_exists(TASK_SUPPLYBOX)) remove_task(TASK_SUPPLYBOX)
	if(task_exists(TASK_SUPPLYBOX2)) remove_task(TASK_SUPPLYBOX2)
	if(task_exists(TASK_SUPPLYBOX_HELP)) remove_task(TASK_SUPPLYBOX_HELP)
}

public logevent_round_end() g_endround = 1

public ze_user_infected()
{
	if(!made_supplybox)
	{
		g_newround = 0
		made_supplybox = true
		
		if(task_exists(TASK_SUPPLYBOX)) remove_task(TASK_SUPPLYBOX)
		
		if(!g_total_supplybox_spawn)
		{
			client_print(0, print_console, "[ZE - SupplyBox][Error] Spawn Point Not Found. Please Create Spawn Point")
		} else {
			set_task(get_pcvar_float(cvar_supplybox_time), "create_supplybox", TASK_SUPPLYBOX)
		}
	}
}

public client_PostThink(id)
{
	if (!get_pcvar_num(cvar_supplybox_icon) || !is_user_alive(id) || ze_is_user_zombie(id))
		return
	if((g_icon_delay[id] + get_pcvar_float(cvar_supplybox_delaytime)) > get_gametime())
		return
		
	g_icon_delay[id] = get_gametime()

	if (supplybox_count)
	{
		static i, box_ent
		i = 1
		
		while (i <= supplybox_count)
		{
			box_ent = supplybox_ent[i]
			create_icon_origin(id, box_ent, g_supplybox_icon_id)
			i++
		}
	}
}

public create_supplybox()
{
	if (supplybox_count >= get_pcvar_num(cvar_supplybox_max) || g_newround || g_endround) 
		return

	if (task_exists(TASK_SUPPLYBOX)) remove_task(TASK_SUPPLYBOX)
	set_task(get_pcvar_float(cvar_supplybox_time), "create_supplybox", TASK_SUPPLYBOX)
	
	if (get_total_supplybox() >= get_pcvar_num(cvar_supplybox_totalintime)) 
		return
	
	g_supplybox_num = 0
	create_supplybox2()
	
	static random_sound
	random_sound = random_num(0, charsmax(supplybox_drop_sound))
	client_cmd(0, "spk ^"%s^"", supplybox_drop_sound[random_sound])
	
	for(new i = 0; i < get_maxplayers(); i++)
	{
		if(is_user_alive(i) && is_user_connected(i) && !ze_is_user_zombie(i))
		{
			set_dhudmessage(random(256), random(256), random(256), -1.0, -0.80, 2, 4.0, 3.0, 0.1, 0.1)
			show_dhudmessage(i, "Появился подарок. Найди его.")
		}
	}
	
	if (task_exists(TASK_SUPPLYBOX_HELP)) remove_task(TASK_SUPPLYBOX_HELP)
	set_task(6.0, "show_supplybox_help", TASK_SUPPLYBOX_HELP)

	if (task_exists(TASK_SUPPLYBOX2)) remove_task(TASK_SUPPLYBOX2)
	set_task(0.5, "create_supplybox2", TASK_SUPPLYBOX2, _, _, "b")	
}

public create_supplybox2()
{
	if (supplybox_count >= get_pcvar_num(cvar_supplybox_max)
	|| get_total_supplybox() >= get_pcvar_num(cvar_supplybox_totalintime) || g_newround || g_endround)
	{
		remove_task(TASK_SUPPLYBOX2)
		return
	}
	
	supplybox_count++
	g_supplybox_num++

	new ent = create_entity("info_target")
	
	entity_set_string(ent, EV_SZ_classname, SUPPLYBOX_CLASSNAME)
	entity_set_model(ent, supplybox_model[random_num(0, charsmax(supplybox_model))])	
	entity_set_size(ent,Float:{-2.0,-2.0,-2.0},Float:{5.0,5.0,5.0})
	entity_set_int(ent,EV_INT_solid,1)
	entity_set_int(ent,EV_INT_movetype,6)
	entity_set_int(ent, EV_INT_iuser2, supplybox_count)
	
	static Float:Origin[3]
	collect_spawn_point(Origin)
	engfunc(EngFunc_SetOrigin, ent, Origin)
	
	supplybox_ent[supplybox_count] = ent

	if ((g_supplybox_num >= get_pcvar_num(cvar_supplybox_num)) && task_exists(TASK_SUPPLYBOX2)) 
		remove_task(TASK_SUPPLYBOX2)
}

public get_total_supplybox()
{
	new total
	for (new i = 1; i <= supplybox_count; i++)
	{
		if (supplybox_ent[i]) total += 1
	}
	return total
}

public show_supplybox_help()
{
	for(new i = 0; i < get_maxplayers(); i++)
	{
		if(is_user_alive(i) && is_user_connected(i) && !ze_is_user_zombie(i))
		{
			set_dhudmessage(random(256), random(256), random(256), -1.0, -0.80, 2, 4.0, 3.0, 0.1, 0.1)
			show_dhudmessage(i, "Вы можете увидеть местоположение подарка на радаре.")
		}
	}
}

public remove_supplybox()
{
	remove_ent_by_class(SUPPLYBOX_CLASSNAME)
	new supplybox_ent_reset[MAX_SUPPLYBOX_ENT]
	supplybox_ent = supplybox_ent_reset
}

public fw_supplybox_touch(ent, id)
{
	if (!pev_valid(ent) || !is_user_alive(id) || ze_is_user_zombie(id) || g_supplybox_wait[id]) 
		return FMRES_IGNORED
	
	static classname[32]
	entity_get_string(ent,EV_SZ_classname,classname,31)
	
	if (equal(classname, SUPPLYBOX_CLASSNAME))
	{
		static name[32]
		get_user_name(id, name, charsmax(name))
		new iCurrentXP = ze_get_user_xp(id)
		
		switch(random_num(0,2))
		{
			case 0:
			{
				rg_give_item(id, "weapon_hegrenade", GT_APPEND)
				ze_colored_print(0, "!t%s !gВы выпало !tNapalm Nade!y!!!", name)
			}
			case 1:
			{
				rg_give_item(id, "weapon_smokegrenade", GT_APPEND)
				ze_colored_print(0, "!t%s !gВам выпало !tForst Nade!y!!!", name)
			}
			case 2:
			{
				new iXPAmount = random_num(1, get_pcvar_num(cvar_xp_max_amount))
				ze_set_user_xp(id, iCurrentXP + iXPAmount)
				ze_colored_print(0, "!t%s !gВам выдано !t%i XP!y!!!", name, iXPAmount)
			}
		}
		
		static random_sound
		random_sound = random_num(0, charsmax(supplybox_pickup_sound))
		emit_sound(id, CHAN_VOICE, supplybox_pickup_sound[random_sound], 1.0, ATTN_NORM, 0, PITCH_NORM)

		new num_box = entity_get_int(ent, EV_INT_iuser2)
		supplybox_ent[num_box] = 0
		remove_entity(ent)

		g_supplybox_wait[id] = 1
		if (task_exists(id+TASK_SUPPLYBOX_WAIT)) remove_task(id+TASK_SUPPLYBOX_WAIT)
		set_task(2.0, "remove_supplybox_wait", id+TASK_SUPPLYBOX_WAIT)
	}
	
	return FMRES_IGNORED
}

public remove_supplybox_wait(id)
{
	id -= TASK_SUPPLYBOX_WAIT
	
	g_supplybox_wait[id] = 0
	if (task_exists(id+TASK_SUPPLYBOX_WAIT)) remove_task(id+TASK_SUPPLYBOX_WAIT)
}

stock collect_spawn_point(Float:origin[3]) // By Sontung0
{
	for (new i = 1; i <= g_total_supplybox_spawn *3 ; i++)
	{
		origin = g_supplybox_spawn[random(g_total_supplybox_spawn)]
		if (check_spawn_box(origin)) return 1;
	}

	return 0;
}
stock check_spawn_box(Float:origin[3]) // By Sontung0
{
	new Float:originE[3], Float:origin1[3], Float:origin2[3]
	new ent = -1
	while ((ent = engfunc(EngFunc_FindEntityByString, ent, "classname", SUPPLYBOX_CLASSNAME)) != 0)
	{
		pev(ent, pev_origin, originE)
		
		// xoy
		origin1 = origin
		origin2 = originE
		origin1[2] = origin2[2] = 0.0
		if (vector_distance(origin1, origin2) <= 32.0) return 0;
	}
	return 1;
}

stock create_icon_origin(id, ent, sprite) // By sontung0
{
	if (!pev_valid(ent)) return;
	
	new Float:fMyOrigin[3]
	entity_get_vector(id, EV_VEC_origin, fMyOrigin)
	
	new target = ent
	new Float:fTargetOrigin[3]
	entity_get_vector(target, EV_VEC_origin, fTargetOrigin)
	fTargetOrigin[2] += 40.0
	
	if (!is_in_viewcone(id, fTargetOrigin)) return;

	new Float:fMiddle[3], Float:fHitPoint[3]
	xs_vec_sub(fTargetOrigin, fMyOrigin, fMiddle)
	trace_line(-1, fMyOrigin, fTargetOrigin, fHitPoint)
							
	new Float:fWallOffset[3], Float:fDistanceToWall
	fDistanceToWall = vector_distance(fMyOrigin, fHitPoint) - 10.0
	normalize(fMiddle, fWallOffset, fDistanceToWall)
	
	new Float:fSpriteOffset[3]
	xs_vec_add(fWallOffset, fMyOrigin, fSpriteOffset)
	new Float:fScale
	fScale = 0.01 * fDistanceToWall
	
	new scale = floatround(fScale)
	scale = max(scale, 1)
	scale = min(scale, get_pcvar_num(cvar_supplybox_icon_size))
	scale = max(scale, 1)

	te_sprite(id, fSpriteOffset, sprite, scale, get_pcvar_num(cvar_supplybox_icon_light))
}

stock te_sprite(id, Float:origin[3], sprite, scale, brightness) // By sontung0
{	
	message_begin(MSG_ONE, SVC_TEMPENTITY, _, id)
	write_byte(TE_SPRITE)
	write_coord(floatround(origin[0]))
	write_coord(floatround(origin[1]))
	write_coord(floatround(origin[2]))
	write_short(sprite)
	write_byte(scale) 
	write_byte(brightness)
	message_end()
}

stock normalize(Float:fIn[3], Float:fOut[3], Float:fMul) // By sontung0
{
	new Float:fLen = xs_vec_len(fIn)
	xs_vec_copy(fIn, fOut)
	
	fOut[0] /= fLen, fOut[1] /= fLen, fOut[2] /= fLen
	fOut[0] *= fMul, fOut[1] *= fMul, fOut[2] *= fMul
}

stock str_count(const str[], searchchar) // By Twilight Suzuka
{
	new count, i, len = strlen(str)
	
	for (i = 0; i <= len; i++)
	{
		if(str[i] == searchchar)
			count++
	}
	
	return count;
}

stock remove_ent_by_class(classname[])
{
	new nextitem  = find_ent_by_class(-1, classname)
	while(nextitem)
	{
		remove_entity(nextitem)
		nextitem = find_ent_by_class(-1, classname)
	}
}
Attachments
bandicam 2018-05-02 23-55-38-343.jpg

User avatar
Spir0x
Veteran Member
Veteran Member
Tunisia
Posts: 641
Joined: 7 years ago
Location: Tunisia
Contact:

#55

Post by Spir0x » 5 years ago

update your includes to this :

i think you need to include inc

Code: Select all

#include <zombie_escape>
#include <ze_levels>
#include <xs>
#include <inc>

Prekrasnoe Daleko
Member
Member
Russia
Posts: 32
Joined: 6 years ago
Location: Россия,Крым
Contact:

#56

Post by Prekrasnoe Daleko » 5 years ago

Spir0x wrote: 5 years ago update your includes to this :

i think you need to include inc

Code: Select all

#include <zombie_escape>
#include <ze_levels>
#include <xs>
#include <inc>
don't find this inc. , maybe you have this inc. please give me
compile this sma. to me please

Prekrasnoe Daleko
Member
Member
Russia
Posts: 32
Joined: 6 years ago
Location: Россия,Крым
Contact:

#57

Post by Prekrasnoe Daleko » 5 years ago

maybe someone has inc. give me this , or compile it yourself and give ready please

User avatar
Raheem
Mod Developer
Mod Developer
Posts: 2214
Joined: 7 years ago
Contact:

#58

Post by Raheem » 5 years ago

Include engine module: #include <engine>
He who fails to plan is planning to fail

User avatar
DarkZombie
Member
Member
Hungary
Posts: 76
Joined: 5 years ago
Contact:

#59

Post by DarkZombie » 5 years ago

4- Supply Box.
L 08/30/2018 - 20:23:15: [AMXX] Plugin "supplybox.amxx" failed to load: Plugin uses an unknown function (name "check_level_xp") - check your modules.ini.
and me added the Levels-XP System.

User avatar
Night Fury
Mod Developer
Mod Developer
Posts: 677
Joined: 7 years ago
Contact:

#60

Post by Night Fury » 5 years ago

DarkZombie wrote: 5 years ago 4- Supply Box.
L 08/30/2018 - 20:23:15: [AMXX] Plugin "supplybox.amxx" failed to load: Plugin uses an unknown function (name "check_level_xp") - check your modules.ini.
and me added the Levels-XP System.
Make sure you are using the correct code because i have checked the code & it does not have a function with that name.
Want your own mod edition? PM me.
Accepting private projects.
Discord: Fury#7469
Image

imSpartan
Member
Member
Malaysia
Posts: 22
Joined: 4 years ago
Contact:

#61

Post by imSpartan » 4 years ago

2- Re-SemiClip
  • SemiClip Metamod Plugin for ReGameDLL it's better than the AMXX version so it's recommended to run this one. If you don't know what is Semi-Clip just take look at the AMXX plugin Here.
  • Official Release: Here
  • How to install this? It depend on the OS you run so if your OS is:

    1-Linux, Just copy linux files to your addons folder and then open metamod folder then open plugins.ini and add this line: linux addons/resemiclip/resemiclip_mm_i386.so
    2-Windows, Same as linux but the line will be: win32 addons\resemiclip\resemiclip_mm.dll
  • Problem Fix: If two players stand over each other in the moving entity like helicopter it will stop moving. To fix this problem just open server.cfg and then add this command sv_force_ent_intersection 1
  • Downloads:


    Re-Semiclip_2_3_9.rar
Zombie model will be invisible when this is enable, any fix?

User avatar
Raheem
Mod Developer
Mod Developer
Posts: 2214
Joined: 7 years ago
Contact:

#62

Post by Raheem » 4 years ago

Try with this config.ini (In resemiclip folder):

Code: Select all

# Description
#
# semiclip			0|1			Disable / Enable semiclip
# team				0|1|2|3 
#	- 0 			Semiclip applies to all
#	- 1 			Semiclip valid only for the T 
#	- 2 			Semiclip valid only for CT 
#	- 3 			Semiclip valid only for teammates
#
# time				0|180		How long semiclip effect from the beginning of the round. 
# crouch			0|1			Automation podsadok. 
# effects			0|1			Player transparency effect depends on the distance between the players. 
# distance			64|250		At what distance a player can have transparency and action semiclip.
# transparency		0|255		Player Transparency. 
# penetfire			0|1			Skip fire on "transparent" allies.
#

semiclip = 1;
team = 3;
time = 0;
crouch = 1;
effects = 0;
distance = 0;
transparency = 0;
penetfire = 0;
This works for me. The issue surely from resemiclip glow, not handled well by the author.
He who fails to plan is planning to fail

imSpartan
Member
Member
Malaysia
Posts: 22
Joined: 4 years ago
Contact:

#63

Post by imSpartan » 4 years ago

Thanks, sir, it works.

User avatar
Crimson
Member
Member
Algeria
Posts: 7
Joined: 5 years ago
Contact:

#64

Post by Crimson » 3 years ago

ze_levels.inc anyone have it please?

User avatar
Raheem
Mod Developer
Mod Developer
Posts: 2214
Joined: 7 years ago
Contact:

#65

Post by Raheem » 3 years ago

Crimson wrote: 3 years ago ze_levels.inc anyone have it please?
api/ze_levels/__raw
He who fails to plan is planning to fail

User avatar
VicKy
Mod Tester
Mod Tester
Pakistan
Posts: 87
Joined: 3 years ago
Contact:

#66

Post by VicKy » 2 years ago

Fix The Custom Flashlight Its Not Working For Me :V
Image

Post Reply

Create an account or sign in to join the discussion

You need to be a member in order to post a reply

Create an account

Not a member? register to join our community
Members can start their own topics & subscribe to topics
It’s free and only takes a minute

Register

Sign in

Who is online

Users browsing this forum: No registered users and 0 guests