Postado Outubro 4, 2014 10 anos Editado por Danves, Hoje, 03:20. Ah sim..agora você explicou melhor, editou o tópico. Eu tinha lido o de recém postagem. Creio que isso poderá ser um problema, de certa forma..pense em um buraco de uma caverna. Você tem 8 sqms (sem contar o do meio, que são os da tabela do script) para poder subir, correto? Imagine que por exemplo, acima do buraco há espaço para 3 sqms e os outros restantes tem paredes ou rochas nas posições. O player iria parar bugado entre um desses itens..a menos que alguém faça uma função de reconhecimento do que há nos sqms superiores pra impedir que suba em locais com objetos acima (apenas dei uma idéia geral pra quem estiver lendo). Boa sorte. Editado Outubro 4, 2014 10 anos por Bizzle (veja o histórico de edições) Se te ajudei com o que postei, clique em Bizzle
Postado Outubro 4, 2014 10 anos Autor Basta um editzinho na função Newposition para se basear na posição do buraco ao invés da posição do player.
Postado Outubro 4, 2014 10 anos Basta um editzinho na função Newposition para se basear na posição do buraco ao invés da posição do player. Também, mas creio que dará mais trabalho e resultará em um script extenso, enfim.. Editado Outubro 4, 2014 10 anos por Bizzle (veja o histórico de edições) Se te ajudei com o que postei, clique em Bizzle
Postado Outubro 4, 2014 10 anos Autor Solução Que nada, eu levei só 10minutos a mais. Bom, não tava afim de postar, mas se alguém quiser usar esse sistema: local SPOTS = {384, 418, 8278, 8592} -- COLOQUE OS IDS DOS PISOS QUE PODE-SE USAR ROPE function onCastSpell(cid, var) local position = getThingPosition(cid) position.stackpos = 0 local pos2 = getThingPosition(cid) pos2.y = pos2.y + 1 local pos3 = getThingPosition(cid) pos3.y = pos3.y - 1 local pos4 = getThingPosition(cid) pos4.x = pos4.x + 1 local pos5 = getThingPosition(cid) pos5.x = pos5.x - 1 local pos6 = getThingPosition(cid) pos6.y = pos6.y + 1 pos6.x = pos6.x + 1 local pos7 = getThingPosition(cid) pos7.y = pos7.y - 1 pos7.x = pos7.x - 1 local pos8 = getThingPosition(cid) pos8.y = pos8.y + 1 pos8.x = pos8.x - 1 local pos9 = getThingPosition(cid) pos9.y = pos9.y - 1 pos9.x = pos9.x + 1 -- pos2.stackpos = 0 pos3.stackpos = 0 pos4.stackpos = 0 pos5.stackpos = 0 pos6.stackpos = 0 pos7.stackpos = 0 pos8.stackpos = 0 pos9.stackpos = 0 local ground = getThingFromPos(position) local ground2 = getThingFromPos(pos2) local ground3 = getThingFromPos(pos3) local ground4 = getThingFromPos(pos4) local ground5 = getThingFromPos(pos5) local ground6 = getThingFromPos(pos6) local ground7 = getThingFromPos(pos7) local ground8 = getThingFromPos(pos8) local ground9 = getThingFromPos(pos9) if(isInArray(SPOTS, ground.itemid)) then local newPosition = position newPosition.y = newPosition.y + 1 newPosition.z = newPosition.z - 1 doTeleportThing(cid, newPosition, false) doSendMagicEffect(position, CONST_ME_TELEPORT) doCreatureSay(cid, "Exani tera", TALKTYPE_ORANGE_1) return true elseif(isInArray(SPOTS, ground2.itemid)) then local newPosition = pos2 newPosition.y = newPosition.y + 1 newPosition.z = newPosition.z - 1 doTeleportThing(cid, newPosition, false) doSendMagicEffect(pos2, CONST_ME_TELEPORT) doCreatureSay(cid, "Exani tera", TALKTYPE_ORANGE_1) return true elseif(isInArray(SPOTS, ground3.itemid)) then local newPosition = pos3 newPosition.y = newPosition.y + 1 newPosition.z = newPosition.z - 1 doTeleportThing(cid, newPosition, false) doSendMagicEffect(pos3, CONST_ME_TELEPORT) doCreatureSay(cid, "Exani tera", TALKTYPE_ORANGE_1) return true elseif(isInArray(SPOTS, ground4.itemid)) then local newPosition = pos4 newPosition.y = newPosition.y + 1 newPosition.z = newPosition.z - 1 doTeleportThing(cid, newPosition, false) doSendMagicEffect(pos4, CONST_ME_TELEPORT) doCreatureSay(cid, "Exani tera", TALKTYPE_ORANGE_1) return true elseif(isInArray(SPOTS, ground5.itemid)) then local newPosition = pos5 newPosition.y = newPosition.y + 1 newPosition.z = newPosition.z - 1 doTeleportThing(cid, newPosition, false) doSendMagicEffect(pos5, CONST_ME_TELEPORT) doCreatureSay(cid, "Exani tera", TALKTYPE_ORANGE_1) return true elseif(isInArray(SPOTS, ground6.itemid)) then local newPosition = pos6 newPosition.y = newPosition.y + 1 newPosition.z = newPosition.z - 1 doTeleportThing(cid, newPosition, false) doSendMagicEffect(pos6, CONST_ME_TELEPORT) doCreatureSay(cid, "Exani tera", TALKTYPE_ORANGE_1) return true elseif(isInArray(SPOTS, ground7.itemid)) then local newPosition = pos7 newPosition.y = newPosition.y + 1 newPosition.z = newPosition.z - 1 doTeleportThing(cid, newPosition, false) doSendMagicEffect(pos7, CONST_ME_TELEPORT) doCreatureSay(cid, "Exani tera", TALKTYPE_ORANGE_1) return true elseif(isInArray(SPOTS, ground8.itemid)) then local newPosition = pos8 newPosition.y = newPosition.y + 1 newPosition.z = newPosition.z - 1 doTeleportThing(cid, newPosition, false) doSendMagicEffect(pos8, CONST_ME_TELEPORT) doCreatureSay(cid, "Exani tera", TALKTYPE_ORANGE_1) return true elseif(isInArray(SPOTS, ground9.itemid)) then local newPosition = pos9 newPosition.y = newPosition.y + 1 newPosition.z = newPosition.z - 1 doTeleportThing(cid, newPosition, false) doSendMagicEffect(pos9, CONST_ME_TELEPORT) doCreatureSay(cid, "Exani tera", TALKTYPE_ORANGE_1) return true else doPlayerSendDefaultCancel(cid, RETURNVALUE_NOTPOSSIBLE) doSendMagicEffect(position, CONST_ME_POFF) return false end end
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.