SA-MP Forums Archive
[Ajuda] Log - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (https://sampforum.blast.hk/forumdisplay.php?fid=34)
+---- Thread: [Ajuda] Log (/showthread.php?tid=632963)



Log - Scorpion659 - 22.04.2017

й o seguinte, criei uma log pra pegar o nome, ip, ping de cada pessoa que conecta, mas quando alguem conecta o server crasha, nгo sei pq, codigo: (cada vez que alguem entra, o server fecha e cria um arquivo chamado crashinfo)

PHP код:
      new logent[128], time[6], data[128], infoplayer[256], nomeplayer[MAX_PLAYER_NAME], ipplayer[16], pingplayer;
        
gettime(time[0], time[1], time[2]);
        
getdate(time[3], time[4], time[5]);
        
GetPlayerName(playeridnomeplayersizeof(nomeplayer));
        
GetPlayerIp(playeridipplayersizeof(ipplayer));
        
pingplayer GetPlayerPing(playerid);
        
format(logentsizeof(logent), "Entrada/Entradas.ini");
        
format(datasizeof(data), "[%02d/%02d/%d][%02d:%02d:%02d]:",time[5], time[4], time[3], time[0], time[1], time[2]);
        
format(infoplayersizeof(infoplayer), "%s Nick: %s, IP: %d, Ping: %d\n"datanomeplayeripplayerpingplayer);
        if(
DOF2_FileExists(logent))
        {
                  
DOF2_SetString(logent"Entrada"infoplayer);
        }else{
                 
DOF2_CreateFile(logent);
                 
DOF2_SetString(logent"Entrada"infoplayer); 
crashinfo: https://pastebin.com/sKKUEGAd

ajuda pls


Re: Log - RodrigoMSR - 22.04.2017

A pasta "Entrada" existe em scriptfiles?


Re: Log - Scorpion659 - 22.04.2017

Jб sei meu erro, ele n vai criar uma linha pra cada pessoa, sempre que alguem entrar ele vai substituir pela linha anterior, como eu faзo com o DOF 2 pra ele escrever uma nova linha em forma de log ex:

[2015-07-17 19:58:35] Starting editor_test
[2015-07-17 19:58:35] startResource: Resource 'editor_test' started
[2015-07-17 19:58:48] Stopping freeroam
[2015-07-17 19:58:48] Stopping editor_test


Re: Log - RodrigoMSR - 22.04.2017

Com DOF2 acho que nгo й possнvel, mas com as funзхes nativas sim:
Код:
if(!DOF2_FileExists(logent)) DOF2_CreateFile(logent);
new File:efile = fopen(logent, io_append);
fwrite(efile, infoplayer);
fclose(efile);
Код:
format(infoplayer, sizeof(infoplayer), "%s Nick: %s, IP: %d, Ping: %d\r\n", data, nomeplayer, ipplayer, pingplayer);



Re: Log - Scorpion659 - 22.04.2017

Quote:
Originally Posted by RodrigoMSR
Посмотреть сообщение
Com DOF2 acho que nгo й possнvel, mas com as funзхes nativas sim:
Код:
if(!DOF2_FileExists(logent)) DOF2_CreateFile(logent);
new File:efile = fopen(logent, io_append);
fwrite(efile, infoplayer);
fclose(efile);
Код:
format(infoplayer, sizeof(infoplayer), "%s Nick: %s, IP: %d, Ping: %d\r\n", data, nomeplayer, ipplayer, pingplayer);
cara, continuo crashando, serб que o fwrite abre e edita arquivo ini? como eu crio um arquivo .txt?


Re: Log - RodrigoMSR - 22.04.2017

Quote:
Originally Posted by Scorpion659
Посмотреть сообщение
cara, continuo crashando, serб que o fwrite abre e edita arquivo ini? como eu crio um arquivo .txt?
A pasta "Entrada" nгo existe em scriptfiles, й a ъnica explicaзгo pro crash, o fwrite abre e edita as duas extensхes de arquivo.


Re: Log - Scorpion659 - 22.04.2017

Quote:
Originally Posted by RodrigoMSR
Посмотреть сообщение
A pasta "Entrada" nгo existe em scriptfiles, й a ъnica explicaзгo pro crash, o fwrite abre e edita as duas extensхes de arquivo.
cara consegui

ficou assim, nem to usando o dof2 pra isso, criei manualmente o arquivo entrada:

PHP код:
        new time[6], data[128], infoplayer[256], nomeplayer[MAX_PLAYER_NAME], ipplayer[16], pingplayer;
    new 
File:efile fopen("Entrada/Entradas.txt"io_append);
        
gettime(time[0], time[1], time[2]);
        
getdate(time[3], time[4], time[5]);
        
GetPlayerName(playeridnomeplayersizeof(nomeplayer));
        
GetPlayerIp(playeridipplayersizeof(ipplayer));
        
pingplayer GetPlayerPing(playerid);
        
format(datasizeof(data), "[%02d/%02d/%d][%02d:%02d:%02d]:",time[5], time[4], time[3], time[0], time[1], time[2]);
        
format(infoplayersizeof(infoplayer), "%s Nick: %s, IP: %d, Ping: %d\n"datanomeplayeripplayerpingplayer);
    
fwrite(efileinfoplayer);
    
fclose(efile); 
e a log ta assim:

Quote:

[22/04/2017][15:14:32]: Nick: Scorpion_Kairos, IP: 49, Ping: 65535

sу me explica uma coisa, pq o ip ficou 49 e o ping 65535?


Re: Log - RodrigoMSR - 22.04.2017

IP й uma string (%s), e sobre o PING, na OnPlayerConnect ele nгo funciona direito, recomendo tentar exibir essas informaзхes ao jogador efetuar login.


Re: Log - Scorpion659 - 22.04.2017

Quote:
Originally Posted by RodrigoMSR
Посмотреть сообщение
IP й uma string (%s), e sobre o PING, na OnPlayerConnect ele nгo funciona direito, recomendo tentar exibir essas informaзхes ao jogador efetuar login.
ultima pergunta, pq a quebra de linha n ta funcionando?

format(infoplayer, sizeof(infoplayer), "%s Nick: %s, IP: %d, Ping: %d \r \n", data, nomeplayer, ipplayer, pingplayer);

coloquei o \r\n junto, separado mas nгo funciona, ele fica tudo numa linha, tu sabe o pq?


Re: Log - RodrigoMSR - 22.04.2017

Quote:
Originally Posted by Scorpion659
Посмотреть сообщение
ultima pergunta, pq a quebra de linha n ta funcionando?

format(infoplayer, sizeof(infoplayer), "%s Nick: %s, IP: %d, Ping: %d \r \n", data, nomeplayer, ipplayer, pingplayer);

coloquei o \r\n junto, separado mas nгo funciona, ele fica tudo numa linha, tu sabe o pq?
Tente apagar o arquivo e deixar o cуdigo criб-lo de novo (com \r\n junto).