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

[TFS 1.3] [8.6] Questlog how to fix

ivvanek

New Member
Joined
Mar 24, 2009
Messages
113
Reaction score
3
Good day!

How to fix questlog working? for example i need to add Postman Quest in quests.xml but i dont see storageid value or im blind... can u explain me how to?

here is my quests.xml
Code:
<quest name="The Postman Missions" startstorageid="100171" startstoragevalue="1">
    <mission name="Method" storageid="100171" startvalue="1" endvalue="1">
            <missionstate id="1" description="You have joined the Postman guild."/>
    </mission>
    <mission name="Mission 1 - Check Postal Routes" storageid="100171" startvalue="2" endvalue="7">
            <missionstate id="2" description="First travel with Captain Bluebear's ship from Thais to Carlin."/>
        <missionstate id="3" description="Head to Fermor Hills and travel with Uzon to Edron."/>
        <missionstate id="4" description="Travel with Captain Seahorse to the city of Venore."/>
        <missionstate id="5" description="Find the technomancer Brodrosch and travel with him to the Isle of Cormaya."/>
        <missionstate id="6" description="Now report back to Kevin about your mission."/>
        <missionstate id="7" description="You have finished this mission."/>
    </mission>
    <mission name="Mission 2 - Fix Mailbox" storageid="100171" startvalue="8" endvalue="10">
            <missionstate id="8" description="Kevin wants you to repair a broken mailbox top of Folda mountain."/>
        <missionstate id="9" description="Now return to Kevin and ask for a advancement."/>
        <missionstate id="10" description="You have finished this mission."/>
    </mission>
    <mission name="Mission 3 - Bill Delivery" storageid="100171" startvalue="11" endvalue="13">
            <missionstate id="11" description="Your mission is to deliver a bill for a Magician Hat, to a famous magician."/>
        <missionstate id="12" description="Now return to Kevin and report about your mission."/>
        <missionstate id="13" description="You have finished this mission."/>
    </mission>
    <mission name="Mission 4 - Aggressive Dogs" storageid="100171" startvalue="14" endvalue="15">
            <missionstate id="14" description="The Postman office are running low on bones in the Post Officer's Fund and need you to collect 20 bones. After ask Kevin for a advancement."/>
        <missionstate id="15" description="You have finished this mission."/>
    </mission>
    <mission name="Mission 5 - Present Delivery" storageid="100171" startvalue="16" endvalue="18">
            <missionstate id="16" description="Your mission is to deliver a present to Dermot on Fibula."/>
        <missionstate id="17" description="Now return to Kevin and report about your mission."/>
        <missionstate id="18" description="You have finished this mission."/>
    </mission>
    <mission name="Mission 6 - New Uniforms" storageid="100171" startvalue="19" endvalue="27">
            <missionstate id="19" description="Kevin wants you to ask Hugo for new uniforms."/>
        <missionstate id="20" description="Now return to Kevin and report about your mission."/>
            <missionstate id="21" description="Now he wants you to ask Talphion for new dress patterns."/>
        <missionstate id="22" description="Now return to Kevin and report about your mission."/>
            <missionstate id="23" description="Now he wants you to talk with Queen Eloise in Carlin."/>
        <missionstate id="24" description="Now return to Kevin and report about your mission."/>
            <missionstate id="25" description="Now he wants you head to Noodles in Thais and let him SNIFF some samples."/>
        <missionstate id="26" description="Now return to Kevin and report about your mission."/>
        <missionstate id="27" description="Now return to Hugo and talk about the new dress then you have finished this mission."/>
    </mission>
    <mission name="Mission 7 - Measurements" storageid="100171" startvalue="28" endvalue="30">
            <missionstate id="28" description="Hugo told Kevin that he needs the measurements of all of the Post Officers. So talk with Ben, Lokur, Dove, Liane, Chrystal and Olrik about measurements."/>
        <missionstate id="29" description="Now return to Kevin and report about your mission."/>
        <missionstate id="30" description="You have finished this mission."/>
    </mission>
    <mission name="Mission 8 - Missing Courier" storageid="100171" startvalue="31" endvalue="32">
            <missionstate id="31" description="Kevin told you that the mail courier Waldo is missing, and that you need to find him, or at least his posthorn."/>
        <missionstate id="32" description="You have finished this mission."/>
    </mission>
    <mission name="Mission 9 - Dear Santa" storageid="100171" startvalue="33" endvalue="35">
            <missionstate id="33" description="This time Kevin wants you to deliver some letters to Santa Claus on Vega."/>
        <missionstate id="34" description="Now return to Kevin and report about your mission."/>
        <missionstate id="35" description="You have finished this mission."/>
    </mission>
    <mission name="Mission 10 - Mintwallin" storageid="100171" startvalue="36" endvalue="38">
            <missionstate id="36" description="Kevin gave you a letter to deliver to Markwin."/>
        <missionstate id="37" description="Now return to Kevin and report about your mission."/>
        <missionstate id="38" description="You have finished this mission."/>
    </mission>
    </quest>

