[Ajuda] erro estranho
#1

me ajudem em um errinho existente, olhem:

PHP код:
public OnPlayerStateChange(playeridnewstateoldstate)
{
    new 
vid GetPlayerVehicleID(playerid);
    new 
lualarporcappormaob;
    if(
vid == VDM[0] || vid == VDM[1])
    {
        if(
pInfo[playerid][pProfissao] == PM)
        {
            
SetVehicleParamsEx(vidVEHICLE_PARAMS_ONlualarporcappormaob);
        }
        else
        {
            
SetVehicleParamsEx(vidVEHICLE_PARAMS_OFFlualarporcappormaob);
            
SendClientMessage(playerid0xFF0000AA"[ x ]Vocк nгo й policial!");
            
RemovePlayerFromVehicle(playerid);
            
TogglePlayerControllable(playerid1);
        }
    }
    return 
1;

PHP код:
C:\Users\victo\OneDrive\Бrea de Trabalho\server\gamemodes\fsf.pwn(200) : error033: array must be indexed (variable "PM"
Reply
#2

Como vocк declarou 'PM'?
Reply
#3

PHP код:
new PM[MAX_PLAYERS];
new 
DESEMPREGADO[MAX_PLAYERS]; 
Reply
#4

Quote:
Originally Posted by vitinhosamp
Посмотреть сообщение
PHP код:
new PM[MAX_PLAYERS];
new 
DESEMPREGADO[MAX_PLAYERS]; 
Faz assim, moзo:

PHP код:
#define DESEMPREGADO 0
#define PM 1 
#define OUTRA_PROFISSAO 2 
oou..

PHP код:
enum 
{
     
DESEMPREGADO,
     
PM
}; 
Reply
#5

Isso esta ocorrendo porque PM esta declarado como um array (vetor)

E na comparaзгo vocк esta comparando ela como um TODO!

Uso correto seria PM[playerid]

Ou entгo reveja os conceitos de seu Codigo!
Reply
#6

mude para isso:

PHP код:
if(pInfo[playerid][pProfissao] == PM[playerid]) 
Reply
#7

Quote:
Originally Posted by AdrianoStk
Посмотреть сообщение
Isso esta ocorrendo porque PM esta declarado como um array (vetor)

E na comparaзгo vocк esta comparando ela como um TODO!

Uso correto seria PM[playerid]

Ou entгo reveja os conceitos de seu Codigo!
Quote:
Originally Posted by Santso
Посмотреть сообщение
mude para isso:

PHP код:
if(pInfo[playerid][pProfissao] == PM[playerid]) 
Usando PM[playerid] irб eliminar o erro, mas isso nгo faz sentido algum...
Reply
#8

PHP код:
#define PM 0
if(pInfo[playerid][pProfissao] == PM)
{
    ...

Reply
#9

Quote:
Originally Posted by humildadeforever
Посмотреть сообщение
Usando PM[playerid] irб eliminar o erro, mas isso nгo faz sentido algum...
Exatamente por esse fato que eu coloquei

Ou entгo reveja os conceitos de seu Codigo!

Eu apenas respondi o porque estava acontecendo o erro!
Nгo sei como й o sistema dele, se ele fala-se qual a logica do sistema talvez eu teria uma soluзгo mais ideal!
Reply
#10

Entao, vou mandar aqui meu sistema e mostro pra vcs uma soluзгo melhor:

PHP код:
enum PlayerInfo {
    
pDinheiro,
    
pLevel,
    
Float:pVida,
    
Float:pColete,
    
pSkin,
    
pProfissao,
    
pProcurado,
    
bool:Ajudante,
    
bool:Moderador,
    
bool:Corregedor,
    
bool:Administrador,
    
bool:Master,
    
bool:Oculto
};
new 
pInfo[MAX_PLAYERS][PlayerInfo]; 
PHP код:
#define Registro                                                                1
#define Login                                                                   2
#define DIALOG_BAN                                                              3
#define PM_P                                                                    4
#define DESEMPREGADO                                                            5 
PHP код:
public OnPlayerDisconnect(playeridreason)
{
    new 
string[64], Float:healthFloat:armour;
    
format(stringsizeof(string), "»O player %s se desconectou ao servidor!"Pname(playerid));
    
SendClientMessageToAll(-1string);
    
format(gfilesizeof(gfile), "Contas/%s.txt"Pname(playerid));
    if(
DOF2_FileExists(gfile))
    {
        
pInfo[playerid][pVida] = GetPlayerHealth(playeridarmour);
        
pInfo[playerid][pColete] = GetPlayerArmour(playeridhealth);
        
pInfo[playerid][pDinheiro] = GetPlayerMoney(playerid);
        
pInfo[playerid][pSkin] = GetPlayerSkin(playerid);
        
pInfo[playerid][pLevel] = GetPlayerScore(playerid);
        
pInfo[playerid][pProcurado] = GetPlayerWantedLevel(playerid);
        
DOF2_SetFloat(gfile"Vida"pInfo[playerid][pVida]);
        
DOF2_SetFloat(gfile"Colete"pInfo[playerid][pColete]);
        
DOF2_SetInt(gfile"Level"pInfo[playerid][pLevel]);
        
DOF2_SetInt(gfile"Skin"pInfo[playerid][pSkin]);
        
DOF2_SetInt(gfile"Procurado"pInfo[playerid][pProcurado]);
        
DOF2_SetInt(gfile"Profissao"pInfo[playerid][pProfissao]);
        
DOF2_SetInt(gfile"Dinheiro"pInfo[playerid][pDinheiro]);
        
DOF2_SetBool(gfile"Ajudante"pInfo[playerid][Ajudante]);
        
DOF2_SetBool(gfile"Moderador"pInfo[playerid][Moderador]);
        
DOF2_SetBool(gfile"Corregedor"pInfo[playerid][Corregedor]);
        
DOF2_SetBool(gfile"Administrador"pInfo[playerid][Administrador]);
        
DOF2_SetBool(gfile"Master"pInfo[playerid][Master]);
        
DOF2_SetBool(gfile"Oculto"pInfo[playerid][Oculto]);
        
DOF2_SaveFile();
    } 
PHP код:
public OnDialogResponse(playeriddialogidresponselistiteminputtext[])
{
    
format(gfilesizeof(gfile), "Contas/%s.txt"Pname(playerid));
    switch(
dialogid) {
        case 
Registro: {
            if(!
response)
            {
                
SendClientMessage(playerid0xFF0000AA"[ ERRO ]Vocк escolheu sair!");
                
Kick(playerid);
            }
            if(
strlen(inputtext) < || strlen(inputtext) > 20 || !strlen(inputtext))
            {
                
SendClientMessage(playerid, -1"[ {FFFFFF}ERRO ]Digite uma senha para se registrar!");
                
format(strsizeof(str), "Ola, seja bem vindo pela primeira vez Sr.%s !"Pname(playerid));
                
ShowPlayerDialog(playeridRegistroDIALOG_STYLE_PASSWORD"{FFFFFF}REGISTRO"str"Registro""Cancelar");
            }
            else
            {
                
DOF2_CreateFile(gfile);
                
DOF2_SetString(gfile"Senha"inputtext);
                
DOF2_SetFloat(gfile"Vida"100.00000000);
                
DOF2_SetFloat(gfile"Colete"100.00000000);
                
DOF2_SetInt(gfile"Skin"137);
                
DOF2_SetInt(gfile"Dinheiro"0);
                
DOF2_SetInt(gfile"Procurado"0);
                
DOF2_SetInt(gfile"Profissao"DESEMPREGADO);
                
DOF2_SetBool(gfile"Ajudante"false);
                
DOF2_SetBool(gfile"Moderador"false);
                
DOF2_SetBool(gfile"Corregedor"false);
                
DOF2_SetBool(gfile"Administrador"false);
                
DOF2_SetBool(gfile"Master"false);
                
DOF2_SetBool(gfile"Oculto"false);
                
DOF2_SaveFile();
                
GivePlayerMoney(playerid5000);
                
SpawnPlayer(playerid);
            }
        }
        case 
Login: {
            if(!
response)
            {
                
SendClientMessage(playerid0xFF0000AA"[ ERRO ]Vocк escolheu sair!");
                
Kick(playerid);
            }
            if(!
strlen(inputtext))
            {
                
SendClientMessage(playerid, -1"[{FFFFFF}ERRO ] Digite Sua senha para logar no servidor!");
                
format(strsizeof(str), "Ola, seja bem vindo ao servidor novamente!");
                
ShowPlayerDialog(playeridLoginDIALOG_STYLE_PASSWORD"{FFFFFF}LOGIN"str"Login""Cancelar");
            }
            if(
strcmp(inputtextDOF2_GetString(gfile"Senha")) == 0)
            {
                
pInfo[playerid][pProcurado] = DOF2_GetInt(gfile"Procurado");
                
pInfo[playerid][pVida] = DOF2_GetFloat(gfile"Vida");
                
pInfo[playerid][pColete] = DOF2_GetFloat(gfile"Colete");
                
pInfo[playerid][pSkin] = DOF2_GetInt(gfile"Skin");
                
pInfo[playerid][pLevel] = DOF2_GetInt(gfile"Level");
                
pInfo[playerid][pProfissao] = DOF2_GetInt(gfile"Profissao");
                
pInfo[playerid][pDinheiro] = DOF2_GetInt(gfile"Dinheiro");
                
pInfo[playerid][Ajudante] = DOF2_GetBool(gfile"Ajudante");
                
pInfo[playerid][Moderador] = DOF2_GetBool(gfile"Moderador");
                
pInfo[playerid][Corregedor] = DOF2_GetBool(gfile"Corregedor");
                
pInfo[playerid][Administrador] = DOF2_GetBool(gfile"Administrador");
                
pInfo[playerid][Master] = DOF2_GetBool(gfile"Master");
                
pInfo[playerid][Oculto] = DOF2_GetBool(gfile"Oculto");
                
SendClientMessage(playerid, -1"{FFFFFF}Login efeituado com sucesso!");
                
SpawnPlayer(playerid);
                
SetPlayerSkin(playeridDOF2_GetInt(gfile"Skin"));
            }
            else
            {
                
format(strsizeof(str), "Ola, seja bem vindo ao servidor novamente!");
                
ShowPlayerDialog(playeridLoginDIALOG_STYLE_PASSWORD"{FFFFFF}LOGIN"str"Login""Cancelar");
            }
        }
    }
    return 
1;

me ajudem, ele ta setando a prof como 0!
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)