Jump to content
  • 0

GetPlayerIp @ OnPlayerDisconnect


LaZ

Question

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...

Link to comment
Share on other sites

2 answers to this question

Recommended Posts

Guest farse

Totul mi se pare corect..poti sa faci o variabila globala,si la OnPlayerConnect pui GetPlayerIp si la OnPlayerDisconnect direct variabila,alta idee,n-am..

Link to comment
Share on other sites

Totul mi se pare corect..poti sa faci o variabila globala,si la OnPlayerConnect pui GetPlayerIp si la OnPlayerDisconnect direct variabila,alta idee,n-am..

new pIP[ 16 ];
...
public OnPlayerConnect( playerid )
{
    GetPlayerIp( playerid, pIP, sizeof (pIP) );

    return true;
}

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 ];
	GetPlayerName( playerid, pName, sizeof (pName) );

	format( MQuery, sizeof (MQuery), "INSERT INTO `justleft` (`id`, `player`, `ip`) VALUES (%d, '%s', '%s');",
	(id + 1), pName, pIP );
	mysql_query( MQuery );

	return true;
}
Imi arata IP-ul adevarat, dar nu sunt sigur daca ii corect pentru ca (vezi jos)...
Admin >> JustLeft: #31  [NoV]LaZ (127.0.0.1) -> jucatorul care s-a deconectat de curand
/justleft 31 motiv
Admin >> JustLeft: [NoV]LaZ has been banned by [NoV]LaZ (motiv)

Jucatorii se conecteaza si se deconecteaza in ritmuri diferite, si nu sunt sigur daca numele coincide cu IP-ul, nu prea bine pentru o comanda /ban.

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more details you can also review our Terms of Use and Privacy Policy.