[Ajuda] Must be assigned to an array
#1

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
Reply
#2

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...
Reply
#3

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.
Reply
#4

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

Strval converte uma string para um inteiro.
Reply
#6

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

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

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.
Reply
#9

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

https://sampwiki.blast.hk/wiki/SetTimerEx
Reply
#10

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;
}
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)