Postado Junho 17, 2020 4 anos Resolvido. Consegui resolver com auxilio do print(), de um amigo do otland e com o auxilio do Storm! Editado Junho 19, 2020 4 anos por Camilo Salvadori (veja o histórico de edições)
Postado Junho 17, 2020 4 anos @Camilo Salvadori Pra não ter que ir rastreando parte por parte do código, eu recomendo você colocar um print depois de cada IF para descobrir em qual a script está parando, e aí sim corrigir o que está errado.
Postado Junho 17, 2020 4 anos Autor @Storm Oi meu querido! E como eu crio esse print dentro do if? Vou testar isso agora! muito obrigado
Postado Junho 17, 2020 4 anos Autor Valeu! @Storm e @Underewar! Então... eu consegui arrumar algumas coisas, mas não tem jeito de eu conseguir colocar o AddEvent() O script ficou assim: (funcionável... funcionou de boassa) function onStepOut(cid, item, position, fromPosition) local tile = Item(item.uid) local player = Player(cid) if not tile or not player then return true end local uniqueid = tile:getUniqueId() if player:getStorageValue(uniqueid) == -1 or player:getStorageValue(uniqueid) == 0 then local creatures_pool = {} for var = 1, #AMBUSH_TABLE[uniqueid].monsters do local ambush = AMBUSH_TABLE[uniqueid].monsters[var] for i = 1, #ambush do table.insert(creatures_pool, ambush[i]) end end for k = 1, #creatures_pool do local pos = player:getPosition() local radius = 2 Game.createMonster(creatures_pool[k], Position(math.random(pos.x-radius, pos.x+radius), math.random(pos.y-radius, pos.y+radius), pos.z)) end player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "Você sofreu uma emboscada!") -- player:setStorageValue(uniqueid, 1) end end Porém fazendo uma nova function pra rolar o AddEvent() ficou assim: (está errado) local function emboscada(cid, position) local tile = Item(item.uid) local player = Player(cid) if not tile or not player then return true end local creatures_pool = {} for var = 1, #AMBUSH_TABLE[uniqueid].monsters do local ambush = AMBUSH_TABLE[uniqueid].monsters[var] for i = 1, #ambush do table.insert(creatures_pool, ambush[i]) end end for k = 1, #creatures_pool do local pos = player:getPosition() local radius = 2 Game.createMonster(creatures_pool[k], Position(math.random(pos.x-radius, pos.x+radius), math.random(pos.y-radius, pos.y+radius), pos.z)) end player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "Você sofreu uma emboscada!") end function onStepOut(cid, item, position, fromPosition) local tile = Item(item.uid) local player = Player(cid) if not tile or not player then return true end local uniqueid = tile:getUniqueId() if player:getStorageValue(uniqueid) == -1 or player:getStorageValue(uniqueid) == 0 then addEvent(emboscada, 3000, cid.uid, position) -- player:setStorageValue(uniqueid, 1) end end O problema é que aqui a função nova não sabe o que é TILE, pq o TILE tá registrado no STEPOUT... que que eu faço? Editado Junho 17, 2020 4 anos por Camilo Salvadori (veja o histórico de edições)
Participe da conversa
Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.