Търся block message плъгин

В този раздел можете да подавате всякакви заявки за намиране, изработка или преработка на плъгини/модове.
Аватар
You Owe Me
Извън линия
Потребител
Потребител
Мнения: 185
Регистриран на: 07 Мар 2018, 19:34
Местоположение: Пред компютъра
Получена благодарност: 2 пъти

Търся block message плъгин

Мнение от You Owe Me » 08 Апр 2018, 17:40

Трябва ми плъгин за Hide N Seek мод, когато някой блокне друг, тоест CT вече е скочил и докосне T (докато вече е в въздуха) да изпише в чата съобщение: [AntiBlock] Player Nick blocked Nick, and he will get back to his position! имам си отделен плъгин, който като някой блокне друг и го връща обратно от където е бил, но ми трябва и съобщение защото хората ще се бъркат, благодаря ви!
I am actually not a Harry Potter FAN, but this song below is HOT AF :crazy:

Аватар
OciXCrom
Извън линия
Администратор
Администратор
Мнения: 7206
Регистриран на: 06 Окт 2016, 19:20
Местоположение: /resetscore
Се отблагодари: 117 пъти
Получена благодарност: 1295 пъти
Обратна връзка:

Търся block message плъгин

Мнение от OciXCrom » 08 Апр 2018, 19:48

Щом вече имаш такъв плъгин, какъв е смисълът да се изработва друг, вместо към този който имаш да се добави съобщението?

Аватар
You Owe Me
Извън линия
Потребител
Потребител
Мнения: 185
Регистриран на: 07 Мар 2018, 19:34
Местоположение: Пред компютъра
Получена благодарност: 2 пъти

Търся block message плъгин

Мнение от You Owe Me » 15 Апр 2018, 17:16

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

/*
 *
 * HNS Block Return
 *
 * Copyright 2016 Garey <[email protected]>
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
 * MA 02110-1301, USA.
 *
 *
 */

#include <amxmodx>
#include <fakemeta>
#include <hamsandwich>

new Array:g_arFlPlayerOrigin[33]
new Array:g_arFlPlayerAngle[33]
new bool:g_bIsTouched[33];
new bool:g_bIsBlocked[33];
new iToucher[33];
new g_iMaxPlayers;

public plugin_init()
{
	register_plugin("Block Return", "0.1", "Garey");

	g_iMaxPlayers = get_maxplayers();

	for(new i = 1; i <= g_iMaxPlayers; i++)
	{
		g_arFlPlayerOrigin[i] = ArrayCreate(3);
		g_arFlPlayerAngle[i] = ArrayCreate(3);
	}
	
	RegisterHam( Ham_Player_PreThink, "player", "fwd_PlayerPreThink", 0 );
	RegisterHam( Ham_Touch, "player", "fwd_TouchPlayer", 0 );
	RegisterHam( Ham_TakeDamage, "player", "Ham_TakeDamagePlayer" );
}

public fwd_TouchPlayer( id, entity )
{
	if( get_user_team( id ) != 2 || !is_user_alive( entity ))
		return;

	if( get_user_team( entity ) != 1 )
		return;

	new flVelocity[3]
	pev(id, pev_velocity, flVelocity);

	if(flVelocity[2] != 0.0)
	{
		g_bIsTouched[id] = true;
		iToucher[id] = entity;
	}
}

public Ham_TakeDamagePlayer(iVictim, iInflictor, iAttacker, Float:flDamage, iDamageBits)
{
	if( is_user_alive(iVictim) && flDamage >= 50.0 && iDamageBits & DMG_FALL )
	{
		if( get_user_team(iVictim) == 2 )
		{
			if(g_bIsTouched[iVictim] && is_user_alive(iToucher[iVictim]))
			{
				iToucher[iVictim] = 0;
				g_bIsBlocked[iVictim] = true;
				set_pev(iVictim, pev_movetype, MOVETYPE_NOCLIP)
				return HAM_SUPERCEDE;
			}
		}
	}
	return HAM_IGNORED;
}

