• TibiaFace

    Tibiaface | Una comunidad Open Tibia donde encontras : mapas, scripts, Otserver, npc y amigos etc ...

    .
    demo menumenu

    Afiliados



    Votar:

    [Ayuda] demon oak quest

    Compartir:

    Ver el tema anterior Ver el tema siguiente Ir abajo  Mensaje (Página 1 de 1.)

    1Resuelto [Ayuda] demon oak quest el Miér Jul 13, 2016 8:23 pm

    God Aries

    avatar
    Miembro
    Miembro
    Hola amigos de tf, necesito ayuda para que me ayuden a configurar los scripts de demon oak quest tengo muy poco conocimiento de esta quest asi q ocupo su ayuda para que me digan que modificar ,agregar o quitar para que funcione 100% la quest a continuacion les dejare los scripts de la demon oak quest

    Demon Oak:

    Código:
    function onUse(cid, item, fromPosition, itemEx, toPosition)

    local onePerQuest = true
    local level = 120
    local positions =
    {
            kick = { x = 32716, y = 32344, z = 7 },
            summon =
            {
                    {x=32713, y=32348, z=7},
                    {x=32719, y=32348, z=7},
                    {x=32712, y=32353, z=7},
                    {x=32713, y=32344, z=7}
            }
    }

    local summons =
    {
            [1] = {"Demon", "Grim Reaper", "Elder Beholder", "Demon Skeleton"},
            [2] = {"Dark Torturer", "Banshee", "Betrayed Wraith", "Blightwalker"},
            [3] = {"Bonebeast", "Braindeath", "Diabolic Imp", "Giant Spider"},
            [4] = {"Hand of Cursed Fate", "Lich", "Undead Dragon", "Vampire"},
            [5] = {"braindeath", "Demon", "Bonebeast", "Diabolic Imp"},
            [6] = {"Demon Skeleton", "Banshee", "Elder Beholder", "Bonebeast"},
            [7] = {"Dark Torturer", "Undead Dragon", "Demon", "Demon"},
            [8] = {"Elder Beholder", "Betrayed Wraith", "Demon Skeleton", "Giant Spider"},
            [9] = {"Demon", "Banshee", "Blightwalker", "Demon Skeleton"},
            [10] = {"Grim Reaper", "Demon", "Diabolic Imp", "Braindeath"},
            [11] = {"Banshee", "Grim Reaper", "Hand of Cursed fate", "Demon"}
    }

    local areaPosition =
    {
            {x=32713, y=32344, z=7, stackpos = 255},
            {x=32713, y=32344, z=7, stackpos = 255}
    }

    local demonOak = {8288, 8289, 8290, 8291}

    local storages =
    {
            done = 35700,
            cutTree = 36901
    }

    local blockingTree =
    {
            [2709] = {32193, 3669}
    }

            if blockingTree[itemEx.itemid] and itemEx.uid == blockingTree[itemEx.itemid][1] then

                    local tree = toPosition
                    if isInRange(tree, areaPosition[1], areaPosition[2]) then
                            print("[Warning - Error::Demon Oak] Dead tree position is inside the quest area positions.\nDead tree position (x: " .. tree.x .. ", y: " .. tree.y .. ", z: " .. tree.z .. ")\nNorth-West area position (x: " .. areaPosition[1].x .. ", y: " .. areaPosition[1].y .. ", z: " .. areaPosition[1].z .. ")\nSouth-West area position (x: " .. areaPosition[2].x .. ", y: " .. areaPosition[2].y .. ", z: " .. areaPosition[2].z .. ")\nScript will not work correctly, please fix it.")
                            doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Something is wrong, please contact a gamemaster.")
                            return false
                    end

                    if getPlayerLevel(cid) < level then
                            doPlayerSendCancel(cid, "You need level " .. level .. " or more to enter this quest.")
                            return true
                    end

                    if getPlayerStorageValue(cid, storages.done) > 0 then
                            doPlayerSendCancel(cid, "You already done this quest.")
                            return true
                    end

                    if getPlayerStorageValue(cid, storages.cutTree) > 0 then
                            return false
                    end

                    if onePerQuest then
                    local players = getPlayersOnline()
                            for _, pid in ipairs(players) do
                            if isInRange(getCreaturePosition(pid), areaPosition[1], areaPosition[2]) then
                                    doPlayerSendCancel(cid, "Wait until " .. getCreatureName(pid) .. " finish the quest.")
                                    return true
                            end
                            end
                    end

                    doTransformItem(itemEx.uid, blockingTree[itemEx.itemid][2])
                    doSendMagicEffect(toPosition, CONST_ME_POFF)
                    doMoveCreature(cid, SOUTH)
                    doPlayerSetStorageValue(cid, storages.cutTree, 1)
                    return true

            elseif isInArray(demonOak, itemEx.itemid) then

                    local get = getPlayerStorageValue(cid, itemEx.itemid)
                    if get == -1 then
                            doPlayerSetStorageValue(cid, itemEx.itemid, 1)
                    end

                    if(getPlayerStorageValue(cid, 8288) == 12 and getPlayerStorageValue(cid, 8289) == 12 and getPlayerStorageValue(cid, 8290) == 12 and getPlayerStorageValue(cid, 8291) == 12) then
                            doTeleportThing(cid, positions.kick)
                            doPlayerSetStorageValue(cid, storages.done, 1)
                            return true
                    end

                    if getPlayerStorageValue(cid, itemEx.itemid) > 11 then
                            doSendMagicEffect(toPosition, CONST_ME_POFF)
                            return true
                    end

                    if(math.random(100) <= 1) then
                            doPlayerSetStorageValue(cid, itemEx.itemid, 12)
                            return true
                    end


                    if summons[get] then
                    for i = 1, #summons[get] do
                            doSummonCreature(summons[get][i], positions.summon[i])
                    end
                            doSendMagicEffect(toPosition, CONST_ME_DRAWBLOOD)
                            doPlayerSetStorageValue(cid, itemEx.itemid, get + 1)
                            if math.random(100) >= 50 then
                                    doTargetCombatHealth(0, cid, COMBAT_EARTHDAMAGE, -270, -310, CONST_ME_BIGPLANTS)
                            end
                    end
            return false
            end
    end




    demonOakChests:

    Código:
    function onUse(cid, item, fromPosition, itemEx, toPosition)

            if item.uid == 12901 then
                    queststatus = getPlayerStorageValue(cid, 12900)
                    if queststatus < 1 then
                            doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You have found a Demon Legs.")
                            doPlayerAddItem(cid, 2495, 1)
                            doPlayerSetStorageValue(cid, 12900, 1)
                    else
                            doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "It is empty.")
                    end
            elseif item.uid == 12902 then
                    queststatus = getPlayerStorageValue(cid, 12900)
                    if queststatus < 1 then
                            doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You have found a Rainbow Shield.")
                            doPlayerAddItem(cid, 8905, 1)
                            doPlayerSetStorageValue(cid, 12900, 1)
                    else
                            doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "It is empty.")
                    end
            elseif item.uid == 12903 then
                    queststatus = getPlayerStorageValue(cid, 12900)
                    if queststatus < 1 then
                            doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You have found a Spellbook of Dark Mysteries.")
                            doPlayerAddItem(cid, 8918, 1)
                            doPlayerSetStorageValue(cid, 12900, 1)
                    else
                            doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "It is empty.")
                    end
            elseif item.uid == 12904 then
                    queststatus = getPlayerStorageValue(cid, 12900)
                    if queststatus < 1 then
                            doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You have found a Royal Crossbow.")
                            doPlayerAddItem(cid, 8851, 1)
                            doPlayerSetStorageValue(cid, 12900, 1)
                    else
                            doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "It is empty.")
                    end
            end
            return true
    end




    demonOakGravestone:

    Código:
    function onUse(cid, item, fromPosition, itemEx, toPosition)
    local position = {x=32786, y=32412, z=8}
            if getPlayerStorageValue(cid, 35700) > 1 then
                    doTeleportThing(cid, position)
                    doSendMagicEffect(position, CONST_ME_TELEPORT)
            else
                    return false
            end
            return true
    end



    Espero y puedan ayudarme Sad Gracias.

    Ver perfil de usuario

    2Resuelto Re: [Ayuda] demon oak quest el Miér Jul 13, 2016 8:34 pm

    [Admin] God Maya

    avatar
    Administrador
    Administrador
    si quiere utilizar la de global cipsoft es mejor que abras el rme y vayas revisando las posiciones de cada cordenada junto con unplayer adentro yo no conosla la funcion de aquella quest de cip soft te podria ayudar pero seria con otra mas simple



    Ver perfil de usuario http://www.tibiaface.com

    3Resuelto Re: [Ayuda] demon oak quest el Miér Jul 13, 2016 8:36 pm

    God Aries

    avatar
    Miembro
    Miembro
    Pues si te sabes una simple podrias darme ese script? lo necesito mucho Embarassed

    Ver perfil de usuario

    4Resuelto Re: [Ayuda] demon oak quest el Miér Jul 13, 2016 8:43 pm

    [Admin] God Maya

    avatar
    Administrador
    Administrador
    aqui lo tienes

    Código:
    function onUse(cid, item, fromPosition, itemEx, toPosition)

    local onePerQuest = true
    local level = 120
    local positions =
    {
            kick = { x = 574, y = 582, z = 8 },  ----------- dode te teleportara al darle el ultimo  clic
            summon =
            {
                    {x=566, y=586, z=7},  ----donde sumonearan los moustros adentro de la demon oak
                    {x=567, y=593, z=7},
                    {x=574, y=591, z=7},
                    {x=574, y=586, z=7}
            }
    }

    local summons =
    {
            [1] = {"Demon", "Grim Reaper", "Elder Beholder", "Demon Skeleton"},
            [2] = {"Dark Torturer", "Banshee", "Betrayed Wraith", "Blightwalker"},
            [3] = {"Bonebeast", "Braindeath", "Diabolic Imp", "Giant Spider"},
            [4] = {"Hand of Cursed Fate", "Lich", "Undead Dragon", "Vampire"},
            [5] = {"braindeath", "Demon", "Bonebeast", "Diabolic Imp"},
            [6] = {"Demon Skeleton", "Banshee", "Elder Beholder", "Bonebeast"},
            [7] = {"Dark Torturer", "Undead Dragon", "Demon", "Demon"},
            [8] = {"Elder Beholder", "Betrayed Wraith", "Demon Skeleton", "Giant Spider"},
            [9] = {"Demon", "Banshee", "Blightwalker", "Demon Skeleton"},
            [10] = {"Grim Reaper", "Demon", "Diabolic Imp", "Braindeath"},
            [11] = {"Banshee", "Grim Reaper", "Hand of Cursed fate", "Demon"}
    }

    local areaPosition =
    {
            {x=561, y=579, z=7, stackpos = 255},    ------------Area donde estara la demon oak
            {x=579, y=596, z=7, stackpos = 255}
    }

    local demonOak = {8288, 8289, 8290, 8291}        -------------

    local storages =
    {
            done = 35700,
            cutTree = 36901
    }

    local blockingTree =
    {
            [2709] = {32193, 3669}
    }

            if blockingTree[itemEx.itemid] and itemEx.uid == blockingTree[itemEx.itemid][1] then

                    local tree = toPosition
                    if isInRange(tree, areaPosition[1], areaPosition[2]) then
                            print("[Warning - Error::Demon Oak] Dead tree position is inside the quest area positions.\nDead tree position (x: " .. tree.x .. ", y: " .. tree.y .. ", z: " .. tree.z .. ")\nNorth-West area position (x: " .. areaPosition[1].x .. ", y: " .. areaPosition[1].y .. ", z: " .. areaPosition[1].z .. ")\nSouth-West area position (x: " .. areaPosition[2].x .. ", y: " .. areaPosition[2].y .. ", z: " .. areaPosition[2].z .. ")\nScript will not work correctly, please fix it.")
                            doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Something is wrong, please contact a gamemaster.")
                            return false
                    end

                    if getPlayerLevel(cid) < level then
                            doPlayerSendCancel(cid, "You need level " .. level .. " or more to enter this quest.")
                            return true
                    end

                    if getPlayerStorageValue(cid, storages.done) > 0 then
                            doPlayerSendCancel(cid, "You already done this quest.")
                            return true
                    end

                    if getPlayerStorageValue(cid, storages.cutTree) > 0 then
                            return false
                    end

                    if onePerQuest then
                    local players = getPlayersOnline()
                            for _, pid in ipairs(players) do
                            if isInRange(getCreaturePosition(pid), areaPosition[1], areaPosition[2]) then
                                    doPlayerSendCancel(cid, "Wait until " .. getCreatureName(pid) .. " finish the quest.")
                                    return true
                            end
                            end
                    end

                    doTransformItem(itemEx.uid, blockingTree[itemEx.itemid][2])
                    doSendMagicEffect(toPosition, CONST_ME_POFF)
                    doMoveCreature(cid, SOUTH)
                    doPlayerSetStorageValue(cid, storages.cutTree, 1)
                    return true

            elseif isInArray(demonOak, itemEx.itemid) then

                    local get = getPlayerStorageValue(cid, itemEx.itemid)
                    if get == -1 then
                            doPlayerSetStorageValue(cid, itemEx.itemid, 1)
                    end

                    if(getPlayerStorageValue(cid, 8288) == 12 and getPlayerStorageValue(cid, 8289) == 12 and getPlayerStorageValue(cid, 8290) == 12 and getPlayerStorageValue(cid, 8291) == 12) then
                            doTeleportThing(cid, positions.kick)
                            doPlayerSetStorageValue(cid, storages.done, 1)
                            return true
                    end

                    if getPlayerStorageValue(cid, itemEx.itemid) > 11 then
                            doSendMagicEffect(toPosition, CONST_ME_POFF)
                            return true
                    end

                    if(math.random(100) <= 1) then
                            doPlayerSetStorageValue(cid, itemEx.itemid, 12)
                            return true
                    end


                    if summons[get] then
                    for i = 1, #summons[get] do
                            doSummonCreature(summons[get][i], positions.summon[i])
                    end
                            doSendMagicEffect(toPosition, CONST_ME_DRAWBLOOD)
                            doPlayerSetStorageValue(cid, itemEx.itemid, get + 1)
                            if math.random(100) >= 50 then
                                    doTargetCombatHealth(0, cid, COMBAT_EARTHDAMAGE, -270, -310, CONST_ME_BIGPLANTS)
                            end
                    end
            return false
            end
    end



    actions

    Código:
    <action itemid="8293" script="demonoak.lua"/>



    Ver perfil de usuario http://www.tibiaface.com

    5Resuelto Re: [Ayuda] demon oak quest el Miér Jul 13, 2016 11:50 pm

    God Aries

    avatar
    Miembro
    Miembro
    gracias maya va bien al final de demon oak dondee estan los premios puedo agarrar los 4 items y quiro agarrar solo uno que puedo hacer?

    Ver perfil de usuario

    6Resuelto Re: [Ayuda] demon oak quest el Miér Jul 13, 2016 11:55 pm

    [Admin] God Maya

    avatar
    Administrador
    Administrador
    pero si tu lo colocaste aqui

    Código:

        function onUse(cid, item, fromPosition, itemEx, toPosition)

                if item.uid == 12901 then
                        queststatus = getPlayerStorageValue(cid, 12900)
                        if queststatus < 1 then
                                doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You have found a Demon Legs.")
                                doPlayerAddItem(cid, 2495, 1)
                                doPlayerSetStorageValue(cid, 12900, 1)
                        else
                                doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "It is empty.")
                        end
                elseif item.uid == 12902 then
                        queststatus = getPlayerStorageValue(cid, 12900)
                        if queststatus < 1 then
                                doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You have found a Rainbow Shield.")
                                doPlayerAddItem(cid, 8905, 1)
                                doPlayerSetStorageValue(cid, 12900, 1)
                        else
                                doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "It is empty.")
                        end
                elseif item.uid == 12903 then
                        queststatus = getPlayerStorageValue(cid, 12900)
                        if queststatus < 1 then
                                doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You have found a Spellbook of Dark Mysteries.")
                                doPlayerAddItem(cid, 8918, 1)
                                doPlayerSetStorageValue(cid, 12900, 1)
                        else
                                doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "It is empty.")
                        end
                elseif item.uid == 12904 then
                        queststatus = getPlayerStorageValue(cid, 12900)
                        if queststatus < 1 then
                                doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You have found a Royal Crossbow.")
                                doPlayerAddItem(cid, 8851, 1)
                                doPlayerSetStorageValue(cid, 12900, 1)
                        else
                                doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "It is empty.")
                        end
                end
                return true
        end



    Ver perfil de usuario http://www.tibiaface.com

    7Resuelto Re: [Ayuda] demon oak quest el Jue Jul 14, 2016 12:29 am

    God Aries

    avatar
    Miembro
    Miembro
    jaja sierto, gracias ya puedes cerrar este tema

    Ver perfil de usuario

    Contenido patrocinado


    Ver el tema anterior Ver el tema siguiente Volver arriba  Mensaje (Página 1 de 1.)

    Permisos de este foro:
    No puedes responder a temas en este foro.

     

    BienvenidosTibiaFace es una comunidad de Open Tibia. Para participar debes estar registrado (click para Regístrate).