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

Lua Exchange NPC that needs access

DiegoRulez

Member
Joined
Apr 16, 2012
Messages
93
Reaction score
11
Location
Feira de Santana - Brasil
To talk to this NPC requires the storage ( 55101 ) . Would this rule be maintained and that it remove the item ( 2347 ) and add storage ( 55102 ) .

Change item (2347) for storage (55102)
Sorry bad english.

Code:
local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)
local talkState = {}

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

function greet(cid)
     talkState[cid] = 0
     return true
end

function getNpcName()
     return getCreatureName(getNpcId())
end

function creatureSayCallback(cid, type, msg)
     if(not npcHandler:isFocused(cid)) then
         return false
     end

     local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid

     if msgcontains(msg, "bye") or msgcontains(msg, "goodbye") then
         selfSay("Good bye, " .. getCreatureName(cid) .. "!", cid)
         npcHandler:releaseFocus(cid)
         return true
     elseif getPlayerStorageValue(cid, 55101) < 1 then
         selfSay("Sorry, I'm busy.", cid)
         return true

    elseif msgcontains(msg, "passage") then
        selfSay("If you want to enter our fortress you have to become one of us and fight the Efreet. So, are you willing to do so?", cid)
    elseif msgcontains(msg, "yes") then
        selfSay("Are you sure? You pledge loyalty to king Gabel, who is... you know. And you are willing to never ever set foot on Efreets' territory, unless you want to kill them? Yes?", cid)

    elseif msgcontains(msg, "yeah") then
        if getPlayerStorageValue(cid, 55102) == -1 then
            selfSay("Oh. Ok. Welcome then. You may pass. And don't forget to kill some Efreets, now and then.", cid)
            setPlayerStorageValue(cid, 55102, 1)
        else
            selfSay("You already have my permission.", cid)
        end


    -- talkState[talkUser] = 0

    end

    return true
end

npcHandler:setCallback(CALLBACK_GREET, greet)
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())
 
Here you go. All fixed up. :p
Code:
local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)
local talkState = {}

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

function greet(cid)
    talkState[cid] = 0
    return true
end

function getNpcName()
    return getCreatureName(getNpcId())
end

function creatureSayCallback(cid, type, msg)
    if(not npcHandler:isFocused(cid)) then
        return false
    end

    local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid

    if msgcontains(msg, "bye") or msgcontains(msg, "goodbye") then
        selfSay("Good bye, " .. getCreatureName(cid) .. "!", cid)
        npcHandler:releaseFocus(cid)
        return true
    elseif getPlayerStorageValue(cid, 55101) < 1 then
        selfSay("Sorry, I'm busy.", cid)
        return true

    elseif msgcontains(msg, "passage") and talkState[talkUser] == 0 and getPlayerStorageValue(cid, 55102) == -1 then
        selfSay("If you want to enter our fortress you have to become one of us and fight the Efreet. So, are you willing to do so?", cid)
        talkState[talkUser] = 1
    elseif msgcontains(msg, "yes") and talkState[talkUser] == 1 then
        selfSay("Are you sure? You pledge loyalty to king Gabel, who is... you know. And you are willing to never ever set foot on Efreets' territory, unless you want to kill them? Yes?", cid)
        talkState[talkUser] = 2
    elseif msgcontains(msg, "yes") and talkState[talkUser] == 2 then
        selfSay("And one last thing.. Hmm. Ah yes! I will require a item_name as a token of your trust. Do you agree to pledge everything thus?", cid)
        talkState[talkUser] = 3
    elseif msgcontains(msg, "yes") and talkState[talkUser] == 3 then
        if getPlayerItemCount(cid, 2347) >= 1 then
            selfSay("Oh. Ok. Welcome then. You may pass. And don't forget to kill some Efreets, now and then.", cid)
            doPlayerRemoveItem(cid, 2347, 1)
            setPlayerStorageValue(cid, 55102, 1)
        else
            selfSay("Do you take us as fools? Bring the item_name or don't ask for passage!", cid)
        end
        talkState[talkUser] = 0

    elseif talkState[talkUser] > 0 then
        selfSay("No then.", cid)

    end

    return true
end

