Logi:
L 05/16/2010 - 20:57:35: [AMXX] Displaying debug trace (plugin "GangMod.amxx") L 05/16/2010 - 20:57:35: [AMXX] Run time error 5: memory access L 05/16/2010 - 20:57:35: [AMXX] [0] temp39.sma::AddRecord (line 247) L 05/16/2010 - 20:57:35: [AMXX] [1] temp39.sma::fwHamSpawnPost (line
Oraz kod:
public AddRecord(id)
{
if(!g_boolsqlOK)
sql_start()
else
{
new q_command[64], name[32], data[1]
get_user_name(id, name, 31)
format(q_command, 511, "INSERT INTO %s VALUES('%s', 'Brak', 0, 0);", g_sqlUserTable, name)
data[0] = id
SQL_ThreadQuery(g_SqlTuple, "AddRecordHandle", q_command, data, 1)
}
}
public AddRecordHandle(FailState, Handle:Query, Error[], Errorcode, Data[], DataSize)
{
new id = Data[0]
if(Errorcode)
{
log_to_file("gang_sql.log","Error on Add Record query: %s",Error)
RecordCreated[id] = false
}
if(FailState == TQUERY_CONNECT_FAILED)
{
log_to_file("gang_sql.log","Could not connect to SQL database.")
RecordCreated[id] = false
return PLUGIN_CONTINUE
}
else if(FailState == TQUERY_QUERY_FAILED)
{
log_to_file("gang_sql.log","Add Record Query failed.")
RecordCreated[id] = false
return PLUGIN_CONTINUE
}
RecordCreated[id] = true
return PLUGIN_CONTINUE
}
Na wszelki wypadek jeszcze funkcja sql_start:
public sql_start()
{
if(g_boolsqlOK) return
new host[128]
new user[64]
new pass[64]
new database[64]
get_pcvar_string(cvar_sql_db, database, 63)
get_pcvar_string(cvar_sql_host, host, 127)
get_pcvar_string(cvar_sql_login, user, 63)
get_pcvar_string(cvar_sql_pass, pass, 63)
g_SqlTuple = SQL_MakeDbTuple(host, user, pass, database)
get_pcvar_string(cvar_sql_gangstable, g_sqlGangTable, 63)
get_pcvar_string(cvar_sql_userstable, g_sqlUserTable, 63)
new q_command[512]
format(q_command,511,"CREATE TABLE IF NOT EXISTS `%s` ( `nick` VARCHAR( 64 ),`gang_name` VARCHAR( 64 ),`gang_id` integer( 3 ), `leader` integer( 2 ) ) ",g_sqlUserTable)
SQL_ThreadQuery(g_SqlTuple,"TableHandle",q_command)
format(q_command, 511, "CREATE TABLE IF NOT EXISTS `%s` ( `gang_name` VARCHAR( 64 ),`leader_name` VARCHAR( 64 ),`gang_id` integer( 3 ) auto_increment, `gang_lvl` integer( 3 ), PRIMARY KEY (gang_id) )", g_sqlGangTable)
SQL_ThreadQuery(g_SqlTuple, "TableHandle", q_command)
}
public TableHandle(FailState,Handle:Query,Error[],Errcode,Data[],DataSize)
{
// lots of error checking
g_boolsqlOK=1
if(Errcode)
{
g_boolsqlOK=0
log_to_file("gang_sql.log","Error on Table query: %s",Error)
}
if(FailState == TQUERY_CONNECT_FAILED)
{
log_to_file("gang_sql.log","Could not connect to SQL database.")
g_boolsqlOK=0
return PLUGIN_CONTINUE
}
else if(FailState == TQUERY_QUERY_FAILED)
{
log_to_file("gang_sql.log","Table Query failed.")
g_boolsqlOK=0
return PLUGIN_CONTINUE
}
return PLUGIN_CONTINUE
}
Nie mam pojęcia, co jest źle ^.^' Najlepsze jest to, że jedyne co zmieniałem to zapytanie z auto_increment z ktorym knopers mi pomogl ( i za co mu dziekuje ) a po pewnym resecie serwera wywala mi ten error ^.^'
Użytkownik Owner123 edytował ten post 16.05.2010 20:01