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

Green djinn currently free, want to change

  • Thread starter Thread starter Tinkz
  • Start date Start date
T

Tinkz

Guest
Hello!

I´m having an issue with Nah´bob npc, when i talk to him he gives me free access to his shop which is not intended if you play rl tibia. I must complete a quest first.

Heres a script from Nah´bob,

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 creatureSayCallback(cid, type, msg)
    if not npcHandler:isFocused(cid) then
        return false
    end

    local player = Player(cid)

    if msgcontains(msg, 'cookie') then
        if player:getStorageValue(Storage.WhatAFoolishQuest.Questline) == 31
                and player:getStorageValue(Storage.WhatAFoolishQuest.CookieDelivery.Djinn) ~= 1 then
            npcHandler:say('You brought cookies! How nice of you! Can I have one?', cid)
            npcHandler.topic[cid] = 1
        end
    elseif msgcontains(msg, 'yes') then
        if npcHandler.topic[cid] == 1 then
            if not player:removeItem(8111, 1) then
                npcHandler:say('You have no cookie that I\'d like.', cid)
                npcHandler.topic[cid] = 0
                return true
            end

            player:setStorageValue(Storage.WhatAFoolishQuest.CookieDelivery.Djinn, 1)
            if player:getCookiesDelivered() == 10 then
                player:addAchievement('Allow Cookies?')
            end

            Npc():getPosition():sendMagicEffect(CONST_ME_GIFT_WRAPS)
            npcHandler:say('You see, good deeds like this will ... YOU ... YOU SPAWN OF EVIL! I WILL MAKE SURE THE MASTER LEARNS ABOUT THIS!', cid)
            npcHandler:releaseFocus(cid)
            npcHandler:resetNpc(cid)
        end
    elseif msgcontains(msg, 'no') then
        if npcHandler.topic[cid] == 1 then
            npcHandler:say('I see.', cid)
            npcHandler.topic[cid] = 0
        end
    end
    return true
end

local function onTradeRequest(cid)
    return true
end

npcHandler:setMessage(MESSAGE_GREET, "<Sighs> Another {customer}! I've only just sat down! What is it, |PLAYERNAME|?")
npcHandler:setMessage(MESSAGE_FAREWELL, "Bye now, Neutrala |PLAYERNAME|. Visit old Bob again one day!")
npcHandler:setMessage(MESSAGE_WALKAWAY, "Bye then.")
npcHandler:setMessage(MESSAGE_SENDTRADE, 'At your service, just browse through my wares.')

npcHandler:setCallback(CALLBACK_ONTRADEREQUEST, onTradeRequest)
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())
 
Solution
change:
LUA:
local function onTradeRequest(cid)
        return false
    end
to:
LUA:
local function onTradeRequest(cid)
    if Player(cid):getStorageValue(Storage.DjinnWar.MaridFaction.Mission03) ~= 3 then
        npcHandler:say('I\'m sorry, pal. But you need Gabel\'s permission to trade with me.', cid)
        return false
    end

    return true
end
change:
LUA:
local function onTradeRequest(cid)
        return false
    end
to:
LUA:
local function onTradeRequest(cid)
    if Player(cid):getStorageValue(Storage.DjinnWar.MaridFaction.Mission03) ~= 3 then
        npcHandler:say('I\'m sorry, pal. But you need Gabel\'s permission to trade with me.', cid)
        return false
    end

    return true
end
 
Last edited:
Solution
Back
Top