16.11.2011, 19:35
Boas!
Estб quase resolvido uma ultima duvida!
O server esta a salvar assim no ficheiro .txt :
Casa Nє3 Data: 2011.11.16
<br>
Casa Nє4 Data: 2011.11.16
<br>
Casa Nє31 Data: 2011.11.16
<br>
Casa Nє45 Data: 2011.11.16
<br>
Casa Nє16 Data: 2011.11.16
<br>
Casa Nє24 Data: 2011.11.16
<br>
etc..
Agora por exemplo:
se entrar o dono da casa 31 o server apaga essa linha e volta a escrever a nova linha com a data recente.
O problema й que se entra o dono da casa 4 apaga a linha da casa 4 e a linha da casa 40,41,42,43,etc..
assim como se entra o dono da casa 2 apaga a linha da casa 2 mais as linhas 20,21,21,etc..
Existe alguma forma de contornar isso ??
Estб quase resolvido uma ultima duvida!
O server esta a salvar assim no ficheiro .txt :
Casa Nє3 Data: 2011.11.16
<br>
Casa Nє4 Data: 2011.11.16
<br>
Casa Nє31 Data: 2011.11.16
<br>
Casa Nє45 Data: 2011.11.16
<br>
Casa Nє16 Data: 2011.11.16
<br>
Casa Nє24 Data: 2011.11.16
<br>
etc..
Agora por exemplo:
se entrar o dono da casa 31 o server apaga essa linha e volta a escrever a nova linha com a data recente.
O problema й que se entra o dono da casa 4 apaga a linha da casa 4 e a linha da casa 40,41,42,43,etc..
assim como se entra o dono da casa 2 apaga a linha da casa 2 mais as linhas 20,21,21,etc..
Existe alguma forma de contornar isso ??
Код:
public actualizardata(playerid) { if(PlayerInfo[playerid][pPhousekey] == 255)//nгo tem casa { return 1; } new chave; new str[128]; new File:gstats; new day,month,year; getdate(day,month,year); chave = PlayerInfo[playerid][pPhousekey]; format(str, sizeof(str), "Casa Nє%d",chave); fdeleteline("log/gravardata.txt",str); new sstr[128]; format(sstr, sizeof(sstr), "Casa Nє%d Data: %d.%d.%d \r<br>\n",chave,day,month,year); gstats=fopen("log/gravardata.txt", io_append); fwrite(gstats, sstr); fclose(gstats); return 1; } stock fdeleteline(filename[], removed[]) { new string[64], str[32], File:handle, File:ftmp; handle = fopen(filename,io_read); format(str,sizeof(str),"%s.part",filename); ftmp = fopen(str,io_write); while(fread(handle,string)) if(strfind(string,removed) == -1) fwrite(ftmp,string); fclose(handle); fclose(ftmp); handle = fopen(filename,io_write); ftmp = fopen(str,io_read); while(fread(ftmp,string)) fwrite(handle,string); fclose(handle); fclose(ftmp); return fremove(str); }