Postado Junho 16, 2020 5 anos Eu precisava de uma função que limitaria nascer monstros apenas nestas áreas setadas no mapa, alguém consegue me dar um help? http://baiakuza.com/IP: baiakuza.com TIBIA: 10.96 Baiak Custom [ High Exp Rate ]
Postado Junho 16, 2020 5 anos @Skydangerous Com este código a baixo é possível spawnar vários monstros sem bugar nada, ou em cada área determinada um monstro. Spoiler 19 minutos atrás, Skydangerous disse: Eu precisava de uma função que limitaria nascer monstros apenas nestas áreas setadas no mapa, alguém consegue me dar um help? Global.lua local areas = { [1] = {name = "Demon", areaMin = {1000, 1000, 7}, areaMax = {1000, 1000, 7}}, [2] = {name = "Another Monster Name", areaMin = {1000, 1000, 7}, areaMax = {1000, 1000, 7}} } monsterSpawn_array = {} function addSpawnablePositions() for i = 1, #areas do local x = 0 local y = 0 local z = 0 while area[i].areaMin[1] < area[i].areaMax[1] do while area[i].areaMin[2] < area[i].areaMax[2] do while area[i].areaMin[3] < area[i].areaMax[3] do if x == area[i].areaMax[1] and y == area[i].areaMax[2] then x = area[i].areaMin[1] y = area[i].areaMin[2] z = z - 1 elseif x == 0 and y == 0 and z == 0 x = area[i].areaMin[1] y = area[i].areaMin[2] z = area[i].areaMin[3] end local posSpawn = Position({x, y, z}) local tile = Tile({x, y, z}) if tile == nil or tile:getGround() == nil or tile:hasProperty(TILESTATE_NONE) or tile:hasProperty(TILESTATE_FLOORCHANGE_EAST) or isItem(tile:getThing()) and not isMoveable(tile:getThing()) or tile:getTopCreature() then x = x + 1 y = y + 1 else if monsterSpawn_array[areas.name] then local length = monsterSpawn_array[areas.name] + 1 monsterSpawn_array[areas.name][length] = posSpawn else monsterSpawn_array[areas.name][1] = posSpawn end x = x + 1 y = y + 1 end end end end end end function selectRandSpawn(spawnName) if monsterSpawn_array[spawnName] then pos = monsterSpawn_array[math.random(1, #monsterSpawn_array[spawnName])] return true else return false end end Globalevents onStarup.lua addSpawnablePositions() Creaturescript onDeath function onDeath(creature) local pos = selectRandSpawn("Demon") if not pos then print("Could not find position") return true end Game.createMonster("Demon", pos) return true end
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.