igodsewer
VanillaProject.ru
- Сообщения
- 29
- Реакции
- 8
В оригинальном плагине SB много ненужной дряни, вроде самообновлений и прочего "счастья". Здесь же только проверка игрока на наличие в базах SB, и отсутствие рекламы, в отличие от оригинального.
Юзай, только скомпилировать не забудь.
Этот же плагин используется на миксах пинчо, писал его я, специально для этих серверов.
PS: В этом исходнике "встроена" защита от школьника.
Юзай, только скомпилировать не забудь.
#pragma semicolon 1
#include <sourcemod>
#include <sdktools>
#include <cstrike>
new Handle:h_AnnounceBan = INVALID_HANDLE;
new Handle:h_Database = INVALID_HANDLE;
#define Pref "\x04[SteamBans]\x01"
public Plugin:myinfo =
{
name = "SteamBans Integration",
author = "igodsewer",
description = "Specially for PinCho aka MPSU mix servers",
version = "1.1",
url = "http://alliedmods.net"
};
public OnPluginStart()
{
h_AnnounceBan = CreateConVar("sb_announceban", "0", "Announce ban or not, very simple, huh?", FCVAR_PLUGIN);
db_setupDatabase();
}
public OnClientAuthorized(client, const String:auth[])
{
decl String:szSteamId[32];
GetClientAuthString(client, szSteamId, 32);
decl String:Query[1024];
FormatEx(Query, 1024, "SELECT `bid` FROM `sb_bans` WHERE `authid`='%s' AND `RemovedBy`='';", szSteamId);
// new Handle:check = SQL_Query(h_Database, Query);
if (check != INVALID_HANDLE)
{
if (SQL_FetchRow(check))
{
KickHim(client);
if (GetConVarInt(h_AnnounceBan))
{
PrintToChatAll("%s Игрок %s отключен от сервера в связи с баном на SteamBans.ru", Pref, client);
}
}
}
return 0;
}
KickHim(client)
{
KickClient(client,"%s Вы забанены в системе SteamBans.ru", Pref);
}
public db_setupDatabase()
{
decl String:szError[255];
new Handle:kv = CreateKeyValues("steambans", "", "");
KvSetString(kv, "driver", "mysql");
KvSetString(kv, "host", "db.steambans.ru");
KvSetString(kv, "database", "steambans");
KvSetString(kv, "user", "steambans");
KvSetString(kv, "pass", "4TXokFnTdixnoe");
KvSetString(kv, "port", "3306");
h_Database = SQL_ConnectCustom(kv, szError, 256, true);
CloseHandle(kv);
if(h_Database == INVALID_HANDLE)
{
LogError("[SteamBans] Unable to connect to database (%s)", szError);
return;
}
}
public SQL_CheckCallback(Handle:owner, Handle:hndl, const String:error[], any:data)
{
if(hndl == INVALID_HANDLE)
{
LogError("%s Error database (%s)", Pref, error);
}
}
#include <sourcemod>
#include <sdktools>
#include <cstrike>
new Handle:h_AnnounceBan = INVALID_HANDLE;
new Handle:h_Database = INVALID_HANDLE;
#define Pref "\x04[SteamBans]\x01"
public Plugin:myinfo =
{
name = "SteamBans Integration",
author = "igodsewer",
description = "Specially for PinCho aka MPSU mix servers",
version = "1.1",
url = "http://alliedmods.net"
};
public OnPluginStart()
{
h_AnnounceBan = CreateConVar("sb_announceban", "0", "Announce ban or not, very simple, huh?", FCVAR_PLUGIN);
db_setupDatabase();
}
public OnClientAuthorized(client, const String:auth[])
{
decl String:szSteamId[32];
GetClientAuthString(client, szSteamId, 32);
decl String:Query[1024];
FormatEx(Query, 1024, "SELECT `bid` FROM `sb_bans` WHERE `authid`='%s' AND `RemovedBy`='';", szSteamId);
// new Handle:check = SQL_Query(h_Database, Query);
if (check != INVALID_HANDLE)
{
if (SQL_FetchRow(check))
{
KickHim(client);
if (GetConVarInt(h_AnnounceBan))
{
PrintToChatAll("%s Игрок %s отключен от сервера в связи с баном на SteamBans.ru", Pref, client);
}
}
}
return 0;
}
KickHim(client)
{
KickClient(client,"%s Вы забанены в системе SteamBans.ru", Pref);
}
public db_setupDatabase()
{
decl String:szError[255];
new Handle:kv = CreateKeyValues("steambans", "", "");
KvSetString(kv, "driver", "mysql");
KvSetString(kv, "host", "db.steambans.ru");
KvSetString(kv, "database", "steambans");
KvSetString(kv, "user", "steambans");
KvSetString(kv, "pass", "4TXokFnTdixnoe");
KvSetString(kv, "port", "3306");
h_Database = SQL_ConnectCustom(kv, szError, 256, true);
CloseHandle(kv);
if(h_Database == INVALID_HANDLE)
{
LogError("[SteamBans] Unable to connect to database (%s)", szError);
return;
}
}
public SQL_CheckCallback(Handle:owner, Handle:hndl, const String:error[], any:data)
{
if(hndl == INVALID_HANDLE)
{
LogError("%s Error database (%s)", Pref, error);
}
}
Этот же плагин используется на миксах пинчо, писал его я, специально для этих серверов.
PS: В этом исходнике "встроена" защита от школьника.