[Ajuda] Salvamento com loop?
#1

O problema й salvar, nгo estб salvando, por que quero salvar? Quando eu logo, mostra "Vazio" no espaзo para criar personagem, ae eu vou nos arquivos e crio um personagem, mais esse personagem apareзe na textdraw apenas quando eu desligo e ligo novamente o gamemode, no console.

PHP код:
enum pInfo2
{
    
pSenha,
    
pPersonagem1[80],
    
pPersonagem2[80],
    
pPersonagem3[80],
    
PlayerText:pTextDraws[18]
};
new 
Account[MAX_PLAYERS][pInfo2];
 for (new 
019i++)
{
     
DOF2_SetInt(arquivo"TextDraws%s"iAccount[playerid][pTextDraws][i]);

Reply
#2

Beleza, estou apenas tentando esclarecer ideias com a comunidade, up! como posso criar essa loop de salvamento, que salva 18 textdraws no total, mais queria salvar do modo abaixo? Nгo estб salvando por que?


Код:
TextDraws0 = 0
TextDraws1 = 1
TextDraws2 = 2
TextDraws3 = 3
TextDraws4 = 4
TextD....
PHP код:
for (new 019i++)
{
       
DOF2_SetInt(arquivo"TextDraws%s"iAccount[playerid][pTextDraws][i]);

Reply
#3

for (new i = 0; i < 19; i++)
{
DOF2_SetInt(arquivo, "TextDraws%s", i, Account[i][pTextDraws]);
}

testa assim
Reply
#4

Nгo deu certo por que esse ae й pra definir apenas textdraws de 0 a 18, sendo assim o playerid nгo й utilizado, sу quero dar um jeito de salvar do jeito que mostrei, fiz deste modo, pois o tуpico poderб ajudar futuros no samp tambйm..
Reply
#5

Como eu faзo? Estб tipo assim, na hora de logar na primeira vez, loga certo, mostra os nomes dos personagens nas textdraws, mais se eu ir atй as scriptfiles e trocar o nome e logar novamente no servidor sem desligado, fica do mesmo jeito de antes, como se eu nгo tivesse colocado um novo personagem nas scriptfiles para ser clicavel na textdraw, mostra vazio ou o personagem que jб tinha salva na textdraw ao logar na primeira vez, ae pensei que precisava salvar a textdraw, mais nгo consigo salvar por falta de experiкncia.

O problema й salvar, nгo estб salvando, por que quero salvar? Quando eu logo, mostra "Vazio" no espaзo para criar personagem, ae eu vou nos arquivos e crio um personagem, mais esse personagem apareзe na textdraw apenas quando eu desligo e ligo novamente o gamemode, no console.
Reply
#6

Se nao funcionar explique melhor.
Pelo o que eu entendi й isso, tente ai:
PHP код:
new str[40];
for(new 
i19++)
{
    
format(strsizeof str"TextDraws%d"i);
    
    
DOF2_SetInt(arquivostrAccount[playerid][pTextDraws]);
    
    
DOF2_SaveFile();

Ou intгo tente assim:
PHP код:
new PlayerTextpTextDraws[MAX_PLAYERS][18];
//
new str[40];
for(new 
i19++)
{
    
format(strsizeof str"TextDraws%d"i);
    
DOF2_SetInt(arquivostrpTextDraws[playerid][i]);
    
DOF2_SaveFile();

Reply
#7

Vocк foi reputado com sucesso, 50 por cento do nosso problema foi resolvido, vamos lб.


Por que eu salvo em um enum?

Код HTML:
//enum atualizada:

enum pInfo2
{
	pSenha,
    pPersonagem1[80],
    pPersonagem2[80],
    pPersonagem3[80],
    PlayerText:pTextDraws[9]
};
new Account[MAX_PLAYERS][pInfo2];
Peguei o sistema de TextDraw de uma outra gamemode Mysql, entгo meu deu um bom trabalho para converter.
Na enum carrega todas as TextDraw e salva nos arquivos, nгo sei pra que, mais coloquei por que estava bugando quando eu logo, mostra "Vazio" no espaзo para criar personagem, ae eu vou nos arquivos e crio um personagem manualmente, mais esse personagem aparece na textdraw apenas quando eu desligo o servidor e ligo novamente,
ae pensei em deixar em enum, mais nгo consigo salvar do modo certo, nessa seguinte parte:


Код HTML:
new str[40]; 

for(new i; i < 19; i ++) 
{ 
    format(str, sizeof str, "TextDraws%d", i); 

    DOF2_SetInt(arquivo, str, pTextDraws[playerid][i]); 

    DOF2_SaveFile(); 
}  
Resolveu metade do meu problema, porйm falta resolver metade do problema, a enum, creio eu.
Os 9 textdraw sгo carregadas normalmente em Onplayerconect.

@edit

Quote:

Senha = pVazio
Personagem1 = Vazio
Personagem2 = Vazio
Personagem3 = Vazio
TextDraws0 = 0
TextDraws1 = 0
TextDraws2 = 0
TextDraws3 = 0
TextDraws4 = 0
TextDraws5 = 0
TextDraws6 = 0
TextDraws7 = 0
TextDraws8 = 0
TextDraws9 = 0

A parte da senha se encontra bugada por que? afs, essa parte da enum tб me matando, pesquiso em wiki e tudo, nada me trбs informaзхes para deixar funcional.
Reply
#8

Eu nгo entendi bem a parte da textdraw, vocк quer salvб-las ou nгo?

A parte da senha n acho necessбrio usar uma enum, a nгo ser que seja em Hash o sistema de login/registro.

Tente isso na dialog de registro e login, para salvar sua senha:

PHP код:
//Salvar a senha no Registro:
    
new str[45];
    
format(strsizeof str"Contas/%s.ini"GetName(playerid)); //Mude para seu local de salvamento.
 
    
DOF2_CreateFile(str);
    
DOF2_SetString(str"Senha"inputtext);
    
DOF2_SaveFile();
// 
//Verificar a senha salva, para fazer o login:
    
new str[45];
    
format(strsizeof str"Contas/%s.ini"GetName(playerid));  //Mude para seu local de salvamento.
 
    
if(strcmp(DOF2_GetString(str"Senha"), inputtexttrue) == 0)
    {
        
SpawnPlayer(playerid);
    }
// 
GetName(playerid) {
    static 
nickplayer[MAX_PLAYER_NAME];
    
GetPlayerName(playeridnickplayersizeof nickplayer);
    return 
nickplayer;

Reply
#9

Quote:
Originally Posted by AuhMaru
Посмотреть сообщение
Eu nгo entendi bem a parte da textdraw, vocк quer salvб-las ou nгo?

A parte da senha n acho necessбrio usar uma enum, a nгo ser que seja em Hash o sistema de login/registro.

Tente isso na dialog de registro e login, para salvar sua senha:

PHP код:
//Salvar a senha no Registro:
    
new str[45];
    
format(strsizeof str"Contas/%s.ini"GetName(playerid)); //Mude para seu local de salvamento.
 
    
DOF2_CreateFile(str);
    
DOF2_SetString(str"Senha"inputtext);
    
DOF2_SaveFile();
// 
//Verificar a senha salva, para fazer o login:
    
new str[45];
    
format(strsizeof str"Contas/%s.ini"GetName(playerid));  //Mude para seu local de salvamento.
 
    
if(strcmp(DOF2_GetString(str"Senha"), inputtexttrue) == 0)
    {
        
SpawnPlayer(playerid);
    }
// 
GetName(playerid) {
    static 
nickplayer[MAX_PLAYER_NAME];
    
GetPlayerName(playeridnickplayersizeof nickplayer);
    return 
nickplayer;

Na enum carrega todas as TextDraw e salva nos arquivos, nгo sei pra que, mais coloquei por que estava bugando quando eu logo, mostra "Vazio" no espaзo para criar personagem, ae eu vou nos arquivos e crio um personagem manualmente, mais esse personagem aparece na textdraw apenas quando eu desligo o servidor e ligo novamente,
ae pensei em deixar em enum, mais nгo consigo salvar do modo certo, nessa seguinte parte:

Precisa de uma enum para carregar, como vou carregar os nomes dos personagens? mais como vou salvar as textdraw de um modo que nгo de erro?

Acredito que o erro estб na enum na parte PlayerTextTextDraws:

PHP код:
enum pInfo2
{
    
pSenha,
    
pPersonagem1[80],
    
pPersonagem2[80],
    
pPersonagem3[80],
    
PlayerText:pTextDraws[9]
};
new 
Account[MAX_PLAYERS][pInfo2]; 
Como faзo para aumentar adicionar as linhas corretamente, nove no total?
Reply
#10

@EDIT
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)