[Ajuda] must be assigned to an array
#1

Estou "fazendo" um sistema de login/registro em dof2 bem basico , mas por algum motivo esta dando esse erro.
Se alguem poder me ajudar, fico muito agradecido


Erro

PHP код:
C:\Users\EsquizoFamily\Documents\Cauezin\Servidor\gamemodes\NEB.pwn(350) : error 006must be assigned to an array 
Parte do erro

PHP код:
    if(dialogid == DIALOG_REGISTRO)
    {
    if(
strval(inputtext) < 4)
    {
    
ShowPlayerDialog(playeridDIALOG_REGISTRODIALOG_STYLE_INPUT"Bem-Vindo""Seja bem-vindo jogador!\nDigite uma senha abaixo para se registrar  em nosso servidor.""Confirmar""Sair");
    
SendClientMessage(playerid0xFF0000AA,"|ERRO|Sua senha precisa ter no minimo 4 caracteres!");
    return 
1;
    }
    if(!
response)
    {
    
Kick(playerid);
    return 
1;
    }else{
    
pInfos[playerid][pSenha] = strval(inputtext);
    
DOF2_CreateFile(arquivo);
    
DOF2_SetString(arquivo"Senha"pInfos[playerid][pSenha]);
    
DOF2_SetInt(arquivo"Dinheiro"pInfos[playerid][pDinheiro]);
    
DOF2_SetInt(arquivo"Skin"23);
    
DOF2_SetInt(arquivo"Score"pInfos[playerid][pScore]);
    
DOF2_SaveFile();
    
SendClientMessage(playerid0xFF8080AA,"|SERVER|Sua conta foi criada com sucesso!");
    
SpawnPlayer(playerid);
    
SetPlayerPos(playerid,1172.6566,-1323.3835,15.4025);
    }
    }
    if(
dialogid == DIALOG_LOGAR)
    {
    if(
strval(inputtext) < 4)
    {
    
ShowPlayerDialog(playeridDIALOG_LOGARDIALOG_STYLE_PASSWORD"Bem-Vindo""Seja bem-vindo novamente!\nDigite sua senha abaixo.""Confirmar""Sair");
    
SendClientMessage(playerid0xFF0000AA,"|ERRO|Sua senha precisa ter no minimo 4 caracteres!");
    return 
1;
    }
    if(!
response)
    {
    
Kick(playerid);
    return 
1;
    }else{
    
pInfos[playerid][pSenha] = DOF2_GetString(arquivo"Senha"); // linha do erro
    
if(strval(inputtext) == pInfos[playerid][pSenha])
    {
    
pInfos[playerid][pDinheiro] = DOF2_GetInt(arquivo"Dinheiro");
    
pInfos[playerid][pSkin] =  DOF2_GetInt(arquivo"Skin");
    
pInfos[playerid][pScore] = DOF2_GetInt(arquivo"Score");
    
pInfos[playerid][pPosX] = DOF2_GetFloat(arquivo"PosX");
    
pInfos[playerid][pPosY] = DOF2_GetFloat(arquivo"PosY");
    
pInfos[playerid][pPosZ] = DOF2_GetFloat(arquivo"PosZ");
    
pInfos[playerid][pPosA] = DOF2_GetFloat(arquivo"PosA");
    
pInfos[playerid][pVirtualWorld] = DOF2_GetInt(arquivo"VirtualWorld");
    
pInfos[playerid][pInterior] = DOF2_GetInt(arquivo"Interior");
    
SpawnPlayer(playerid);
    
GivePlayerMoney(playeridpInfos[playerid][pDinheiro]);
    
SetPlayerSkin(playeridpInfos[playerid][pSkin]);
    
SetPlayerScore(playeridpInfos[playerid][pScore]);
    
SetPlayerPos(playeridpInfos[playerid][pPosX],pInfos[playerid][pPosY],pInfos[playerid][pPosZ]);
    
SetPlayerFacingAngle(playeridpInfos[playerid][pPosA]);
    
SetPlayerVirtualWorld(playeridpInfos[playerid][pVirtualWorld]);
    
SetPlayerInterior(playeridpInfos[playerid][pInterior]);
    }else{
    
ShowPlayerDialog(playeridDIALOG_LOGARDIALOG_STYLE_INPUT"Bem-Vindo""Seja bem-vindo novamente!\nDigite sua senha abaixo.""Confirmar""Sair");
    
Erro[playerid]++;
    if(
Erro[playerid] == 3)
    {
    
SendClientMessage(playerid0xFF0000AA"|SERVER|Vocк exedeu o seu limite de tentativas");
    
Kick(playerid);
    return 
1;
     }
    }
  }
  }
  }
    return 
1;

Reply
#2

Como essa variбvel foi declarada ? pSenha,deve estar como string.
Reply
#3

Quote:
Originally Posted by FerrariL
Посмотреть сообщение
Como essa variбvel foi declarada ? pSenha,deve estar como string.
Variaveis

