[Ajuda] Sistema de salvamento nгo seta skin salva quando spawna.
#1

uй....

Reply
#2

mude sua public "OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])" para essa!

Код:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    switch(dialogid)
    {
        case DIALOG_REGISTER:
        {
            if(!response) Kick(playerid);
            if(!strlen(inputtext)) return ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT,"Bem-vindo, novo jogador!","{00AD85}Bem-vindo, novo jogador!{FFFFFF}Digite sua{00FF22}senha {FFFFFF}abaixo para registrar sua conta.\nassim todas suas conquistas serгo salvos!","Registrar","Sair");
            if(response)
            {
                new file[64];
                GetPlayerName(playerid,file,sizeof(file));
                format(file,sizeof(file),DOF2_File(file));
                DOF2_CreateFile(file, inputtext);
                DOF2_SetInt(file, "Kills", 0);
                DOF2_SetInt(file, "Deaths", 0);
                DOF2_SetInt(file, "Money", 1000);
                DOF2_SetInt(file, "AdminLevel", 0);
                DOF2_SetInt(file, "Level", 0);
                DOF2_SetInt(file, "Estudo", 0);
                DOF2_SaveFile();
                ShowPlayerDialog(playerid, DIALOG_SEXO, DIALOG_STYLE_MSGBOX,"Vocк й oque?","{FFFFFF}O Nosso servidor й focado em simular a vida real no jogo GTA:SA.\n Para isso, precisamos saber qual й o seu sexo!","Homem!","Mulher!");
            }
        }
        case DIALOG_SEXO:
        {
            if(response) {
              new file[64];
            GetPlayerName(playerid,file,sizeof(file));
            format(file,sizeof(file),DOF2_File(file));
            DOF2_SetInt(file, "Skin", 170);
            DOF2_SaveFile();

               SpawnPlayer(playerid);
            SetPlayerPos(playerid, 1722.5123, -1912.7931, 13.5647);
            GivePlayerMoney(playerid, 1500);
            SetPlayerSkin(playerid, 170);
            SendClientMessage(playerid, -1, "[CONTA]: Vocк registrou com sucesso, vocк escolheu o sexo masculino.");
            }
            if(!response) {
            SpawnPlayer(playerid);
            GivePlayerMoney(playerid, 1500);
            SetPlayerPos(playerid, 1722.5123, -1912.7931, 13.5647);
            SetPlayerSkin(playerid, 226);
            SendClientMessage(playerid, -1, "[CONTA]: Vocк registrou com sucesso, vocк escolheu o sexo feminino.");

            new file[64];
            GetPlayerName(playerid,file,sizeof(file));
            format(file,sizeof(file),DOF2_File(file));
            DOF2_SetInt(file, "Skin", 226);
            DOF2_SaveFile();
               }
           }
        case DIALOG_LOGIN:
        {
            if(!response) Kick(playerid);
            if(response)
            {
                new file[64];
                GetPlayerName(playerid,file,sizeof(file));
                format(file,sizeof(file),DOF2_File(file));
                if(DOF2_FileExists(file))
                {
                    if(DOF2_CheckLogin(file,inputtext))
                    {
                        PlayerInfo[playerid][pKills] = DOF2_GetInt(file,"Kills");
                        PlayerInfo[playerid][pDeaths] = DOF2_GetInt(file,"Deaths");
                        PlayerInfo[playerid][pMoney] = DOF2_GetInt(file,"Money");
                        PlayerInfo[playerid][pAdmin] = DOF2_GetInt(file,"AdminLevel");
                        PlayerInfo[playerid][pLevel] = DOF2_GetInt(file,"Level");
                        PlayerInfo[playerid][pSkin] = DOF2_GetInt(file,"Skin");
                        PlayerInfo[playerid][pEstudo] = DOF2_GetInt(file,"Estudo");
                        SetSpawnInfo(playerid, 0, 0, 1722.5123, -1912.7931, 13.5647, 269.15, 0, 0, 0, 0, 0, 0);
                        SpawnPlayer(playerid);
                        GivePlayerMoney(playerid, PlayerInfo[playerid][pMoney]);
                        SetPlayerSkin(playerid, PlayerInfo[playerid][pSkin]);
                        SendClientMessage(playerid, -1, "[CONTA]: Vocк logou na sua conta com sucesso! Bem-vindo de volta. :)");
                        return 1;
                    }
                    else
                    {
                        ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT,"Senha errada!","{F81414}Vocк digitou sua senha errado!\n{FFFFFF}Digite ela novamente e dessa vez certo para logar.","Logar","Sair");
                        return 1;
                    }
                }
            }
        }
    }
    return 1;
}
Reply
#3

