Anti SpawnKill v.2.2

В този раздел можете да публикувате нови плъгини, като същите ще бъдат одобрени или неодобрени от страна на екипа.
Правила на форума
ИНФОРМАЦИЯ: В този раздел най-вероятно няма да намерите много теми (възможно е и да е напълно празен), тъй като новите теми се местят в https://amxx-bg.info/viewforum.php?f=21 или https://amxx-bg.info/viewforum.php?f=22, зависимо от качеството им.
Отговори
Потребителски аватар

Автор на темата
SmirnoffBG ῌΞƦΘЄⱿ
Потребител
Потребител
Мнения: 166
Регистриран: 27 ное 2016, 19:43
Местоположение: София
Се отблагодари: 8 пъти
Получена благодарност: 5 пъти
Години: 23
Контакти:

Anti SpawnKill v.2.2

Мнение от SmirnoffBG ῌΞƦΘЄⱿ » 19 сеп 2018, 00:26

 
Описание:
Този плъгин е заместител на типичния "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)
	}
}
Последна промяна от SmirnoffBG ῌΞƦΘЄⱿ на 21 сеп 2018, 22:51, променено общо 1 път.
Изображение

Потребителски аватар

Marinovv Facebook
Потребител
Потребител
Мнения: 350
Регистриран: 19 сеп 2017, 10:01
Местоположение: САЩ
Се отблагодари: 91 пъти
Получена благодарност: 7 пъти
Години: 21
Контакти:

Anti SpawnKill v.2.0

Мнение от Marinovv Facebook » 20 сеп 2018, 15:44

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


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

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

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

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

Потребителски аватар

Автор на темата
SmirnoffBG ῌΞƦΘЄⱿ
Потребител
Потребител
Мнения: 166
Регистриран: 27 ное 2016, 19:43
Местоположение: София
Се отблагодари: 8 пъти
Получена благодарност: 5 пъти
Години: 23
Контакти:

Anti SpawnKill v.2.0

Мнение от SmirnoffBG ῌΞƦΘЄⱿ » 21 сеп 2018, 02:14

Режимът на Безмъртие е въведен с цел да си се разхождаш в същия вид защита като тази след раждане.

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

Потребителски аватар

Marinovv Facebook
Потребител
Потребител
Мнения: 350
Регистриран: 19 сеп 2017, 10:01
Местоположение: САЩ
Се отблагодари: 91 пъти
Получена благодарност: 7 пъти
Години: 21
Контакти:

Anti SpawnKill v.2.0

Мнение от Marinovv Facebook » 21 сеп 2018, 07:49

Ти си знаеш приятел. Все пак съм сигурен, че не всеки би одобрил това плъгинът да изпълнява различни функции от това, за което е предназначен главно. И аз съм един от тези хора, а иначе бих го ползвал, ако нямаше тези странични неща.

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

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

Потребителски аватар

mi0 mi0 ;)
Потребител
Потребител
Мнения: 94
Регистриран: 09 дек 2016, 22:02
Се отблагодари: 13 пъти
Получена благодарност: 11 пъти
Години: 25

Anti SpawnKill v.2.2

Мнение от mi0 mi0 ;) » 04 фев 2019, 18:40

Открит бъг.
Бъг: Когато някой с год мод лефтне, следвашият влязъл е в год мод, но е видим.
Решение: Добавяне на този код след plugin_init:

Код: Избери всички

public client_connect(id)
	IsUserInGod[id]=false

Отговори

Върни се в “Нови попълнения”

Кой е на линия

Потребители, разглеждащи този форум: Няма регистрирани потребители и 2 госта