npcHandler:setCallback(CALLBACK_GREET, greet)
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())
 
Last edited:
The NPC is delivering Storage without removing the item 2347

Code:
local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)
local talkState = {}

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

function greet(cid)
     talkState[cid] = 0
     return true
end

function getNpcName()
     return getCreatureName(getNpcId())
end

function creatureSayCallback(cid, type, msg)
     if(not npcHandler:isFocused(cid)) then
         return false
     end
  
     local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid
  
     if msgcontains(msg, "bye") or msgcontains(msg, "goodbye") then
         selfSay("Good bye, " .. getCreatureName(cid) .. "!", cid)
         npcHandler:releaseFocus(cid)
         return true
     elseif getPlayerStorageValue(cid, 55102) < 1 then
         selfSay("Sorry, I'm busy.", cid)
         return true

    elseif msgcontains(msg, "mission") then
        selfSay("My collection of recipes is almost complete. There are only but a few that are missing. Hmmm... now that we talk about it. There is something you could help me with. Are you interested?", cid)
       
        talkState[talkUser] = 1
    elseif msgcontains(msg, "yes") and talkState[talkUser] == 1 then
        selfSay("Fine! Even though I know so many recipes, I'm looking for the description of some dwarven meals. So, if you could bring me a cookbook of the dwarven kitchen I will reward you well.", cid)

    elseif msgcontains(msg, "cookbook") then
        selfSay("Do you have the cookbook of the dwarven kitchen with you? Can I have it?", cid)       
       
        talkState[talkUser] = 2
    elseif msgcontains(msg, "yes") and talkState[talkUser] == 2 then
        if getPlayerStorageValue(cid, 55103) == -1 then
            selfSay("Oh. Ok. Welcome then. You may pass. And don't forget to kill some Efreets, now and then.", cid)
            doPlayerRemoveItem(cid, 2347, 1)
            setPlayerStorageValue(cid, 55103, 1)
        else
            selfSay("You already have my permission.", cid)
        end

    end

    return true
end

npcHandler:setCallback(CALLBACK_GREET, greet)
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())
 
Last edited:
The NPC is delivering Storage without removing the item 2347

Code:
local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)
local talkState = {}

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

function greet(cid)
     talkState[cid] = 0
     return true
end

function getNpcName()
     return getCreatureName(getNpcId())
end

function creatureSayCallback(cid, type, msg)
     if(not npcHandler:isFocused(cid)) then
         return false
     end

     local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid

     if msgcontains(msg, "bye") or msgcontains(msg, "goodbye") then
         selfSay("Good bye, " .. getCreatureName(cid) .. "!", cid)
         npcHandler:releaseFocus(cid)
         return true
     elseif getPlayerStorageValue(cid, 55102) < 1 then
         selfSay("Sorry, I'm busy.", cid)
         return true

    elseif msgcontains(msg, "mission") then
        selfSay("My collection of recipes is almost complete. There are only but a few that are missing. Hmmm... now that we talk about it. There is something you could help me with. Are you interested?", cid)
     
        talkState[talkUser] = 1
    elseif msgcontains(msg, "yes") and talkState[talkUser] == 1 then
        selfSay("Fine! Even though I know so many recipes, I'm looking for the description of some dwarven meals. So, if you could bring me a cookbook of the dwarven kitchen I will reward you well.", cid)

    elseif msgcontains(msg, "cookbook") then
        selfSay("Do you have the cookbook of the dwarven kitchen with you? Can I have it?", cid)     
     
        talkState[talkUser] = 2
    elseif msgcontains(msg, "yes") and talkState[talkUser] == 2 then
        if getPlayerStorageValue(cid, 55103) == -1 then
            selfSay("Oh. Ok. Welcome then. You may pass. And don't forget to kill some Efreets, now and then.", cid)
            doPlayerRemoveItem(cid, 2347, 1)
            setPlayerStorageValue(cid, 55103, 1)
        else
            selfSay("You already have my permission.", cid)
        end

    end

    return true
end

npcHandler:setCallback(CALLBACK_GREET, greet)
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())
You realize this script you posted is 0% identical to the script I posted right?
Can you test my script to ensure it is working, before you edit it?
 
Yes , I tested your script and did not work.

I tried to edit it seems to fix some things ..

This script delivers storage even when I do not have the item in 2347

-- EDIT --

I tested this way and it worked!

But when you do not have the item, it does not say " you do not have ," he says, " Have you completed the mission " but no complete truth

Code:
local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)
local talkState = {}

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

function greet(cid)
     talkState[cid] = 0
     return true
end

function getNpcName()
     return getCreatureName(getNpcId())
end

function creatureSayCallback(cid, type, msg)
     if(not npcHandler:isFocused(cid)) then
         return false
     end
  
     local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid
  
     if msgcontains(msg, "bye") or msgcontains(msg, "goodbye") then
         selfSay("Good bye, " .. getCreatureName(cid) .. "!", cid)
         npcHandler:releaseFocus(cid)
         return true
     elseif getPlayerStorageValue(cid, 55102) < 1 then
         selfSay("Sorry, I'm busy.", cid)
         return true

    elseif msgcontains(msg, "mission") then
        selfSay("My collection of recipes is almost complete. There are only but a few that are missing. Hmmm... now that we talk about it. There is something you could help me with. Are you interested?", cid)
       
        talkState[talkUser] = 1
    elseif msgcontains(msg, "yes") and talkState[talkUser] == 1 then
        selfSay("Fine! Even though I know so many recipes, I'm looking for the description of some dwarven meals. So, if you could bring me a cookbook of the dwarven kitchen I will reward you well.", cid)

    elseif msgcontains(msg, "cookbook") then
        selfSay("Do you have the cookbook of the dwarven kitchen with you? Can I have it?", cid)       
       
        talkState[talkUser] = 2
    elseif msgcontains(msg, "yes") and talkState[talkUser] == 2 then
        if(doPlayerRemoveItem(cid, 2347, 1)) then
            selfSay("Oh. Ok. Welcome then. You may pass. And don't forget to kill some Efreets, now and then.", cid)
            setPlayerStorageValue(cid, 55103, 1)
        else
            selfSay("You already have my permission.", cid)
        end

    end

    return true
end

npcHandler:setCallback(CALLBACK_GREET, greet)
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())
 
Last edited:
I'll test my script when I get home.. but I'm 99% sure your using an incorrect script.
I cannot see any way for a player to skip past my checks and obtain the storage without having the item on their person.

If anyone see's the error, or is able to test the npc before I can get home, I'm sure you'll help DiegoRulez quite a bit.
 
I modified your code and got it. But every time it is said: " cookbook , yes" the NPC remove the item and delivery to storage again. I wish this were not possible. Thus , performing the exchange only once

Code:
local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)
local talkState = {}

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

function greet(cid)
    talkState[cid] = 0
    return true
end

function getNpcName()
    return getCreatureName(getNpcId())
end

function creatureSayCallback(cid, type, msg)
    if(not npcHandler:isFocused(cid)) then
        return false
    end

    local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid

    if msgcontains(msg, "bye") or msgcontains(msg, "goodbye") then
        selfSay("Good bye, " .. getCreatureName(cid) .. "!", cid)
        npcHandler:releaseFocus(cid)
        return true
    elseif getPlayerStorageValue(cid, 55102) < 1 then
        selfSay("I'm not allowed to talk to you.", cid)
        return true

    elseif msgcontains(msg, "mission") then
        selfSay("My collection of recipes is almost complete. There are only but a few that are missing. Hmmm... now that we talk about it. There is something you could help me with. Are you interested?", cid)
     
        talkState[talkUser] = 1
    elseif msgcontains(msg, "yes") and talkState[talkUser] == 1 then
        selfSay("Fine! Even though I know so many recipes, I'm looking for the description of some dwarven meals. So, if you could bring me a cookbook of the dwarven kitchen I will reward you well.", cid)
    
    elseif msgcontains(msg, "cookbook") then
        selfSay("Do you have the cookbook of the dwarven kitchen with you? Can I have it?", cid)

        talkState[talkUser] = 2
    elseif msgcontains(msg, "yes") and talkState[talkUser] == 2 then
        if getPlayerItemCount(cid, 2347) >= 1 then
            selfSay("Oh. Ok. Welcome then. You may pass. And don't forget to kill some Efreets, now and then.", cid)
            doPlayerRemoveItem(cid, 2347, 1)
            setPlayerStorageValue(cid, 55103, 1)
        else
            selfSay("Come back when you have a cookbook.", cid)
        end
        talkState[talkUser] = 0

    elseif talkState[talkUser] > 0 then
        selfSay("No then.", cid)

    end

    return true
