RO
dúvida

Checar se tem monstro na area marcada, se tiver remover e criar outro

Por roriscrave, 04 de nov. de 2013 em Scripts

resolvido
6
1.8k
04 de novembro de 2013 às 20:31

Checar se tem algum monstro nesta área

local fromPos,toPos = {x=1586,y=1761,z=12},{x=1598,y=1773,z=12}
local fromPos2,toPos2 = {x=1323,y=721,z=6},{x=1333,y=725,z=6}

caso tenha, ele sera removido

obs: é um movement, o player pisa no sqm e é teleportado para uma arena, caso tenha monstro na arena ele tem que ser removido na hora que o player pisar no tile

Editado Novembro 4 por roriscrave

Nu77N
04 de novembro de 2013 às 23:47

Você precisa configurar os ID's dos tile e as coordenadas...

 

function getMonstersInArea(area)
        local monsters = {} 
        for x = area.fromx, area.tox do
                for y = area.fromy, area.toy do
                        for z = area.fromz, area.toz do
                                monsterpos = {x=x,y=y,z=z,stackpos=253}
                                monster = getThingFromPos(monsterpos)
                                if isMonster(monster.uid) == true then
                                        table.insert(monsters, monster.uid)
                                end
                        end
                end
        end
        return monsters
end


function onStepIn(cid, item, position, fromPosition)

if not isPlayer(cid) then return false end

local positions = {
[TILE_ID_1] = {fromx = ..., fromy = ..., fromz = ..., tox = ..., toy = ..., toz = ...},
[TILE_ID_2] = {fromx = ..., fromy = ..., fromz = ..., tox = ..., toy = ..., toz = ...}
}

local monsters = getMonstersInArea(positions[item.itemid])

        if #monsters > 0 then
                for i, #monsters do
                        doRemoveCreature(monsters[i])
                end
        end   
        return true
end

Editado Novembro 4 por SUJA

04 de novembro de 2013 às 23:56

no caso tile ID eu boto o ID do chão que vai estar nessa área?

Nu77N
05 de novembro de 2013 às 00:04

Como você colocou 2 locais diferentes, logicamente serão 2 tiles diferente certo? Você coloca o tile e depois as coordenadas do local.

FolspaF
05 de novembro de 2013 às 06:53

Tem como fazer o contrário... Se não tiver monstro fazer aparecer?

2 meses depois...
zipter98Z
15 de janeiro de 2014 às 21:44

Tópico movido para a seção de dúvidas e pedidos resolvidos.