Wysłany: 2018-05-07, 13:35
carl0987
Wiek: 37 Na forum: 4891 dni Posty: 295
Nick w MP: Lolek
Piwa : 10
Witajcie! Chc? aby w konsoli pirntowa?o mi ip gracza. Zrobi?em tak ale niestety wy?wietla (null)
Pawn
new IP [ 24 ];
GetPlayerIp ( i , IP , 24 );
new string [ 256 ];
format ( string , sizeof (string), "%s" , IP );
print(string);
co jest nie tak ?
Wysłany: 2018-05-07, 14:04
Iggy
#admin
Wiek: 26 Na forum: 4597 dni Posty: 3469
Nick w MP: Iggy
Piwa : 1716
Administrator: Admin ma zawsze rację | REGULAMIN FORUM | REKLAMA/VIP | .
Pawn format ( string , sizeof (string), "%s" , IP );
Pobierasz ci?g liczbowy, czyli adres IP, a chcesz zrobi? format na tekstowy ci?g znak?w. Zmie? %s na %d i powinno dzia?a?.
Wysłany: 2018-05-07, 14:14
carl0987
Wiek: 37 Na forum: 4891 dni Posty: 295
Nick w MP: Lolek
Piwa : 10
Pr?bowa?em Zwraca mi do konsoli 0. B??d my?l? ?e le?y po stronie:
Pawn
Wysłany: 2018-05-07, 15:11
NitroFuN
El Barto
Wiek: 25 Na forum: 4127 dni Posty: 532
Piwa : 1195
Przypadkiem nie u?ywasz tego w OnPlayerDisconnect? Jak tak to musisz to wykona? na pocz?tku.
Sprawd? ten kod
Pawn new ip [ 24 ];
GetPlayerIp ( playerid , ip , sizeof ( ip ));
new string [ 256 ];
format ( string , sizeof (string), "%d" , ip );
print( ip );
U mnie ?miga
Podpis
GG: 61963221 - Discord: NitroFuN#2819
Gracz SA:MP - 2010-2019
Support Team - 26.11.2017 - 16.01.2018
Wysłany: 2018-05-07, 15:42
MG303
Wiek: 30 Na forum: 6418 dni Posty: 654
Piwa : 2990
Iggy , IP to ci?g znak?w, zawieraj?cy kropki i u?ywamy %s.
Zr?b pobieranie IP przy OnPlayerConnect.
Wysłany: 2018-05-07, 15:50
carl0987
Wiek: 37 Na forum: 4891 dni Posty: 295
Nick w MP: Lolek
Piwa : 10
z tym %s i %d to ju? kwestia poprawno?ci politycznej
Robi? to tak:
Pawn public OnRconLoginAttempt ( ip [], password [], success )
{
if( success ) //je?li has?o by?o poprawne
{
new pip [ 16 ];
for(new i = 0 ; i < MAX_PLAYERS ; i ++)
{
GetPlayerIp ( i , pip , sizeof ( pip ));
if(! strcmp ( ip , pip , true ))
{
ShowPlayerDialog ( i , 100 , DIALOG_STYLE_MSGBOX , "{0066FF}KICK!" , "{66FF66}Co z tego ?e znasz has?o do rcon?\n Na tym serwerze nie ma systemu admina na RCON to nie 0.3a..." , "OK" , "OK" );
new ip [ 24 ];
GetPlayerIp ( i , ip , sizeof ( ip ));
new string [ 256 ];
format ( string , sizeof (string), "%d" , ip );
print( ip );
SetTimer ( "kick" , 1000 , false );
}
}
}
return 1 ;
}
gdzie kick jest wykonywany tak:
Pawn forward kick ( playerid );
public kick ( playerid )
{
Kick ( playerid );
new str [ 64 ];
format ( str , 64 , "{00FF00}%s {FFFFFF}zosta? wyrzucony przez skrypt z serwera!" , PlayerName ( playerid )); //formtujemy wiadomo?? z nazw? gracza.
SendClientMessageToAll ( 0xFF0000AA , str );
return 1 ;
}
Wysłany: 2018-05-07, 16:25
MG303
Wiek: 30 Na forum: 6418 dni Posty: 654
Piwa : 2990
Na pierwszy rzut oka: zast?p settimer na settimerex z atrybutem playerid.
i kick(playerid); daj na ko?cu
Wysłany: 2018-05-07, 21:49
carl0987
Wiek: 37 Na forum: 4891 dni Posty: 295
Nick w MP: Lolek
Piwa : 10
Wydaje mi si? ?e b??d le?y po stronie playerid, mo?liwe ?e ?le zdefiniowane id gracza.
Dok?adniej chodzi o p?tl?
Wysłany: 2018-05-08, 15:36
Robson04
Wiek: 23 Na forum: 3183 dni Posty: 58
Nick w MP: Robson04
Piwa : 512
Kod: public OnPlayerConnect(playerid)
{
new ip_player[64], nazwagracza[MAX_PLAYER_NAME];
GetPlayerIp(playerid, ip_player, sizeof(ip_player));
GetPlayerName(playerid, nazwagracza, sizeof(nazwagracza));
new string[128];
format(string, sizeof(string), "Gracz: %s wszed? do gry z IP: %f", nazwagracza, ip_player);
printf(string);
//Code by Robson04
}
Je?eli tworzysz na razie serwer na swoim komputerze ip b?dzie zawsze 127.0.0.1, aby widzie? poprawne IP musisz stworzy? serwer na jakim? serwisie hostowanym.
Wysłany: 2018-05-09, 01:53
Pr0f3ssi0n4LisT
Wiek: 25 Na forum: 6845 dni Posty: 120
Piwa : 3653
Ip gracza to tekst nie liczba wiec uzywamy %s tylko po co uzywac do tego formata skoro wystarczy samo print w tym przypadku
Co do problemu to jest on taki ze nie sprawdzasz czy gracz jest connected, a co za tym idzie nie pobiera ip bo nie ma od kogo wiec printuje null pusty string
Polecam dodac tez anty rcon flood bo raczej kalcor tego nie naprawil i mozna wywalic serwer spamem blednym rconem
Pawn public OnRconLoginAttempt ( ip [], password [], success )
{
if( success ) //je?li has?o by?o poprawne
{
new pip [ 16 ];
for( success = GetPlayerPoolSize (); success > - 1 ; success --)
{
if( GetPlayerIp ( success , pip , sizeof ( pip ) > 0 )
{
if(! strcmp ( ip , pip , true ))
{
ShowPlayerDialog ( success , 100 , DIALOG_STYLE_MSGBOX , "{0066FF}KICK!" , "{66FF66}Co z tego ?e znasz has?o do rcon?\n Na tym serwerze nie ma systemu admina na RCON to nie 0.3a..." , "OK" , "OK" );
print( pip );
SetTimerEx ( "kick" , 1000 , false , "i" , success );
}
}
}
}
return 1 ;
}
Tagi: printowanie
Anonymous
Na forum: 245 dni
Posty: 1
Anonymous Koniecznie zajrzyj na: