[Ajuda] Ler & armazenar dados
#1

Ola parece bobo mas estou com dificuldade de ler um arquivo .
Eu mesmo tentei de varios modos ai recori ao wikipedia 'O fodao do sa-mp'

Ele informa este codigo
PHP код:
             new string[500]; // Create the string to store the read text in
            
new File:example fopen(fileio_read); // Open the file
            
fread(examplestring); // Read a line from the file and store it in 'string'
            
fclose(example); // Close the file
            
print(string); // Print what was read 
Porem isso so leu uma linha do arquivo , eu tinha em mente ou ler todas ou ler algumas linhas especificas.
Agora como posso fazer para conseguir uma dessas duas opзoes


Minha outra duvida e em relзгo ao ip , ele chego a armazenar corretamente meu ip uma vez depois ele so fica salvando 50

PHP код:
 GetPlayerIp(playeridplrIPsizeof(plrIP));
    
format(teteu100"uIp %s\r\n"plrIP);
    
fwrite(tututeteu); 
Antes ele salvava em uma variavel , ai optei diretamente , mesmo assim so salva 50.
E quando carrega ele nгo aparece o IP em msg , sendo que a variavel deste 'IP' e string .


Desde de ja obrigado pela atenзгo.
Reply
#2

https://sampwiki.blast.hk/wiki/Fread
->Reading Line-by-Line

https://sampwiki.blast.hk/wiki/GetPlayerIp
Reply
#3

Quote:
Originally Posted by Don_Speed
Посмотреть сообщение
Ola parece bobo mas estou com dificuldade de ler um arquivo .
Eu mesmo tentei de varios modos ai recori ao wikipedia 'O fodao do sa-mp'

Ele informa este codigo
PHP код:
             new string[500]; // Create the string to store the read text in
            
new File:example fopen(fileio_read); // Open the file
            
fread(examplestring); // Read a line from the file and store it in 'string'
            
fclose(example); // Close the file
            
print(string); // Print what was read 
Porem isso so leu uma linha do arquivo , eu tinha em mente ou ler todas ou ler algumas linhas especificas.
Agora como posso fazer para conseguir uma dessas duas opзoes


Minha outra duvida e em relзгo ao ip , ele chego a armazenar corretamente meu ip uma vez depois ele so fica salvando 50

PHP код:
 GetPlayerIp(playeridplrIPsizeof(plrIP));
    
format(teteu100"uIp %s\r\n"plrIP);
    
fwrite(tututeteu); 
Antes ele salvava em uma variavel , ai optei diretamente , mesmo assim so salva 50.
E quando carrega ele nгo aparece o IP em msg , sendo que a variavel deste 'IP' e string .


Desde de ja obrigado pela atenзгo.
Don, para que seja lido mais partes da linha do arquivo, й necessбrio loops.
Exemplo.
pawn Код:
new string[500], File:example = fopen(file, io_read);
    fread(example, string);
    while(strlen(string) > 0) {
        print(string);
        fread(example, string);
    }
    fclose(example);
Sobre o IP. Ele nгo pode ser sobre-escrito quando й chamado o OnPlayerDisconnect*.
Exemplo, se o salvamento de uma conta, sempre pega o IP e armazena. Caso seja chamado o salvamento da conta no OnPlayerDisconnect, nгo irб aparecer o IP do jogador. Tente fazer uma variavel global para armazenar o IP e quando o jogador conectar, ela armazenar o IP.

;p
Reply
#4

Quote:
Originally Posted by leonardo1434
Посмотреть сообщение
Hum , ja o do IP eu ja tinha recorido ao wikipedia . :S
Reply
#5

pawn Код:
new IP[20], string[50];
GetPlayerIp(playerid,IP,sizeof(IP));
format(string,sizeof(string),"IP: %s\n",IP);
new File:ftw=fopen("ondesalva.txt", io_write);
fwrite(ftw,string);
fclose(ftw);
tente
Reply
#6

Fiz desta maneira
PHP код:
            new string[500];
            new 
File:example fopen(fileio_read);
            while(
fread(examplestring))
            {
if(
strcmp(string"pEmail"true) == 0){ SendClientMessage(playerid, -1string), printf(string);}

Nada aparece.
Reply
#7

Quote:
Originally Posted by Don_Speed
Посмотреть сообщение
Fiz desta maneira
PHP код:
            new string[500];
            new 
File:example fopen(fileio_read);
            while(
fread(examplestring))
            {
if(
strcmp(string"pEmail"true) == 0){ SendClientMessage(playerid, -1string), printf(string);}

Nada aparece.
Usa StripNewLine (acho que ela precisa da dultils)
Reply
#8

Quote:
Originally Posted by Nickvj7
Посмотреть сообщение
Usa StripNewLine (acho que ela precisa da dultils)
Ela nгo aparece essa e a questгo .
Reply
#9

pawn Код:
new string[500];
new File:ftw=fopen("ondesalva.txt", io_write);
fread(ftw, string)

if(strcmp(string, "pEmail", true) == 0)
{
    SendClientMessage(playerid, -1, string), printf(string);
}
tenta....

cara o ficheiro tem de existir, mas isso vc sabe
Reply
#10

Nгo й pra qualquer um mesmo mexer com isso...

Vocк podia usar um INI mesmo, pra fazer esse tipo de coisa.

Ou entгo passar um debug nas tuas coisas pra fazer testes, em relaзгo ao fread, tem de execuзгo ele com um loop, caso contrбrio nгo lк todas as linhas.
Reply


Forum Jump:


Users browsing this thread: 3 Guest(s)