end

npcHandler:setCallback(CALLBACK_GREET, greet)
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())
 
:rolleyes:
I'll fix your script again.
Code:
local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)
local talkState = {}

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

function greet(cid)
    talkState[cid] = 0
    return true
end

function getNpcName()
    return getCreatureName(getNpcId())
end

function creatureSayCallback(cid, type, msg)
    if(not npcHandler:isFocused(cid)) then
        return false
    end

    local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid

    if msgcontains(msg, "bye") or msgcontains(msg, "goodbye") then
        selfSay("Good bye, " .. getCreatureName(cid) .. "!", cid)
        npcHandler:releaseFocus(cid)
        return true
    elseif getPlayerStorageValue(cid, 55102) < 1 then
        selfSay("I'm not allowed to talk to you.", cid)
        return true

    elseif msgcontains(msg, "mission") and talkState[talkUser] < 1 and getPlayerStorageValue(cid, 55103) == -1 then
        selfSay("My collection of recipes is almost complete. There are only but a few that are missing. Hmmm... now that we talk about it. There is something you could help me with. Are you interested?", cid)  
        talkState[talkUser] = 1
    elseif msgcontains(msg, "yes") and talkState[talkUser] == 1 then
        selfSay("Fine! Even though I know so many recipes, I'm looking for the description of some dwarven meals. So, if you could bring me a cookbook of the dwarven kitchen I will reward you well.", cid)
        talkState[talkUser] = 2
    elseif msgcontains(msg, "cookbook") and talkState[talkUser] == 2 then
        selfSay("Do you have the cookbook of the dwarven kitchen with you? Can I have it?", cid)
        talkState[talkUser] = 3
    elseif msgcontains(msg, "yes") and talkState[talkUser] == 3 then
        if getPlayerItemCount(cid, 2347) >= 1 then
            selfSay("Oh. Ok. Welcome then. You may pass. And don't forget to kill some Efreets, now and then.", cid)
            doPlayerRemoveItem(cid, 2347, 1)
            setPlayerStorageValue(cid, 55103, 1)
        else
            selfSay("Come back when you have a cookbook.", cid)
        end
        talkState[talkUser] = 0

    elseif talkState[talkUser] > 0 then
        selfSay("No then.", cid)

    end

    return true
end

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

Alternative way.
Code:
local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)
local talkState = {}

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

function greet(cid)
    talkState[cid] = 0
    return true
end

function getNpcName()
    return getCreatureName(getNpcId())
end

function creatureSayCallback(cid, type, msg)
    if(not npcHandler:isFocused(cid)) then
        return false
    end

    local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid

    if msgcontains(msg, "bye") or msgcontains(msg, "goodbye") then
        selfSay("Good bye, " .. getCreatureName(cid) .. "!", cid)
        npcHandler:releaseFocus(cid)
        return true
    elseif getPlayerStorageValue(cid, 55102) < 1 then
        selfSay("I'm not allowed to talk to you.", cid)
        return true

    elseif msgcontains(msg, "mission") and talkState[talkUser] < 1 and getPlayerStorageValue(cid, 55103) == -1 then
        selfSay("My collection of recipes is almost complete. There are only but a few that are missing. Hmmm... now that we talk about it. There is something you could help me with. Are you interested?", cid)   
        talkState[talkUser] = 1
    elseif msgcontains(msg, "yes") and talkState[talkUser] == 1 then
        selfSay("Fine! Even though I know so many recipes, I'm looking for the description of some dwarven meals. So, if you could bring me a cookbook of the dwarven kitchen I will reward you well.", cid)
        setPlayerStorageValue(cid, 55103, 1)
        talkState[talkUser] = 0
        npcHandler:releaseFocus(cid)

    elseif msgcontains(msg, "cookbook") and talkState[talkUser] < 1 and getPlayerStorageValue(cid, 55103) == 1 then
        selfSay("Do you have the cookbook of the dwarven kitchen with you? Can I have it?", cid)
        talkState[talkUser] = 2
    elseif msgcontains(msg, "yes") and talkState[talkUser] == 2 then
        if getPlayerItemCount(cid, 2347) >= 1 then
            selfSay("Oh. Ok. Welcome then. You may pass. And don't forget to kill some Efreets, now and then.", cid)
            doPlayerRemoveItem(cid, 2347, 1)
            setPlayerStorageValue(cid, 55103, 2)
        else
            selfSay("Come back when you have a cookbook.", cid)
        end
        talkState[talkUser] = 0

    elseif talkState[talkUser] > 0 then
        selfSay("No then.", cid)

    end

    return true
