• 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!
  • 2026 staff recruitment is open! Check it out and consider applying!

Questlog not updating

shisus420

New Member
Joined
Jan 20, 2017
Messages
16
Reaction score
2
Hello. Any ideas why my questlog is not updating? I mean the quests are disappearing from questlog after finishing them. Also I think the rank in the Bigfoot burden quest is not updating or something because it isn't possible to take 'exterminators' or 'mushroom digger' quest even after finishing two previous quests.

Screen:

g4xtB3S.jpg


Part of quests.xml:

Code:
[LIST=1]
[*]<quest name="Bigfoot's Burden" startstorageid="900" startstoragevalue="1">
[*]        <mission name="Daily Minor: Crystal Keeper" storageid="932" startvalue="0" endvalue="5" description="Use the repair crystal to repair five damaged blue crystal in the crystal caves. Damaged crystals will not glow. |STATE| / 5" />
[*]        <mission name="Daily Minor: Raiders of the lost Spark" storageid="934" startvalue="0" endvalue="7" description="Kill crystal crushers and use discharger item on the corpse to collect their charges. Gather 7 charges and report back. |STATE| / 7" />
[*]        <mission name="Daily Minor Plus: Exterminators" storageid="937" startvalue="0" endvalue="10" description="Kill 10 of the wigglers for the gnomes. Then report back to the gnomes. |STATE| / 10" />
[*]        <mission name="Daily Minor Plus: Mushroom Digger" storageid="940" startvalue="0" endvalue="3" description="Find a truffle sniffing pig and lure it around. Occasionally it will unearth some truffles. Use the baby pig on the truffles to feed it 3 times. Then report back to the gnomes. |STATE| / 3" />
[*]        <mission name="Daily Major: Matchmaker" storageid="943" startvalue="0" endvalue="1">
[*]            <missionstate id="0" description="You have to enter the crystal caves and find a crystal that is fitting the crystal you got from the gnomes. Use the crystal on one of the bigger red crystal in the caves to bond them." />
[*]            <missionstate id="1" description="You have finished this quest for now." />
[*]        </mission>
[*]        <mission name="Daily Major: The Tinker's Bell" storageid="946" startvalue="0" endvalue="4" description="Use the harmonic bell on the mad golems in the golem workshop so that they will automatically be teleported to the gnomish workshops. Then report back to the gnomes. |STATE| / 4" />
[*]    </quest>
[/LIST]

NPC Commander Stone.lua:

Code:
[*]local keywordHandler = KeywordHandler:new()
[*]local npcHandler = NpcHandler:new(keywordHandler)
[*]NpcSystem.parseParameters(npcHandler)
[*]

