Postado Junho 30, 2019 5 anos Olá, estou pra abrir um servidor global 8.6 com jogabilidade de 7.6 porém estou tendo algumas dificuldades em fazer certas coisas. espero que alguma alma caridosa possa me dar uma ajuda. estou precisando adicionar ao meu servidor um sistema de corda estilo 7.6 aonde os players apenas podem subir se nao tiver lixo no buraco. estou tentando implementar as actions e movements da banshee quest, mas nao estou conseguindo fazer. tambem tentei mexer no target das runas para acertar os monstros invisiveis "exemplo a sd" mas a sd nao vai. e se eu tirar o "target=1" eu consigo acertar a sd no piso. bom se alguem tiver alguma dessas 3 coisas pra me ajudar eu agradeceria. estou usando tfs 0.4 versão 8.6 esse é o sistema de corda que eu adicionei, mas ele ignora os itens e sobe no buraco local OPENED_HOLE = {294, 383, 469, 470, 482, 482, 485, 489, 430} local OPENED_TRAP = {462} local DOWN_LADDER = {369, 370, 408, 409, 427, 428, 3135, 3136, 5545, 5763} local ROPE_SPOT = {384, 418} local allowed_items_inway = {2016, 2017, 2018, 2019, 2020, 2021, 1903, 1904, 1905} function onUse(cid, item, frompos, item2, topos) newPos = {x = topos.x, y = topos.y, z = topos.z, stackpos = 0} groundItem = getThingfromPos(newPos) BlockItemPos = {x = topos.x, y = topos.y, z = topos.z, stackpos = 2} blockingItem = getThingfromPos(BlockItemPos) BlockItem1 = {x = topos.x, y = topos.y, z = topos.z, stackpos = 1} blockiItem1 = getThingfromPos(BlockItem1) if (isInArray(ROPE_SPOT, groundItem.itemid) == TRUE) then newPos.y = newPos.y + 1 newPos.z = newPos.z - 1 if blockingItem.itemid <= 0 or blockiItem1.itemid <= 0 or (isInArray(allowed_items_inway, blockingItem.itemid) == TRUE) then doTeleportThing(cid, newPos) end elseif (isInArray(OPENED_HOLE, groundItem.itemid) == TRUE or isInArray(OPENED_TRAP, groundItem.itemid) == TRUE or isInArray(DOWN_LADDER, groundItem.itemid) == TRUE) then newPos.y = newPos.y + 1 downPos = {x = topos.x, y = topos.y, z = topos.z + 1, stackpos = 255} downItem = getThingfromPos(downPos) if (downItem.itemid > 0) then doTeleportThing(downItem.uid, newPos) else doPlayerSendCancel(cid, "Sorry, not possible.") end else return FALSE end return TRUE end ja tentei fazer algumas modificaçoes mas ou ele sobe ou a corda nao funciona.
Postado Julho 1, 2019 5 anos pra corda funcionar tem q mecher no stackpos, verifica se a stackpos 1 está vazia, se sim sobe, se não retorna false
Postado Julho 1, 2019 5 anos Autor deu certo mano, muito obrigado, eu so queria saber como faço pra aparecer a mensagem "que é impossivel subir" caso tente subir e não de. pq tipo, n aparece mensagem quando eu uso em cima e tem itens no buraco local OPENED_HOLE = {294, 383, 469, 470, 482, 482, 485, 489, 430} local OPENED_TRAP = {462} local DOWN_LADDER = {369, 370, 408, 409, 427, 428, 3135, 3136, 5545, 5763} local ROPE_SPOT = {384, 418} local allowed_items_inway = {2016, 2017, 2018, 2019, 2020, 2021, 1903, 1904, 1905} function onUse(cid, item, frompos, item2, topos) newPos = {x = topos.x, y = topos.y, z = topos.z, stackpos = 0} groundItem = getThingfromPos(newPos) BlockItemPos = {x = topos.x, y = topos.y, z = topos.z, stackpos = 1} blockingItem = getThingfromPos(BlockItemPos) BlockItem1 = {x = topos.x, y = topos.y, z = topos.z, stackpos = 0} blockiItem1 = getThingfromPos(BlockItem1) if (isInArray(ROPE_SPOT, groundItem.itemid) == TRUE) then newPos.y = newPos.y + 1 newPos.z = newPos.z - 1 if blockingItem.itemid <= 0 or blockiItem1.itemid <= 0 or (isInArray(allowed_items_inway, blockingItem.itemid) == TRUE) then doTeleportThing(cid, newPos) end elseif (isInArray(OPENED_HOLE, groundItem.itemid) == TRUE or isInArray(OPENED_TRAP, groundItem.itemid) == TRUE or isInArray(DOWN_LADDER, groundItem.itemid) == TRUE) then newPos.y = newPos.y + 1 downPos = {x = topos.x, y = topos.y, z = topos.z + 1, stackpos = 255} downItem = getThingfromPos(downPos) if (downItem.itemid > 0) then doTeleportThing(downItem.uid, newPos) else doPlayerSendCancel(cid, "Sorry, not possible.") end else return FALSE end return TRUE end
Postado Julho 1, 2019 5 anos adiciona em a mensagem em cima do segundo return false local OPENED_HOLE = {294, 383, 469, 470, 482, 482, 485, 489, 430} local OPENED_TRAP = {462} local DOWN_LADDER = {369, 370, 408, 409, 427, 428, 3135, 3136, 5545, 5763} local ROPE_SPOT = {384, 418} local allowed_items_inway = {2016, 2017, 2018, 2019, 2020, 2021, 1903, 1904, 1905} function onUse(cid, item, frompos, item2, topos) newPos = {x = topos.x, y = topos.y, z = topos.z, stackpos = 0} groundItem = getThingfromPos(newPos) BlockItemPos = {x = topos.x, y = topos.y, z = topos.z, stackpos = 1} blockingItem = getThingfromPos(BlockItemPos) BlockItem1 = {x = topos.x, y = topos.y, z = topos.z, stackpos = 0} blockiItem1 = getThingfromPos(BlockItem1) if (isInArray(ROPE_SPOT, groundItem.itemid) == TRUE) then newPos.y = newPos.y + 1 newPos.z = newPos.z - 1 if blockingItem.itemid <= 0 or blockiItem1.itemid <= 0 or (isInArray(allowed_items_inway, blockingItem.itemid) == TRUE) then doTeleportThing(cid, newPos) end elseif (isInArray(OPENED_HOLE, groundItem.itemid) == TRUE or isInArray(OPENED_TRAP, groundItem.itemid) == TRUE or isInArray(DOWN_LADDER, groundItem.itemid) == TRUE) then newPos.y = newPos.y + 1 downPos = {x = topos.x, y = topos.y, z = topos.z + 1, stackpos = 255} downItem = getThingfromPos(downPos) if (downItem.itemid > 0) then doTeleportThing(downItem.uid, newPos) else doPlayerSendCancel(cid, "Sorry, not possible.") end else doPlayerSendCancel(cid, "<MENSAGEM DE LUGAR BLOQUEADO>") return false end return true end
Postado Julho 1, 2019 5 anos Autor @paulix, tentei mas nao deu certo... n aparece a msg fiz na linha 18 + else deu certo (=
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.