• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!

Yalahari Quest Problem!

Kaywin

Lord of War WoW/Tibia 2D
Joined
Oct 24, 2008
Messages
541
Reaction score
6
Location
SwedeN
The Yalahari Quest starts at Mission 10: The Final Battle!

First you are going to talk with Palimuth, and after that he tells you to go to the Yalahari NPC with 2 guards and talk with him and I do, then I got accept to all rooms/doors. Going downstairs to the "Final battle room". Slaying everything with my gamemater, and once Azerus is dead I have 2 minutes before the TP will be gone, but there is no TP, his body will change to a TP after it been killed, but there never comes any teleporter

Here is my scripts, actions, a little bit wierd becouse I got 2x Azerus.lua files o.O


THIS IS MY ERROR:

Code:
data/actions/scripts/quests/azerus.lua:onUse
Descriptpion:
(luaDoItemSetAttribute) Item not found




server/server/data/actions.

Code:
 <!-- Yalaharian 10th --> 
    <action actionid="58261" event="script" value="quests/azerus.lua"/> 
    <action actionid="58263" event="script" value="quests/azerus.lua"/> 
    <action actionid="58267" event="script" value="quests/azeruschest.lua"/> 
    <action actionid="58268" event="script" value="quests/azeruschest.lua"/> 
    <action actionid="58269" event="script" value="quests/azeruschest.lua"/>


server/server/data/actions/script/inq/azerus

Code:
function Potwory1()

	doSummonCreature("Rift Worm", {x=1189,y=984,z=10})

	doSummonCreature("Rift Worm", {x=1197,y=988,z=10})

	doSummonCreature("Rift Worm", {x=1189,y=983,z=10})

	doSummonCreature("Rift Worm", {x=1197,y=983,z=10})


end


function Potwory2()

	doSummonCreature("Rift Brood", {x=1189,y=984,z=10})

	doSummonCreature("Rift Brood", {x=1197,y=988,z=10})

	doSummonCreature("Rift Brood", {x=1189,y=983,z=10})

	doSummonCreature("Rift Brood", {x=1197,y=983,z=10})


end




function Potwory3()


	doSummonCreature("Rift Scythe", {x=1189,y=984,z=10})

	doSummonCreature("Rift Scythe", {x=1197,y=988,z=10})

	doSummonCreature("Rift Scythe", {x=1189,y=983,z=10})

	doSummonCreature("Rift Scythe", {x=1197,y=983,z=10})


end




function Potwory4()


	doSummonCreature("Azerus", {x=1193,y=985,z=10})
	
	doSummonCreature("War Golem", {x=1189,y=984,z=10})

	doSummonCreature("War Golem", {x=1197,y=988,z=10})

	doSummonCreature("War Golem", {x=1189,y=983,z=10})

	doSummonCreature("War Golem", {x=1197,y=983,z=10})



end




function onUse(cid, item, frompos, item2, topos)


	addEvent(Potwory1, 0)


	addEvent(Potwory2, 5000)


	addEvent(Potwory3, 10000)


	addEvent(Potwory4, 15000)


	return TRUE


end

Server/Server/Data/Actions/Script/Quests/Azerus

Code:
 -- Yalahar 10th mission By QuaS~~ 

-- Config #1 --  
local BlindField = {x=579, y=557, z=10, stackpos=1} 
-- end --  

function mapArea(fromPos, toPos, stack) 
        -- Area iterator by Colandus. 
        local pos = {x=fromPos.x, y=fromPos.y-1, z=fromPos.z} 
        return function() 
                if (pos.y < toPos.y) then 
                        pos.y = pos.y+1 
                elseif (pos.x <= toPos.x) then 
                        pos.y = fromPos.y 
                        pos.x = pos.x+1 
                else 
                        pos.x = fromPos.x 
                        pos.y = fromPos.y 
                        pos.z = pos.z+1 
                end 
                if (pos.x <= toPos.x and pos.y <= toPos.y or pos.z < toPos.z) then 
                        if (stack == nil) then 
                                return pos 
                        else 
                                pos.stackpos = stack 
                                --return pos, getTileThingByPos(pos) 
                                return pos, getThingfromPos(pos) 
                        end 
                end 
        end 
