AJUDA com leitura de arquivo -
tcharles2011 - 03.07.2017
Opa por que q meu sistema de RECORD de jogadores nгo esta lendo o arquivo dos RECORDS ele diz la no jogo EX:
RECORD:30 ai ele seta na pasta 30 certinho soq quando renincia o servidor ele zera , e nгo le o TXT
#include <a_samp>
#include <foreach>
#define TDSFP TextDrawShowForPlayer
//================================New's============= ============================
new onlinepl, postojecirekord, Text:OnlineRecord;
//================================================== ============================
public OnFilterScriptInit()
{
DosadasnjiRekord();
onlinepl=Konektovano();
OnlineRecord = TextDrawCreate(495.000000,101.000000,"~y~Online agora:~w~ ~n~~y~Recorde:~w~ ");
TextDrawAlignment(OnlineRecord,0);
TextDrawBackgroundColor(OnlineRecord,0);
TextDrawFont(OnlineRecord,2);
TextDrawLetterSize(OnlineRecord,0.299999,1.000000) ;
TextDrawColor(OnlineRecord,0xffffffff);
TextDrawSetProportional(OnlineRecord,1);
TextDrawSetShadow(OnlineRecord,0);
return 1;
}
public OnFilterScriptExit()
{
return 1;
}
public OnPlayerConnect(playerid)
{
SacuvajRekord();
SetTimerEx("RekordTimer", 3000, false, "d", playerid);
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
onlinepl--;
return 1;
}
public OnPlayerSpawn(playerid)
{
new string1[512];
format(string1, 512, "~y~Online agora:~w~ %d~n~~y~Recorde:~w~ %d", Konektovano(), postojecirekord);
TextDrawSetString(OnlineRecord, string1);
TDSFP(playerid, OnlineRecord);
return 1;
}
///////////////////////////////////////////////////////////////////////////
forward DosadasnjiRekord();
public DosadasnjiRekord()
{
new strFromFile[24], arrCoords[6][5], File: file = fopen("rekord.txt", io_read);
if (file)
{
fread(file, strFromFile);
razdvoji(strFromFile, arrCoords, ',');
postojecirekord = strval(arrCoords[0]);
fclose(file);
}
return 1;
}
forward SacuvajRekord();
public SacuvajRekord()
{
new coordsstring[24];
format(coordsstring, sizeof(coordsstring), "%d", postojecirekord);
new File: file = fopen("rekord.txt", io_write);
fwrite(file, coordsstring);
fclose(file);
return 1;
}
forward RekordTimer(playerid);
public RekordTimer(playerid)
{
if(postojecirekord)
{
new string1[512];
format(string1, 512, "~y~Online agora:~w~ %d~n~~y~Recorde:~w~ %d", Konektovano(), postojecirekord);
TextDrawSetString(OnlineRecord, string1);
}
onlinepl++;
if(postojecirekord < onlinepl)
{
postojecirekord=onlinepl;
new string[128], string1[512];
format(string, sizeof(string), "Novi rekord igraca je: %d", postojecirekord);
SendClientMessageToAll(0xFCB833FF, string);
SacuvajRekord();
format(string1, 512, "~y~Online agora:~w~ %d~n~~y~Recorde:~w~ %d", Konektovano(), postojecirekord);
TextDrawSetString(OnlineRecord, string1);
}
return 1;
}
stock razdvoji(const strsrc[], strdest[][], delimiter)
{
new i, li;
new aNum;
new len;
while(i <= strlen(strsrc))
{
if(strsrc[i] == delimiter || i == strlen(strsrc))
{
len = strmid(strdest[aNum], strsrc, li, i, 12

;
strdest[aNum][len] = 0;
li = i+1;
aNum++;
}
i++;
}
return 1;
}
forward Konektovano();
public Konektovano()
{
new Connected;
for(new i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i) && !IsPlayerNPC(i)) Connected++;
return Connected;
}
Re: AJUDA com leitura de arquivo -
MenestreL - 03.07.2017
@Removido
Re: AJUDA com leitura de arquivo - Star01 - 03.07.2017
PHP код:
stock Ler(name[]) //ipsLuan
{
new linha[128 +1],File:arquivo;
arquivo = fopen(name, io_read);
while(fread(arquivo, linha))
printf("* %s",linha);
fclose(arquivo);
}
stock Escrever(name[], text[]) //ipsLuan
{
new linha[128 +1],File:arquivo;
format(linha, sizeof(linha), "%s\r\n", text);
arquivo = fopen(name, io_append);
fwrite(arquivo, linha);
fclose(arquivo);
}
Use isto para facilitar sua vida
Re: AJUDA com leitura de arquivo -
tcharles2011 - 03.07.2017
nгo entendi amigo
Re: AJUDA com leitura de arquivo -
JeffSantos2 - 03.07.2017
Usa DOF ou dini? ou algum outro manipulador de arquivos?
Re: AJUDA com leitura de arquivo -
JhonnyBR - 04.07.2017
Quote:
Originally Posted by tcharles2011
nгo entendi amigo
|
pare de dar ctrl c em cуdigos aprenda a utilizar tagas e ali onde editar o post tem uma folinha escrito php recomendo que a utilize...
baixe a include dof2 para fazer por este mйtodo:
PHP код:
//criar o arquivo
new arquivo[40],nome[30]; //criou 2 variaveis a 1° armazena o nome 2° formato para criar o arquivo.ini
GetPlayerName(playerid, nome, 30);
format(arquivo, sizeof(arquivo), "%s.ini", nome);//mostrou pro arquivo como ele vai ser criado
//%s pegar a string que estб ali no caso, nome e o formato por ini ou seja nome.ini , suponho que saiba pelo menos string
if(!DOF2_FileExists(arquivo)) return DOF2_CreateFile(arquivo);// ! = nгo , se nгo existir o arquivo ele cria
new dinheiro = GetPlayerMoney(playerid);//uma variavel para definir oque dinheiro vai salvar
DOF2_SetInt(arquivo, "dinheiro", dinheiro);//cria uma linha dentro do arquivo no formato: dinheiro: 1000
DOF2_SaveFile();//finalizou tudo sempre salva o arquivo
para pegar esse dinheiro:
PHP код:
//criar o arquivo
new arquivo[40],nome[30]; //criou 2 variaveis a 1° armazena o nome 2° formato para criar o arquivo.ini
GetPlayerName(playerid, nome, 30);
format(arquivo, sizeof(arquivo), "%s.ini", nome);//mostrou pro arquivo como ele vai ser criado
new pegarlinha = DOF2_GetInt(arquivo, "dinheiro");//pega a linha que esta escrito dinheiro
GivePlayerMoney(playerid, pegarlinha);
para verificar algo:
PHP код:
//criar o arquivo
new arquivo[40],nome[30]; //criou 2 variaveis a 1° armazena o nome 2° formato para criar o arquivo.ini
GetPlayerName(playerid, nome, 30);
format(arquivo, sizeof(arquivo), "%s.ini", nome);//mostrou pro arquivo como ele vai ser criado
if(DOF2_GetInt(arquivo, "linha") == 1)
{
//code
}