stock SalvarDados(playerid)
{
new string[128]; // cria a string que vai alojar o diretуrio da conta do jogador
format(string, sizeof(string), "Arquivos/Users/%s.ini", PlayerName(playerid)); // formata a string com o diretуrio como conteъdo da mesma
new File:file = fopen(string, io_write); // cria uma variбvel file, que abre o arquivo com permissгo para escrever e o cria se ainda nгo existir
if(file) // se o arquivo a abrir й o arquivo correto
{
new var[32]; // variбvel que vai alojar os dados que queremos salvar
format(var, sizeof(var), "Dinheiro:%d", GetPlayerMoney(playerid)); fwrite(file, var); // no caso aqui vai format 'var' com o dinheiro do jogador e escrever (fwrite) no arquivo o dinheiro
format(var, sizeof(var), "SkinID:%d", GetPlayerSkin(playerid)); fwrite(file, var); // aqui vai salvar a skin
format(var, sizeof(var), "ProfID:%d", gTeam[playerid]); fwrite(file, var); //salva o gteam
fclose(file); // depois de mexer no arquivo se deve fechб-lo para nгo corromper e para nгo ficar aberto, podendo perder dados
}
}
stock PlayerName(playerid)
{
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, sizeof(name));
return name;
}
public OnPlayerDisconnect(playerid, reason)
{
SalvarDados(playerid);
jamais uma stock deve por dentro de uma public'_'
tenta isso pawn Код:
|
format(var, sizeof(var), "Dinheiro:%d", GetPlayerMoney(playerid)); fwrite(file, var); // no caso aqui vai format 'var' com o dinheiro do jogador e escrever (fwrite) no arquivo o dinheiro format(var, sizeof(var), "SkinID:%d", GetPlayerSkin(playerid)); fwrite(file, var); // aqui vai salvar a skin format(var, sizeof(var), "ProfID:%d", gTeam[playerid]); fwrite(file, var); //salva o gteam
format(var, sizeof(var), "Dinheiro=%d,", GetPlayerMoney(playerid)); fwrite(file, var); // no caso aqui vai format 'var' com o dinheiro do jogador e escrever (fwrite) no arquivo o dinheiro format(var, sizeof(var), "SkinID=%d,", GetPlayerSkin(playerid)); fwrite(file, var); // aqui vai salvar a skin format(var, sizeof(var), "ProfID=%d,", gTeam[playerid]); fwrite(file, var); //salva o gteam
forward CarregarDados(playerid);
forward split(const strsrc[], strdest[][], delimiter);
public CarregarDados(playerid);
{
new Status[3][64];// o [3] й o numero de coisas que vocк salvou
new string[256];
format(string, 256, "Arquivos/Users/%s.ini", PlayerName(playerid));
if (fexist(string)
{
new idx;
while (idx < sizeof(Status))//Carrega as Strings
{
new File: file = fopen(string, io_read), dinheiro, skin;
fread(file, string);
split(string, Status, ',');
dinheiro = strval(Status[0]); GivePlayerMoney(playerid, dinheiro);// o [0] й a 1° coisa que salvou
skin = strval(Status[1]); SetPlayerSkin(playerid, skin);// o [1] й a 2° coisa que salvou
gTeam[playerid] = strval(Status[2]);// o [2] й a 3° coisa que salvou
idx++
}
fclose(file);
}
else
{
SendClientMessage(playerid, 0x666666AA, "Vocк nгo й registrado.");
}
return 1;
}
public split(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, 128);
strdest[aNum][len] = 0;
li = i+1;
aNum++;
}
i++;
}
return 1;
}
stock SalvarDados(playerid)
{
new string[128]; // cria a string que vai alojar o diretуrio da conta do jogador
format(string, sizeof(string), "Arquivos/Users/%s.ini", PlayerName(playerid)); // formata a string com o diretуrio como conteъdo da mesma
new File:file = fopen(string, io_write); // cria uma variбvel file, que abre o arquivo com permissгo para escrever e o cria se ainda nгo existir
if(file) // se o arquivo a abrir й o arquivo correto
{
new var[32]; // variбvel que vai alojar os dados que queremos salvar
format(var, sizeof(var), "Dinheiro:%d", GetPlayerMoney(playerid)); fwrite(file, var); // no caso aqui vai format 'var' com o dinheiro do jogador e escrever (fwrite) no arquivo o dinheiro
format(var, sizeof(var), "SkinID:%d", GetPlayerSkin(playerid)); fwrite(file, var); // aqui vai salvar a skin
format(var, sizeof(var), "ProfID:%d", gTeam[playerid]); fwrite(file, var); //salva o gteam
fclose(file); // depois de mexer no arquivo se deve fechб-lo para nгo corromper e para nгo ficar aberto, podendo perder dados
return 1;
}
return 1;
}