Ir para conteúdo
  • Cadastre-se

(Resolvido)Demon Oak Quest - Bugada


Ir para solução Resolvido por xWhiteWolf,

Posts Recomendados

Estou com um erro na minha quest demon oak, já tentei usa esse método > http://www.tibiaking.com/forum/topic/18172-resolvido-erro-script-demon-oak-quest/ <, mas não funcionou continua a mesma msg da position...

 

 

1fusuw.png

 

 

 

9bg6r5.png

 

 

demonOak.lua :

 

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=32705, y=32342, z=7, stackpos = 255},
        {x=32726, y=32358, 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], positions.summon)
                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 :
 

<!-- Demon Oak Quest -->
<action itemid="8293" event="script" value="Oak/demonOak.lua"/>
<action fromuid="12901" touid ="12904" event="script" value="Oak/demonOakChests.lua"/>
<action uniqueid="55100" event="script" value="Oak/demonOakGravestone.lua" />

 
 
Moviments :
 

<!-- Demon Oak -->
<movevent type="StepOut" uniqueid="32193" event="script" value="DOQ/demonOakTree.lua" />
<movevent type="StepIn" itemid="8292" event="script" value="DOQ/demonOakArea.lua" />

 
 
demonOakTree.lua:
 

function onStepIn(cid, item, position, fromPosition)
 
    if isPlayer(cid) == true and math.random(1, 24) == 1 then
        doTargetCombatHealth(0, cid, COMBAT_EARTHDAMAGE, -270, -310, CONST_ME_BIGPLANTS)
    end
    return true
end

 
 
demonOakArea.lua:
 

function onStepOut(cid, item, position, fromPosition)
    if(item.uid == 32193) then
        doTransformItem(item.uid, 2709)
    end
    return true
end

 
 
Agradeço des de Já!!!
Editado por tiroleivi (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
  • Solução

faça um quadrado mentalmente cuja as diagonais sejam as posições abaixo

local areaPosition =
{
        {x=32705, y=32342, z=7, stackpos = 255},
        {x=32726, y=32358, z=7, stackpos = 255}
}

a arvore não pode estar dentro desse quadrado. Então ou vc diminui o quadrado ou vc coloca a arvore pra fora dele.

Editado por xWhiteWolf (veja o histórico de edições)

Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá!

"Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda

I7Pm6ih.png

(obg ao @Beeny por fazer essa linda sign <3)

Link para o post
Compartilhar em outros sites

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

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo