Ir para conteúdo

Featured Replies

Postado

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
  • 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

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

 

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.

Visitante
Responder

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Conteúdo Similar

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo