public OnPlayerConnectSafe(playerid)
{
new query[128];
GetPlayerIp(playerid, IP[playerid], 16);
mysql_format(mysql, query, sizeof(query),"SELECT `IP`, `Password`, `ID` FROM `players` WHERE `Username` = '%e' LIMIT 1", pName(playerid));
mysql_tquery(mysql, query, "OnAccountCheck", "i", playerid);
return 1;
}
if(IsLoggedIn[playerid] == 1)
{
SavePlayerData(playerid);
IRC_GroupSay(groupID, IRC_aCHANNEL, "data saved and updated ip");
}
stock SavePlayerData(playerid)
{
if(IsLoggedIn[playerid] == 1)
{
new query[300];
mysql_format(mysql, query, sizeof(query), "UPDATE `players` SET `IP` = '%e', `Admin` = %d, `Tokens` = %d, `Kills` = %d,`Deaths` = %d, `Score` = %d, `Money` = %d, `Hours` = %d,\
`Minutes` = %d, `RaceWon` = %d WHERE `ID` = %d",
IP[playerid], pData[playerid][Admin], pData[playerid][Tokens], pData[playerid][Kills],pData[playerid][Deaths], GetPlayerScore(playerid),\
pData[playerid][Money], pData[playerid][pHours], pData[playerid][pMinutes],pData[playerid][RaceWon], pData[playerid][ID]);
mysql_tquery(mysql, query);
}
return 1;
}
Are you joining with a different IP? When you say it doesn't update... you mean the value doesn't change or it doesn't have a value?
|
Have you tried debugging to see what the value of 'IP[playerid]' is?
|
I didn't totally understand what you're trying to say, Can you explain more with details?
|
GetPlayerIp(playerid, IP[playerid], 16);
IP[playerid] is a variable, which means that you must set for it a value each time used.
That's why it is not updated when the player reconnects, You must make a function to get the player's IP using this function first. PHP код:
Then go ahead |
PAWN is case-sensitive. GetPlayerIP will not work. This function does not work when used in OnPlayerDisconnect because the player is already disconnected. It will return an invalid IP (255.255.255.255). Save players' IPs under OnPlayerConnect if they need to be used under OnPlayerDisconnect. |