Here is NPC Kevin.lua
Code:
local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)

function onCreatureAppear(cid)            npcHandler:onCreatureAppear(cid)            end
function onCreatureDisappear(cid)        npcHandler:onCreatureDisappear(cid)            end
function onCreatureSay(cid, type, msg)        npcHandler:onCreatureSay(cid, type, msg)        end
function onThink()                npcHandler:onThink()                    end

local function getPlayerBones(cid)
    local player = Player(cid)
    return player:getItemCount(2230) + player:getItemCount(2231)
end

local function doPlayerRemoveBones(cid)
    local player = Player(cid)
    return player:removeItem(2230, player:getItemCount(2230)) and player:removeItem(2231, player:getItemCount(2231))
end

local function creatureSayCallback(cid, type, msg)
    if not npcHandler:isFocused(cid) then
        return false
    end
    local player = Player(cid)
    if msgcontains(msg, "mission") then
        if player:getStorageValue(Storage.postman.Mission01) < 1 then
            npcHandler:say("You are not a member of our guild yet! We have high standards for our members. To rise in our guild is a difficult but rewarding task. Are you interested in joining?", cid)
            npcHandler.topic[cid] = 1
        elseif player:getStorageValue(Storage.postman.Mission01) == 5 then
            npcHandler:say("So you have finally made it! I did not think that you would have it in you ... However: are you ready for another assignment?", cid)
            npcHandler.topic[cid] = 8
        elseif player:getStorageValue(Storage.postman.Mission02) == 2 then
            npcHandler:say("Excellent, you got it fixed! This will teach this mailbox a lesson indeed! Are you interested in another assignment?", cid)
            npcHandler.topic[cid] = 9
        elseif player:getStorageValue(Storage.postman.Mission03) == 2 then
            npcHandler:say("You truly got him? Quite impressive. You are a very promising candidate! I think I have another mission for you. Are you interested?", cid)
            npcHandler.topic[cid] = 11
        elseif player:getStorageValue(Storage.postman.Mission04) == 1 then
            npcHandler:say("Do you bring ONE bone for our officers' safety fund or ALL bones at once?", cid)
            npcHandler.topic[cid] = 12
        elseif player:getStorageValue(Storage.postman.Mission04) == 2 and player:getStorageValue(Storage.postman.Mission05) < 1  then
            npcHandler:say("You have made it! We have enough bones for the fund! You remind me of myself when I was young! Interested in another mission?", cid)
            npcHandler.topic[cid] = 15
        elseif player:getStorageValue(Storage.postman.Mission05) == 3 then
            npcHandler:say("Splendid, I knew we could trust you. I would like to ask for your help in another matter. Are you interested?", cid)
            npcHandler.topic[cid] = 16
        elseif player:getStorageValue(Storage.postman.Mission06) == 12 then
            npcHandler:say("Excellent! Another job well done! Would you accept another mission?", cid)
            npcHandler.topic[cid] = 19
        elseif player:getStorageValue(Storage.postman.Mission07) ==  7 then
            npcHandler:say("Once more you have impressed me! Are you willing to do another job?", cid)
            npcHandler.topic[cid] = 21
        elseif player:getStorageValue(Storage.postman.Mission08) == 2 then
            npcHandler:say("So Waldo is dead? This is grave news indeed. Did you recover his posthorn?", cid)
            npcHandler.topic[cid] = 23
        elseif player:getStorageValue(Storage.postman.Rank) == 4 and player:getStorageValue(Storage.postman.Mission09) == 0 then
            npcHandler:say("So are you ready for another mission?", cid)
            npcHandler.topic[cid] = 25
        elseif player:getStorageValue(Storage.postman.Mission09) == 3 then
            npcHandler:say("You did it? I hope you did not catch a flu in the cold! However theres another mission for you. Are you interested?", cid)
            npcHandler.topic[cid] = 26
        elseif player:getStorageValue(Storage.postman.Mission10) == 2 then
            npcHandler:say("You have delivered that letter? You are a true postofficer. All over the land bards shallpraise your name. There are no missions for you left right now.", cid)
            player:setStorageValue(Storage.postman.Mission10, 3)
            npcHandler.topic[cid] = 0
        end
    elseif msgcontains(msg, "dress pattern") then
        if player:getStorageValue(Storage.postman.Mission06) == 2 then
            npcHandler:say("Oh yes, where did we get that from ...? Let's see, first ask the great technomancer in Kazordoon for the technical details. Return here afterwards.", cid)
            player:setStorageValue(Storage.postman.Mission06, 3)
            npcHandler.topic[cid] = 0
        elseif player:getStorageValue(Storage.postman.Mission06) == 4 then
            npcHandler:say("The mail with Talphion's instructions just arived. I remember we asked Queen Eloise of Carlin for the perfect colours. Go there, ask her about the UNIFORMS and report back here.", cid)
            player:setStorageValue(Storage.postman.Mission06, 5)
            npcHandler.topic[cid] = 0
        elseif player:getStorageValue(Storage.postman.Mission06) == 6 then
            npcHandler:say("The queen has sent me the samples we needed. The next part is tricky. We need theuniforms to emanate some odor that dogs hate.The dog with the best 'taste' in that field is Noodles,the dog of King Tibianus. Do you understand so far?", cid)
            npcHandler.topic[cid] = 18
        elseif player:getStorageValue(Storage.postman.Mission06) == 10 then
            npcHandler:say("Fine, fine. I think that should do it. Tell Hugo that we order those uniforms. The completed dress pattern will soon arrive in Venore. Report to me when you have talked to him.", cid)
            player:setStorageValue(Storage.postman.Mission06, 11)
            npcHandler.topic[cid] = 0
        end
    elseif msgcontains(msg, "all") then
        if npcHandler.topic[cid] == 12 then
            npcHandler:say("Do you bring ONE bone for our officers' safety fund or ALL bones at once?", cid)
            npcHandler.topic[cid] = 13
        end
    elseif msgcontains(msg, "advancement") then
        if player:getStorageValue(Storage.postman.Mission04) == 2 and player:getStorageValue(Storage.postman.Rank) == 1 then
            npcHandler:say("You are worthy indeed. Do you want to advance in our guild?", cid)
            npcHandler.topic[cid] = 14
        elseif player:getStorageValue(Storage.postman.Mission06) == 13 and player:getStorageValue(Storage.postman.Rank) == 2 then
            npcHandler:say("You are worthy indeed. Do you want to advance in our guild?", cid)
            npcHandler.topic[cid] = 20
        elseif player:getStorageValue(Storage.postman.Mission08) == 3 and player:getStorageValue(Storage.postman.Rank) == 3 then
            npcHandler:say("You are worthy indeed. Do you want to advance in our guild?", cid)
            npcHandler.topic[cid] = 24
        elseif player:getStorageValue(Storage.postman.Mission10) == 3 and player:getStorageValue(Storage.postman.Rank) == 4 then
            npcHandler:say("You are worthy indeed. Do you want to advance in our guild?", cid)
            npcHandler.topic[cid] = 27
        end
    elseif msgcontains(msg, "yes") then
        if npcHandler.topic[cid] == 1 then
            npcHandler:say("Hm, I might consider your proposal, but first you will have to prove your worth by doing some tasks for us. Are you willing to do that?", cid)
            npcHandler.topic[cid] = 2
        elseif npcHandler.topic[cid] == 2 then
            npcHandler:say("Excellent! Your first task will be quite simple. But you should better write my instructions down anyways. You can read and write?", cid)
            npcHandler.topic[cid] = 3
        elseif npcHandler.topic[cid] == 3 then
            npcHandler:say("So listen, you will check certain tours our members have to take to see if there is some trouble. First travel with Captain Bluebear's ship from Thais to Carlin, understood?", cid)
            npcHandler.topic[cid] = 4
        elseif npcHandler.topic[cid] == 4 then
            npcHandler:say("Excellent! Once you have done that you will travel with Uzon to Edron. You will find him in the Femor Hills. Understood?", cid)
            npcHandler.topic[cid] = 5
        elseif npcHandler.topic[cid] == 5 then
            npcHandler:say("Fine, fine! Next, travel with Captain Seahorse to the city of Venore. Understood?", cid)
            npcHandler.topic[cid] = 6
        elseif npcHandler.topic[cid] == 6 then
            npcHandler:say("Good! Finally, find the technomancer Brodrosch and travel with him to the Isle of Cormaya. After this passage report back to me here. Understood?", cid)
            npcHandler.topic[cid] = 7
        elseif npcHandler.topic[cid] == 7 then
            npcHandler:say("Ok, remember: the Tibian mail service puts trust in you! Don't fail and report back soon. Just tell me about your {MISSION}.", cid)
            player:setStorageValue(Storage.postman.Mission01, 1)
            npcHandler.topic[cid] = 0
        elseif npcHandler.topic[cid] == 8 then
            npcHandler:say("I am glad to hear that. One of our mailboxes was reported to be jammed. It is located on the so called 'mountain' on theisle Folda. Get a crowbar and fix the mailbox. Report about your mission when you have done so.", cid)
            player:setStorageValue(Storage.postman.Mission01, 6)
            player:setStorageValue(Storage.postman.Mission02, 1)
            npcHandler.topic[cid] = 0
        elseif npcHandler.topic[cid] == 9 then
            npcHandler:say("For your noble deeds I grant you the title Assistant Postofficer. All Postofficers will charge you less money from now on. After every second mission ask me for an ADVANCEMENT. Your next task will be a bit more challenging. Do you feel ready for it?", cid)
            player:setStorageValue(Storage.postman.Rank, 1)
            npcHandler.topic[cid] = 10
        elseif npcHandler.topic[cid] == 10 then
            npcHandler:say("I need you to deliver a bill to the stage magician David Brassacres. He's hiding from his creditors somewhere in Venore. It's likely you will have to trick him somehow to reveal his identity. Report back when you delivered this bill.", cid)
            player:setStorageValue(Storage.postman.Mission02, 3)
            player:setStorageValue(Storage.postman.Mission03, 1)
            npcHandler.topic[cid] = 0
        elseif npcHandler.topic[cid] == 11 then
            npcHandler:say("Ok, listen: we have some serious trouble with agressive dogs lately. We have accumulated some bones as a sort of pacifier but we need more. Collect 20 bones like the one in my room to the left and report here.", cid)
            player:setStorageValue(Storage.postman.Mission03, 3)
            player:setStorageValue(Storage.postman.Mission04, 1)
            npcHandler.topic[cid] = 0
        elseif npcHandler.topic[cid] == 13 then
            if getPlayerBones(cid) >= 20 then
                doPlayerRemoveBones(cid)
                npcHandler:say("You have collected all the 20 bones needed. Excellent! Now let's talk about further missions if you are interested.", cid)
                player:setStorageValue(Storage.postman.Mission04, 2)
                npcHandler.topic[cid] = 0
            end
        elseif npcHandler.topic[cid] == 14 then
            npcHandler:say("I grant you the title of postman. You are now a full member of our guild. Here have your own officers hat and wear it with pride.", cid)
            player:setStorageValue(Storage.postman.Rank, 2)
            player:addItem(2665, 1)
            npcHandler.topic[cid] = 0
        elseif npcHandler.topic[cid] == 15 then
            npcHandler:say("Since I am convinced I can trust you, this time you must deliver a valuable present to Dermot on Fibula. Do NOT open it!!! You will find the present behind the door here on the lower right side of this room.", cid)
            player:setStorageValue(Storage.postman.Mission05, 1)
            npcHandler.topic[cid] = 0
        elseif npcHandler.topic[cid] == 16 then
            npcHandler:say("Ok. We need a new set of uniforms, and only the best will do for us. Please travel to Venore and negotiate with Hugo Chief acontract for new uniforms.", cid)
            player:setStorageValue(Storage.postman.Mission05, 4)
            player:setStorageValue(Storage.postman.Mission06, 1)
            npcHandler.topic[cid] = 0
        elseif npcHandler.topic[cid] == 18 then
            npcHandler:say("Good. Go there and find out what taste he dislikes most: mouldy cheese, a piece of fur or abananaskin. Tell him to SNIFF, then the object. Show him the object and ask 'Do you like that?'.DONT let the guards know what you are doing.", cid)
            player:setStorageValue(Storage.postman.Mission06, 7)
            npcHandler.topic[cid] = 0
        elseif npcHandler.topic[cid] == 19 then
            npcHandler:say("Good, so listen. Hugo Chief informed me that he needs the measurements of our postofficers. Go and bring me the measurements of Ben, Lokur, Dove, Liane, Chrystal and Olrik.", cid)
            player:setStorageValue(Storage.postman.Mission06, 13)
            player:setStorageValue(Storage.postman.Mission07, 1)
            npcHandler.topic[cid] = 0
        elseif npcHandler.topic[cid] == 20 then
            npcHandler:say("From now on it shall be known that you are a grand postman. You are now a privilegedmember until the end of days. Most captains around the world have an agreement with our guild to transport our privileged members, like you, for less gold.", cid)
            player:setStorageValue(Storage.postman.Rank, 3)
            npcHandler.topic[cid] = 0
        elseif npcHandler.topic[cid] == 21 then
            npcHandler:say("Ok but your next assignment might be dangerous. Our Courier Waldo has been missing for a while. I must assume he is dead. Can you follow me so far?", cid)
            npcHandler.topic[cid] = 22
        elseif npcHandler.topic[cid] == 22 then
            npcHandler:say("Find out about his whereabouts and retrieve him or at least his posthorn. He was looking for a new underground passage that is rumoured to be found underneath the troll-infested Mountain east of Thais.", cid)
            player:setStorageValue(Storage.postman.Mission07, 8)
            player:setStorageValue(Storage.postman.Mission08, 1)
            npcHandler.topic[cid] = 0
        elseif npcHandler.topic[cid] == 23 then
            npcHandler:say("Thank you. We will honour this. Your next mission will be a very special one. Good thing you are a special person as well. Are you ready?", cid)
            player:setStorageValue(Storage.postman.Mission08, 3)
            player:setStorageValue(Storage.postman.Mission09, 0)
            npcHandler.topic[cid] = 0
        elseif npcHandler.topic[cid] == 24 then
            npcHandler:say("From now on you are a grand postman for special operations. You are an honoured member of our guild and earned the privilege of your own post horn. Here, take it.", cid)
            player:setStorageValue(Storage.postman.Rank, 4)
            player:addItem(2078, 1)
            npcHandler.topic[cid] = 0
        elseif npcHandler.topic[cid] == 25 then
            npcHandler:say("So listen well. Behind the lower left door you will find a bag. The letters in the bag are for none other than Santa Claus! Deliver them to his house on the isle of Vega, USE thebag on his mailbox and report back here.", cid)
            player:setStorageValue(Storage.postman.Mission09, 1)
            npcHandler.topic[cid] = 0
        elseif npcHandler.topic[cid] == 26 then
            npcHandler:say("Excellent. Here is a letter for you to deliver. Well, to be honest, no one else volunteered. It's a letter from the mother of Markwin, the king of Mintwallin. Deliver that letter to him, but note that you will not be welcome there.", cid)
            player:setStorageValue(Storage.postman.Mission09, 4)
            player:setStorageValue(Storage.postman.Mission10, 1)
            player:addItem(2333, 1)
            npcHandler.topic[cid] = 0
        elseif npcHandler.topic[cid] == 27 then
            npcHandler:say("I grant you the title of archpostman. You are a legend in our guild. As privilege of your newly aquired status you are allowed to make use of certain mailboxes in dangerous areas. Just look out for them and you'll see.", cid)
            player:setStorageValue(Storage.postman.Rank, 5)
            player:setStorageValue(Storage.postman.Door, 1)
            npcHandler.topic[cid] = 0
        end
    end
    return true
