SA-MP Forums Archive
[Ajuda] Must be assigned to an array - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (https://sampforum.blast.hk/forumdisplay.php?fid=34)
+---- Thread: [Ajuda] Must be assigned to an array (/showthread.php?tid=526509)



Must be assigned to an array - Gabriel10101 - 17.07.2014

Estou criando um sistema e nгo consigo resolver o seguinte erro:
Код:
error: 006: must be assigned to an array
Linha:
pawn Код:
PlayerInfo[playerid][pJailTime] = Tempo;
Codigo inteiro:
pawn Код:
new Adminca[128], Motivo[128], Tempo[128];
    new string3[128];
    format(string3, sizeof(string3), "Cadeia/%s.ini", PlayerName(playerid));
    if(fexist(string3)){
    Adminca = DOF2_GetString(string3, "Admin");
    Motivo = DOF2_GetString(string3, "Motivo");
    Tempo = DOF2_GetString(string3, "Tempo");
    PlayerInfo[playerid][pJailed] = 9;
    strmid(PlayerInfo[playerid][pJailTime], DOF2_GetString(string3,"Tempo"), 0, strlen(DOF2_GetString(string3,"Tempo * 60")), 255);
    format(gstring, sizeof(gstring), "Vocк foi agendado pelo admin:%s pelo motivo %s por %s segundos.", Adminca, Motivo, Tempo);
    SendClientMessage(playerid, COLOR_YELLOW, gstring);
    }else{SendClientMessage(playerid,COLOR_LIGHTRED, "FAILLLLL");}
Obrigado


Re: Must be assigned to an array - darkxdll - 17.07.2014

PHP код:
new Adminca[128], Motivo[128], Tempo[128]; 
Para inserir algo dentro de uma "string" deves usar "strins" ou "format" .
e nгo apenas :

PHP код:
new meunome[100];
minhavar[playerid] = meunome
Tendeu ?

Nгo consegui explicar muito bem sorry...


Re: Must be assigned to an array - PT - 17.07.2014

tenta

pawn Код:
new Tempo;
Tempo = DOF2_GetString(string3, "Tempo");
PlayerInfo[playerid][pJailTime] = strval(Tempo);
dark

nem tinha reparado como ele tinha declarado..

vlw

mesmo assim da forma como eu tinha colocado, somente funcionaria igual, mas nao seria o mais correto.


Re: Must be assigned to an array - darkxdll - 17.07.2014

PT , mais ele criou uma array , "Tempo[128]" , nгo seria errado usar strval ?


Re: Must be assigned to an array - MultiKill - 17.07.2014

Strval converte uma string para um inteiro.


Re: Must be assigned to an array - darkxdll - 17.07.2014

MultiKill mais nгo seria mais prбtico mudar de "Tempo[128]" para "Tempo" apenas ?


Re: Must be assigned to an array - MultiKill - 17.07.2014

Seria. Nгo sei por quais motivos ele criou esta array, se iria usar como um inteiro.


Re: Must be assigned to an array - Gabriel10101 - 17.07.2014

Pois й na verdade eu estava meio perdido,mas funcionou o que o PT postou,agora entendi o que o Dark quis dizer,aproveitando o embalo poderia me tirar mais uma dъvida em outro script? Obrigado a todos pela ajuda.

pawn Код:
new Float: X, Float: Y, Float: Z;
        GetPlayerPos(playerid, X, Y, Z);
        if (IsPlayerInRangeOfPoint(damagedid, 5.0, X, Y, Z))
        {
            emcombate[damagedid] = 1;
        }
        else
        {
            emcombate[damagedid] = 0;
        }
Mesmo sabendo que a public sу й chamada quando toma dano causo por outro player, entгo ela nunca vai voltar 0 mas nгo sei como fazer ele voltar 0,estou usando essa variбvel para bloquear alguns comandos.

Obrigado novamente.


Re: Must be assigned to an array - PT - 18.07.2014

faзa um timer verificando a posicao do player a cada X segundo(s).

https://sampwiki.blast.hk/wiki/SetTimerEx


Re: Must be assigned to an array - Gabriel10101 - 18.07.2014

PT,mas como posso usar a damagedid fora da public? Por que estб dando error:
Код:
error: 017: undefined symbol "damagedid"
Codigo:
pawn Код:
new Float: X, Float: Y, Float: Z;// Vamos criar as variaveis para armazenar a posiзгo do atirador.
        GetPlayerPos(playerid, X, Y, Z);//Vamos Armazenar a posiзгo do atirador.
        if (IsPlayerInRangeOfPoint(damagedid, 5.0, X, Y, Z))// Verificamos se o player que levou o dano estб em um raio de 5 metros do atirador.
        {
            emcombate[damagedid] = 1;
            SetTimerEx("Nocombate", 5000, false, "i", playerid);
        }
pawn Код:
forward Nocombate(playerid);
public Nocombate(playerid)
{
    emcombate[damagedid] = 1;
    return 1;
}