public fwd_PlayerPreThink( id )
{
	static flPlayerOrigin[3], flPlayerAngles[3], LastFrames[33]

	if(is_user_alive(id))
	{
		if(!g_bIsBlocked[id])
		{
			pev(id, pev_origin, flPlayerOrigin);
			pev(id, pev_v_angle, flPlayerAngles);

			if((pev(id, pev_flags) & FL_ONGROUND) || pev(id, pev_movetype) == MOVETYPE_FLY)
			{
				if(LastFrames[id] > 10)
				{
					g_bIsTouched[id] = false;
					ArrayClear(g_arFlPlayerOrigin[id]);
					ArrayClear(g_arFlPlayerAngle[id]);
					LastFrames[id] = 0;
				}
				else
				{
					ArrayPushArray(g_arFlPlayerOrigin[id], flPlayerOrigin);
					ArrayPushArray(g_arFlPlayerAngle[id], flPlayerAngles);
					LastFrames[id]++;
				}
			}
			else
			{
				ArrayPushArray(g_arFlPlayerOrigin[id], flPlayerOrigin);
				ArrayPushArray(g_arFlPlayerAngle[id], flPlayerAngles);
			}
		}
		else
		{
			new Length = ArraySize(g_arFlPlayerOrigin[id])-1;

			if(Length)
			{
				ArrayGetArray(g_arFlPlayerOrigin[id], Length, flPlayerOrigin);
				ArrayGetArray(g_arFlPlayerAngle[id], Length, flPlayerAngles);

				ArrayDeleteItem(g_arFlPlayerOrigin[id], Length);
				ArrayDeleteItem(g_arFlPlayerAngle[id], Length);

				set_pev(id, pev_origin, flPlayerOrigin)
				set_pev(id, pev_angles, flPlayerAngles)
				set_pev(id, pev_fixangle, 1)
			}
			else
			{
				set_pev(id,pev_movetype,MOVETYPE_WALK)
				set_pev(id,pev_velocity,Float:{0.0,0.0,0.0})
				set_pev(id,pev_flags,pev(id,pev_flags)|FL_DUCKING)
				g_bIsBlocked[id] = false;
			}
		}
	}
	else
	{
		LastFrames[id] = 0;
	}
}
I am actually not a Harry Potter FAN, but this song below is HOT AF :crazy:

Аватар
hackera457
Извън линия
Модератор
Модератор
Мнения: 768
Регистриран на: 01 Ное 2016, 09:46
Местоположение: София
Се отблагодари: 1 път
Получена благодарност: 124 пъти
Обратна връзка:

Търся block message плъгин

Мнение от hackera457 » 15 Апр 2018, 17:24

Тествай

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

/*
 *
 * HNS Block Return
 *
 * Copyright 2016 Garey <[email protected]>
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
 * MA 02110-1301, USA.
 *
 *
 */

#include <amxmodx>
#include <fakemeta>
#include <hamsandwich>
#include <WPMGPrintChatColor>

new Array:g_arFlPlayerOrigin[33]
new Array:g_arFlPlayerAngle[33]
new bool:g_bIsTouched[33];
new bool:g_bIsBlocked[33];
new iToucher[33];
new g_iMaxPlayers;

public plugin_init()
{
	register_plugin("Block Return", "0.1", "Garey");

	g_iMaxPlayers = get_maxplayers();

	for(new i = 1; i <= g_iMaxPlayers; i++)
	{
		g_arFlPlayerOrigin[i] = ArrayCreate(3);
		g_arFlPlayerAngle[i] = ArrayCreate(3);
	}
	
	RegisterHam( Ham_Player_PreThink, "player", "fwd_PlayerPreThink", 0 );
	RegisterHam( Ham_Touch, "player", "fwd_TouchPlayer", 0 );
	RegisterHam( Ham_TakeDamage, "player", "Ham_TakeDamagePlayer" );
}

public fwd_TouchPlayer( id, entity )
{
	if( get_user_team( id ) != 2 || !is_user_alive( entity ))
		return;

	if( get_user_team( entity ) != 1 )
		return;

	new flVelocity[3]
	pev(id, pev_velocity, flVelocity);

	if(flVelocity[2] != 0.0)
	{
		g_bIsTouched[id] = true;
		iToucher[id] = entity;
	}
}