[*]function onCreatureAppear(cid)            npcHandler:eek:nCreatureAppear(cid)            end
[*]function onCreatureDisappear(cid)        npcHandler:eek:nCreatureDisappear(cid)            end
[*]function onCreatureSay(cid, type, msg)        npcHandler:eek:nCreatureSay(cid, type, msg)        end
[*]function onThink()                npcHandler:eek:nThink()                    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.BigfootBurden.QuestLine) >= 14 and player:getStorageValue(Storage.BigfootBurden.QuestLine) < 15 then
[*]            npcHandler:say("For your {rank} there are four missions avaliable: {crystal keeper}, {spark hunting}.", cid)
[*]            npcHandler:say("If you lose a mission item you can probably buy it from Gnomally. ", cid)
[*]            npcHandler.topic[cid] = 0
[*]        elseif player:getStorageValue(Storage.BigfootBurden.QuestLine) >= 15 then
[*]            npcHandler:say("For your {rank} there are four missions avaliable: {crystal keeper}, {spark hunting}, {monster extermination} and {mushroom digging}. By the way, you {rank} now allows you to take aditional missions from {Gnomeral} in {Gnomebase Alpha}. ... ", cid)
[*]            npcHandler:say("If you lose a mission item you can probably buy it from Gnomally. ", cid)
[*]            npcHandler.topic[cid] = 0
[*]        end
[*]    -- Crystal Keeper
[*]    elseif(msgcontains(msg, "keeper")) then
[*]        if player:getStorageValue(Storage.BigfootBurden.MissionCrystalKeeper) < 1 and player:getStorageValue(Storage.BigfootBurden.CrystalKeeperTimout) < os.time() then
[*]            npcHandler:say("You will have to repair some damaged crystals. Go into the Crystal grounds and repair them, using this harmonic crystal. Repair five of them and return to me. ", cid)
[*]            npcHandler:say("If you lose a mission item you can probably buy it from Gnomally. ", cid)
[*]            player:setStorageValue(Storage.BigfootBurden.MissionCrystalKeeper, 1)
[*]            player:setStorageValue(Storage.BigfootBurden.RepairedCrystalCount, 0)
[*]            player:addItem(18219, 1)
[*]            npcHandler.topic[cid] = 0
[*]        elseif(npcHandler.topic[cid] == 1 or npcHandler.topic[cid] == 2) then
[*]            if player:getStorageValue(Storage.BigfootBurden.RepairedCrystalCount) == 5 and player:removeItem(18219, 1) then
[*]                player:setStorageValue(Storage.BigfootBurden.Rank, player:getStorageValue(Storage.BigfootBurden.Rank) + 5)
[*]                player:addItem(18422, 1)
[*]                player:addItem(18215, 1)
[*]                player:setStorageValue(Storage.BigfootBurden.MissionCrystalKeeper, 0)
[*]                player:setStorageValue(Storage.BigfootBurden.CrystalKeeperTimout, os.time() + 72000)
[*]                player:setStorageValue(Storage.BigfootBurden.RepairedCrystalCount, -1)
[*]                player:addAchievement('Crystal Keeper')
[*]                player:checkGnomeRank()
[*]                npcHandler:say("You did well. That will help us a lot. Take your token and this gnomish supply package as a reward. ", cid)
[*]                npcHandler.topic[cid] = 0
[*]            end
[*]        end
[*]    -- Crystal Keeper
[*]

[*]    -- Raiders of the Lost Spark
[*]    elseif(msgcontains(msg, "spark")) then
[*]        if player:getStorageValue(Storage.BigfootBurden.MissionRaidersOfTheLostSpark) < 1 and player:getStorageValue(Storage.BigfootBurden.RaidersOfTheLostSparkTimeout) < os.time() then
[*]            npcHandler:say("Take this extractor and drive it into a body of a slain crystal crusher. This will charge your own body with energy sparks. Charge it with seven sparks and return to me. ...", cid)
[*]            npcHandler:say("Don't worry. The gnomes assured me you'd be save. That is if nothing strange or unusual occurs! ", cid)
[*]            player:setStorageValue(Storage.BigfootBurden.MissionRaidersOfTheLostSpark, 1)
[*]            player:setStorageValue(Storage.BigfootBurden.ExtractedCount, 0)
[*]            player:addItem(18213, 1)
[*]            npcHandler.topic[cid] = 0
[*]        elseif(npcHandler.topic[cid] == 1 or npcHandler.topic[cid] == 2) then
[*]            if player:getStorageValue(Storage.BigfootBurden.ExtractedCount) == 7 then
[*]                player:setStorageValue(Storage.BigfootBurden.Rank, player:getStorageValue(Storage.BigfootBurden.Rank) + 5)
[*]                player:addItem(18422, 1)
[*]                player:addItem(18215, 1)
[*]                player:setStorageValue(Storage.BigfootBurden.MissionCrystalKeeper, 0)
[*]                player:setStorageValue(Storage.BigfootBurden.ExtractedCount, -1)
[*]                player:setStorageValue(Storage.BigfootBurden.RaidersOfTheLostSparkTimeout, os.time() + 72000)
[*]                player:addAchievement('Call Me Sparky')
[*]                player:checkGnomeRank()
[*]                npcHandler:say("You did well. That will help us a lot. Take your token and this gnomish supply package as a reward. ", cid)
[*]                npcHandler.topic[cid] = 0
[*]            end
[*]        end
[*]    -- Raiders of the Lost Spark
[*]

