[Ajuda] Salvamento Em DINI
#1

Bom Nunca Mechi Com Dini Direito, Quero Usa-la Para um Simples Salvamento, Vamos La.
pawn Код:
new Maconha[MAX_PLAYERS];
Bom Quero Que Salva a Quantia De Maconha...

Exemplo De Uso:
pawn Код:
Maconha[playerid] = 0; //Com 0 Maconha
Maconha[playerid] = 1; //Com 1 Maconha
Como Salvo Esse Numero ? Quando o Player Sair?

@Off

Antes De Criticarem:

P: Mais Vc nao criou Um Gm, Salvando a DINI, Bla Bla Bla!

R: Isso Nao Vem Ao Caso, a Dini Nao Entra Na Minha Cabeзa.

@Obs

Se Tiver Uma Include Melhor, Assim, Me Avisem, Se Tem Outra Maneira, Mais Facil Sem a Include DINI.
Reply
#2

pawn Код:
Dini_SetInt(...);
Acho que й assim nunca mechi com Dini
Reply
#3

Quote:
Originally Posted by iDreak
Посмотреть сообщение
pawn Код:
Dini_SetInt(...);
Acho que й assim nunca mechi com Dini
Poderia Me Explicar Melhor.
Reply
#4

exemplo:

pawn Код:
new f@Str[68], Nome[21];
GetPlayerName(playerid, Nome, 20);
format(f@Str, 68, "Contas/%s", Nome);
dini_Int(f@Str, Maconha[playerid]);
acho que й isso
Reply
#5

tem coisa errada no seu conceito. com

pawn Код:
Maconha[playerid] = 0;// false, ou seja, nгo tem maconha.
Maconha[playerid] = 1;// true, ou seja, tem maconha.
Reply
#6

pawn Код:
// Uma breve explicaзгo
#include <a_samp>
#include <dini>

#define Folder_Drugs "Drogas/%s.ini"//Aqui vamos definir o local onde tudo vai ficar salvo obs: Criar a pasta Drogas em scriptfiles
new bool:Maconha[MAX_PLAYERS] = false;

public OnPlayerConnect(playerid)
{
    new H3[500], Nome[24];//Vamos criar 2 var para armazenar o local e o nome do arquivo.
    GetPlayerName(playerid, Nome, 24);// Getar o nome do jogador
    format ( H3, sizeof ( H3 ), Folder_Drugs, Nome); // Armazenar o Diretorio do arquivo em H3
    if ( !fexist(H3)) dini_Create(H3);// Se o arquivo nгo existir, criaremos o mesmo.
    Maconha[playerid] = bool:dini_Bool(H3, "ComMaconha");// Vamos setar a var boleana para false ou true.
    //A linha acima irб pegar o valor armazenado e manda-la para a string.
    //Se vocк baixou a inc dini aqui do forum samp, deixe o cod como estб.
    //Caso tenha a inc original, deixe a ultima linha assim: Maconha[playerid] = dini_Bool(H3, "ComMaconha");
    return 1;
}

public OnPlayerDisconnect(playerid, reason)
{
    new H3[500], Nome[24];//Vamos criar 2 var para armazenar o local e o nome do arquivo.
    GetPlayerName(playerid, Nome, 24);// Getar o nome do jogador
    format ( H3, sizeof ( H3 ), Folder_Drugs, Nome); // Armazenar o Diretorio do arquivo em H3
    dini_BoolSet(H3, "ComMaconha", Maconha[playerid]);// Armazenar se estб com nгo com drogas.
    return 1;
}

/*

Quando o jogador entrar no jogo os dados serгo carregados.
Quando sair, os dados serгo salvos;*/
Reply
#7

Bom, Nao Entendi Quase Nada, Vejamos:

pawn Код:
Maconha[playerid] = 0;// false, ou seja, tem 0 maconha, Ele Comeзa Com 0.
Maconha[playerid] = 1;// true, ou seja, tem 1 maconha.

//Ne Um Comando Daremos 10 **** Ao Player.

Maconha[playerid] = 10;//Quero Que Salva Isso, Quando ele desconectar.
Bom, E Como Se Fosse Um Sistema de Cash.

Como eu mecho Com Isso, talves seja Melhor: https://sampforum.blast.hk/showthread.php?tid=357184
Reply
#8

Criamos o sistema manipulando alguns vetores.

@edit: to editando!
PHP код:

/*   Inicializa a variбvel.    */
new pMaconha[MAX_PLAYERS];
/*   Define um valor para nosso vetor pMaconha.   */
// Em uma funзгo.
SetPMaconha(playeridmaconha_result) {
    
pMaconha[playerid] = maconha_result;
    return 
1;
}
// Em um comando YCMD.
YCMD:setpmaconha(playeridparams[], help) {
    if( 
help )
        return 
SendClientMessage(playerid, -1"Define um valor para a variбvel pMaconha. *--*");
    
pMaconha[playerid] = strval(params[0]);
    return 
1;
}
/*    Modo de uso.    */
YCMD:fumarbeck(playeridparams[], help) {
    if( !
pMaconha[playerid] )
    {
        return 
SendClientMessage(playerid,-1,"Vocк nгo tem nada em cima, precisa comprar o bagulho!");
    }
    
SendClientMessage(playerid,-1,"Vocк esta queimando um beck!, nгo usem dorgas *__*");
    return 
1;

Agora a parte do salvamento fica algo como:
PHP код:
// Define o caminho de salvamento para dados de um possнvel Player conectado ao server. 
#define P_CONTAS    "Contas/%s.ini"
YCMD:setpmaconha(playeridparams[], help) {
    if( 
help )
        return 
SendClientMessage(playerid, -1"Define um valor para a variбvel pMaconha. *--*");
    
pMaconha[playerid] = strval(params[0]);
    
    new 
        
flocal[45],
        
pname[MAX_PLAYER_NAME];
    
format(flocal45P_CONTAS, (GetPlayerName(playeridpnameMAX_PLAYER_NAME), pname));
    if( !
dini_Existsflocal ) ) {
        
dini_Createflocal );
        
dini_IntSetflocal ,"pMaconha"pMaconha[playerid] );
    }
    
dini_IntSetflocal ,"pMaconha"pMaconha[playerid] );
    return 
1;

Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)