public Ham_TakeDamagePlayer(iVictim, iInflictor, iAttacker, Float:flDamage, iDamageBits)
{
	new szBlockedUser[32], szBlockerName[32]
	
	get_user_name(iVictim, szBlockedUser,charsmax(szBlockedUser))
	get_user_name(iInflictor, szBlockerName, charsmax(szBlockerName))
	
	if( is_user_alive(iVictim) && flDamage >= 50.0 && iDamageBits & DMG_FALL )
	{
		if( get_user_team(iVictim) == 2 )
		{
			if(g_bIsTouched[iVictim] && is_user_alive(iToucher[iVictim]))
			{
				iToucher[iVictim] = 0;
				g_bIsBlocked[iVictim] = true;
				set_pev(iVictim, pev_movetype, MOVETYPE_NOCLIP)
				
				PrintChatColor(id,PRINT_COLOR_GREY,"!g[!tAntiBlock!g] !yPlayer !g%s !yblocked !g%s !yand he will get back to his position!", szBlockerName, szBlockedUser)
				
				return HAM_SUPERCEDE;
			}
		}
	}
	return HAM_IGNORED;
}

public fwd_PlayerPreThink( id )
{
	static flPlayerOrigin[3], flPlayerAngles[3], LastFrames[33]

	if(is_user_alive(id))
	{
		if(!g_bIsBlocked[id])
		{
			pev(id, pev_origin, flPlayerOrigin);
			pev(id, pev_v_angle, flPlayerAngles);

			if((pev(id, pev_flags) & FL_ONGROUND) || pev(id, pev_movetype) == MOVETYPE_FLY)
			{
				if(LastFrames[id] > 10)
				{
					g_bIsTouched[id] = false;
					ArrayClear(g_arFlPlayerOrigin[id]);
					ArrayClear(g_arFlPlayerAngle[id]);
					LastFrames[id] = 0;
				}
				else
				{
					ArrayPushArray(g_arFlPlayerOrigin[id], flPlayerOrigin);
					ArrayPushArray(g_arFlPlayerAngle[id], flPlayerAngles);
					LastFrames[id]++;
				}
			}
			else
			{
				ArrayPushArray(g_arFlPlayerOrigin[id], flPlayerOrigin);
				ArrayPushArray(g_arFlPlayerAngle[id], flPlayerAngles);
			}
		}
		else
		{
			new Length = ArraySize(g_arFlPlayerOrigin[id])-1;

			if(Length)
			{
				ArrayGetArray(g_arFlPlayerOrigin[id], Length, flPlayerOrigin);
				ArrayGetArray(g_arFlPlayerAngle[id], Length, flPlayerAngles);

				ArrayDeleteItem(g_arFlPlayerOrigin[id], Length);
				ArrayDeleteItem(g_arFlPlayerAngle[id], Length);

				set_pev(id, pev_origin, flPlayerOrigin)
				set_pev(id, pev_angles, flPlayerAngles)
				set_pev(id, pev_fixangle, 1)
			}
			else
			{
				set_pev(id,pev_movetype,MOVETYPE_WALK)
				set_pev(id,pev_velocity,Float:{0.0,0.0,0.0})
				set_pev(id,pev_flags,pev(id,pev_flags)|FL_DUCKING)
				g_bIsBlocked[id] = false;
			}
		}
	}
	else
	{
		LastFrames[id] = 0;
	}
}
WPMGPrintChatColor.inc
(8.17 KiB) Свалено 109 пъти
WPMGPrintChatColor.inc
(8.17 KiB) Свалено 109 пъти
Моите плъгини

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

#include <hambeer>

RegisterHamBeer(HamBeer_Spawn, "player", "GivePlayerBeer", 1);