PHP код:
SetSpawnInfo(playerid1PlayerInfo[playerid][pSkin], 1722.5123, -1912.793113.5647269.15000000); 
@Edit

Seu salvamento esta confuso..

Ao invйs de usar:

PHP код:
new file[64];
GetPlayerName(playerid,file,sizeof(file));
format(file,sizeof(file),DOF2_File(file)); 
Use:

PHP код:
new file[40];
format(filesizeof(file), "Contas/%s.ini"Nome(playerid)); // para ler as contas
stock Nome(playerid)
{
    new 
name[24];
    
GetPlayerName(playeridnamesizeof(name));
    return 
name;

Reply
#4

carregando a skin do player
Код:
Player[playerid][Skin] = DOF2_GetInt(File(playerid), "Skin");
SetPlayerSkin(playerid, Player[playerid][pSkin]);
Salve assim
PHP код:
DOF2_SetInt(File(playerid), "Skin"GetPlayerSkin(playerid)); 
Reply
#5

Entгo, eu testei o codigo do IgorLuiz, e nгo funcionou, dai adicionei no cуdigo dele o SetSpawnInfo do Cleyson, e tambйm nгo funcionou, entгo peguei a OnDialogResponse do tуpico mesmo, e adicionei o codigo do Cleyson e nгo funcionou, nenhuma das trкs alternativas foi. Quando eu entro no jogo, registro e coloco o sexo que sou no caso homem, ele vai lб e seta skin do homem, porem quando saio do jogo e reentro, ele me spawna sу que com a skin do cj, independemente do sexo que foi escolhido.

Ou seja, quando escolho o sexo ele seta certinho, mulher com skin de mulher, homem com skin de homem, o problema estб na hora de relogar. Independemente da escolha do sexo, ele vai setar a skin do CJ.


@EDIT, vou ver o quк voces falaram ao editar

#Vou testar a do ITakeALot
Reply
#6

Bom, eu fiz isso aqui(vou postar logo o GM inteiro):
PHP код:
// Includes //
#include <a_samp>
#include <zcmd>
#include <DOF2>
// Includes //
// Defines
#define DIALOG_REGISTER 1
#define DIALOG_LOGIN 2
#define DIALOG_SEXO 3
/* */
// Vбriaveis
enum pInfo
{
    
pKills,
    
pDeaths,
    
pMoney,
    
pAdmin,
    
pSkin,
    
pLevel,
    
pEstudo
}
new 
PlayerInfo[MAX_PLAYERS][pInfo];
new 
PlayerSkin[MAX_PLAYERS];
/* */
#if defined FILTERSCRIPT
#else
main()
{
    print(
"\n----------------------------------");
    print(
" RPG Gamemode inciado com sucesso!");
    print(
"----------------------------------\n");
}
#endif
public OnGameModeInit()
{
    
SetGameModeText("Blank Script");
    return 
1;
}
public 
OnGameModeExit()
{
    
DOF2_Exit();
    return 
1;
}
public 
OnPlayerRequestClass(playeridclassid)
{
    return 
1;
}
public 
OnPlayerConnect(playerid)
{
    new 
file[64];
    
GetPlayerName(playerid,file,sizeof(file));
    
format(file,sizeof(file),DOF2_File(file));
    if(
DOF2_FileExists(file))
    {
        
ShowPlayerDialog(playeridDIALOG_LOGINDIALOG_STYLE_INPUT,"Bem-vindo novamente!","{00AD85}Bem-vindo novamente, jogador!{FFFFFF}Digite sua{00FF22}senha {FFFFFF}abaixo para logar na sua conta!","Logar","Sair");
    }
    else
    {
        
ShowPlayerDialog(playeridDIALOG_REGISTERDIALOG_STYLE_INPUT,"Bem-vindo, jogador!","{00AD85}Bem-vindo, novo jogador!{FFFFFF}Digite sua{00FF22}senha {FFFFFF}abaixo para se registrar sua conta,\nassim todas suas conquistas serгo salvos!","Registrar","Sair");
    }
    return 
1;
}
public 
OnPlayerDisconnect(playeridreason)
{
    new 
file[40];
    
format(filesizeof(file), "Contas/%s.ini"Nome(playerid)); // para ler as contas
    
PlayerSkin[playerid] = GetPlayerSkin(PlayerInfo[playerid][pSkin]);
    
DOF2_SetInt(file"Kills",PlayerInfo[playerid][pKills]);
    
DOF2_SetInt(file"Deaths",PlayerInfo[playerid][pDeaths]);
    
DOF2_SetInt(file"Money",PlayerInfo[playerid][pMoney]);
    
DOF2_SetInt(file"Level",PlayerInfo[playerid][pLevel]);
    
DOF2_SetInt(file"Skin",PlayerInfo[playerid][pSkin]);
    
DOF2_SetInt(file"Estudo",PlayerInfo[playerid][pEstudo]);
    return 
1;
}
public 
OnPlayerSpawn(playerid)
{
    new 
file[40];
    
format(filesizeof(file), "Contas/%s.ini"Nome(playerid)); // para ler as contas
    
PlayerInfo[playerid][pSkin] = DOF2_GetInt(file,"Skin");
    
SetPlayerSkin(playeridPlayerInfo[playerid][pSkin]);
    return 
1;
}
public 
OnPlayerDeath(playeridkilleridreason)
{
    
PlayerInfo[killerid][pKills]++; // Will increase the killerid kills
    
PlayerInfo[playerid][pDeaths]++; // Will increase the playerid ( the one who died ) the deaths.
    
return 1;
}
public 
OnDialogResponse(playeriddialogidresponselistiteminputtext[])
{
    switch(
dialogid)
    {
        case 
DIALOG_REGISTER:
        {
            if(!
responseKick(playerid);
            if(!
strlen(inputtext)) return ShowPlayerDialog(playeridDIALOG_REGISTERDIALOG_STYLE_INPUT,"Bem-vindo, novo jogador!","{00AD85}Bem-vindo, novo jogador!{FFFFFF}Digite sua{00FF22}senha {FFFFFF}abaixo para registrar sua conta.\nassim todas suas conquistas serгo salvos!","Registrar","Sair");
            if(
response)
            {
                new 
file[40];
                
format(filesizeof(file), "Contas/%s.ini"Nome(playerid));
                
DOF2_CreateFile(fileinputtext);
                
DOF2_SetInt(file"Kills"0);
                
DOF2_SetInt(file"Deaths"0);
                
DOF2_SetInt(file"Money"1000);
                
DOF2_SetInt(file"AdminLevel"0);
                
DOF2_SetInt(file"Level"0);
                
DOF2_SetInt(file"Estudo"0);
                
DOF2_SaveFile();
                
ShowPlayerDialog(playeridDIALOG_SEXODIALOG_STYLE_MSGBOX,"Vocк й oque?","{FFFFFF}O Nosso servidor й focado em simular a vida real no jogo GTA:SA.\n Para isso, precisamos saber qual й o seu sexo!","Homem!","Mulher!");
            }
        }
        case 
DIALOG_SEXO:
        {
            if(
response) {
            new 
file[40];
            
format(filesizeof(file), "Contas/%s.ini"Nome(playerid));
            
DOF2_SaveFile();
            
            
SpawnPlayer(playerid);
            
SetPlayerPos(playerid1722.5123, -1912.793113.5647);
            
GivePlayerMoney(playerid1500);
            
SetPlayerSkin(playerid170);
            
SendClientMessage(playerid, -1"[CONTA]: Vocк registrou com sucesso, vocк escolheu o sexo masculino.");
            }
            if(!
response) {
            
SpawnPlayer(playerid);
            
GivePlayerMoney(playerid1500);
            
SetPlayerPos(playerid1722.5123, -1912.793113.5647);
            
SetPlayerSkin(playerid226);
            
SendClientMessage(playerid, -1"[CONTA]: Vocк registrou com sucesso, vocк escolheu o sexo feminino.");
            new 
file[40];
            
format(filesizeof(file), "Contas/%s.ini"Nome(playerid)); // para ler as contas
            
DOF2_SetInt(file"Skin"226);
            
DOF2_SaveFile();
               }
           }
        case 
DIALOG_LOGIN:
        {
            if(!
responseKick(playerid);
            if(
response)
            {
                new 
file[40];
                
format(filesizeof(file), "Contas/%s.ini"Nome(playerid)); // para ler as contas
                
if(DOF2_FileExists(file))
                {
                    if(
DOF2_CheckLogin(file,inputtext))
                    {
                        
PlayerInfo[playerid][pKills] = DOF2_GetInt(file,"Kills");
                        
PlayerInfo[playerid][pDeaths] = DOF2_GetInt(file,"Deaths");
                        
PlayerInfo[playerid][pMoney] = DOF2_GetInt(file,"Money");
                        
PlayerInfo[playerid][pAdmin] = DOF2_GetInt(file,"AdminLevel");
                        
PlayerInfo[playerid][pLevel] = DOF2_GetInt(file,"Level");
                        
PlayerInfo[playerid][pSkin] = DOF2_GetInt(file,"Skin");
                        
PlayerInfo[playerid][pEstudo] = DOF2_GetInt(file,"Estudo");
                        
SetSpawnInfo(playerid1PlayerInfo[playerid][pSkin], 1722.5123, -1912.793113.5647269.15000000);
                        
SpawnPlayer(playerid);
                        
GivePlayerMoney(playeridPlayerInfo[playerid][pMoney]);
                        
SendClientMessage(playerid, -1"[CONTA]: Vocк logou na sua conta com sucesso! Bem-vindo de volta. :)");
                        return 
1;
                    }
                    else
                    {
                        
ShowPlayerDialog(playeridDIALOG_LOGINDIALOG_STYLE_INPUT,"Senha errada!","{F81414}Vocк digitou sua senha errado!\n{FFFFFF}Digite ela novamente e dessa vez certo para logar.","Logar","Sair");
                        return 
1;
                    }
                }
            }
        }
    }
    return 
1;
}
stock Nome(playerid)
{
    new 
name[24];
    
GetPlayerName(playeridnamesizeof(name));
    return 
name;

Agora quando cria conta o servidor chega a fechar, acho que atй pra logar ele vai fechar..
Reply
#7

Quote:
Originally Posted by iMFear
Посмотреть сообщение
Entгo, eu testei o codigo do IgorLuiz, e nгo funcionou, dai adicionei no cуdigo dele o SetSpawnInfo do Cleyson, e tambйm nгo funcionou, entгo peguei a OnDialogResponse do tуpico mesmo, e adicionei o codigo do Cleyson e nгo funcionou, nenhuma das trкs alternativas foi. Quando eu entro no jogo, registro e coloco o sexo que sou no caso homem, ele vai lб e seta skin do homem, porem quando saio do jogo e reentro, ele me spawna sу que com a skin do cj, independemente do sexo que foi escolhido.

Ou seja, quando escolho o sexo ele seta certinho, mulher com skin de mulher, homem com skin de homem, o problema estб na hora de relogar. Independemente da escolha do sexo, ele vai setar a skin do CJ.


@EDIT, vou ver o quк voces falaram ao editar

#Vou testar a do ITakeALot
Pois seu salvamento esta todo confuso.. De uma olhada nesse tutorial Tutorial - DOF2
Reply
#8

Acho que seria mais interresante eu refaze-lo...


Vou ver aqui, qualquer coisa eu dou um "toque".
Reply
#9

verifique se o nome das pastas estao com nome correto!
Reply
#10

Quote:
Originally Posted by iMFear
Посмотреть сообщение
Bom, eu fiz isso aqui(vou postar logo o GM inteiro):

Agora quando cria conta o servidor chega a fechar, acho que atй pra logar ele vai fechar..
Verifique seu scriptfiles, as pastas estгo lб?
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)