|
Veteran Member
Join Date: Dec 2009
Location: Belgium
|

08-10-2011
, 18:06
[MySQL] Save / Laod problem
|
#1
|
Hello,
for some reason sometimes players items gets removed,
sometimes it doesn't save a deagle level for example,
so I hope u guys can help me.
Save:
PHP Code:
public client_disconnect( iPlayer ) { Save(iPlayer); }
public Save(iPlayer) { new szSteamId[32], szName[32], szTemp[1200]; get_user_authid(iPlayer, szSteamId, charsmax(szSteamId)); get_user_name(iPlayer, szName, charsmax(szName)); replace_all(szName, charsmax(szName), "'", "") replace_all(szName, charsmax(szName), "`", "") replace_all(szName, charsmax(szName), "´", "") format(MySQL_Query, charsmax(MySQL_Query), "%s `totalEuro` = '%i', `Euro` = '%i', `rollwins` = '%i', `name` = '%s' WHERE `EuroMod`.`steamid` = '%s';","UPDATE `EuroMod` SET", g_tEuro[iPlayer], g_iEuro[iPlayer], tRolled[iPlayer], szName, szSteamId); SQL_ThreadQuery(MySQL_Tuple, "SQL_TrashHandler", MySQL_Query) format(szTemp,charsmax(szTemp),"UPDATE `EuroModItems` SET "); new a; for(a=0; a < g_iItemCount; a++) { format(szTemp, charsmax(szTemp), "%s`%i` = '%i', ", szTemp, a, g_iItemLevel[iPlayer][a]); } for(new z=0; z < g_iWeapCount; z++) { if(z == g_iWeapCount-1) format(szTemp, charsmax(szTemp), "%s`%i` = '%i' ", szTemp, z+a, g_iWeapLevel[iPlayer][z]); else format(szTemp, charsmax(szTemp), "%s`%i` = '%i', ", szTemp, z+a, g_iWeapLevel[iPlayer][z]); } format(MySQL_Query, charsmax(MySQL_Query), "%sWHERE `steamid` = '%s';",szTemp, szSteamId); SQL_ThreadQuery(MySQL_Tuple, "SQL_TrashHandler", MySQL_Query) }
Load:
PHP Code:
public client_authorized( iPlayer ) { Load(iPlayer); }
public Load(id) { new szSteamId[32]; get_user_authid(id, szSteamId, charsmax(szSteamId)); new szTemp[1] szTemp[0]=id format(MySQL_Query, charsmax(MySQL_Query), "SELECT * FROM `EuroMod` WHERE (`EuroMod`.`steamid` = '%s')", szSteamId); SQL_ThreadQuery(MySQL_Tuple, "Load_PlayerEuro", MySQL_Query, szTemp, 1) return PLUGIN_CONTINUE; } public Load_PlayerEuro(FailState, Handle:Query, Error[], Errcode, Data[], DataSize) { if(FailState == TQUERY_CONNECT_FAILED) log_amx("Load - Could not connect to SQL database. [%d] %s", Errcode, Error) else if(FailState == TQUERY_QUERY_FAILED) log_amx("Load Query failed. [%d] %s", Errcode, Error) new id = Data[0] new szSteamId[32]; get_user_authid(id, szSteamId, charsmax(szSteamId)); if(SQL_NumResults(Query) < 1) { new szName[32]; get_user_name(id, szName, 31); if (equal(szSteamId,"ID_PENDING")) return PLUGIN_HANDLED; g_tEuro[id] = 400; g_iEuro[id] = 400; new iItem[33]; for( iItem[id] = 0; iItem[id] < g_iItemCount; iItem[id]++ ) { g_iItemLevel[id][iItem[id]] = 0; } for( iItem[id] = 0; iItem[id] < g_iWeapCount; iItem[id]++ ) { g_iWeapLevel[id][iItem[id]] = 0; } format(MySQL_Query, charsmax(MySQL_Query),"INSERT INTO `EuroMod` ( `steamid`, `totalEuro` , `Euro`, `name` ) VALUES ('%s','%i','%i','%s')",szSteamId, g_tEuro[id], g_iEuro[id], szName) SQL_ThreadQuery(MySQL_Tuple, "SQL_TrashHandler", MySQL_Query) } else { g_tEuro[id] = SQL_ReadResult(Query, 1) g_iEuro[id] = SQL_ReadResult(Query, 2) } new szTemp[1]; szTemp[0] = id format(MySQL_Query, charsmax(MySQL_Query), "SELECT * FROM `EuroModItems` WHERE (`EuroModItems`.`steamid` = '%s')", szSteamId); SQL_ThreadQuery(MySQL_Tuple, "Load_PlayerEuroItems", MySQL_Query, szTemp, 1) return PLUGIN_CONTINUE; } public Load_PlayerEuroItems(FailState, Handle:Query, Error[], Errcode, Data[], DataSize) { if(FailState == TQUERY_CONNECT_FAILED) log_amx("Load - Could not connect to SQL database. [%d] %s", Errcode, Error) else if(FailState == TQUERY_QUERY_FAILED) log_amx("Load Query failed. [%d] %s", Errcode, Error) new id = Data[0] new a; if(SQL_NumResults(Query) < 1) { new szSteamId[32]; get_user_authid(id, szSteamId, charsmax(szSteamId)); format(MySQL_Query, charsmax(MySQL_Query), "INSERT INTO `EuroModItems` (`steamid`)VALUES ('%s');", szSteamId); SQL_ThreadQuery(MySQL_Tuple, "SQL_TrashHandler", MySQL_Query) } else { for(a=1; a <= g_iItemCount; a++) { g_iItemLevel[id][a-1] = SQL_ReadResult(Query, a); } for(new z=0; z < g_iWeapCount; z++) { g_iWeapLevel[id][z] = SQL_ReadResult(Query, z+a); } if( g_iWeapLevel[id][WEAPON_AWP] == 0 ) g_iWeapLevel[id][BULLET_AWP]=0 if( g_iWeapLevel[id][WEAPON_DEAGLE] == 0 ) g_iWeapLevel[id][BULLET_DEAGLE]=0 if( g_iWeapLevel[id][WEAPON_FS] == 0 ) g_iWeapLevel[id][BULLET_FS]=0 if( g_iWeapLevel[id][WEAPON_USP] == 0 ) g_iWeapLevel[id][BULLET_USP]=0 } }
TrashHandler:
PHP Code:
public SQL_TrashHandler(FailState,Handle:Query,Error[],Errcode,Data[],DataSize) { if(FailState == TQUERY_CONNECT_FAILED) log_amx("Load - Could not connect to SQL database. [%d] %s", Errcode, Error) else if(FailState == TQUERY_QUERY_FAILED) log_amx("Load Query failed. [%d] %s", Errcode, Error) }
__________________
Retired.
|
|