end

npcHandler:setCallback(CALLBACK_GREET, greet)
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())
 
Last edited:
Did not work..

When I say " Hi " NPC answer me .
When speaking mission , yes , cookbook , yes it does not respond to anything
When you greet the NPC it should auto set the talkstate to 0.. maybe it's not doing that?
Editing my above posts with a fix. Please try again.

-- Edit

If not.. I'll test it when I get home in an hour.
 
Last edited:
Test 1 starting. 8:34am.
Finished test, 8:39am
Fully tested.
Tried with edit, and before edit.
Both tests were successful.

Chat log from NPC.

08:36 Temperance: Welcome, Xikini! I have been expecting you.
08:36 Xikini [76]: bye
08:36 Temperance: Good bye, Xikini!
08:36 Xikini [76]: hi
08:36 Temperance: Welcome, Xikini! I have been expecting you.
08:36 Xikini [76]: goodbye
08:36 Temperance: Good bye, Xikini!
08:36 Xikini [76]: hi
08:36 Temperance: Welcome, Xikini! I have been expecting you.
08:36 Xikini [76]: mission
08:36 Temperance: I'm not allowed to talk to you.
08:37 Xikini [76]: /reload npc -- added keyword to gain storage value
08:37 Xikini [76]: hi
08:37 Temperance: Welcome, Xikini! I have been expecting you.
08:37 Xikini [76]: givestorage
08:37 Temperance: storage provided.
08:37 Xikini [76]: mission
08:37 Temperance: My collection of recipes is almost complete. There are only but a few that are missing. Hmmm... now that we talk about it. There is something you could help me with. Are you interested?
08:38 Xikini [76]: yes
08:38 Temperance: Fine! Even though I know so many recipes, I'm looking for the description of some dwarven meals. So, if you could bring me a cookbook of the dwarven kitchen I will reward you well.
08:38 Xikini [76]: cookbook
08:38 Temperance: Do you have the cookbook of the dwarven kitchen with you? Can I have it?
08:38 Xikini [76]: yes
08:38 Temperance: Come back when you have a cookbook.
08:38 Xikini [76]: /reload npc -- changed talkState[talkUser] < 1 to talkState[talkUser] == 0
08:38 Xikini [76]: hi
08:38 Temperance: Welcome, Xikini! I have been expecting you.
08:38 Xikini [76]: mission
08:38 Temperance: My collection of recipes is almost complete. There are only but a few that are missing. Hmmm... now that we talk about it. There is something you could help me with. Are you interested?
08:38 Xikini [76]: /i backpack
08:38 Xikini [76]: /i 2347
08:39 Xikini [76]: yes
08:39 Temperance: Fine! Even though I know so many recipes, I'm looking for the description of some dwarven meals. So, if you could bring me a cookbook of the dwarven kitchen I will reward you well.
08:39 Xikini [76]: cookbook
08:39 Temperance: Do you have the cookbook of the dwarven kitchen with you? Can I have it?
08:39 Xikini [76]: yes
08:39 Temperance: Oh. Ok. Welcome then. You may pass. And don't forget to kill some Efreets, now and then.

So, script is 100% working on 0.3.7

Are you using a new character to test this script?
Are you sure your character doesn't already have the storage values?
Do you receive any errors?
Do you want to PM me details for a teamviewer session?
 
Back
Top