Problem z sql do ban ct
Andrzejek 06.02.2013
Witam mam pewien problem, ponieważ nie wiem co jest, ale jak gracz ucieknie przed banem to dodaje bana ale jak wejdzie na serwer to moze wejsc do CT, a bana już nie mozna dodac bo pisze ze juz ma bana. I jeszcze jak sprawdzam w bazie danych to nie ma nic że gracz ma bana, w ogóle go nie pokazuje w bazie. I jeszcze sie tak zdarzyło, że gracze nie moga wejsc do CT a bana nie maja dodanego. Brak error logów
Edited by Andrzejek, 06.02.2013 16:49.
Spoiler
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
}
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
}
Edited by Andrzejek, 06.02.2013 16:49.