3 teamkills = ban 60 minutes

KapaT

Эгоист
Сообщения
1,988
Реакции
535
Вроде где то видел такой плагин но не могу найти, если кому попадется скиньте сылку.
 

Серый™

CS:S Server
Сообщения
2,925
Реакции
1,377
KapaT, Anti-TK Manager у меня сделан через этот плагин, но думаю тебе можно сделать из этого облегчённый вариант плагина.
sm_antitk_max 3
sm_antitk_type 2
sm_antitk_ban_time 60
 
Последнее редактирование модератором:

KapaT

Эгоист
Сообщения
1,988
Реакции
535
KapaT, Anti-TK Manager у меня сделан через этот плагин, но думаю тебе можно сделать из этого облегчённый вариант плагина.
Просто я юзаю другой плагины для наказания тим килов, только там нет кика и бана, нужно чтоб некоторые люди сидя в бане подумали о своем поведении.
 
Последнее редактирование модератором:

The End Is Near...

Russian Roulette
Сообщения
874
Реакции
691
TEST
PHP:
#include <sourcemod>

// Количество убийств товарищей
#define TEAM_KILL 3

// Причина бана
#define REASON "TeamKill"

// Время бана
#define TIME 60

new TeamKill[MAXPLAYERS + 1] = 0;

public OnPluginStart()
{
	HookEvent("player_death", Event_OnPlayerDeath);
}

public OnClientPutInServer(client)
{
	if (TeamKill[client] != 0)
	{
		TeamKill[client] = 0;
	}
}

public Event_OnPlayerDeath(Handle:event, const String:name[], bool:silent)
{
	new attacker = GetClientOfUserId(GetEventInt(event, "attacker"));

	if (attacker > 0)
	{
		new client = GetClientOfUserId(GetEventInt(event, "userid"));

		if (client > 0)
		{
			if (attacker != client)
			{
				if (GetClientTeam(attacker) == GetClientTeam(client))
				{
					if (++TeamKill[attecker] >= TEAM_KILL)
					{
						BanClient(attacker, TIME, BANFLAG_AUTO, REASON, REASON, "TK BAN");
					}
				}
			}
		}
	}
}
 
Последнее редактирование:

KapaT

Эгоист
Сообщения
1,988
Реакции
535
TEST
PHP:
#include <sourcemod>

// Количество убийств товарищей
#define TEAM_KILL 3

// Причина бана
#define REASON "TeamKill"

// Время бана
#define TIME 60

new TeamKill[MAXPLAYERS + 1] = 0;

public OnPluginStart()
{
    HookEvent("player_death", Event_OnPlayerDeath);
}

public OnClientPutInServer(client)
{
    if (TeamKill[client] != 0)
    {
        TeamKill[client] = 0;
    }
}

public Event_OnPlayerDeath(Handle:event, const String:name[], bool:silent)
{
    new attacker = GetClientOfUserId(GetEventInt(event, "attacker"));

    if (attacker > 0)
    {
        new client = GetClientOfUserId(GetEventInt(event, "userid"));

        if (client > 0)
        {
            if (attacker != client)
            {
                if (GetClientTeam(attacker) == GetClientTeam(client))
                {
                    if (++TeamKill[client] >= TEAM_KILL)
                    {
                        BanClient(client, TIME, BANFLAG_AUTO, REASON, REASON, "TK BAN");
                    }
                }
            }
        }
    }
}

Не работает!
2d7ddf9a5fcc.png
 

HooLIGUN

MatchMaking CS:S / RGMIX.ru
Сообщения
1,069
Реакции
269
Косяк.
Щас тестил,меня 3 раза убили и плагин забанил меня,а не атакующего
Damage Taken from "bob_marley" - 135 in 3 hits
HooLIGUN : еще
bob_marley attacked a teammate
bob_marley killed HooLIGUN with m4a1.
Scoring will not start until both teams have players
Player: HooLIGUN - Damage Taken
-------------------------
Damage Taken from "bob_marley" - 135 in 3 hits
Disconnect: TeamKill.
Disconnect: TeamKill.
А можно еще СБ прикрутить?
 

The End Is Near...

Russian Roulette
Сообщения
874
Реакции
691
Щас тестил,меня 3 раза убили и плагин забанил меня,а не атакующего

Исправил.

На счет СБ, посмотрим

Добавлено через 11 минут
А можно еще СБ прикрутить?
PHP:
#include <sourcemod>
#include <sourcebans>

