Skocz do zawartości
jigsaw

[Rozwiązane] Ban za wyjście z TT

Rekomendowane odpowiedzi

Szukam pluginu który by dawał bana za wyjście po stronie TT.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Spoiler

#include <cstrike>

#pragma semicolon 1
#pragma newdecls required

ConVar BanTime, BanReason;

public Plugin myinfo = 
{
	name = "Automatyczny ban za wyjście z TT", 
	author = "Brum Brum", 
	description = "Automatyczny ban za wyjście z TT", 
	version = "1.0", 
	url = "..."
};

public void OnPluginStart()
{
	BanTime = CreateConVar("sm_bantime", "360", "Czas trwania bana za wyjście z TT");
	BanReason = CreateConVar("sm_banreason", "Wyjście z drużyny TT", "Powód bana za wyjście z drużyny");
	HookEvent("player_team", Event_PlayerTeam);
	AutoExecConfig(true, "TTBan");
}

public Action Event_PlayerTeam(Event event, const char[] name, bool dontBroadcast)
{
	int client = GetClientOfUserId(event.GetInt("userid"));
	int team = GetClientTeam(client);
	if (team > CS_TEAM_CT)
	{
		int userid = GetClientUserId(client);
		int time = BanTime.IntValue;
		char reason[256];
		BanReason.GetString(reason, sizeof(reason));
		ServerCommand("sm_ban #%d %d %s", userid, time, reason);
	}
} 

 

nie testowałem

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Spoiler

#include <cstrike>

#pragma semicolon 1
#pragma newdecls required

ConVar BanTime, BanReason;

public Plugin myinfo = 
{
	name = "Automatyczny ban za wyjście z TT", 
	author = "Brum Brum", 
	description = "Automatyczny ban za wyjście z TT", 
	version = "1.0", 
	url = "..."
};

public void OnPluginStart()
{
	BanTime = CreateConVar("sm_bantime", "360", "Czas trwania bana za wyjście z TT");
	BanReason = CreateConVar("sm_banreason", "Wyjście z drużyny TT", "Powód bana za wyjście z drużyny");
	AddCommandListener(ChangeTeam, "jointeam");
	AutoExecConfig(true, "TTBan");
}

public Action ChangeTeam(int client, const char[] command, int args)
{
	int team = GetClientTeam(client);
	char steamid[64];
	GetClientAuthId(client, AuthId_Steam2, steamid, sizeof(steamid));
	if (team == CS_TEAM_T)
	{
		Ban(client);
		return Plugin_Handled;
	}
	return Plugin_Continue;
}

void Ban(int client)
{
	int userid = GetClientUserId(client);
	int time = BanTime.IntValue;
	char reason[256];
	BanReason.GetString(reason, sizeof(reason));
	ServerCommand("sm_ban #%d %d %s", userid, time, reason);
} 

 

To działa  ^^

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
32 minuty temu, Brum Brum napisał:
 
Hej! Skorzystałeś z linku lub pobrałeś załącznik? Uhonoruj naszą pracę poprzez rejestrację na forum i rośnij razem z nami! Odkryj ukrytą treść


#include <cstrike>

#pragma semicolon 1
#pragma newdecls required

ConVar BanTime, BanReason;

public Plugin myinfo = 
{
	name = "Automatyczny ban za wyjście z TT", 
	author = "Brum Brum", 
	description = "Automatyczny ban za wyjście z TT", 
	version = "1.0", 
	url = "..."
};

public void OnPluginStart()
{
	BanTime = CreateConVar("sm_bantime", "360", "Czas trwania bana za wyjście z TT");
	BanReason = CreateConVar("sm_banreason", "Wyjście z drużyny TT", "Powód bana za wyjście z drużyny");
	AddCommandListener(ChangeTeam, "jointeam");
	AutoExecConfig(true, "TTBan");
}

public Action ChangeTeam(int client, const char[] command, int args)
{
	int team = GetClientTeam(client);
	char steamid[64];
	GetClientAuthId(client, AuthId_Steam2, steamid, sizeof(steamid));
	if (team == CS_TEAM_T)
	{
		Ban(client);
		return Plugin_Handled;
	}
	return Plugin_Continue;
}

