Vou deixar seu pedido em análise porque, se não me engano, esse tipo de script pode ser feito com um movement para simular a ideia de pular distâncias e uma action para simular a ideia de escalada.
Um rascunho básico, sugere isso:
local JUMPS = {
[{x = 100, y = 100, z = 5}] = {x = 100, y = 100, z = 7},
}
function onStepIn(cid, item, position, lastPosition, fromPosition, toPosition, actor)
for _fromPosition, _toPosition in pairs(JUMPS) do
if _fromPosition.x == position.x and _fromPosition.y == position.y then
doTeleportThing(cid, _toPosition, true)
doSendMagicEffect(_toPosition, CONST_ME_POFF)
break
end
end
return true
end
O script acima faz exatamente isso, compara posições, se achar uma posição registrada na tabela JUMPS, teleporta o jogador para uma posição, como essa posição só muda o z, dá a ideia que o jogador pulou a montanha.
Simples assim.
Oque eu estava falando, era algo mais complexo... Sem se limitar a posições, seria algo bem automatizado.
Digamos assim:
Eu estou em uma montanha X e essa montanha fica do lado esquerdo do mapa, eu chego no fim dessa montanha e do lado dela ( lado direito ) tem a montanha Y, só que alguns andares abaixo, eu estou afim de ir até essa montanha sem ter que dar aquela maldita volta, então oque eu faço? Eu salto da montanha X para a Y. Digamos que a checagem do salto seria +- assim:
Ele percorre os tiles possíveis para a ação ( frente com um limite de 5 tiles, depois baixo-frente com um limite de 5 tiles... ) e checa a posição mais provável a ser utilizada, caso a posição seja valida, ele irá ser teleportado ( claro, talvez exista um jeito melhor de fazer a checagem, mas esse foi o modo que eu pensei agora... ). O mesmo vale para escalada ou descida ( pulo ), ele irá checar se é possível subir ou descer aquela montanha ou construção. Tudo isso totalmente automatizado... O player poderia utilizar esses recursos onde quisesse, existiria mil possibilidades de utilização, fora aqueles lugares que você sempre quis ir só que não pode né? Bem, é isso... Espero que goste
Entendi agora sua ideia, mas não vejo como fazer isso, sem pelo menos depender de colocar actionids nos tiles que vão executar o moveevent.