AdminTag (Source2006)

pluhaa

Участник
Сообщения
5
Реакции
0
Даровчек, рыбитишки.
Такая задачка: в просторах форума лежит плагин sb_auth, наверное многим известный. Так вот... у меня появилосb желание к нему добавитb пару новых задач, а именно: чтобы он с этой базы, которую берет, ещё и игрокам, не имеющим доступа именно к этому серверу, но отношение к базе в целом, выдавал префикс определенный. Нужна вот помощb.
(т.е. админы с других серверов вписанные в базу получат этот тег тоже)
В моём случае он выдает целых 7 ошибок при компиляции. Помогите?
--- Добавлено позже ---
#pragma semicolon 1
#include <sourcemod>
#include <sdktools>
#include <sdkhooks>

#define PLUGIN_VERSION "1.0.0.0"
public Plugin:myinfo =
{
name = "[SourceBans] Auth",
author = "AlexTheRegent",
description = "",
version = PLUGIN_VERSION,
url = ""
}

new Handle: g_hSQLdb;

public OnPluginStart()
{
SQL_TConnect(SQLT_OnConnect, "sourcebans");
}

public SQLT_OnConnect(Handle:hOwner, Handle:hQuery, const String:sError[], any:iNull)
{
if ( !hQuery ) {
LogError("SQLT_OnConnect: %s", sError);
SetFailState("SQLT_OnConnect: %s", sError);
}
g_hSQLdb = hQuery;

decl String:sAuth[32];
for ( new i = 1; i <= MaxClients; ++i ) {
if ( IsClientAuthorized(i) ) {
GetClientAuthString(i, sAuth, sizeof(sAuth));
OnClientAuthorized(i, sAuth);
}
}
}

public OnClientAuthorized(iClient, const String:sAuth[])
{
decl String:sQuery[256];
FormatEx(sQuery, sizeof(sQuery), "SELECT `srv_password` FROM sb_admins WHERE `authid` = '%s' AND (expired > UNIX_TIMESTAMP() OR expired = 0) LIMIT 1;", sAuth);
SQL_TQuery(g_hSQLdb, SQLT_OnClientAuthorized, sQuery, GetClientUserId(iClient));
}

public SQLT_OnClientAuthorized(Handle:hOwner, Handle:hQuery, const String:sError[], any:iUserId)
{
if ( !hQuery ) {
LogError("SQLT_OnClientAuthorized: %s", sError);
}

new iClient = GetClientOfUserId(iUserId);
if ( iClient && SQL_FetchRow(hQuery) ) {
decl String:sPassword[64], Handle:hDataPack;
SQL_FetchString(hQuery, 0, sPassword, sizeof(sPassword));

hDataPack = CreateDataPack();
WritePackString(hDataPack, sPassword);
QueryClientConVar(iClient, "_pw", OnQueryClientConVar, hDataPack);
}
}

public OnQueryClientConVar(QueryCookie:hCookie, iClient, ConVarQueryResult:hResult, const String:sConVarName[], const String:sConVarValue[], any:hDataPack)
{
decl String:sPassword[64];

ResetPack(hDataPack);
ReadPackString(hDataPack, sPassword, sizeof(sPassword));
if ( !StrEqual(sPassword, sConVarValue) ) {
KickClient(iClient, "Этот стим защищен! Обратитесь к администратору или используйте пароль для входа!");
}

CloseHandle(hDataPack);
}
 
Сверху Снизу