Страница 1 от 1

Anti SpawnKill v.2.2

Публикувано на: 19 Сеп 2018, 00:26
от SmirnoffBG
 
Описание:
Този плъгин е заместител на типичния "spawn protection"(защита при раждане).
Разликата му е че той предпазва човека докато не мръдне.

Също има и "godmode"(безсмъртие), при което вие сте в постоянна защита като тази при раждането.
Когато спрете безсмъртието ви преражда обратно в базата.

Особености на плъгина са, че прави хората безсмъртни, чрез махане на зоната на удряне и те прави не солиден(могат да минават през теб) и разбира се невидим. Затова при активиране на безсмъртието, вие ставате напълно невидими и недосегаеми като дори и да насочат мерника си към вас няма да ви изпише името и няма как да се блъснат във вас.


Команди:
  • say /god


Код:

Код за потвърждение: Избери целия код

/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <hamsandwich>
#include <fun>
#include <colorchat>
#include <fakemeta>

#define PLUGIN "Anti SpawnKill"
#define VERSION "2.2"
#define AUTHOR "SmirnoffBG"

new user_origin[33][3], bool:HasProtect[33]
new bool:IsUserInGod[33], Solid[33]

public plugin_init() {
	register_plugin(PLUGIN, VERSION, AUTHOR)
	
	RegisterHam(Ham_Spawn, "player", "HasSpawn",1 )
	RegisterHam(Ham_TakeDamage, "player", "Takendmg")
	
	register_clcmd("say /god", "CMDMakeGod")
	
}

public CMDMakeGod(id)
{	
	if(!IsUserInGod[id])
	{
		if(HasProtect[id]) return;
		
		IsUserInGod[id] = true
		set_user_rendering(id,kRenderFxNone,0,0,0,kRenderTransAlpha,0)
		if(pev(id, pev_solid) != SOLID_NOT)
		{
			Solid[id] = pev(id, pev_solid)
			set_pev(id, pev_solid, SOLID_NOT)
		}
		ColorChat(id, RED, "^4[^3AntiSpawnKill^4] ^1You turned ^4ON ^1the ^3GOD MODE^1!")
		Check_Pos(id)
		set_task(1.0, "Check_Pos", id,_,_,"b")
	}
	else
	{
		IsUserInGod[id] = false
		set_user_rendering(id,kRenderFxNone,0,0,0,kRenderTransAlpha,255)
		if(is_user_alive(id))
			set_pev(id, pev_solid, Solid[id])
		ColorChat(id, RED, "^4[^3AntiSpawnKill^4] ^1You turned ^4OFF ^1the ^3GOD MODE^1!")
		Check_Pos(id)
		spawn(id)
		dllfunc(DLLFunc_Spawn,id)
	}
	
}

public Takendmg(id, attacker, attacker2, Float:dmg, dmgbit)
{
	if(HasProtect[id] && attacker2 != id || HasProtect[attacker2])
	{
		return HAM_SUPERCEDE
	}
	return HAM_IGNORED
}

public HasSpawn(id)
{
	if(is_user_bot(id)) return
	
	set_task(0.2, "late_spawn", id)
	set_task(0.4, "Check_Pos", id)
	set_task(1.0, "Check_Pos", id,_,_,"b")
}
public late_spawn(id)
{
	if(!is_user_alive(id)) return
	
	get_user_origin(id, user_origin[id])
}

public Check_Pos(id)
{
	if(!is_user_connected(id)) return
	
	if(!is_user_alive(id) && IsUserInGod[id])
	{
		IsUserInGod[id] = false
		ColorChat(id, RED, "^4[^3AntiSpawnKill^4] ^1You turned ^4OFF ^1the ^3GOD MODE^1!")
		remove_task(id)
		return
	}
	
	new orig[3]
	
	get_user_origin(id, orig)
	
	if((orig[0] != user_origin[id][0] || orig[1] != user_origin[id][1]) && !IsUserInGod[id])
	{
		HasProtect[id] =  false
		set_user_hitzones(0, id, 255)
		remove_task(id)
		set_user_rendering(id)
		if(pev(id, pev_solid) == SOLID_NOT && is_user_alive(id))
		{
			set_pev(id, pev_solid, Solid[id])
		}
		return
	}
	HasProtect[id] =  true
	set_user_hitzones(0, id, 0)
	set_user_hitzones(id, id, 255)
	
	if(!IsUserInGod[id])
	{
		client_print(id, print_center, "[AntiSpawnKill] Ti si v godmode i nemojesh da udarish nikoi! / You are in godmode and cant hit anyone!")
	} else {
		client_print(id, print_center, "[AntiSpawnKill] Ti si v godmode napishi /god za da go izkluchish! / You are in godmode type /god to disable it!")
	}
	set_user_rendering(id,kRenderFxNone,0,0,0,kRenderTransAlpha,0)
	if(pev(id, pev_solid) != SOLID_NOT)
	{
		Solid[id] = pev(id, pev_solid)
		set_pev(id, pev_solid, SOLID_NOT)
	}
}

Anti SpawnKill v.2.0

Публикувано на: 20 Сеп 2018, 15:44
от Marinovv
Добре де. Това да си жив докато мръднеш е гениална идея, но защо пък има и други функции в този плъгин?
SmirnoffBG написа: 19 Сеп 2018, 00:26

Също има и "godmode"(безсмъртие), при което вие сте в постоянна защита като тази при раждането.
Когато спрете безсмъртието ви преражда обратно в базата.

Особености на плъгина са, че прави хората безсмъртни, чрез махане на зоната на удряне и те прави не солиден(могат да минават през теб) и разбира се невидим. Затова при активиране на безсмъртието, вие ставате напълно невидими и недосегаеми като дори и да насочат мерника си към вас няма да ви изпише името и няма как да се блъснат във вас.[/b]
Това според мен е безсмислено. Има стотици подобни плъгини, за Godmode, а с малка преработка (Заявка) може да се преработи точно, както твоят плъгин да си невидим, да минават през теб и така нататък.

Прощавай, ако си ме разбрал погрешно. Въпросът е, че едва ли някой би ползвал точно този плъгин, ако иска само това да си безсмъртен докато не мръднеш, когато се Respawn-неш (Възродиш) в базата си.

Много поздрави, М. :beer:

Anti SpawnKill v.2.0

Публикувано на: 21 Сеп 2018, 02:14
от SmirnoffBG
Режимът на Безмъртие е въведен с цел да си се разхождаш в същия вид защита като тази след раждане.

Плюс това в повечето сървъри, който съм виждал да имат безсмъртие, хората се дразнят на безсмъртните защото ги виждат и се объркват.

Anti SpawnKill v.2.0

Публикувано на: 21 Сеп 2018, 07:49
от Marinovv
Ти си знаеш приятел. Все пак съм сигурен, че не всеки би одобрил това плъгинът да изпълнява различни функции от това, за което е предназначен главно. И аз съм един от тези хора, а иначе бих го ползвал, ако нямаше тези странични неща.

5+ за плъгинът. Добра идея, като цяло иначе. Плъгинът би бил полезен тъй, като ако има AFK играчи ще е от полза. Сигурен съм, че и въз основа на AFK играчите, които се срещат винаги си създал този плъгин.

Поздрави, M. :hooray:

Anti SpawnKill v.2.2

Публикувано на: 04 Фев 2019, 18:40
от mi0
Открит бъг.
Бъг: Когато някой с год мод лефтне, следвашият влязъл е в год мод, но е видим.
Решение: Добавяне на този код след plugin_init:

Код за потвърждение: Избери целия код

public client_connect(id)
	IsUserInGod[id]=false