[Duvida]Dini(Salvamento de dados).
#1

Boa noite, estou com uma pequena duvida, como eu faзo para criar um arquivo no dini e formatar para um nome tal, para assim poder salvar dados como dinheiro, vida inicial etc.

tentei fazer isso:
pawn Код:
stock SalvaPlayer(playerid)
{
    new NAME[24]; new Arquivo[44];
    GetPlayerName(playerid,NAME,24);
    format(Arquivo,44,"%s.ini",NAME);
    dini_Set(Arquivo,"Nome",NAME);
    return 1;
}
mas, nao cria o arquivo, tentei fazer isso:
pawn Код:
stock SalvaPlayer(playerid)
{
    new NAME[24]; new Arquivo[44];
        dini_Create(Arquivo);  
         GetPlayerName(playerid,NAME,24);
    format(Arquivo,44,"%s.ini",NAME);
    dini_Set(Arquivo,"Nome",NAME);
    return 1;
}
mas, o host caseiro se desliga quando eu conecto, se puderem me ajudar agradeзo, ainda sou novato nessa linguagem de programaзгo.
Reply
#2

pelo que eu entendi й isso se nгo for avisa.
pawn Код:
public OnPlayerConnect(playerid)
{
if(dini_Isset("Dinheiro.ini",PlayerName(playerid))) GivePlayerMoney(playerid,dini_Int("Dinheiro.ini",PlayerName(playerid)));
return 1;
}
pawn Код:
public OnPlayerDisconnect(playerid, reason)
{
dini_IntSet("Dinheiro.ini",PlayerName(playerid),GetPlayerMoney(playerid));
return 1;
}
pawn Код:
public OnGameModeInit()
{
if(!fexist("Dinheiro.ini")) dini_Create("Dinheiro.ini");
return 1;
}
pawn Код:
stock PlayerName(playerid)
{
      new names[MAX_PLAYER_NAME];
      GetPlayerName(playerid, names, sizeof(names));
      return names;
}
OU DESSA FORMA Criado Por Thiago_PS ..... Editado Por JFS.
pawn Код:
#define CONTAS "Players/%s.ini"
//ai vc tem que cria uma pasta la no Scriptfiles com o nome Players.
new Matou[MAX_PLAYERS];//array
new Morreu[MAX_PLAYERS];//array
new Logou[MAX_PLAYERS];//array
pawn Код:
SalvarPlayer(playerid)
{
    new Float:Vida;
    new Float:Colete;
    GetPlayerHealth(playerid, Vida);//salva a vida do player quando sair.
    GetPlayerArmour(playerid, Colete);//salva o colete do player quando sair.
    new Nome[MAX_PLAYER_NAME];//array para pegar o nome
    GetPlayerName(playerid, Nome, sizeof(Nome));//geta o nome do player na pasta
    new String[50];//maximo de caractйris
    format(String, sizeof(String), CONTAS, Nome);
    dini_IntSet(String,"Matou", Matou[playerid]);//cria dentro do arquivo quantas veses ele matou Matou:xxx
    dini_IntSet(String,"Morreu", Morreu[playerid]);//cria dentro do arquivo quantas veses ele Morreu Morreu:xxx
    dini_IntSet(String,"Logou", Logou[playerid]);//cria dentro do arquivo quantas veses ele Logo Logou:xxx
    return 1;
}

SetarPlayer(playerid)
{
    new Nome[MAX_PLAYER_NAME];//mesma coisa no de cima
    GetPlayerName(playerid, Nome, sizeof(Nome));//mesma coisa no de cima
    new String[50];//mesma coisa no de cima
    format(String, sizeof(String), CONTAS, Nome);
    Matou[playerid] = dini_Int(String, "Matou");//aqui ele vai setar quando o player conectar quantas veses ele Matou.
    Morreu[playerid] = dini_Int(String, "Morreu");//aqui ele vai setar quando o player conectar quantas veses ele Morreu.
    Logou[playerid] = dini_Int(String, "Logou");//aqui ele vai setar quando o player conectar quantas veses ele logou.
    return 1;
}
Reply
#3

