Ir para conteúdo

Featured Replies

Postado

Quero ajustar esse Script.

Quero Teleportar o Jogador para X Posição se a área/sala não tiver nenhum monstro.

No entanto, se na área/sala ainda tiver monstro, ele é empurrado pra trás.

 

Tenho esse Script que estava usando como base. Tentei usar else mas da erro.

function onStepIn(cid, item, position, fromPosition)


for posx = 494,497 do -- checar posição X, começo e final da sala
for posy = 499,502 do -- checar posicao Y, começo e final da sala
local pos = {x=posx, y=posy, z=5, stackpos=253} -- posição que ira verificar se existe creatures (stackpos = 253)
local creature = getThingfromPos(pos) -- pega informações da creature da posição


if isMonster(creature.uid) then -- verifica se é um monster
doTeleportThing(cid, fromPosition)
doSendMagicEffect(getPlayerPosition(cid), 2)
end
end
end


return TRUE
end

No Aguardo!

 

cms1-pr%C3%AAmio.png

Resolvido por zipter98

Ir para solução
Postado

Tenta mudar essa linha:

if isMonster(creature.uid) then -- verifica se é um monster

Pra essa:

if not isMonster(creature.uid) then -- verifica se não é um monster

Se quiser sua dúvida tirada, mande PM com os links, e não com a dúvida (outros podem ter a mesma dúvida, e o fórum serve para ser usado).

 

Tópicos:


 

yNlhRVC.png

 

55px-Judo_yellow_belt.svg.png

Postado
  • Autor

Tem que haver duas verificações:

 

  • Se Tiver monstro, acontece X
  • Se Não tiver monstro acontece Y

 

Já usei isso. Não foi.

if not isMonster(creature.uid) then -- verifica se não é um monster

cms1-pr%C3%AAmio.png

Postado

Do jeito que está, se tiver monstro, não vai poder ingressar...

 

 

o que seria X e Y ? 

Se quiser sua dúvida tirada, mande PM com os links, e não com a dúvida (outros podem ter a mesma dúvida, e o fórum serve para ser usado).

 

Tópicos:


 

yNlhRVC.png

 

55px-Judo_yellow_belt.svg.png

Postado
  • Solução
local toPosition = {x = x, y = y, z = z}        --Para onde o jogador será teleportado.
function onStepIn(cid, item, position, fromPosition)
    for posx = 494, 497 do -- checar posição X, começo e final da sala
        for posy = 499, 502 do -- checar posicao Y, começo e final da sala
            local pos = {x = posx, y = posy, z = 5, stackpos = 253} -- posição que ira verificar se existe creatures (stackpos = 253)
            local creature = getThingfromPos(pos) -- pega informações da creature da posição
            if isMonster(creature.uid) then -- verifica se é um monster
                return doTeleportThing(cid, fromPosition) and doSendMagicEffect(getPlayerPosition(cid), 2)
            end
        end
    end
    doTeleportThing(cid, toPosition)
    return true
end

Ou:

local fromPos = {x = 494, y = 499}
local toPos = {x = 497, y = 502}
local toPosition = {x = x, y = y, z = z}        --Para onde o jogador será teleportado.
local function isThereSomeMonster()
    for x = fromPos.x, toPos.x do
        for y = fromPos.y, toPos.y do
            local area = {x = x, y = y, z = 5}
            local creature = getTopCreature(area).uid
            if isMonster(creature) then
                return true
            end
        end
    end
    return false
end
function onStepIn(cid, item, position, fromPosition)
    if isThereSomeMonster() then
        return doTeleportThing(cid, fromPosition) and doSendMagicEffect(getPlayerPosition(cid), 2)
    end
    doTeleportThing(cid, toPosition)
    return true
end

Editado por zipter98 (veja o histórico de edições)

não respondo pms solicitando suporte em programação/scripting

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.

Visitante
Responder

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.7k

Informação Importante

Confirmação de Termo