void Ban(int client)
{
	int userid = GetClientUserId(client);
	int time = BanTime.IntValue;
	char reason[256];
	BanReason.GetString(reason, sizeof(reason));
	ServerCommand("sm_ban #%d %d %s", userid, time, reason);
} 

 

To działa  ^^

A mógłbyś dodać żeby wypisywało na czacie że ten ktoś dostał bana i na ile?

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
4 minuty temu, jigsaw napisał:

A mógłbyś dodać żeby wypisywało na czacie że ten ktoś dostał bana i na ile?

Spoiler

#include <cstrike>

#pragma semicolon 1
#pragma newdecls required
#define MOD_TAG "\x01\x0B★ \x07[AutoBAN]\x04 "
ConVar BanTime, BanReason;

public Plugin myinfo = 
{
	name = "Automatyczny ban za wyjście z TT", 
	author = "Brum Brum", 
	description = "Automatyczny ban za wyjście z TT", 
	version = "1.0", 
	url = "..."
};

public void OnPluginStart()
{
	BanTime = CreateConVar("sm_bantime", "360", "Czas trwania bana za wyjście z TT");
	BanReason = CreateConVar("sm_banreason", "Wyjście z drużyny TT", "Powód bana za wyjście z drużyny");
	AddCommandListener(ChangeTeam, "jointeam");
	AutoExecConfig(true, "TTBan");
}

public Action ChangeTeam(int client, const char[] command, int args)
{
	int team = GetClientTeam(client);
	char steamid[64];
	GetClientAuthId(client, AuthId_Steam2, steamid, sizeof(steamid));
	if (team == CS_TEAM_T)
	{
		Ban(client);
		return Plugin_Handled;
	}
	return Plugin_Continue;
}

void Ban(int client)
{
	int userid = GetClientUserId(client);
	int time = BanTime.IntValue;
	char reason[256];
	BanReason.GetString(reason, sizeof(reason));
	ServerCommand("sm_ban #%d %d %s", userid, time, reason);
	PrintToChatAll("%s Gracz \x02%N\x04 został zbanowany za \x02%s\x04 na \x02%d minut", MOD_TAG, client, reason, time);
}

 

 

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
32 minuty temu, jigsaw napisał:

@Brum Brum nie działa, osoba nie dostaje bana.

Spoiler

#include <cstrike>

#pragma semicolon 1
#pragma newdecls required
#define MOD_TAG "\x01\x0B★ \x07[AutoBAN]\x04 "
ConVar BanTime, BanReason;

public Plugin myinfo = 
{
	name = "Automatyczny ban za wyjście z TT", 
	author = "Brum Brum", 
	description = "Automatyczny ban za wyjście z TT", 
	version = "1.0", 
	url = "..."
};

public void OnPluginStart()
{
	BanTime = CreateConVar("sm_bantime", "360", "Czas trwania bana za wyjście z TT");
	BanReason = CreateConVar("sm_banreason", "Wyjście z drużyny TT", "Powód bana za wyjście z drużyny");
	AddCommandListener(ChangeTeam, "jointeam");
	AddCommandListener(ChangeTeam, "spectate");
	AddCommandListener(ChangeTeam, "teammenu");
	AutoExecConfig(true, "TTBan");
}

public Action ChangeTeam(int client, const char[] command, int args)
{
	int team = GetClientTeam(client);
	char steamid[64];
	GetClientAuthId(client, AuthId_Steam2, steamid, sizeof(steamid));
	if (team == CS_TEAM_T)
	{
		Ban(client);
		return Plugin_Handled;
	}
	return Plugin_Continue;
}

void Ban(int client)
{
	int userid = GetClientUserId(client);
	int time = BanTime.IntValue;
	char reason[256];
	BanReason.GetString(reason, sizeof(reason));
	ServerCommand("sm_ban #%d %d %s", userid, time, reason);
	PrintToChatAll("%s Gracz \x02%N\x04 został zbanowany za \x02%s\x04 na \x02%d minut", MOD_TAG, client, reason, time);
}

 

Testowałem na cs:s i działało. Pewnie  chodziło o komendy, więc dodałem do sprawdzania jeszcze dwie i powinno działać

 