PHP код:
enum Infos{
    
pSenha,
    
pDinheiro,
    
pScore,
    
pSkin,
    
Float:pPosX,
    
Float:pPosY,
    
Float:pPosZ,
    
Float:pPosA,
    
pVirtualWorld,
    
pInterior
}
new 
pInfos[MAX_PLAYERS][Infos];
new 
Erro[MAX_PLAYERS]; 
PHP код:
    if(dialogid == DIALOG_REGISTRO)
    {
    if(
strval(inputtext) < 4)
    {
    
ShowPlayerDialog(playeridDIALOG_REGISTRODIALOG_STYLE_INPUT"Bem-Vindo""Seja bem-vindo jogador!\nDigite uma senha abaixo para se registrar  em nosso servidor.""Confirmar""Sair");
    
SendClientMessage(playerid0xFF0000AA,"|ERRO|Sua senha precisa ter no minimo 4 caracteres!");
    return 
1;
    }
    if(!
response)
    {
    
Kick(playerid);
    return 
1;
    }else{
    
pInfos[playerid][pSenha] = strval(inputtext);
    
DOF2_CreateFile(arquivo);
    
DOF2_SetString(arquivo"Senha"pInfos[playerid][pSenha]); // Aqui bb
    
DOF2_SetInt(arquivo"Dinheiro"pInfos[playerid][pDinheiro]);
    
DOF2_SetInt(arquivo"Skin"23);
    
DOF2_SetInt(arquivo"Score"pInfos[playerid][pScore]);
    
DOF2_SaveFile();
    
SendClientMessage(playerid0xFF8080AA,"|SERVER|Sua conta foi criada com sucesso!");
    
SpawnPlayer(playerid);
    
SetPlayerPos(playerid,1172.6566,-1323.3835,15.4025);
    }
    } 
Reply
#4

onde tem DOF2_SetString troque por DOF2_SetInt,ou declare sua variбvel Senha como string,exemplo :
PHP код:
 new String[20]; 
Reply
#5

Tentei de tudo e nгo foi
Reply
#6

Veja se funciona :
PHP код:
pInfos[playerid][pSenha] = inputtext
Reply
#7

Quote:
Originally Posted by FerrariL
Посмотреть сообщение
Veja se funciona :
PHP код:
pInfos[playerid][pSenha] = inputtext
Continua o mesmo erro
Reply
#8

Quote:
Originally Posted by FerrariL
Посмотреть сообщение
Veja se funciona :
PHP код:
pInfos[playerid][pSenha] = inputtext
Acho que seria
PHP код:
pInfos[playerid][pSenha] = strval(inputtext); 
@Cauezin testa ai:
PHP код:
if(dialogid == DIALOG_REGISTRO)
    {
    if(
strval(inputtext) < 4)
    {
    
ShowPlayerDialog(playeridDIALOG_REGISTRODIALOG_STYLE_INPUT"Bem-Vindo""Seja bem-vindo jogador!\nDigite uma senha abaixo para se registrar  em nosso servidor.""Confirmar""Sair");
    
SendClientMessage(playerid0xFF0000AA,"|ERRO|Sua senha precisa ter no minimo 4 caracteres!");
    return 
1;
    }
    if(!
response)
    {
    
Kick(playerid);
    return 
1;
    }else{
    
DOF2_CreateFile(arquivo);
    
DOF2_SetString(arquivo"Senha"inputtext);
    
DOF2_SetInt(arquivo"Dinheiro"pInfos[playerid][pDinheiro]);
    
DOF2_SetInt(arquivo"Skin"23);
    
DOF2_SetInt(arquivo"Score"pInfos[playerid][pScore]);
    
DOF2_SaveFile();
    
SendClientMessage(playerid0xFF8080AA,"|SERVER|Sua conta foi criada com sucesso!");
    
SpawnPlayer(playerid);
    
SetPlayerPos(playerid,1172.6566,-1323.3835,15.4025);
    }
    } 
Reply
#9

Sim,estava desta forma
PHP код:
pInfos[playerid][pSenha] = strval(inputtext); 
Mas ele disse que nгo funcionou.
Reply
#10

Quote:
Originally Posted by FerrariL
Посмотреть сообщение
Sim,estava desta forma
PHP код:
pInfos[playerid][pSenha] = strval(inputtext); 
Mas ele disse que nгo funcionou.
Acho eu, pelo que jб vi, esta parte funciona corretamente, pois tem comandos em meu gm que utilizam do mesmo codigo e nгo tem nenhum problema (comando de mudar senha), Mas o que eu acho que nгo funciona й:
PHP код:
DOF2_SetString(arquivo"Senha"pInfos[playerid][pSenha]); 
meu gm tem o sistema de registro/login um tanto parecido com este, e para salvar a senha apуs criar a conta, a funcзгo usada й
PHP код:
DOF2_SetStringGetPlayerArquivoplayerid ),"Senha"inputtext ); 
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)