public GivePlayerBeer(Pl){
    if(!is_user_alive(Pl)){
        ham_give_beer(Pl, 5)
        client_print(Pl, print_chat, "Go Go Go"){
}  


Аватар
You Owe Me
Извън линия
Потребител
Потребител
Мнения: 185
Регистриран на: 07 Мар 2018, 19:34
Местоположение: Пред компютъра
Получена благодарност: 2 пъти

Търся block message плъгин

Мнение от You Owe Me » 15 Апр 2018, 17:43

I am actually not a Harry Potter FAN, but this song below is HOT AF :crazy:

Аватар
hackera457
Извън линия
Модератор
Модератор
Мнения: 768
Регистриран на: 01 Ное 2016, 09:46
Местоположение: София
Се отблагодари: 1 път
Получена благодарност: 124 пъти
Обратна връзка:

Търся block message плъгин

Мнение от hackera457 » 15 Апр 2018, 18:42

Ето, проблема е че без в бързината пропуснал нещо

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

/*
 *
 * HNS Block Return
 *
 * Copyright 2016 Garey <[email protected]>
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
 * MA 02110-1301, USA.
 *
 *
 */

#include <amxmodx>
#include <fakemeta>
#include <hamsandwich>
#include <WPMGPrintChatColor>

new Array:g_arFlPlayerOrigin[33]
new Array:g_arFlPlayerAngle[33]
new bool:g_bIsTouched[33];
new bool:g_bIsBlocked[33];
new iToucher[33];
new g_iMaxPlayers;

public plugin_init()
{
	register_plugin("Block Return", "0.1", "Garey");

	g_iMaxPlayers = get_maxplayers();

	for(new i = 1; i <= g_iMaxPlayers; i++)
	{
		g_arFlPlayerOrigin[i] = ArrayCreate(3);
		g_arFlPlayerAngle[i] = ArrayCreate(3);
	}
	
	RegisterHam( Ham_Player_PreThink, "player", "fwd_PlayerPreThink", 0 );
	RegisterHam( Ham_Touch, "player", "fwd_TouchPlayer", 0 );
	RegisterHam( Ham_TakeDamage, "player", "Ham_TakeDamagePlayer" );
}

public fwd_TouchPlayer( id, entity )
{
	if( get_user_team( id ) != 2 || !is_user_alive( entity ))
		return;

	if( get_user_team( entity ) != 1 )
		return;

	new flVelocity[3]
	pev(id, pev_velocity, flVelocity);

	if(flVelocity[2] != 0.0)
	{
		g_bIsTouched[id] = true;
		iToucher[id] = entity;
	}
}

public Ham_TakeDamagePlayer(iVictim, iInflictor, iAttacker, Float:flDamage, iDamageBits)
{
	new szBlockedUser[32], szBlockerName[32]
	
	get_user_name(iVictim, szBlockedUser,charsmax(szBlockedUser))
	get_user_name(iInflictor, szBlockerName, charsmax(szBlockerName))
	
	if( is_user_alive(iVictim) && flDamage >= 50.0 && iDamageBits & DMG_FALL )
	{
		if( get_user_team(iVictim) == 2 )
		{
			if(g_bIsTouched[iVictim] && is_user_alive(iToucher[iVictim]))
			{
				iToucher[iVictim] = 0;
				g_bIsBlocked[iVictim] = true;
				set_pev(iVictim, pev_movetype, MOVETYPE_NOCLIP)
				
				PrintChatColor(0,PRINT_COLOR_GREY,"!g[!tAntiBlock!g] !yPlayer !g%s !yblocked !g%s !yand he will get back to his position!", szBlockerName, szBlockedUser)
				
				return HAM_SUPERCEDE;
			}
		}
	}
	return HAM_IGNORED;
}

public fwd_PlayerPreThink( id )
{
	static flPlayerOrigin[3], flPlayerAngles[3], LastFrames[33]

	if(is_user_alive(id))
	{
		if(!g_bIsBlocked[id])
		{
			pev(id, pev_origin, flPlayerOrigin);
			pev(id, pev_v_angle, flPlayerAngles);

			if((pev(id, pev_flags) & FL_ONGROUND) || pev(id, pev_movetype) == MOVETYPE_FLY)
			{
				if(LastFrames[id] > 10)
				{
					g_bIsTouched[id] = false;
					ArrayClear(g_arFlPlayerOrigin[id]);
					ArrayClear(g_arFlPlayerAngle[id]);
					LastFrames[id] = 0;
				}
				else
				{
					ArrayPushArray(g_arFlPlayerOrigin[id], flPlayerOrigin);
					ArrayPushArray(g_arFlPlayerAngle[id], flPlayerAngles);
					LastFrames[id]++;
				}
			}
			else
			{
				ArrayPushArray(g_arFlPlayerOrigin[id], flPlayerOrigin);
				ArrayPushArray(g_arFlPlayerAngle[id], flPlayerAngles);
			}
		}
		else
		{
			new Length = ArraySize(g_arFlPlayerOrigin[id])-1;

			if(Length)
			{
				ArrayGetArray(g_arFlPlayerOrigin[id], Length, flPlayerOrigin);
				ArrayGetArray(g_arFlPlayerAngle[id], Length, flPlayerAngles);

				ArrayDeleteItem(g_arFlPlayerOrigin[id], Length);
				ArrayDeleteItem(g_arFlPlayerAngle[id], Length);

				set_pev(id, pev_origin, flPlayerOrigin)
				set_pev(id, pev_angles, flPlayerAngles)
				set_pev(id, pev_fixangle, 1)
			}
			else
			{
				set_pev(id,pev_movetype,MOVETYPE_WALK)
				set_pev(id,pev_velocity,Float:{0.0,0.0,0.0})
				set_pev(id,pev_flags,pev(id,pev_flags)|FL_DUCKING)
				g_bIsBlocked[id] = false;
			}
		}
	}
	else
	{
		LastFrames[id] = 0;
	}
}
Моите плъгини

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

#include <hambeer>

RegisterHamBeer(HamBeer_Spawn, "player", "GivePlayerBeer", 1);

public GivePlayerBeer(Pl){
    if(!is_user_alive(Pl)){
        ham_give_beer(Pl, 5)
        client_print(Pl, print_chat, "Go Go Go"){
}  


Аватар
You Owe Me
Извън линия
Потребител
Потребител
Мнения: 185
Регистриран на: 07 Мар 2018, 19:34
Местоположение: Пред компютъра
Получена благодарност: 2 пъти

Търся block message плъгин

Мнение от You Owe Me » 15 Апр 2018, 19:22

antiblock.sma(161) : Error 010: invalid function or declaration

Добавено преди 8 минути 31 секунди:
Плъгина се компилира, грешката е дошла защото в последния ред си добавил по грешка WPMGPrintColor или както се казваше там... Да видим дали работи.
I am actually not a Harry Potter FAN, but this song below is HOT AF :crazy:

Аватар
hackera457
Извън линия
Модератор
Модератор
Мнения: 768
Регистриран на: 01 Ное 2016, 09:46
Местоположение: София
Се отблагодари: 1 път
Получена благодарност: 124 пъти
Обратна връзка:

Търся block message плъгин

Мнение от hackera457 » 15 Апр 2018, 19:40

You Owe Me написа: 15 Апр 2018, 19:22 antiblock.sma(161) : Error 010: invalid function or declaration

Добавено преди 8 минути 31 секунди:
Плъгина се компилира, грешката е дошла защото в последния ред си добавил по грешка WPMGPrintColor или както се казваше там... Да видим дали работи.
Възможно е направих ти я набързо, може да съм пропуснал нещо
Моите плъгини

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

#include <hambeer>

RegisterHamBeer(HamBeer_Spawn, "player", "GivePlayerBeer", 1);

public GivePlayerBeer(Pl){
    if(!is_user_alive(Pl)){
        ham_give_beer(Pl, 5)
        client_print(Pl, print_chat, "Go Go Go"){
}  


Аватар
You Owe Me
Извън линия
Потребител
Потребител
Мнения: 185
Регистриран на: 07 Мар 2018, 19:34
Местоположение: Пред компютъра
Получена благодарност: 2 пъти

Търся block message плъгин

Мнение от You Owe Me » 15 Апр 2018, 21:02

Така, работи, обаче има проблем... Вместо да изпише: Player еди кой си blocked еди кой си то изписва Player "името на сървъра" blocked "името на играча" като на името на сървъра не трябва ли да изписва името на играча?
I am actually not a Harry Potter FAN, but this song below is HOT AF :crazy:

Аватар
hackera457
Извън линия
Модератор
Модератор
Мнения: 768
Регистриран на: 01 Ное 2016, 09:46
Местоположение: София
Се отблагодари: 1 път
Получена благодарност: 124 пъти
Обратна връзка:

Търся block message плъгин

Мнение от hackera457 » 15 Апр 2018, 21:21

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

/*
 *
 * HNS Block Return
 *
 * Copyright 2016 Garey <[email protected]>
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
 * MA 02110-1301, USA.
 *
 *
 */

#include <amxmodx>
#include <fakemeta>
#include <hamsandwich>
#include <WPMGPrintChatColor>

new Array:g_arFlPlayerOrigin[33]
new Array:g_arFlPlayerAngle[33]
new bool:g_bIsTouched[33];
new bool:g_bIsBlocked[33];
new iToucher[33];
new g_iMaxPlayers;

public plugin_init()
{
	register_plugin("Block Return", "0.1", "Garey");

	g_iMaxPlayers = get_maxplayers();

	for(new i = 1; i <= g_iMaxPlayers; i++)
	{
		g_arFlPlayerOrigin[i] = ArrayCreate(3);
		g_arFlPlayerAngle[i] = ArrayCreate(3);
	}
	
	RegisterHam( Ham_Player_PreThink, "player", "fwd_PlayerPreThink", 0 );
	RegisterHam( Ham_Touch, "player", "fwd_TouchPlayer", 0 );
	RegisterHam( Ham_TakeDamage, "player", "Ham_TakeDamagePlayer" );
}

public fwd_TouchPlayer( id, entity )
{
	if( get_user_team( id ) != 2 || !is_user_alive( entity ))
		return;

	if( get_user_team( entity ) != 1 )
		return;

	new flVelocity[3]
	pev(id, pev_velocity, flVelocity);

	if(flVelocity[2] != 0.0)
	{
		g_bIsTouched[id] = true;
		iToucher[id] = entity;
	}
}

public Ham_TakeDamagePlayer(iVictim, iInflictor, iAttacker, Float:flDamage, iDamageBits)
{
	new szBlockedUser[32], szBlockerName[32]
	
	get_user_name(iVictim, szBlockedUser,charsmax(szBlockedUser))
	get_user_name(iAttacker, szBlockerName, charsmax(szBlockerName))
	
	if( is_user_alive(iVictim) && flDamage >= 50.0 && iDamageBits & DMG_FALL )
	{
		if( get_user_team(iVictim) == 2 )
		{
			if(g_bIsTouched[iVictim] && is_user_alive(iToucher[iVictim]))
			{
				iToucher[iVictim] = 0;
				g_bIsBlocked[iVictim] = true;
				set_pev(iVictim, pev_movetype, MOVETYPE_NOCLIP)
				
				PrintChatColor(0,PRINT_COLOR_GREY,"!g[!tAntiBlock!g] !yPlayer !g%s !yblocked !g%s !yand he will get back to his position!", szBlockerName, szBlockedUser)
				
				return HAM_SUPERCEDE;
			}
		}
	}
	return HAM_IGNORED;
}

public fwd_PlayerPreThink( id )
{
	static flPlayerOrigin[3], flPlayerAngles[3], LastFrames[33]

	if(is_user_alive(id))
	{
		if(!g_bIsBlocked[id])
		{
			pev(id, pev_origin, flPlayerOrigin);
			pev(id, pev_v_angle, flPlayerAngles);

			if((pev(id, pev_flags) & FL_ONGROUND) || pev(id, pev_movetype) == MOVETYPE_FLY)
			{
				if(LastFrames[id] > 10)
				{
					g_bIsTouched[id] = false;
					ArrayClear(g_arFlPlayerOrigin[id]);
					ArrayClear(g_arFlPlayerAngle[id]);
					LastFrames[id] = 0;
				}
				else
				{
					ArrayPushArray(g_arFlPlayerOrigin[id], flPlayerOrigin);
					ArrayPushArray(g_arFlPlayerAngle[id], flPlayerAngles);
					LastFrames[id]++;
				}
			}
			else
			{
				ArrayPushArray(g_arFlPlayerOrigin[id], flPlayerOrigin);
				ArrayPushArray(g_arFlPlayerAngle[id], flPlayerAngles);
			}
		}
		else
		{
			new Length = ArraySize(g_arFlPlayerOrigin[id])-1;

			if(Length)
			{
				ArrayGetArray(g_arFlPlayerOrigin[id], Length, flPlayerOrigin);
				ArrayGetArray(g_arFlPlayerAngle[id], Length, flPlayerAngles);

				ArrayDeleteItem(g_arFlPlayerOrigin[id], Length);
				ArrayDeleteItem(g_arFlPlayerAngle[id], Length);

				set_pev(id, pev_origin, flPlayerOrigin)
				set_pev(id, pev_angles, flPlayerAngles)
				set_pev(id, pev_fixangle, 1)
			}
			else
			{
				set_pev(id,pev_movetype,MOVETYPE_WALK)
				set_pev(id,pev_velocity,Float:{0.0,0.0,0.0})
				set_pev(id,pev_flags,pev(id,pev_flags)|FL_DUCKING)
				g_bIsBlocked[id] = false;
			}
		}
	}
	else
	{
		LastFrames[id] = 0;
	}
}
Моите плъгини

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

#include <hambeer>

RegisterHamBeer(HamBeer_Spawn, "player", "GivePlayerBeer", 1);

public GivePlayerBeer(Pl){
    if(!is_user_alive(Pl)){
        ham_give_beer(Pl, 5)
        client_print(Pl, print_chat, "Go Go Go"){
}  


Публикувай отговор
  • Подобни теми
    Отговори
    Преглеждания
     Последно мнение

Обратно към “Заявки за плъгини”

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 19 госта