end

npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())

quests.xml is getting from different 8.6 datapack tfs 0.4
How to connect it correctly?
 
Solution
Lua:
-- STORAGES --

Storage = {

    postman = {
        Mission01 = 12450,
        Mission02 = 12451,
        Mission03 = 12452,
        Mission04 = 12453,
        Mission05 = 12454,
        Mission06 = 12455,
        Mission07 = 12456,
        Mission08 = 12457,
        Mission09 = 12458,
        Mission10 = 12459,
        Rank = 12460,
        Door = 12461,

        TravelCarlin = 251,
        TravelEdron = 252,
        TravelVenore = 253,
        TravelCormaya = 254
    },
DemonOak = {
        Done = 1010,
        Progress = 1013,
        Squares = 1014,

        AxeBlowsBird = 8288,
        AxeBlowsLeft = 8289,
        AxeBlowsRight = 8290,
        AxeBlowsFace = 8291
    },
  
  
    AnnihilatorDone = 5000,
    VampireShieldDone =...
It only uses one storage with different values for the different stages.

Storage value = 100171

player:getStorageValue(100171) checks what part they are on
player:setStorageValue(100171, player:getStorageValue(100171) + 1) ascends the mission to the next mission.

However your NPC uses a different approach where multiple storages are involved.
of which you can find in this file data/lib/core/storages.lua

Best thing to do is just to replace the questlog with another quests.xml from say TFS 1.3.

You can try replacing the quests.xml postman mission with this
XML:
<quest name="The Postman Missions" startstorageid="12450" startstoragevalue="1">
        <mission name="Mission 1 - Check Postal Routes" storageid="12450" startvalue="1" endvalue="6">
            <missionstate id="1" description="Kevin wants you to travel with Captain Bluebear to Carlin." />
            <missionstate id="2" description="Kevin wants you to travel with Uzon in Femor Hills to Edron." />
            <missionstate id="3" description="Kevin wants you to travel with Captain Seahorse to Venore." />
            <missionstate id="4" description="Kevin wants you to travel with Brodrosch to Cormaya" />
            <missionstate id="5" description="You have checked the Postal Routes, report back to Kevin!" />
            <missionstate id="6" description="You have reported back that you have completed the mission." />
        </mission>
        <mission name="Mission 2 - Fix Mailbox" storageid="12451" startvalue="1" endvalue="3">
            <missionstate id="1" description="Kevin wants you to fix one of their Mailboxes located on Folda with a crowbar." />
            <missionstate id="2" description="You have fixed the mailbox, report back to Kevin!" />
            <missionstate id="3" description="You have reported back that you have completed the mission." />
        </mission>
        <mission name="Mission 3 - Bill Delivery" storageid="12452" startvalue="1" endvalue="3">
            <missionstate id="1" description="Kevin wants you to deliver a bill to the stage magician David Brassacres. He's hiding from his creditors somewhere in Venore." />
            <missionstate id="2" description="You have delivered the bill to the stage magician David Brassacres, report back to Kevin!" />
            <missionstate id="3" description="You have reported back that you have completed the mission." />
        </mission>
        <mission name="Mission 4 - Aggressive Dogs" storageid="12453" startvalue="1" endvalue="2">
            <missionstate id="1" description="Kevin has asked you to deliver 20 Bones to him." />
            <missionstate id="2" description="You have delivered 20 Bones to Kevin." />
        </mission>
        <mission name="Mission 5 - Present Delivery" storageid="12454" startvalue="1" endvalue="4">
            <missionstate id="1" description="Kevin has asked you to retrieve the present behind the door on the lower right side of his room and deliver it to Dermot in Fibula." />
            <missionstate id="2" description="Deliver the present to Dermot in Fibula." />
            <missionstate id="3" description="You have delivered the present to Dermot, report back to Kevin!" />
            <missionstate id="4" description="You have reported back that you have completed the mission." />
        </mission>
        <mission name="Mission 6 - New Uniforms" storageid="12455" startvalue="1" endvalue="13">
            <missionstate id="1" description="Kevin has asked you to travel to Venore and negotiate with Hugo for new uniforms." />
            <missionstate id="2" description="Hugo said that his dog ate the last dress pattern they used and he has no clue where Kevin Postner got it from, go ask Kevin." />
            <missionstate id="3" description="Kevin wants you to ask the great Technomancer Talphion in Kazordoon for the technical details." />
            <missionstate id="4" description="Talphion will send a copy to Kevin, report back to Kevin." />
            <missionstate id="5" description="Kevin wants you tk ask Queen Eloise of Carlin for the perfect colours." />
            <missionstate id="6" description="Queen Eloise said she will send some color samples via mail to Kevin, report back to Kevin." />
            <missionstate id="7" description="Kevin has asked you to go to Noodles and find out what he dislikes the most: mouldy cheese, a piece of fur or a banana skin." />
            <missionstate id="8" description="Noodles seems to like banana skin, check if he likes dirty fur." />
            <missionstate id="9" description="Noodles seems to like dirty fur, check if he likes mouldy cheese." />
            <missionstate id="10" description="Noodles dislikes mouldy cheese! Report back to Kevin." />
            <missionstate id="11" description="Kevin wants you to tell Hugo that they order those uniforms." />
            <missionstate id="12" description="Hugo has agreed to make the uniforms, report back to Kevin!" />
            <missionstate id="13" description="You have reported back that you have completed the mission." />
        </mission>
        <mission name="Mission 7 - Measurements" storageid="12456" startvalue="1" endvalue="8">
            <missionstate id="1" description="Kevin wants you to bring him the measurements of Ben, Lokur, Dove, Liane, Chrystal and Olrik." />
            <missionstate id="2" description="You have received the measurements from 1 of 6 postofficers." />
            <missionstate id="3" description="You have received the measurements from 2 of 6 postofficers." />
            <missionstate id="4" description="You have received the measurements from 3 of 6 postofficers." />
            <missionstate id="5" description="You have received the measurements from 4 of 6 postofficers." />
            <missionstate id="6" description="You have received the measurements from 5 of 6 postofficers." />
            <missionstate id="7" description="You have received all measurements, report back to Kevin!" />
            <missionstate id="8" description="You have reported back that you have completed the mission." />
        </mission>
        <mission name="Mission 8 - Missing Courier" storageid="12457" startvalue="1" endvalue="3">
            <missionstate id="1" description="Kevin wants you to find the missing courier Waldo or at least his posthorn." />
            <missionstate id="2" description="You have found Waldos posthorn." />
            <missionstate id="3" description="You have reported back that you have completed the mission." />
        </mission>
        <mission name="Mission 9 - Dear Santa" storageid="12458" startvalue="1" endvalue="4">
            <missionstate id="1" description="Kevin wants you to deliver som letters to Santa Claus on Vega." />
            <missionstate id="2" description="You have retrieved the letters, deliver them to Santa Claus on Vega." />
            <missionstate id="3" description="You have delivered the letters to Santa Claus on Vega." />
            <missionstate id="4" description="You have reported back that you have completed the mission." />
        </mission>
        <mission name="Mission 10 - Mintwallin" storageid="12459" startvalue="1" endvalue="3">
            <missionstate id="1" description="Kevin wants you to deliver a letter  to Markwin, king of Mintwallin from his mother." />
            <missionstate id="2" description="You have delivered the letter to Markwin." />
            <missionstate id="3" description="You have reported back that you have completed the mission." />
        </mission>
        <mission name="Postman Rank" storageid="12460" startvalue="1" endvalue="5">
            <missionstate id="1" description="Assistant Postman" />
            <missionstate id="2" description="Postman" />
            <missionstate id="3" description="Grand Postman" />
            <missionstate id="4" description="Grand Postman for Special Operations" />
            <missionstate id="5" description="Arch Postman" />
        </mission>
    </quest>
 
Best thing to do is just to replace the questlog with another quests.xml from say TFS 1.3.

Have you it all? because your Postman is working.

Here is my data/lib/core/storages.lua
Lua:
-- STORAGES --

Storage = {
    DemonOak = {
        Done = 1010,
        Progress = 1013,
        Squares = 1014,

        AxeBlowsBird = 8288,
        AxeBlowsLeft = 8289,
        AxeBlowsRight = 8290,
        AxeBlowsFace = 8291
    },


    AnnihilatorDone = 5000,
    VampireShieldDone = 5001,
    FireAxeDone = 5002,
    MedusaShieldDone = 5003,
    CrystalWandDone = 5004,
    GriffinShieldDone = 5005,
    NaginataQuestDone = 5006,
    DemonHelmetDone = 100136,
    BehemothDone = 100104,

    SvargrondArena = {
        Arena = 1100,
        Pit = 1101,

        QuestLogGreenhorn = 50140,
        QuestLogScrapper = 50141,
        QuestLogWarlord = 50142,

        RewardGreenhorn = 26300,
        RewardScrapper = 27300,
        RewardWarlord = 28300,

        TrophyGreenhorn = 1103,
        TrophyScrapper = 1105,
        TrophyWarlord = 1107,

        -- Reward Doors
        Greenhorn = 26100,
        Scrapper = 27100,
        Warlord = 28100
    },

    ElementalSphere = {
        QuestLine = 10000,
        BossStorage = 10001,
        MachineGemCount = 10002
    },

    TheNewFrontier = {
        Questline = 12130, -- Storage through the Quest
        Mission01 = 12131,
        Mission02 = 12132,
        Mission03 = 12133,
        Mission04 = 12134,
        Mission05 = 12135,
        Mission06 = 12136,
        Mission07 = 12137,
        Mission08 = 12138,
        Mission09 = 12139,
        Mission10 = 12140,
     
        TomeofKnowledge = 12141,
     
        Beaver1 = 12142,
        Beaver2 = 12143,
        Beaver3 = 12144,
     
        BribeKing = 12145,
        BribeLeeland = 12146,
        BribeExplorerSociety = 12147,
        BribeWydrin = 12148,
        BribeTelas = 12149,
        BribeHumgolf = 12150
    },

    PitsOfInferno = {
        ShortcutHub = 8819,
        ShortcutLevers = 8818,
        Pumin = 50096,

        WeaponReward = 10544,

        ThroneInfernatil = 2080,
        ThroneTafariel = 2081,
        ThroneVerminor = 2082,
        ThroneApocalypse = 2083,
        ThroneBazir = 2084,
        ThroneAshfalor = 2085,
        ThronePumin = 2086
    },

    SeaOfLightQuest = {
        Questline = 50250,
        Mission1 = 50251,
        Mission2 = 50252,
        Mission3 = 50253,
        StudyTimer = 50254,
        LostMinesCrystal = 50255
    },

    KillingInTheNameOf = {
        LugriNecromancers = 50000,
        LugriNecromancerCount = 50001,

        MissionTiquandasRevenge = 22222,
        TiquandasRevengeTeleport = 22555,
        MissionDemodras = 22223,
        DemodrasTeleport = 22556

    },
}

GlobalStorage = {
    PitsOfInfernoLevers = 1000,

    ElementalSphere = {
        BossRoom = 10004,

        KnightBoss = 8568,
        SorcererBoss = 8569,
        PaladinBoss = 8570,
        DruidBoss = 8578,

        Machine1 = 10005,
        Machine2 = 10006,
        Machine3 = 10007,
        Machine4 = 10008
    }
}
 
Lua:
-- STORAGES --

Storage = {

    postman = {
        Mission01 = 12450,
        Mission02 = 12451,
        Mission03 = 12452,
        Mission04 = 12453,
        Mission05 = 12454,
        Mission06 = 12455,
        Mission07 = 12456,
        Mission08 = 12457,
        Mission09 = 12458,
        Mission10 = 12459,
        Rank = 12460,
        Door = 12461,

        TravelCarlin = 251,
        TravelEdron = 252,
        TravelVenore = 253,
        TravelCormaya = 254
    },
DemonOak = {
        Done = 1010,
        Progress = 1013,
        Squares = 1014,

        AxeBlowsBird = 8288,
        AxeBlowsLeft = 8289,
        AxeBlowsRight = 8290,
        AxeBlowsFace = 8291
    },
  
  
    AnnihilatorDone = 5000,
    VampireShieldDone = 5001,
    FireAxeDone = 5002,
    MedusaShieldDone = 5003,
    CrystalWandDone = 5004,
    GriffinShieldDone = 5005,
    NaginataQuestDone = 5006,
    DemonHelmetDone = 100136,
    BehemothDone = 100104,
  
    SvargrondArena = {
        Arena = 1100,
        Pit = 1101,

        QuestLogGreenhorn = 50140,
        QuestLogScrapper = 50141,
        QuestLogWarlord = 50142,

        RewardGreenhorn = 26300,
        RewardScrapper = 27300,
        RewardWarlord = 28300,

        TrophyGreenhorn = 1103,
        TrophyScrapper = 1105,
        TrophyWarlord = 1107,

        -- Reward Doors
        Greenhorn = 26100,
        Scrapper = 27100,
        Warlord = 28100
    },
  
    ElementalSphere = {
        QuestLine = 10000,
        BossStorage = 10001,
        MachineGemCount = 10002
    },
  
    TheNewFrontier = {
        Questline = 12130, -- Storage through the Quest
        Mission01 = 12131,
        Mission02 = 12132,
        Mission03 = 12133,
        Mission04 = 12134,
        Mission05 = 12135,
        Mission06 = 12136,
        Mission07 = 12137,
        Mission08 = 12138,
        Mission09 = 12139,
        Mission10 = 12140,
      
        TomeofKnowledge = 12141,
      
        Beaver1 = 12142,
        Beaver2 = 12143,
        Beaver3 = 12144,
      
        BribeKing = 12145,
        BribeLeeland = 12146,
        BribeExplorerSociety = 12147,
        BribeWydrin = 12148,
        BribeTelas = 12149,
        BribeHumgolf = 12150
    },
  
    PitsOfInferno = {
        ShortcutHub = 8819,
        ShortcutLevers = 8818,
        Pumin = 50096,

        WeaponReward = 10544,

        ThroneInfernatil = 2080,
        ThroneTafariel = 2081,
        ThroneVerminor = 2082,
        ThroneApocalypse = 2083,
        ThroneBazir = 2084,
        ThroneAshfalor = 2085,
        ThronePumin = 2086
    },
  
    SeaOfLightQuest = {
        Questline = 50250,
        Mission1 = 50251,
        Mission2 = 50252,
        Mission3 = 50253,
        StudyTimer = 50254,
        LostMinesCrystal = 50255
    },
  
    KillingInTheNameOf = {
        LugriNecromancers = 50000,
        LugriNecromancerCount = 50001,

        MissionTiquandasRevenge = 22222,
        TiquandasRevengeTeleport = 22555,
        MissionDemodras = 22223,
        DemodrasTeleport = 22556

    },
}

GlobalStorage = {
    PitsOfInfernoLevers = 1000,
  
    ElementalSphere = {
        BossRoom = 10004,

        KnightBoss = 8568,
        SorcererBoss = 8569,
        PaladinBoss = 8570,
        DruidBoss = 8578,

        Machine1 = 10005,
        Machine2 = 10006,
        Machine3 = 10007,
        Machine4 = 10008
    }
}
 
Solution
I have a little problem with mission 2, when i use crowbar on mailbox in folda nothing happend and see "you cannot use this object". Uniqueid of mailbox is 2155, which should be?
 
I'm using nostalrius 7.72 (tfs 1.2) to study. I noticed that there is no: storages.lua In my: data / lib / core /

If so, how do I find, or identify it?
If I want to use quests.xml, where do I check the storageID of the quests?
 
Back
Top