Code:
public Load_MySql(id)
{
new szSteamId[32], szTemp[512]
get_user_authid(id, szSteamId, charsmax(szSteamId))
new Data[1]
Data[0] = id
format(szTemp,charsmax(szTemp),
"SELECT * FROM `%s` \
WHERE (`%s`.`authid` = '%s')",
gTn,gTn,szSteamId);
SQL_ThreadQuery(g_SqlTuple,"register_client",szTemp,Data,1)
SQL_FreeHandle(g_SqlConnection)
}
public register_client(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
id = Data[0]
if(SQL_NumResults(Query) < 1)
{
//.if there are no results found
new szSteamId[32]
get_user_authid(id, szSteamId, charsmax(szSteamId)) // get user's steamid
new szName[32]
get_user_name(id, szName, charsmax(szName)) // get user's name
// if its still pending we can't do anything with it
if (equal(szSteamId,"ID_PENDING"))
return PLUGIN_HANDLED
new status[10]
if(is_user_connected(id))
{
status="Online"
}
else
{
status="Offline"
}
new szTemp[1024];
format(szTemp,charsmax(szTemp),
"INSERT INTO `%s` \
(`authid`,`name`,`tkills`,`theadshots`,`deaths \
`damage`,`points`,`c4p`,`c4d` \
`m4a1hs`,`ak47hs`,`awphs`,`famashs`,`galilhs` \
`knifehs`,`deaglehs`,`usphs`,`glockhs` \
`hekills`,`m4a1kills`,`ak47kills`,`awpkills`,`famaskills` \
`galilkills`,`knifekills`,`deaglekills`,`uspkills`,`glockkills` \
`status`) \
VALUES \
('%s','%s','0','0','0' \
'0','0','0','0' \
'0','0','0','0','0' \
'0','0','0',0' \
'0','0','0','0','0' \
'0','0','0','0','0' \
'%s');",
gTn,gTn,szSteamId,szName,gTn,gTn,gTn,gTn,gTn,gTn,status);
}
else
{
// if there are results found
g_iPoints[id] = SQL_ReadResult(Query, 1)
}
return PLUGIN_HANDLED
}
public Save_MySql(id)
{
new szSteamId[32],szTemp[1024]
get_user_authid(id, szSteamId, charsmax(szSteamId))
new status[10]
if(is_user_connected(id))
{
status="Online"
}
else
{
status="Offline"
}
new szName[32]
get_user_name(id, szName, charsmax(szName))
format(szTemp,charsmax(szTemp),
"UPDATE `%s` SET \
(`name`='%s',`tkills`='%d',`theadshots`='%d',`deaths`='%d',`damage`='%d' \
`c4p ='%d',`c4d ='%d' \
`m4a1hs`='%d',`ak47hs`='%d',`awphs`='%d',`famashs`='%d',`galilhs`='%d' \
`knifehs`='%d',`deaglehs`='%d',`usphs`='%d',`glockhs`='%d' \
`hekills`='%d',`m4a1kills`='%d',`ak47kills`='%d',`awpkills`='%d' \
`galilkills`='%d',`knifekills`='%d',`deaglekills`='%d',`uspkills`='%d' \
`glockkills`='%d',`famaskills`='%d',`status`='%s',`points`='%i') \
WHERE (`%s`.`authid`='%s')",
gTn,szName,g_Kills[id],g_TotalHs[id],g_Deaths[id],g_Damage[id],
g_BombsPlanted[id],g_BombsDefused[id],g_M4a1Hs[id],g_Ak47Hs[id],g_AwpHs[id],
g_FamasHs[id],g_GalilHs[id],g_KnifeHs[id],g_DeagleHs[id],g_UspHs[id],
g_GlockHs[id],g_HeKills[id],g_M4a1Kills[id],g_Ak47Kills[id],g_AwpKills[id],
g_GalilKills[id],g_KnifeKills[id],g_DeagleKills[id],g_UspKills[id],g_GlockKills[id],
g_FamasKills[id],status,g_iPoints[id],gTn,szSteamId)
SQL_ThreadQuery(g_SqlTuple,"IgnoreHandle",szTemp)
}
public IgnoreHandle(FailState,Handle:Query,Error[],Errcode,Data[],DataSize)
{
SQL_FreeHandle(Query)
return PLUGIN_HANDLED
}