AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Scripting Help (https://forums.alliedmods.net/forumdisplay.php?f=11)
-   -   The problem with sql to ban ct (https://forums.alliedmods.net/showthread.php?t=207751)

dragooon 02-06-2013 10:58

The problem with sql to ban ct
 
Hi, I have a problem because I do not know what it is, but as a player escape the ban is a ban but adds the server to enter can enter the CT and the ban can no longer add I wrote that already has a ban. I have to check the database there is nothing that a player is banned, in general it does not show in the database. And yet it happened in August so that players can not get into CT and do not have the ban added. No error logs

Code:

register_clcmd("say /banct", "ADD2MySQL", ADMIN_IMMUNITY);

public DodajGracza(id)
{
if(!is_user_connected(id) || !(get_user_flags(id) & ADMIN_BAN))
{
return PLUGIN_HANDLED;
}

new sid_gracza[33];
read_argv(1, sid_gracza, 32);
Steam = sid_gracza;
if(SqlConnected)
{
new Data[1]
Data[0] = id
new qCommand[512]
format(qCommand, sizeof qCommand-1, "SELECT * FROM `amx_jailbansct` WHERE `authid` = '%s'", Steam)
SQL_ThreadQuery(SQL_TUPLE, "ChecKomenda", qCommand, Data, 1)
}
else
{
connect_sql();
client_print(id, print_console, "Ponow dodawanie STEAM ID.");
}
return PLUGIN_HANDLED;
}
public connect_sql()
{
if(SqlConnected) return PLUGIN_CONTINUE;

SQL_TUPLE = SQL_MakeDbTuple("host", "userbazy", "haslo", "nazwabazy");

new sZapytanie[351];
format(sZapytanie, 350, "CREATE TABLE IF NOT EXISTS `amx_jailbansct` (`id` int( 11 ) NOT NULL AUTO_INCREMENT, `authid` varchar(100) NOT NULL, `date` varchar(100) NOT NULL, `admin_sid` varchar(100) NOT NULL, `admin_name` varchar(100) NOT NULL, PRIMARY KEY (`id`), UNIQUE KEY (`authid`))");
SQL_ThreadQuery(SQL_TUPLE, "connect_sql_handle", sZapytanie);
return PLUGIN_CONTINUE;
}
public connect_sql_handle(FailState, Handle:Query, Error[], Errcode, Data[], DataSize)
{
SqlConnected = 1;
if(Errcode)
{
SqlConnected = 0;
server_print("Error on Table query: %s",Error);
}
if(FailState == TQUERY_CONNECT_FAILED)
{
server_print("Could not connect to SQL database.");
SqlConnected = 0;
}
else if(FailState == TQUERY_QUERY_FAILED)
{
server_print("Table Query failed.");
SqlConnected = 0;
}
return PLUGIN_CONTINUE;
}
public ADD2MySQL(id)
{
if(!is_user_connected(id) || !(get_user_flags(id) & ADMIN_IMMUNITY))
{
return PLUGIN_HANDLED;
}

new key[128], info[8], name[64], team[6];
new menu = menu_create("Wybierz gracza:", "menu_click");

for(new i = 1; i < 33; i++)
{
if(is_user_connected(i) && !blokada[i])
{
if(get_user_team(i) == 1)
{
team = "TT";
}
else if(get_user_team(i) == 2)
{
team = "CT";
}
else
{
team = "SPECT";
}
get_user_name(i, name, 63);
formatex(info, 7, "%d", i);
formatex(key, 127, "\w%s\y\R[%s]", name, team);
menu_additem(menu, key, info);
}
}
menu_setprop(menu, MPROP_BACKNAME, "Poprzednia strona");
menu_setprop(menu, MPROP_NEXTNAME, "Nastepna strona");
menu_setprop(menu, MPROP_EXITNAME, "Wyjdz");
menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
menu_display(id, menu);
return PLUGIN_HANDLED;
}
public menu_click(id, menu, item)
{
new access, info[8], name[63], callback;

menu_item_getinfo(menu, item, access, info, 7, name, 63, callback);

new kogo = str_to_num(info);

if(item != MENU_EXIT && item != MENU_BACK && item != MENU_MORE)
{
if(is_user_connected(kogo) && !blokada[kogo])
{
new admin_name[33], admin_sid[33], sid[33], name[33];
get_user_name(id, admin_name, 32);
get_user_name(kogo, name, 32);
get_user_authid(id, admin_sid, 32);
get_user_authid(kogo, sid, 32);
log_amx("ADMIN %s <%s> zbanowal w CT <%s>", admin_name , admin_sid , sid);
if(SqlConnected)
{
new date[33];
get_time("%H:%M:%S %d-%m-%Y", date, 19);
new sZapytanie[512];
format(sZapytanie, 511, "INSERT INTO `amx_jailbansct` (`authid`, `date`, `admin_sid`, `admin_name` ) VALUES ('%s', '%s', '%s', '%s')", sid, date, admin_sid, admin_name);
SQL_ThreadQuery(SQL_TUPLE, "ADD_handle", sZapytanie);
blokada[kogo] = true;
ColorChat(id, GREEN, "^x01 Gracz ^x03%s^x01 zostal pomyslnie zbanowany. ", name);
}
else connect_sql();
}
}
menu_destroy(menu);
return PLUGIN_HANDLED;
}
public ADD_handle(FailState, Handle:Query, Error[], Errcode, Data[], DataSize)
{
if(Errcode)
server_print("Error on CreateClass query: %s",Error);
if(FailState == TQUERY_CONNECT_FAILED)
server_print("Could not connect to SQL database.");
else if(FailState == TQUERY_QUERY_FAILED)
server_print("CreateClass Query failed.");
return PLUGIN_CONTINUE;
}
public client_connect(id)
{
if(SqlConnected)
{
new Data[1]
Data[0] = id
new qCommand[512], sid[32]
get_user_authid(id, sid, charsmax(sid))
format(qCommand, sizeof qCommand-1, "SELECT * FROM `amx_jailbansct` WHERE `authid` = '%s'", sid)
SQL_ThreadQuery(SQL_TUPLE, "CheckHandler", qCommand, Data, 1)
}
else connect_sql();
}
public CheckHandler(FailState, Handle:Query, Error[], Errorcode, Data[], DataSize)
{
new id = Data[0]
if(Errorcode)
{
log_amx("Blad w zapytaniu: %s [CheckData]", Error)
return PLUGIN_CONTINUE;
}

if(FailState == TQUERY_CONNECT_FAILED)
{
log_amx("Nie mozna podlaczyc sie do bazy danych.")
return PLUGIN_CONTINUE;
}
else if(FailState == TQUERY_QUERY_FAILED)
{
log_amx("Zapytanie anulowane [CheckData]")
return PLUGIN_CONTINUE;
}

if(!SQL_MoreResults(Query))
{
blokada[id] = false;
}

else
{
blokada[id] = true;
}

return PLUGIN_CONTINUE
}
public ChecKomenda(FailState, Handle:Query, Error[], Errorcode, Data[], DataSize)
{
new id = Data[0]
if(Errorcode)
{
log_amx("Blad w zapytaniu: %s [CheckData]", Error)
return PLUGIN_CONTINUE;
}

if(FailState == TQUERY_CONNECT_FAILED)
{
log_amx("Nie mozna podlaczyc sie do bazy danych.")
return PLUGIN_CONTINUE;
}
else if(FailState == TQUERY_QUERY_FAILED)
{
log_amx("Zapytanie anulowane [CheckData]")
return PLUGIN_CONTINUE;
}

if(!SQL_MoreResults(Query))
{
new admin_name[33], admin_sid[33];
get_user_name(id, admin_name, 32);
get_user_authid(id, admin_sid, 32);
log_amx("ADMIN %s <%s> zbanowal w CT <%s>", admin_name , admin_sid , Steam);
if(SqlConnected)
{
new date[33];
get_time("%H:%M:%S %d-%m-%Y", date, 19);
new sZapytanie[512];
format(sZapytanie, 511, "INSERT INTO `amx_jailbansct` (`authid`, `date`, `admin_sid`, `admin_name` ) VALUES ('%s', '%s', '%s', '%s')", Steam, date, admin_sid, admin_name);
SQL_ThreadQuery(SQL_TUPLE, "ADD_handle", sZapytanie);
client_print(id, print_console, "%s dodane!", Steam);
}
else connect_sql();

}

else
{
client_print(id, print_console, "Juz istnieje taki wpis w bazie!(%s)", Steam);
return PLUGIN_HANDLED;
}

return PLUGIN_CONTINUE
}



All times are GMT -4. The time now is 20:30.

Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.