Corectare wwa kill adv

Categoria cu cereri de pluginuri si nu numai.

Moderators: Moderatori ajutatori, Moderatori, Echipa eXtreamCS.com

Forum rules
Accesează link-ul pentru a putea vedea regulile forumului

Daca doriti sa vi se modifice un plugin, va rugam postati aici .
Post Reply
Hydr0
Membru, skill 0
Membru, skill 0
Posts: 46
Joined: 16 Sep 2021, 14:57
Detinator Steam: Da
CS Status: Citesc forumul eXtreamCS.com...!
Detinator server CS: inchis
Fond eXtream: 0
Has thanked: 2 times
Been thanked: 3 times

23 Oct 2021, 23:21

Plugin Cerut:WWa kill adv
Descriere (adica ce face el mai exact):Indica atunci cand un jucator il mierleste pe altul prin perete , in apa sau in aer.
Serverul impune conditii strict HLDS/REHLDS?:Nu
Ai cautat pluginul?(daca da, precizeaza cum):https://forums.alliedmods.net/showthread.php?t=56357
Necesita mod special?:Nu
Configuratie server:
Problema pluginului: Nu apar nickname-urile jucatorilor implicati in actiune.
In loc de "Player 1 killed Player 2 trough wall" apare "killed trough wall"
RoyalServer
User avatar
DaNNe.
Fost moderator
Fost moderator
Posts: 2811
Joined: 08 Nov 2013, 20:43
Detinator Steam: Da
CS Status: Activitate scăzută
SteamID: /id/FurienMaster
Reputatie: Nick anterior: DnD. Gold, Emrys
0.5/3
Fost moderator ajutator
Fost Membru Club eXtreamCS (doua luni)
Has thanked: 244 times
Been thanked: 129 times
Contact:

24 Oct 2021, 17:17

Iti apare ceva in logfiles?
Hydr0
Membru, skill 0
Membru, skill 0
Posts: 46
Joined: 16 Sep 2021, 14:57
Detinator Steam: Da
CS Status: Citesc forumul eXtreamCS.com...!
Detinator server CS: inchis
Fond eXtream: 0
Has thanked: 2 times
Been thanked: 3 times

24 Oct 2021, 23:30

Nimic nu am gasit. daca era ceva scris prost aparea in amxx la logs cred ca e ceva incomplet in .sma nu neaparat gresit.
User avatar
levin
Scripter eXtreamCS
Scripter eXtreamCS
Posts: 3850
Joined: 24 Aug 2011, 12:24
Detinator Steam: Da
CS Status:
Detinator server CS: ☯∴
SteamID: 76561198063679589
Reputatie: Scripter eXtreamCS
Nume anterior: Adryyy
Location: ҳ̸Ҳ̸ҳ
Discord: devilclass
Has thanked: 36 times
Been thanked: 595 times
Contact:

29 Oct 2021, 22:56

Code: Select all

#include <amxmodx>
#include <fakemeta>
#include <xs>

#define PLUGIN "WWA Kill Advanced"
#define VERSION "1.1"
#define AUTHOR "Alka"

new
bool:wall_kill[33], 
bool:air_kill[33], 
bool:water_kill[33],
toggle_plugin,
message_mode,
wall_cvar,
water_cvar,
air_cvar;

new killer_name[32], victim_name[32]

new wall_msg[2][] = {
	
	"%s killed %s trough wall.",
	"%s killed %s with his wallhack."
}

new water_msg[2][] = {
	
	"%s was killed by %s while he was in the water. Distance:%.1fm",
	"%s was killed by %s while he having a wash. Distance:%.1fm"
}

new air_msg[2][] = {
	
	"%s killed %s while he was flying like a pigeon. Distance:%.1fm",
	"%s killed %s while he was in air. Distance:%.1fm"
	
}

public plugin_init() {
	
	register_plugin(PLUGIN, VERSION, AUTHOR);
	
	register_event("DeathMsg", "_death_msg", "a");
	
	toggle_plugin = register_cvar("amx_showkillmsg","1");
	wall_cvar = register_cvar("amx_wallmsg","1");
	water_cvar = register_cvar("amx_watermsg","1");
	air_cvar = register_cvar("amx_airmsg","1");
	message_mode = register_cvar("amx_messagemode", "1"); // 1 - Hud 2 - Chat
}