Edytowane przez Brum Brum

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
2 godziny temu, Brum Brum napisał:
 
Hej! Skorzystałeś z linku lub pobrałeś załącznik? Uhonoruj naszą pracę poprzez rejestrację na forum i rośnij razem z nami! Odkryj ukrytą treść


#include <cstrike>

#pragma semicolon 1
#pragma newdecls required
#define MOD_TAG "\x01\x0B★ \x07[AutoBAN]\x04 "
ConVar BanTime, BanReason;

public Plugin myinfo = 
{
	name = "Automatyczny ban za wyjście z TT", 
	author = "Brum Brum", 
	description = "Automatyczny ban za wyjście z TT", 
	version = "1.0", 
	url = "..."
};

public void OnPluginStart()
{
	BanTime = CreateConVar("sm_bantime", "360", "Czas trwania bana za wyjście z TT");
	BanReason = CreateConVar("sm_banreason", "Wyjście z drużyny TT", "Powód bana za wyjście z drużyny");
	AddCommandListener(ChangeTeam, "jointeam");
	AddCommandListener(ChangeTeam, "spectate");
	AddCommandListener(ChangeTeam, "teammenu");
	AutoExecConfig(true, "TTBan");
}

public Action ChangeTeam(int client, const char[] command, int args)
{
	int team = GetClientTeam(client);
	char steamid[64];
	GetClientAuthId(client, AuthId_Steam2, steamid, sizeof(steamid));
	if (team == CS_TEAM_T)
	{
		Ban(client);
		return Plugin_Handled;
	}
	return Plugin_Continue;
}

void Ban(int client)
{
	int userid = GetClientUserId(client);
	int time = BanTime.IntValue;
	char reason[256];
	BanReason.GetString(reason, sizeof(reason));
	ServerCommand("sm_ban #%d %d %s", userid, time, reason);
	PrintToChatAll("%s Gracz \x02%N\x04 został zbanowany za \x02%s\x04 na \x02%d minut", MOD_TAG, client, reason, time);
}

 

Testowałem na cs:s i działało. Pewnie  chodziło o komendy, więc dodałem do sprawdzania jeszcze dwie i powinno działać

 

plugin dziala, tylko troche inaczej niż chciałem. 

Chciałem aby po opuszczeniu serwera gdy osoba jest po TT dostawała bana.,

Obecnie jest tak, że osoba dostanie bana tylko wtedy jak zmienia drużynę ręcznie.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
11 minut temu, jigsaw napisał:

plugin dziala, tylko troche inaczej niż chciałem. 

Chciałem aby po opuszczeniu serwera gdy osoba jest po TT dostawała bana.,

Obecnie jest tak, że osoba dostanie bana tylko wtedy jak zmienia drużynę ręcznie.

Trzeba było od razu tak pisać...
 

Spoiler

#include <cstrike>

#pragma semicolon 1
#pragma newdecls required
#define MOD_TAG "\x01\x0B★ \x07[AutoBAN]\x04 "
ConVar BanTime, BanReason;

public Plugin myinfo = 
{
	name = "Automatyczny ban za wyjście z TT", 
	author = "Brum Brum", 
	description = "Automatyczny ban za wyjście z TT", 
	version = "1.0", 
	url = "..."
};

public void OnPluginStart()
{
	BanTime = CreateConVar("sm_bantime", "360", "Czas trwania bana za wyjście z TT");
	BanReason = CreateConVar("sm_banreason", "Wyjście z drużyny TT", "Powód bana za wyjście z drużyny");
	AddCommandListener(ChangeTeam, "jointeam");
	AddCommandListener(ChangeTeam, "spectate");
	AutoExecConfig(true, "TTBan");
}

public void OnClientDisconnect(int client)
{
	if (GetClientTeam(client) == CS_TEAM_T)
	{
		Ban(client);
	}
}

public Action ChangeTeam(int client, const char[] command, int args)
{
	int team = GetClientTeam(client);
	char steamid[64];
	GetClientAuthId(client, AuthId_Steam2, steamid, sizeof(steamid));
	if (team == CS_TEAM_T)
	{
		Ban(client);
		return Plugin_Handled;
	}
	return Plugin_Continue;
}

