Skocz do zawartości
  • Chmurka
  • Boróweczka
  • Jabłuszko
  • Limonka
  • Czekoladka
  • Węgielek
Zaloguj się, aby obserwować  
jigsaw

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

Polecane posty

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

  • Lubię to! 2

Udostępnij ten post


Link to postu
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  ^^

  • Lubię to! 1
  • Kocham to! 1

Udostępnij ten post


Link to postu
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 ten post


Link to postu
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);
}

 

 

  • Lubię to! 2

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Napisano (edytowany)
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ć

 

Edytowano przez Brum Brum
  • Lubię to! 1

Udostępnij ten post


Link to postu
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 ten post


Link to postu
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);
} 

 

 

  • Haha! 1

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Napisano (edytowany)
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);
} 

 

 

Edytowano przez Brum Brum
  • Lubię to! 2
  • Kocham to! 1

Udostępnij ten post


Link to postu
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 ten post


Link to postu
Udostępnij na innych stronach
Napisano (edytowany)

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.

Edytowano przez Brum Brum
  • Lubię to! 1

Udostępnij ten post


Link to postu
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 ten post


Link to postu
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

  • Lubię to! 1

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

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

 

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

  • Lubię to! 1
  • Haha! 1

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Gość
Temat jest zablokowany i nie można w nim pisać.
Zaloguj się, aby obserwować  

  • Kto przegląda   0 użytkowników

    Brak zalogowanych użytkowników przeglądających tę stronę.

×