public _death_msg()
{
	if(!get_pcvar_num(toggle_plugin))
		return;
	
	new killer = read_data(1);
	new victim = read_data(2);
	
	new weapon[32];
	read_data(4, weapon, sizeof weapon - 1);
	
	new flag = pev(victim, pev_flags);
	
	if(!is_user_connected(killer) || !is_user_connected(victim))
		return;
	
	if(killer == victim)
		return;
	
	if(equali(weapon, "grenade"))
		return;
	
	static killer_origin[3], victim_origin[3];
	
	get_user_name(killer, killer_name, sizeof killer_name - 1);
	get_user_name(victim, victim_name, sizeof victim_name - 1);
	
	get_user_origin(killer, killer_origin);
	get_user_origin(victim, victim_origin);
	
	new units = get_distance(killer_origin, victim_origin)
	new bool:is_visible = fm_is_ent_visible(killer, victim);
	
	if(!is_visible && get_pcvar_num(wall_cvar))
	{
		wall_kill[victim] = true;
	}
	
	if(!(flag & FL_ONGROUND) && get_pcvar_num(air_cvar))
	{
		air_kill[victim] = true;
	}
	
	if((flag & FL_INWATER) && get_pcvar_num(water_cvar))
	{
		water_kill[victim] = true;
		air_kill[victim] = false;
	}
	show_message(victim, killer, units);
}

public show_message(victim, killer, units)
{	
	if(wall_kill[victim])
	{
		switch(get_pcvar_num(message_mode))
		{
			case 1:
			{
				set_hudmessage(50,50,255, 0.28, 0.26, 1, 6.0, 3.0,_,_,-1);
				show_hudmessage(0, wall_msg[random(sizeof wall_msg)], killer_name, victim_name, units_to_meters(units))
			}
			case 2:
			{
				client_print(0, print_chat, wall_msg[random(sizeof wall_msg)], killer_name, victim_name, units_to_meters(units))
			}
			default : {}
		}
		wall_kill[victim] = false;
	}
	else if(water_kill[victim])
	{
		switch(get_pcvar_num(message_mode))
		{
			case 1:
			{
				set_hudmessage(50,50,255, 0.28, 0.26, 1, 6.0, 3.0,_,_,-1);
				show_hudmessage(0, water_msg[random(sizeof water_msg)], victim_name, killer_name, units_to_meters(units))
			}
			case 2:
			{
				client_print(0, print_chat, water_msg[random(sizeof water_msg)], victim_name, killer_name, units_to_meters(units))
			}
			default : {}
		}
		water_kill[victim] = false;
	}
	else if(air_kill[victim])
	{
		switch(get_pcvar_num(message_mode))
		{
			case 1:
			{
				set_hudmessage(50,50,255, 0.28, 0.26, 1, 6.0, 3.0,_,_,-1);
				show_hudmessage(0, air_msg[random(sizeof air_msg)], killer_name, victim_name, units_to_meters(units))
			}
			case 2:
			{
				client_print(0, print_chat, air_msg[random(sizeof air_msg)], killer_name, victim_name, units_to_meters(units))
			}
			default : {}
		}
		air_kill[victim] = false;
	}
}

stock bool:fm_is_ent_visible(index, entity, ignoremonsters = 0) {
	
	new Float:start[3], Float:dest[3]
	pev(index, pev_origin, start)
	pev(index, pev_view_ofs, dest)
	xs_vec_add(start, dest, start)
	
	pev(entity, pev_origin, dest)
	engfunc(EngFunc_TraceLine, start, dest, ignoremonsters, index, 0)
	
	new Float:fraction
	get_tr2(0, TR_flFraction, fraction)
	if (fraction == 1.0 || get_tr2(0, TR_pHit) == entity)
		return true
	
	return false
}

stock Float:units_to_meters(num)
{
	new Float:meter = num * 0.0254
	
	return meter;
}
Nu îmi mai trimiteți PM pe forum! Nu merge să răspund
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)
Hydr0
Membru, skill 0
Membru, skill 0
Posts: 46
Joined: 16 Sep 2021, 14:57
Detinator Steam: Da
CS Status: Citesc forumul eXtreamCS.com...!
Detinator server CS: inchis
Fond eXtream: 0
Has thanked: 2 times
Been thanked: 3 times

30 Oct 2021, 18:04

Rezolvat. Testat si merge.
10x.
Post Reply

Return to “Cereri”

  • Information