Pode ser usado também o StepOut... Coloca a action no sqm de chão e uma verificação no toPos pra ver se o chão é o tal 459... [EDIT] Tag no movements.xml
<movevent type="StepOut" actionid="4170" event="script" value="caindo.lua"/>
caindo.lua
function onStepOut(cid, item, toPosition, fromPosition)
if getThingFromPos(toPosition).itemid == 459 then doPlayerAddHealth(cid, -1) end
end
[EDIT²] Creio que o script pode ser feito também sem o uso de um sqm com esse item 459, ficaria assim
function onStepOut(cid, item, toPosition, fromPosition)
if not getThingFromPos(toPosition).itemid == 0 then doPlayerAddHealth(cid, -1) end
end
[EDIT³]
O comando 'getThingFromPos' não pega o id do chão...
Se alguem descolar o comando que pega... Não sei se será necessário editar algo nas sources pra adicionar um "getTitleByPos" (pelo menos em base dash não pegou o id do chão)
[EDIT4]
Encontrei uma função interessante em um servidor antigo de poketibia...
function getSqmId(pos,t)-- Script by mock
if hasSqm(pos) or t then
pos.stackpos = 0
local i = getTileThingByPos(pos)
return i
end
return nil
end
Então, ficaria assim [necessitando dos sqm em volta com o id 459]
Tag no movements.xml
<movevent type="StepOut" actionid="4170" event="script" value="caindo.lua"/>
caindo.lua
function getSqmId(pos,t)-- Script by mock
if hasSqm(pos) or t then
pos.stackpos = 0
local i = getTileThingByPos(pos)
return i
end
return {itemid = 0} --Editado pra não dar erro ali em baixo
end
function onStepOut(cid, item, toPosition, fromPosition)
if getThingFromPos(toPosition).itemid == 459 then doPlayerAddHealth(cid, -1) end
end