[*]    -- Exterminators
[*]    elseif(msgcontains(msg, "extermination")) then
[*]        if player:getStorageValue(Storage.BigfootBurden.MissionExterminators) < 1 and player:getStorageValue(Storage.BigfootBurden.ExterminatorsTimeout) < os.time() and player:getStorageValue(Storage.BigfootBurden.QuestLine) >= 15 then
[*]            npcHandler:say("The wigglers have become a pest that threaten our resources and supplies. Kill 10 wigglers in the caves like the mushroon gardens or the truffles ground. Report back to me when you are done. ", cid)
[*]            player:setStorageValue(Storage.BigfootBurden.MissionExterminators, 1)
[*]            player:setStorageValue(Storage.BigfootBurden.ExterminatedCount, 0)
[*]            npcHandler.topic[cid] = 0
[*]        elseif(npcHandler.topic[cid] == 2) then
[*]            if player:getStorageValue(Storage.BigfootBurden.ExterminatedCount) == 10 then
[*]                player:setStorageValue(Storage.BigfootBurden.Rank, player:getStorageValue(Storage.BigfootBurden.Rank) + 5)
[*]                player:addItem(18422, 1)
[*]                player:addItem(18215, 1)
[*]                player:setStorageValue(Storage.BigfootBurden.MissionExterminators, 0)
[*]                player:setStorageValue(Storage.BigfootBurden.ExterminatedCount, -1)
[*]                player:setStorageValue(Storage.BigfootBurden.ExterminatorsTimeout, os.time() + 72000)
[*]                player:addAchievement('One Foot Vs. Many')
[*]                player:checkGnomeRank()
[*]                npcHandler:say("You did well. That will help us a lot. Take your token and this gnomish supply package as a reward. ", cid)
[*]                npcHandler.topic[cid] = 0
[*]            end
[*]        end
[*]    -- Exterminators
[*]

[*]    -- Mushroom Digger
[*]    elseif(msgcontains(msg, "digging")) then
[*]        if player:getStorageValue(Storage.BigfootBurden.MissionMushroomDigger) < 1 and player:getStorageValue(Storage.BigfootBurden.MushroomDiggerTimeout) < os.time() and player:getStorageValue(Storage.BigfootBurden.QuestLine) >= 15 then
[*]            npcHandler:say({
[*]                "Take this little piggy here. It will one day become a great mushroom hunter for sure. For now it is depended on you and other pigs. ...",
[*]                "Well other pigs then itself of course. I was not comparing you with a pig of course! Go to the truffels area and follow the truffel pigs there. When they dig up some truffels let the little pig eat the mushrooms. ...",
[*]                "You'll have to feed it three times. Then return it to me. ...",
[*]                "Keep in mind that the pig has to be returned to his mother after a while. When you don't do it, the gnomes will recall it via teleport cryrstals."
[*]            }, cid)
[*]            player:setStorageValue(Storage.BigfootBurden.MissionMushroomDigger, 1)
[*]            player:setStorageValue(Storage.BigfootBurden.MushroomCount, 0)
[*]            player:addItem(18339, 1)
[*]            npcHandler.topic[cid] = 0
[*]        elseif(npcHandler.topic[cid] == 2) then
[*]            if player:getStorageValue(Storage.BigfootBurden.MushroomCount) == 3 and player:removeItem(18339, 1) then
[*]                player:setStorageValue(Storage.BigfootBurden.Rank, player:getStorageValue(Storage.BigfootBurden.Rank) + 5)
[*]                player:addItem(18422, 1)
[*]                player:addItem(18215, 1)
[*]                player:setStorageValue(Storage.BigfootBurden.MissionMushroomDigger, 0)
[*]                player:setStorageValue(Storage.BigfootBurden.MushroomCount, -1)
[*]                player:setStorageValue(Storage.BigfootBurden.MushroomDiggerTimeout, os.time() + 72000)
[*]                player:addAchievement('The Picky Pig')
[*]                player:checkGnomeRank()
[*]                npcHandler:say("You did well. That will help us a lot. Take your token and this gnomish supply package as a reward. ", cid)
[*]                npcHandler.topic[cid] = 0
[*]            end
[*]        end
[*]    -- Mushroom Digger
[*]

