Siemka.
Mam problem z logami a dokładnie z SQL_ThreadQuery
L 11/09/2014 - 19:19:48: [AMXX] Run time error 10: native error (native "SQL_ThreadQuery") L 11/09/2014 - 19:19:48: [AMXX] [0] plug_2583001.sma::WczytajDane (line 126) L 11/09/2014 - 19:19:48: [AMXX] [1] plug_2583001.sma::client_connect (line 220)
To samo z zapisem.
Kod odpowiedzialny za zapis i wczytanie:
public WczytajDane(id)
{
new query2[256], nick[33], data[1];
data[0] = id;
get_user_name(id, nick, charsmax(nick))
formatex(query2, 255, "SELECT * FROM `gracze` WHERE `nick` = '%s' AND `serwer` = '%s'", nick, ipport_serv)
SQL_ThreadQuery(g_SqlTuple, "Wczytaj_Handler", query2, data, 1)
}
public Wczytaj_Handler(FailState,Handle:Query,Error[],Errcode,data[],DataSize)
{
if(FailState != TQUERY_SUCCESS){
log_amx("MySQL Wczytaj_Handler: %s", Error);
return;
}
new id = data[0];
if(!is_user_connected(id) && !is_user_connecting(id))
return;
if(!SQL_MoreResults(Query))
{
new query2[256], nick[33];
get_user_name(id, nick, charsmax(nick))
formatex(query2, 255, "INSERT INTO `gracze` (`nick`, `serwer`, `punkty`) VALUES ('%s', '%s', '%i')", nick, ipport_serv, 0)
SQL_ThreadQuery(g_SqlTuple, "Zapisz_Handler", query2, data, DataSize)
return;
}
punkty_gracza[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "punkty"));
}
public ZapiszDane(id)
{
if(!is_user_connected(id))
return;
new query[256], nick[33];
get_user_name(id, nick, 32);
format(query,255,"UPDATE `gracze` SET `punkty`='%d' WHERE `nick`='%s' AND `serwer`='%s'", punkty_gracza[id], nick, ipport_serv);
SQL_ThreadQuery(g_SqlTuple,"Zapisz_Handler",query)
}
public Zapisz_Handler(FailState,Handle:Query,Error[],Errcode,Data[],DataSize)
{
if(FailState != TQUERY_SUCCESS){
log_amx("MySQL Zapisz_Handler: %s", Error);
return;
}
}
Prawdopodobnie to przyczyna znaków specjalnych których baza nie może zapisać.
Jednak nie wiem jak zrobić to w taki sposób aby zapisywała lub jeśli ktoś ma w nicku znaki specjalne takie jak ' czy . po prostu nie zapisywało.


Dodatki SourceMod



Temat jest zamknięty