end 


function getMonstersfromArea(fromPos, toPos) 
        local monsters = {}     
        for _, thing in mapArea(fromPos, toPos, 253) do 
                if isMonster(thing.uid) == TRUE then 
                        table.insert(monsters, thing.uid) 
            end 

        end 
          local bfm = getThingfromPos(BlindField) 
            if isMonster(bfm.uid) == TRUE then 
            table.insert(monsters, bfm.uid) 
            end 
        return monsters 
end 


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

-- CONFIG #2!!!! -- 


-- Map checking -- 

local topLeft = {x=574, y=560, z=10} 
local buttomRight = {x=589, y=576, z=10} 

-- Immortality of Azerus 
local monsters = getMonstersfromArea(topLeft, buttomRight) 
local monsters1 = getMonstersfromArea(topLeft, buttomRight) 

-- Position Of TP -- 
local tp = {x=581, y=575, z=10} 

-- Position of Gllobus 
local glo = {x=581, y=566, z=10} 

-- END OF CONFIG! -- 



function FirstWave() 
    doSummonCreature("Rift Worm", {x= glo.x - 4,y=glo.y,z=glo.z}) 

    doSummonCreature("Rift Worm", {x= glo.x + 4,y=glo.y,z=glo.z}) 

    doSummonCreature("Rift Worm", {x=glo.x,y=glo.y + 4,z=glo.z}) 

    doSummonCreature("Rift Worm", {x=glo.x,y=glo.y - 4,z=glo.z}) 

    doSummonCreature("Rift Worm", {x=glo.x,y=glo.y + 5,z=glo.z}) 

    doSummonCreature("Azerus", {x=glo.x,y=glo.y - 5,z=glo.z}) 
end 

function SecondWave() 
local monsters1 = getMonstersfromArea(topLeft, buttomRight) 

    for _, monster in pairs(monsters1) do 
    if getCreatureName(monster) == "Azerus" then 
    doRemoveCreature(monster) 
    end 
    end 
    doSummonCreature("Azerus1", {x=glo.x,y=glo.y - 5,z=glo.z}) 

    doSummonCreature("Rift Brood", {x= glo.x - 4,y=glo.y,z=glo.z}) 

    doSummonCreature("Rift Brood", {x= glo.x + 4,y=glo.y,z=glo.z}) 

    doSummonCreature("Rift Brood", {x=glo.x,y=glo.y + 4,z=glo.z}) 

    doSummonCreature("Rift Brood", {x=glo.x,y=glo.y - 4,z=glo.z}) 

    doSummonCreature("Rift Brood", {x=glo.x,y=glo.y + 5,z=glo.z}) 
end 
function ThirdWave() 
local monsters1 = getMonstersfromArea(topLeft, buttomRight) 

    for _, monster in pairs(monsters1) do 
    if getCreatureName(monster) == "Azerus" then 
    doRemoveCreature(monster) 
    end 
    end 
    doSummonCreature("Azerus2", {x= glo.x - 5,y=glo.y,z=glo.z}) 

    doSummonCreature("Rift Scythe", {x= glo.x - 4,y=glo.y,z=glo.z}) 

    doSummonCreature("Rift Scythe", {x= glo.x + 4,y=glo.y,z=glo.z}) 
end 

function ThirdWave1() --  with 2s delay 

    doSummonCreature("Rift Scythe", {x=glo.x,y=glo.y + 4,z=glo.z}) 

    doSummonCreature("Rift Scythe", {x=glo.x,y=glo.y - 4,z=glo.z}) 

    doSummonCreature("Rift Scythe", {x=glo.x,y=glo.y + 5,z=glo.z}) 
end 