[*]    elseif(msgcontains(msg, "report")) then
[*]        if player:getStorageValue(Storage.BigfootBurden.QuestLine) >= 14 and player:getStorageValue(Storage.BigfootBurden.QuestLine) < 15 then
[*]            npcHandler:say("Which mission do you want to report: {crystal keeper}, {spark hunting}?", cid)
[*]            npcHandler.topic[cid] = 1
[*]        elseif player:getStorageValue(Storage.BigfootBurden.QuestLine) >= 15 then
[*]            npcHandler:say("Which mission do you want to report: {crystal keeper}, {spark hunting}, {extermination} or {mushroom digging}?", cid)
[*]            npcHandler.topic[cid] = 2
[*]        end
[*]    end
[*]    return true
[*]end
[*]

[*]npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
[*]npcHandler:addModule(FocusModule:new())
[/LIST]

Storages.lua:

Code:
[LIST=1]
[*][LIST=1]
[*] BigfootBurden = {
[*]        QuestLine = 900,
[*]        Test = 901,
[*]        Shooting = 902,
[*]

[*]        MelodyTone1 = 904,
[*]        MelodyTone2 = 905,
[*]        MelodyTone3 = 906,
[*]        MelodyTone4 = 907,
[*]        MelodyTone5 = 908,
[*]        MelodyTone6 = 909,
[*]        MelodyTone7 = 910,
[*]

[*]        MelodyStatus = 911,
[*]

[*]        Rank = 921,
[*]

[*]        MissionCrystalKeeper = 930,
[*]        CrystalKeeperTimout = 931,
[*]        RepairedCrystalCount = 932,
[*]

[*]        MissionRaidersOfTheLostSpark = 933,
[*]        ExtractedCount = 934,
[*]        RaidersOfTheLostSparkTimeout = 935,
[*]

[*]        MissionExterminators = 936,
[*]        ExterminatedCount = 937,
[*]        ExterminatorsTimeout = 938,
[*]

[*]        MissionMushroomDigger = 939,
[*]        MushroomCount = 940,
[*]        MushroomDiggerTimeout = 941,
[*]

[*]        MissionMatchmaker = 942,
[*]        MatchmakerStatus = 943,
[*]        MatchmakerTimeout = 944,
[*]

[*]        MissionTinkersBell = 945,
[*]        GolemCount = 946,
[*]        TinkerBellTimeout = 947,
[*]

[*]        MissionSporeGathering = 948,
[*]        SporeCount = 949,
[*]        SporeGatheringTimeout = 950,
[*]

[*]        MissionGrindstoneHunt = 951,
[*]        GrindstoneStatus = 952,
[*]        GrindstoneTimeout = 953,
[*]

[*]        WarzoneStatus = 954,
[*]        Warzone1Access = 955,
[*]        Warzone2Access = 956,
[*]        Warzone3Access = 957,
[*]

[*]        Warzone1Reward = 958,
[*]        Warzone2Reward = 959,
[*]        Warzone3Reward = 960
[*]    },
[/LIST]
[/LIST]

Please forgive me if the codes are not added properly. I'm posting this thread via phone and I'm copying the codes from facebook messenger.

Up

Bump
 
Last edited:
Wait 24h till you bump a thread please..

The problem is that you never update it in the script, all you do is check what the values are;
LUA:
player:getStorageValue(Storage.BigfootBurden.QuestLine)

You need to set a value for it to work ex;
LUA:
player:setStorageValue(Storage.BigfootBurden.QuestLine, 1)
 
Back
Top