Olá pessoal, minha dúvida é a seguinte, como usar o comando for nessa situação:
Eu tenho a seguinte função:
Spoiler
function getMonstersInArea(area)local monsters ={}for x = area.fromx, area.tox dofor y = area.fromy, area.toy dofor z = area.fromz, area.toz do
monsterpos ={x=x,y=y,z=z,stackpos=253}
monster = getThingFromPos(monsterpos)if isMonster(monster.uid)==truethen
table.insert(monsters, monster.uid)endendendendreturn monsters
end
E a seguinte tabela como exemplo, e como já deve ser definida usando essa função:
Se eu usar a função da seguinte maneira, ela funciona corretamente,a finalidade para qual eu vou usa-la é para remover monstros de uma area:
Spoiler
local monsters = getMonstersInArea(table["indice"].positionsToCheck.area1)if#monsters > 0 thenfor i =1,#monsters do
doRemoveCreature(monsters[i])endend
Até ai tudo certo se eu usar dessa forma, como já disse tudo funciona corretamente, no entando, eu preciso que seja configurável quantas posições eu quiser checar para remover os montros, pois as vezes indices diferentes terão numeros de areas diferentes para serem checadas. Para isso, tentei usar o for da seguinte maneira:
Spoiler
for area,_ in pairs(table["indice"].areasToCheck)dolocal monsters = myNew({fromx=table["indice"].areasToCheck[areas].fromx, fromy=table["indice"].areasToCheck[areas].fromy, fromz=table["indice"].areasToCheck[areas].fromz},{tox=table["indice"].areasToCheck[areas].tox, toy=table["indice"].areasToCheck[areas].toy, toz=table["indice"].areasToCheck[areas].toz})if#monsters > 0 dofor i =1,#monsters do
doRemoveCreature(monsters[i])endendend
Mas fica dando o seguinte erro: for initial value must be a number, algo assim.
Ainda estou aprendendo a programar e não tenho muito conhecimento, por isso gostaria que me ajudassem e me esclarecessem minha dúvida de como usar o for nessa situação.
Caso não tenha ficado totalmente claro oque eu pretendo fazer, seria basicamente salas para matar monstros, tipo uma quest, só que toda vez que o jogador for entrar se ainda tiver monstros lá eles ser
ão removidos, cada indice da tabela seria uma actionID diferente pra colocar em uma alavanca diferente pra startar a sala. Bom, acho que deu pra entender, espero que me ajudem com essa dúvida, e obrigado desde já!
Pergunta
Pokeultion 1
Olá pessoal, minha dúvida é a seguinte, como usar o comando for nessa situação:
Eu tenho a seguinte função:
E a seguinte tabela como exemplo, e como já deve ser definida usando essa função:
Se eu usar a função da seguinte maneira, ela funciona corretamente,a finalidade para qual eu vou usa-la é para remover monstros de uma area:
Até ai tudo certo se eu usar dessa forma, como já disse tudo funciona corretamente, no entando, eu preciso que seja configurável quantas posições eu quiser checar para remover os montros, pois as vezes indices diferentes terão numeros de areas diferentes para serem checadas. Para isso, tentei usar o for da seguinte maneira:
Mas fica dando o seguinte erro: for initial value must be a number, algo assim.
Ainda estou aprendendo a programar e não tenho muito conhecimento, por isso gostaria que me ajudassem e me esclarecessem minha dúvida de como usar o for nessa situação.
Caso não tenha ficado totalmente claro oque eu pretendo fazer, seria basicamente salas para matar monstros, tipo uma quest, só que toda vez que o jogador for entrar se ainda tiver monstros lá eles ser
ão removidos, cada indice da tabela seria uma actionID diferente pra colocar em uma alavanca diferente pra startar a sala. Bom, acho que deu pra entender, espero que me ajudem com essa dúvida, e obrigado desde já!
Link para o comentário
Compartilhar em outros sites
2 respostass a esta questão
Posts Recomendados