Ir para conteúdo
  • 0

Jungle Maw Prison


Fabiian

Pergunta

Ola galera, queria um script que quando vc pisa numa "Jungle Maw" Jungle_Maw.gif

ela te prende por 30 segundos. Impossível de se mover para nenhum lado...

 

ID: Jungle Maw (aberta) = 4208

ID: Jungle Maw (Fechada) = 4209

 

se alguém puder ajudar ficarei muito grato! REP+

Editado por Fabiian
Link para o comentário
Compartilhar em outros sites

Posts Recomendados

  • 0

o Script pra ela seria MoveEvent function "onStepIn", o meu problema é que não estou conseguindo fazer o player ou monstro ficar preso no item... tentei a Condition_Paralyze, mas os players andam mesmo com forma super forte do tipo (-99999999, 0, -9999999, 0).

eu queria que impedisse totalmente o movimento. ^^

Link para o comentário
Compartilhar em outros sites

  • 0

É só por a tag abaixo:

mayNotMove(cid, true)

Dentro da parte do script e pronto.

Falta só configurar o tempo, se quiser, posta o script e eu arrumo pra ti.

 

E para remover a 'paralização', basta por para executar tag com valor "false".

 

Boa sorte.

Editado por Adriano Swatt
Link para o comentário
Compartilhar em outros sites

  • 0
function onStepIn(cid, item, pos)
	if isPlayer(cid) == 1 then
		-- Passou Player
		doSendMagicEffect(pos, 0)
	elseif isCreature(cid) == 1 then
		-- Passou Bicho
		doSendMagicEffect(pos, 3)
	end
	doPlayerAddHealth(cid, -30)
	doTransformItem(item.uid,4209)
	doDecayItem(item.uid)
	return 1
end

Aonde eu encaixo essa tag no code ?

Link para o comentário
Compartilhar em outros sites

  • 0

Tenta assim:

 

local tempo = 30 -- tempo em segundos
function onStepIn(cid, item, pos)
    if isPlayer(cid) == 1 then
        -- Passou Player
        doSendMagicEffect(pos, 0)
    elseif isCreature(cid) == 1 then
        -- Passou Bicho
        doSendMagicEffect(pos, 3)
    end
    doPlayerAddHealth(cid, -30)
mayNotMove(cid, true)
addEvent(Liberar, tempo * 1000, cid)
    doTransformItem(item.uid,4209)
    doDecayItem(item.uid)
    return 1
end
 
function Liberar(cid)
mayNotMove(cid, false)
end

 

Fiz correndo pois não estou em casa e estou indo assistir filme na minha sogra...

Porém, teste aí e poste o resultado.

 

Boa sorte.

Link para o comentário
Compartilhar em outros sites

  • 0

Teste assim:

 

local tempo = 30 -- tempo em segundos
function onStepIn(cid, item, pos)
    if isPlayer(cid) == 1 then
        -- Passou Player
mayNotMove(cid, true)
addEvent(Liberar, tempo * 1000, cid)
        doSendMagicEffect(pos, 0)
    elseif isCreature(cid) == 1 then
        -- Passou Bicho
mayNotMove(cid, true)
addEvent(Liberar, tempo * 1000, cid)
        doSendMagicEffect(pos, 3)
    end
    doPlayerAddHealth(cid, -30)
mayNotMove(cid, true)
addEvent(Liberar, tempo * 1000, cid)
    doTransformItem(item.uid,4209)
    doDecayItem(item.uid)
    return 1
end
 
function Liberar(cid)
mayNotMove(cid, false)
end

 

Não sei se usa "cid" mesmo para monster, mas teste aí.

Link para o comentário
Compartilhar em outros sites

  • 0

Cara, já que é pra funcionar em tudo que passar pelo tile, testa assim:

 

local tempo = 30 -- tempo em segundos
function onStepIn(cid, item, pos)
    doPlayerAddHealth(cid, -30)
mayNotMove(cid, true)
addEvent(Liberar, tempo * 1000, cid)
    doTransformItem(item.uid,4209)
    doDecayItem(item.uid)
    return 1
end
end
 
function Liberar(cid)
mayNotMove(cid, false)
end

 

Sei lá, é que não estou em casa agora e não estou achando a função exata para este script verificar o monstro.

 

Boa sorte.

Editado por Adriano Swatt
Link para o comentário
Compartilhar em outros sites

  • 0

Não adianta usar mayNotMove em monstros, não vai funcionar.

 

Use doChangeSpeed(cid, -getCreatureSpeed(cid)).

 

Tá aqui o script:

local tempo = 30 -- Tempo em segundos

function onStepIn(cid, item, pos)
    if isMonster(cid) then
        doCreatureSetStorage(cid, "base_speed", getCreatureBaseSpeed(cid))
        doChangeSpeed(cid, -getCreatureSpeed(cid))
    else
        mayNotMove(cid, true)
    end
    doCreatureAddHealth(cid, -30)
    addEvent(function() if not isCreature(cid) then return true end if isMonster(cid) then doChangeSpeed(cid, getCreatureStorage(cid, "base_speed")) else mayNotMove(cid, false) end end, tempo*1000)
    doTransformItem(item.uid, 4209)
    return true
end
Editado por LuckOake
Link para o comentário
Compartilhar em outros sites

  • 0

 

Não adianta usar mayNotMove em monstros, não vai funcionar.

 

Use doChangeSpeed(cid, -getCreatureSpeed(cid)).

 

Tá aqui o script:

local tempo = 30 -- Tempo em segundos

function onStepIn(cid, item, pos)
    if isMonster(cid) then
        doCreatureSetStorage(cid, "base_speed", getCreatureBaseSpeed(cid))
        doChangeSpeed(cid, -getCreatureSpeed(cid))
    else
        mayNotMove(cid, true)
    end
    doCreatureAddHealth(cid, -30)
    addEvent(function() if not isCreature(cid) then return true end if isMonster(cid) then doChangeSpeed(cid, getCreatureStorage(cid, "base_speed")) else mayNotMove(cid, false) end end, tempo*1000)
    doTransformItem(item.uid, 4209)
    return true
end

 

Ah sim, muito interessante.

Na verdade o script pega a velocidade do monstro e depois subtrai, tornando então velocidade zero, ou seja, monster parado.

 

Interessante.

Obrigado por contribuir, pois estava quebrando a cabeça para isso.

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...