De cateva zile am o problema cu GetPlayerIp in callback-ul OnPlayerDisconnect.
public OnPlayerDisconnect( playerid, reason )
{
#pragma unused reason
new id;
mysql_query( "SELECT * FROM `justleft`;" );
mysql_store_result( );
id = mysql_num_rows( );
mysql_free_result( );
new MQuery[ 256 ], pName[ MAX_PLAYER_NAME ], pIP[ 16 ];
GetPlayerName( playerid, pName, sizeof (pName) );
GetPlayerIp( playerid, pIP, sizeof (pIP) );
format( MQuery, sizeof (MQuery), "INSERT INTO `justleft` (`id`, `player`, `ip`) VALUES (%d, '%s', '%s');",
(id + 1), pName, pIP );
mysql_query( MQuery );
return true;
}
Cand un jucator iese, adica /quit sau ESC/Quit Game GetPlayerIp va returna valoarea 255.255.255.255, dar daca primeste kick sau ban din consola sau in joc, GetPlayerIp va returna IP-ul corect al jucatorului. Nu cred ca ii ceva gresit cu codul de mai sus, pentru ca returneaza valoarea corecta cand un jucator iese via kick/ban :|. Sau ii gresit ceva si nu-mi dau eu seama...