void Ban(int client)
{
	int userid = GetClientUserId(client);
	int time = BanTime.IntValue;
	char reason[256];
	BanReason.GetString(reason, sizeof(reason));
	ServerCommand("sm_ban #%d %d %s", userid, time, reason);
	PrintToChatAll("%s Gracz \x02%N\x04 został zbanowany za \x02%s\x04 na \x02%d minut", MOD_TAG, client, reason, time);
} 

 

 

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Po wyjściu osoby, wiadomość jest wysłana na czat, ale osoba nie dostaje bana.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
1 godzinę temu, jigsaw napisał:

Po wyjściu osoby, wiadomość jest wysłana na czat, ale osoba nie dostaje bana.

proszę.

Spoiler

#include <cstrike>

#pragma semicolon 1
#pragma newdecls required
#define MOD_TAG "\x01\x0B★ \x07[AutoBAN]\x04 "
ConVar BanTime, BanReason;

public Plugin myinfo = 
{
	name = "Automatyczny ban za wyjście z TT", 
	author = "Brum Brum", 
	description = "Automatyczny ban za wyjście z TT", 
	version = "1.0", 
	url = "..."
};

public void OnPluginStart()
{
	BanTime = CreateConVar("sm_bantime", "360", "Czas trwania bana za wyjście z TT");
	BanReason = CreateConVar("sm_banreason", "Wyjście z drużyny TT", "Powód bana za wyjście z drużyny");
	AddCommandListener(ChangeTeam, "jointeam");
	AddCommandListener(ChangeTeam, "spectate");
	AutoExecConfig(true, "TTBan");
}

public void OnClientDisconnect(int client)
{
	if (GetClientTeam(client) == CS_TEAM_T)
	{
		AddBan(client);
	}
}

public Action ChangeTeam(int client, const char[] command, int args)
{
	int team = GetClientTeam(client);
	if (team == CS_TEAM_T)
	{
		Ban(client);
		return Plugin_Handled;
	}
	return Plugin_Continue;
}

void Ban(int client)
{
	int userid = GetClientUserId(client);
	int time = BanTime.IntValue;
	char reason[256];
	BanReason.GetString(reason, sizeof(reason));
	ServerCommand("sm_ban #%d %d %s", userid, time, reason);
	PrintToChatAll("%s Gracz \x02%N\x04 został zbanowany za \x02%s\x04 na \x02%d minut", MOD_TAG, client, reason, time);
}

void AddBan(int client)
{
	int time = BanTime.IntValue;
	char reason[256], steamid[32];
	GetClientAuthId(client, AuthId_Steam2, steamid, sizeof(steamid));
	BanReason.GetString(reason, sizeof(reason));
	ServerCommand("sm_addban %d %s %s", time, steamid, reason);
	PrintToChatAll("%s Gracz \x02%N\x04 został zbanowany za \x02%s\x04 na \x02%d minut", MOD_TAG, client, reason, time);
} 

 

 

Edytowane przez Brum Brum

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

/do zamkniecia

Przez MAGNET,

Najpierw podziękuj proszę ładnie za pomoc :)

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Jednak dobrze że nie zamknęliście bo jest mały błąd. Plugin banuje osoby CT jak i TT, a powinno tylko TT.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Jakoś nie wydaje mi się, że to z tego pluginu z racji, że jest sprawdzany team gracza wychodzącego z drużyny/serwera.

Opisz bardziej swój problem

 

@edit testowałem przed chwilą i wszystko dobrze działa.

Edytowane przez Brum Brum

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Jest kilka osób na serwerze, niezależnie czy wyjdzie TT czy CT to i tak ta osoba dostaje bana. A powinien dostawać tylko CT.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
8 minut temu, jigsaw napisał:

Jest kilka osób na serwerze, niezależnie czy wyjdzie TT czy CT to i tak ta osoba dostaje bana. A powinien dostawać tylko CT.

Testowałem przed chwilą i wszystko działa, pokaż listę pluginów

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Dobra, okazało się że inny plugin to bugował.

 

Dziękuje bardzo serdecznie za poświęcony mi czas :)

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Wiadomość wygenerowana automatycznie

 

Pomoc udzielona

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.

×
×
  • Dodaj nową pozycję...