[Ajuda] Salvamento
#1

Como Posso Salvar o Score em DOF2 ?
Reply
#2

PHP код:
    new pasta_contas[50], jogadorname[MAX_PLAYER_NAME];
    
GetPlayerName(playeridjogadornamesizeof(jogadorname));
    
format(pasta_contassizeof(pasta_contas),"Contas/%s.ini"jogadorname);
    if(!
DOF2_FileExists(pasta_contas))
    {
           
DOF2_CreateFile(pasta_contas);
           
Salvar(playerid);
           return 
1;
   }
   
DOF2_SetInt(pasta_contas,"Score"GetPlayerScore(playerid));
   
DOF2_SaveFile(); 
Reply
#3

Ja tenho a pasta definida Intao Eu Uso Esse Para Salvar
PHP код:
 DOF2_SetInt(pasta_contas,"Level"GetPlayerScore(playerid)); 
E QUAL PARA CARREGAR?
Reply
#4

PHP код:
SetPlayerScore(playeridDOF2_GetInt(pasta_contas,"Level")); 
Reply
#5

Veja esse tutorial do "Mr_Samp"

PHP код:
//PARA COMEЗAR VAMOS POR NO TOPO DO GAMEMODE AS INCLUDES NECESSARIAS..
#include <a_samp> // TODO SCRIPT DEVE TER =D
#include <DOF2>   // NOSSO SISTEMA DE SALVAMENTO SERA COMPLETAMENTE EM DOF2..
//BOM, AGORA VAMOS VER OQUE IREMOS SALVAR...
//~~SKIN
//ACHO QUE JA ESTA BOM POIS Й SO UM SIMPLES TUTORIAL! ^^
//AGORA VAMOS CRIAR UMA ENUM (POIS NГO LEMBRO O NOME CORRETO)
//E UMA NEW (TBM NГO LEMBRO O NOME CORRETO!)
enum pInfo // CRIA A ENUM
{//AKI ABRIMOS A ENUM(ACHO QUE Й NE ^^)
    
pSkin//AQUI Й A SKIN DГ
};//AKI FEXAMOS A ENUM '-'
//AGORA VAMOS CRIAR A NEW PLAYERINFO (ISSO IRA NOS AJUDAR MAIS PRA FRENTE...)
new PlayerInfo[MAX_PLAYERS][pInfo];
//BOM, PARA QUANDO O PLAYER LOGAR E VERIFICAR SE OS DADOS EXISTEM OU NГO VAMOS
//USAR A FUNЗГO DA DOF2 CHAMADAD "DOF2_FileExists" ELA VERIFICA NA PASTA SCRIPTFILES
//SE O ARQUIVO EXISTE OU NГO!
//PS: ISSO TEM QUE SER FEITO NA CALLBACK ONPLAYERCONNECT!!
public OnPlayerConnect(playerid)
{
//VAMOS CRIAR UMA NEW CHAMADA FILE QUE SERVE PARA DEFINIR O ARQUIVO..
//E OUTRA CHAMADA SENDERNAME PARA PEGAR O NOME DO PLAYER!
    
new File[70], sendername[MAX_PLAYER_NAME];
//VAMO USAR AGORA A FUNЗГO GETPLAYERNAME Para saber mais sobre ela pode ler em
//https://sampwiki.blast.hk/wiki/GetPlayerName
    
GetPlayerName(playeridsendernamesizeof(sendername));
//E TAMBEM UMA FORMAT PARA "CRIAR" OU "CARREGAR" OS DADOS!
    
format(Filesizeof(File), "%s.ini"sendername); //VAI LER O ARQUIVO DIRETAMENTE NA PASTA SCRIPTFILES!
//AGORA VAMOS UTILIZAR A DOF2_FILEEXISTS QUE CITEI ALI EM CIMA '-'
    
if(DOF2_FileExists(File))
    {
//VAMOS USAR LOGO ABAIXO A FUNЗГO "DOF2_GetInt" QUE CARREGA O DADO DO PLAYER
//CITADO LOGO A FRENTE DA FUNЗAO. E TAMBEM VAMOS UTILIZAR A NEW QUE CRIAMOS NO COMEЗO
//LEMBRA?? "PlayerInfo" ^^
        
PlayerInfo[playerid][pSkin] = DOF2_GetInt(File"Skin");
//AGORA VAMOS ENVIAR UMA MENSAGEM PRO PLAYER DIZENDO QUE OS ARQUIVOS FORAM CARREGADOS!
        
SendClientMessage(playerid, -1"Arquivos Carregados!");
    }
    else
// ACIMA E SE O ARQUIVO COM O NOME DO PLAYER JБ EXISTIR.. AGORA VAMOS CRIAR CASO NГO EXISTA
    
{
//AQUI VAMOS USAR ABAIXO AS FUNЗХES DA DOF2:
//DOF2_CreateFile ~~ CRIA O ARQUIVO COMO O PROPRIO NOME DIZ..
//DOF2_SetInt ~~ SETA OQUE TA ESCRITO LOGO A FRENTE DELE DENTRO NO ARQUIVO CRIADO PELA FUNЗГO ACIMA.
//DOF2_SaveFile ~~ TA OBVIO '-'
        
DOF2_CreateFile(File); // CRIA O ARQUIVO.
        
DOF2_SetInt(File"Skin"23); //SETA O ARQUIVO.. E O NUMERO 23 E O ID DA SKIN.
        
DOF2_SaveFile(); // NO COMENTS --*
//AGORA VAMOS ENVIAR UMA MENSAGEM PARA O PLAYER DIZENDO QUE FOI CRIADO O ARQUIVO EM SEU NOME!
        
SendClientMessage(playerid, -1"Arquivos Criados");
        
OnPlayerConnect(playerid);//REDIRECIONA PARA ONPLAYERCONNECT, FAZENDO ASSIM OS ARQUIVOS
        //SEREM CARREGADOS ALTOMATICAMENTE'-'
    
}
    return 
1;
}
//VAMOS POR AGORA NA ONPLAYERDISCONNECT PARA QUE QUANDO O PLAYER DESLOGUE
//SALVE OS ARQUIVOS '-'
public OnPlayerDisconnect(playerid)
{
    new 
File[70], sendername[MAX_PLAYER_NAME];
    
GetPlayerName(playeridsendernamesizeof(sendername));
    
format(Filesizeof(File), "%s.ini"sendername);
    
DOF2_SetInt(File"Skin"PlayerInfo[playerid][pSkin]); //VAI SALVAR A SKIN QUE O PLAYER ESTA A USAR!
    
DOF2_SaveFile(); // NO COMENTS NOVAMENTE!
    
return 1;
}
//AGORA VAMOS CRIAR A PUBLIC ONPLAYERSPAWN, E DENTRO DELA VAMOS SETAR PARA QUANDO O PLAYER
//APERTAR SPAWN ELE TENHA A SKIN SETADA PARA A SKIN QUE ESTA NOS ARQUIVOS...
public OnPlayerSpawn(playerid)
{
//VAMOS USAR AGORA A FUNЗГO SETPLAYERSKIN QUE E DO PROPRIO SAMP!
    
SetPlayerSkin(playeridPlayerInfo[playerid][pSkin]);
    return 
1;

Reply
#6

@Resolvido +REP AOS 2
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)