[Ajuda] Log
#1

й 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
Reply
#2

A pasta "Entrada" existe em scriptfiles?
Reply
#3

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
Reply
#4

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);
Reply
#5

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?
Reply
#6

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

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?
Reply
#8

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.
Reply
#9

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?
Reply
#10

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


Forum Jump:


Users browsing this thread: 1 Guest(s)