MaGnO_357 dк os devidos crйditos ao JONATHAN (JFS) ele fez esse cуdigo:

pawn Код:
#define CONTAS "Players/%s.ini"

SalvarPlayer(playerid)
{
    new Float:Vida;
    new Float:Colete;
    GetPlayerHealth(playerid, Vida);
    GetPlayerArmour(playerid, Colete);
    new Nome[MAX_PLAYER_NAME];
    GetPlayerName(playerid, Nome, sizeof(Nome));
    new String[50];
    format(String, sizeof(String), CONTAS, Nome);
    dini_IntSet(String,"Matou", Matou[playerid]);
    dini_IntSet(String,"Morreu", Morreu[playerid]);
    dini_IntSet(String,"Logou", Logou[playerid]);
    return 1;
}

SetarPlayer(playerid)
{
    new Nome[MAX_PLAYER_NAME];
    GetPlayerName(playerid, Nome, sizeof(Nome));
    new String[50];
    format(String, sizeof(String), CONTAS, Nome);
    Matou[playerid] = dini_Int(String, "Matou");
    Morreu[playerid] = dini_Int(String, "Morreu");
    Logou[playerid] = dini_Int(String, "Logou");
    return 1;
}
Reply
#4

Bom, se isso faz com que salve um especнfico arquivo do player, como Sergio_Loko.ini, sim, thank's, OBS: pode editar e comentar linha a linha

EDIT:lendo o do junior .
EDIT 2: Muito obrigado, aproveitando este topico, poderiam dar uma olhadinha nesse? e me dizer o que deu com o CreateVehicle? OBS: nгo atingi o limite de 2000 veiculos...
https://sampforum.blast.hk/showthread.php?pid=1335025#pid1335025
ja que nao me responderam mais ... talz
Reply
#5

Quote:
Originally Posted by Sergio_MOW
Посмотреть сообщение
Bom, se isso faz com que salve um especнfico arquivo do player, como Sergio_Loko.ini, sim, thank's, OBS: pode editar e comentar linha a linha

EDIT:lendo o do junior .
EDIT 2: Muito obrigado, aproveitando este topico, poderiam dar uma olhadinha nesse? e me dizer o que deu com o CreateVehicle? OBS: nгo atingi o limite de 2000 veiculos...
https://sampforum.blast.hk/showthread.php?pid=1335025#pid1335025
ja que nao me responderam mais ... talz
existe varias formas de salvar o player mais eu prefiro a primeira que eu coloquei logo acima.
Reply
#6

Bom, testei na host o jeito 1 do magno e o arquivo nao foi criado na pasta :S
Reply
#7

OnPlayerConnect:

pawn Код:
SetarPlayer(playerid);
OnPlayerDisconnect:


pawn Код:
SalvarPlayer(playerid);
pawn Код:
stock SalvarPlayer(playerid)
{
    new file[128] ;
    new Nome[MAX_PLAYER_NAME];
    GetPlayerName(playerid, Nome,  sizeof (Nome));
    format(file,sizeof(file), "Arquivos/%s.ini", Nome);
    if(!dini_Exists(file))
    {
        dini_Create(file);
    }
    dini_IntSet(file, "Dinheiro", GetPlayerMoney(playerid));
    }
SetarPlayer(playerid)
{
    new Nome[MAX_PLAYER_NAME];
    GetPlayerName(playerid, Nome, sizeof(Nome));
    new String[50];
    format(String, sizeof(String), "Arquivos/%s.ini", Nome);
    GivePlayerMoney(playerid, dini_Int(String,"Dinheiro"));
    return 1;
}
Resultado:

Um arquivo ini com:

Код:
Dolar=0
O 0 й a quantia de dinheiro que o player tem

Siga esse exemplo para salvar as coisas que vocк quer...

Obs.: Crie a pasta Arquivos se nгo o servidor pode crashar.
Reply
#8

Man, testei esse jeito, fiz a pasta, mas o arquivo nгo estб sendo criado, й normal?

EDIT: Consegui, thank's men.
Reply
#9

Reputation?
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)