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