function FourthWave() 
local monsters1 = getMonstersfromArea(topLeft, buttomRight) 

    for _, monster in pairs(monsters1) do 
    if getCreatureName(monster) == "Azerus" then 
    doRemoveCreature(monster) 
    end 
    end 
    doSummonCreature("Azerus3", {x= glo.x - 5,y=glo.y,z=glo.z}) 

    doSummonCreature("War Golem", {x= glo.x - 4,y=glo.y,z=glo.z}) 

    doSummonCreature("War Golem", {x= glo.x + 4,y=glo.y,z=glo.z}) 

    doSummonCreature("War Golem", {x=glo.x,y=glo.y - 4,z=glo.z}) 

    doSummonCreature("War Golem", {x=glo.x,y=glo.y + 4,z=glo.z}) 

end 

function Glllobe() 
item1 = getTileItemById(glo,9767) 
doItemSetAttribute(item1.uid, 58261) 
end 



if item.actionid == 58261 then 
doItemSetAttribute(item.uid, 58263) 
local monsters = getMonstersfromArea(topLeft, buttomRight) 
local monsters1 = getMonstersfromArea(topLeft, buttomRight) 

if getTileItemById(tp,1387).itemid == 1387 then 
doRemoveItem(getTileItemById(tp,1387).uid) 
end 

addEvent(FirstWave, 0) 
addEvent(SecondWave, 10000) 
addEvent(ThirdWave, 20000) 
addEvent(ThirdWave1, 24000) 
addEvent(FourthWave, 38000) 
addEvent(Glllobe, 900000) 


elseif item.actionid == 58263 then 
doCreatureSay(cid, "You have to wait some time before this globe will charge.", TALKTYPE_ORANGE_1) 
end 


return TRUE 
end

server/server/data/actions/script/quests/azeruschest

Code:
 -- 10th mission by QuaS~ 

function onUse(cid, item, frompos, item2, topos) 

       if item.actionid == 58267 then 
           queststatus = getPlayerStorageValue(cid,102504) 
           if queststatus == -1 then 
               doPlayerSendTextMessage(cid,22,"You have found an Yalahari Mask.") 
               doPlayerAddItem(cid,9778,1) 
               setPlayerStorageValue(cid,102504,1) 
           else 
               doPlayerSendTextMessage(cid,22,"It is empty.") 
           end 
       elseif item.actionid == 58268 then 
           queststatus = getPlayerStorageValue(cid,102504) 
           if queststatus == -1 then 
               doPlayerSendTextMessage(cid,22,"You have found an Yalahari Armor.") 
               doPlayerAddItem(cid,9776,1) 
               setPlayerStorageValue(cid,102504,1) 
           else 
               doPlayerSendTextMessage(cid,22,"It is empty.") 
           end 
       elseif item.actionid == 58269 then 
           queststatus = getPlayerStorageValue(cid,102504) 
           if queststatus == -1 then 
               doPlayerSendTextMessage(cid,22,"You have found an Yalahari Leg Piece.") 
               doPlayerAddItem(cid,9777,1) 
               setPlayerStorageValue(cid,102504,1) 
           else 
               doPlayerSendTextMessage(cid,22,"It is empty.") 
           end 
    else 
        return 0 
       end 

       return 1 
end

REP WILL BE GIVING ++!
 
Last edited:
MM? What azerus are you using? you can check it in actions.xml



What do you mean dude? I have alredy posted my actions.xml scripts, Just don't get mad at me, for some this problems is easy, and for others like me it's not hehe :P

But i guess i'm using that one from Quests, and not from the Inq map
 
Do you have this in your data/creaturescripts/scripts/quest/azerus.lua

local config = {
message = "Azerus ran into teleporter! It will disappear in 2 minutes. Enter It!",
teleportId = 1387,
bosses = { -- Monster Name, Teleport To Position, Teleport Position
["Azerus"] = { { x = 581, y = 575, z = 10 }, { x = 581, y = 579, z = 9 }},



}
}


function onDeath(cid, corpse, killer)
local position = getCreaturePosition(cid)
for name, pos in pairs(config.bosses) do
if name == getCreatureName(cid) then

doCreateTeleport(config.teleportId, pos[1], pos[2])
doCreatureSay(cid, config.message, TALKTYPE_ORANGE_1)
end
end
return TRUE
end

Check it here you should put here the position of your tp
 
Back
Top