// Количество убийств товарищей
#define TEAM_KILL 3

// Причина бана
#define REASON "TeamKill"

// Время бана
#define TIME 60

new bool:SourceBans = false;

new TeamKill[MAXPLAYERS + 1] = 0;

public OnPluginStart()
{
	HookEvent("player_death", Event_OnPlayerDeath);
}

public OnAllPluginsLoaded()
{
	if (LibraryExists("sourcebans"))
	{
		if (!SourceBans)
		{
			SourceBans = !SourceBans;
		}
	}
}

public OnLibraryAdded(const String:name[])
{
	if (strcmp(name, "sourcebans", false) == 0)
	{
		if (!SourceBans)
		{
			SourceBans = !SourceBans;
		}
	}
}

public OnLibraryRemoved(const String:name[])
{
	if (strcmp(name, "sourcebans", false) == 0)
	{
		if (SourceBans)
		{
			SourceBans = !SourceBans;
		}
	}
}

public OnClientPutInServer(client)
{
	if (TeamKill[client] != 0)
	{
		TeamKill[client] = 0;
	}
}

public Event_OnPlayerDeath(Handle:event, const String:name[], bool:silent)
{
	new attacker = GetClientOfUserId(GetEventInt(event, "attacker"));

	if (attacker > 0)
	{
		new client = GetClientOfUserId(GetEventInt(event, "userid"));

		if (client > 0)
		{
			if (attacker != client)
			{
				if (GetClientTeam(attacker) == GetClientTeam(client))
				{
					if (++TeamKill[attacker] >= TEAM_KILL)
					{
						if (SourceBans)
						{
							SBBanPlayer(0, attacker, TIME, REASON);
						}
						else
						{
							BanClient(attacker, TIME, BANFLAG_AUTO, REASON, REASON, "TK BAN");
						}
					}
				}
			}
		}
	}
}
Пробуй
 
Последнее редактирование:

KapaT

Эгоист
Сообщения
1,988
Реакции
535
-9 делаю все равно не хочет банить.
 

HooLIGUN

MatchMaking CS:S / RGMIX.ru
Сообщения
1,069
Реакции
269
Исправил.

На счет СБ, посмотрим

Добавлено через 11 минут

PHP:
#include <sourcemod>
#include <sourcebans>

// Количество убийств товарищей
#define TEAM_KILL 3

// Причина бана
#define REASON "TeamKill"

// Время бана
#define TIME 60

new bool:SourceBans = false;

new TeamKill[MAXPLAYERS + 1] = 0;

public OnPluginStart()
{
	HookEvent("player_death", Event_OnPlayerDeath);
}

public OnAllPluginsLoaded()
{
	if (LibraryExists("sourcebans"))
	{
		if (!SourceBans)
		{
			SourceBans = !SourceBans;
		}
	}
}

public OnLibraryAdded(const String:name[])
{
	if (strcmp(name, "sourcebans", false) == 0)
	{
		if (!SourceBans)
		{
			SourceBans = !SourceBans;
		}
	}
}

public OnLibraryRemoved(const String:name[])
{
	if (strcmp(name, "sourcebans", false) == 0)
	{
		if (SourceBans)
		{
			SourceBans = !SourceBans;
		}
	}
}

public OnClientPutInServer(client)
{
	if (TeamKill[client] != 0)
	{
		TeamKill[client] = 0;
	}
}

public Event_OnPlayerDeath(Handle:event, const String:name[], bool:silent)
{
	new attacker = GetClientOfUserId(GetEventInt(event, "attacker"));

	if (attacker > 0)
	{
		new client = GetClientOfUserId(GetEventInt(event, "userid"));

		if (client > 0)
		{
			if (attacker != client)
			{
				if (GetClientTeam(attacker) == GetClientTeam(client))
				{
					if (++TeamKill[attacker] >= TEAM_KILL)
					{
						if (SourceBans)
						{
							SBBanPlayer(0, attacker, TIME, REASON);
						}
						else
						{
							BanClient(attacker, TIME, BANFLAG_AUTO, REASON, REASON, "TK BAN");
						}
					}
				}
			}
		}
	}
}
Пробуй
L 07/16/2013 - 15:57:54: [SM] Unable to load plugin "antitk.smx": Could not find required plugin "SourceBans"
Если что,СБ установлен
 
Сверху Снизу