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

The Queen of the Banshees

LucasFerraz

Systems Analyst
Joined
Jun 10, 2010
Messages
2,857
Reaction score
96
Location
Brazil
I have this The Queen of the Banshee NPC.
I'm using dev 0.4, rev3884.
When I say 'seventh' she says nothing. No console erros.
Why this script don't works?

LUA:
    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
     
    function creatureSayCallback(cid, type, msg)
    	if(npcHandler.focus ~= cid) then
    		return false
    	end
     
    	-- NPC The Queen of the Banshees feito por Rodrigo (Nottinghster) 
    	-- Inicio The Queen of the Banshees NPC
     
            local primeiro_selo = getPlayerStorageValue(cid, 32998)
            local segundo_selo = getPlayerStorageValue(cid, 32997)
            local terceiro_selo = getPlayerStorageValue(cid, 32996)
            local quarto_selo = getPlayerStorageValue(cid, 32995)
            local quinto_selo = getPlayerStorageValue(cid, 32994)
            local sexto_selo = getPlayerStorageValue(cid, 32993)
            local setimo_selo = getPlayerStorageValue(cid, 32992)
    	local teletransporte = {x=32202, y=31812, z=8, stackpos =0}
     
    	if msgcontains(msg, 'seventh') and getPlayerLevel(cid) < 60 or msgcontains(msg, 'last') and getPlayerLevel(cid) < 60 then
    	selfSay('You are not experienced enough to master the challenges ahead or to receive knowledge about the seventh seal. Go and learn more before asking me again.')
     
    	elseif msgcontains(msg, 'seventh') and getPlayerLevel(cid) > 59 or msgcontains(msg, 'last') and getPlayerLevel(cid) > 59 then
    	selfSay('If you have passed the first six seals and entered the blue fires that lead to the chamber of the seal you might receive my kiss ... It will open the last seal. Do you think you are ready?')
    	talk_state = 2
     
    	elseif msgcontains(msg, 'kiss') and setimo_selo == -1 and talk_state == 8 then
    	selfSay('Are you prepared to receive my kiss, even though this will mean that your death as well as a part of your soul will forever belong to me, my dear?')
    	talk_state = 1
    	elseif msgcontains(msg, 'kiss') and setimo_selo == -1 then
    	selfSay('To receive my kiss you have to pass all other seals first.')
    	talk_state = 0
    	elseif msgcontains(msg, 'kiss') and setimo_selo == 1 then
    	selfSay('You have already received my kiss. You should know better then to ask for it.')
    	talk_state = 0
     
    	elseif msgcontains(msg, 'yes') and talk_state == 1 then
    	selfSay('So be it! Hmmmmmm...')
    	doTeleportThing(cid, teletransporte)
    	setPlayerStorageValue(cid, 32992, 1)
    	elseif msgcontains(msg, 'no') and talk_state == 1 then
    	selfSay('Perhaps it is the better choice for you, my dear.')
    	talk_state = 0
     
    	elseif msgcontains(msg, 'yes') and talk_state == 2 and quarto_selo == 1 then
    	selfSay('Yessss, I can sense you have passed the seal of sacrifice. Have you passed any other seal yet?')
    	talk_state = 3
    	elseif msgcontains(msg, 'yes') and talk_state == 2 and quarto_selo == -1 then
    	selfSay('You have not passed the seal of sacrifice yet. Return to me when you are better prepared.')
    	talk_state = 0
    	elseif msgcontains(msg, 'no') and talk_state == 2 then
    	selfSay('Then try to be better prepared next time we meet.')
    	talk_state = 0
     
    	elseif msgcontains(msg, 'yes') and talk_state == 3 and primeiro_selo == 1 then
    	selfSay('I sense you have passed the hidden seal as well. Have you passed any other seal yet?')
    	talk_state = 4
    	elseif msgcontains(msg, 'yes') and talk_state == 3 and primeiro_selo == -1 then
    	selfSay('You have not found the hidden seal yet. Return when you are better prepared.')
    	talk_state = 0
    	elseif msgcontains(msg, 'no') and talk_state == 3 then
    	selfSay('Then try to be better prepared next time we meet.')
    	talk_state = 0
     
    	elseif msgcontains(msg, 'yes') and talk_state == 4 and segundo_selo == 1 then
    	selfSay('Oh yes, you have braved the plagueseal. Have you passed any other seal yet?')
    	talk_state = 5
    	elseif msgcontains(msg, 'yes') and talk_state == 4 and segundo_selo == -1 then
    	selfSay('You have not faced the plagueseal yet. Return to me when you are better prepared.')
    	talk_state = 0
    	elseif msgcontains(msg, 'no') and talk_state == 4 then
    	selfSay('Then try to be better prepared next time we meet.')
    	talk_state = 0
     
    	elseif msgcontains(msg, 'yes') and talk_state == 5 and terceiro_selo == 1 then
    	selfSay('Ah, I can sense the power of the seal of demonrage burning in your heart. Have you passed any other seal yet?')
    	talk_state = 6
    	elseif msgcontains(msg, 'yes') and talk_state == 5 and terceiro_selo == -1 then
    	selfSay('You are not filled with the fury of the imprisoned demon. Return when you are better prepared.')
    	talk_state = 0
    	elseif msgcontains(msg, 'no') and talk_state == 5 then
    	selfSay('Then try to be better prepared next time we meet.')
    	talk_state = 0
     
    	elseif msgcontains(msg, 'yes') and talk_state == 6 and quinto_selo == 1 then
    	selfSay('So, you have managed to pass the seal of the 1 path. Have you passed any other seal yet?')
    	talk_state = 7
    	elseif msgcontains(msg, 'yes') and talk_state == 6 and quinto_selo == -1 then
    	selfSay('You have not found your 1 path yet. Return when you are better prepared.')
    	talk_state = 0
    	elseif msgcontains(msg, 'no') and talk_state == 6 then
    	selfSay('Then try to be better prepared next time we meet.')
    	talk_state = 0
     
    	elseif msgcontains(msg, 'yes') and talk_state == 7 and sexto_selo == 1 then
    	selfSay('I see! You have mastered the seal of logic. You have made the sacrifice, you have seen the unseen, you possess fortitude, you have filled yourself with power and found your path. You may ask me for my kiss now.')
    	talk_state = 8
    	elseif msgcontains(msg, 'yes') and talk_state == 7 and sexto_selo == -1 then
    	selfSay('You have not found your 1 path yet. Return to meh when you are better prepared.')
    	talk_state = 0
    	elseif msgcontains(msg, 'no') and talk_state == 7 then
    	selfSay('Then try to be better prepared next time we meet.')
    	talk_state = 0
     
    	elseif (msgcontains(msg, 'spectral dress')) then
            selfSay('Your wish for a spectral dress is silly. Allthough I will grant you the permission to take one. My maidens left one in a box in a room, directly south of here.',cid)
            setPlayerStorageValue(cid, 327, 1)
            doPlayerAddItem(cid, 2657, 1)
     
            elseif (msgcontains(msg, 'bye')) and (talkState[talkUser] >= 1 and talkState[talkUser] <= 8) then
            selfSay('We will meet again.',cid)
            talkState[talkUser] = 0
     
             elseif (msgcontains(msg, 'addon') or msgcontains(msg, 'Addon')) and getPlayerStorageValue(cid, 6870) == 5 then
            selfSay('Say... I have been longing for something for an eternity now... if you help me retrieve it, I will reward you. Do you consent to this arrangement?',cid)
            talkState[talkUser] = 15
     
            elseif talkState[talkUser] == 15 then
            if (msgcontains(msg, 'yes') or msgcontains(msg, 'Yes')) then
            local msgs4={                         
                "Listen... there are no blooming flowers down here and the only smell present is that of death and decay. ...",
                "I wish that I could breathe the lovely smell of beautiful flowers just one more time, especially those which elves cultivate. ...",
                "Could you please bring me 50 holy orchids?"
                    }
                doNPCTalkALot(msgs4,9000) --if the 2750 is ommited, it uses 3000 alway
                talkState[talkUser] = 16
                else
                selfSay('Then not.',cid)
                end
     
            elseif talkState[talkUser] == 16 then
            if (msgcontains(msg, 'yes') or msgcontains(msg, 'Yes')) then
            setPlayerStorageValue(cid, 6870,6)
            selfSay('Thank you. I will wait for your return.',cid)
            talkState[talkUser] = 0
             else
                selfSay('Then not.',cid)
                end
     
     
                 elseif (msgcontains(msg, 'holy') or msgcontains(msg, 'Holy')) and (msgcontains(msg, 'orchid') or msgcontains(msg, 'Orchid')) and getPlayerStorageValue(cid, 6870) == 6 then
            selfSay('Have you really brought me 50 holy orchids?',cid)
            talkState[talkUser] = 18
     
     
             elseif talkState[talkUser] == 18 then
            if (msgcontains(msg, 'yes') or msgcontains(msg, 'Yes')) then
            if doPlayerRemoveItem(cid,5922,50) then
            setPlayerStorageValue(cid, 6870,7)
            doSendMagicEffect(getPlayerPosition(cid),12)
              doPlayerAddOutfit(cid,149,1)
              doPlayerAddOutfit(cid,145,1) 
            selfSay('Thank you! You have no idea what that means to me. As promised,here is your reward... as a follower of Zathroth, I hope that you will like this accessory.',cid)
            talkState[talkUser] = 0
            else
                selfSay('You don\'t have this items.',cid)
                end
                      end
             end
     
            return true
    end
     
    npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
    npcHandler:addModule(FocusModule:new())
 
Last edited:
Code:
local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)
local talkState = {}
local Topic = {}

        
 
-- OTServ event handling functions start
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
-- OTServ event handling functions end


function doCreatureSayWithDelay(cid,text,type,delay,e)
   if delay<=0 then
      doCreatureSay(cid,text,type)
   else
      local func=function(pars)
                    doCreatureSay(pars.cid,pars.text,pars.type)
                    pars.e.done=TRUE
                 end
      e.done=FALSE
      e.event=addEvent(func,delay,{cid=cid, text=text, type=type, e=e})
   end
end

--returns how many msgs he have said already
function cancelNPCTalk(events)
  local ret=1
  for aux=1,table.getn(events) do
     if events[aux].done==FALSE then
        stopEvent(events[aux].event)
     else
        ret=ret+1
     end
  end
  events=nil
  return(ret)
end


function doNPCTalkALot(msgs,interval)
  local e={}
  local ret={}
  if interval==nil then interval=3000 end --3 seconds is default time between messages
  for aux=1,table.getn(msgs) do
      e[aux]={}
      doCreatureSayWithDelay(getNpcCid(),msgs[aux],TALKTYPE_PRIVATE_NP,(aux-1)*interval,e[aux])
      table.insert(ret,e[aux])
  end
  return(ret)
end



function creatureSayCallback(cid, type, msg)
	if (msgcontains(msg, 'hail') or msgcontains(msg, 'hello') or msgcontains(msg, 'hi')) and (not npcHandler:isFocused(cid)) and getPlayerStorageValue(cid, 6870) < 5 then
		npcHandler:say('Be greeted, dear visitor. Come and stay ... a while.', cid, TRUE)
		npcHandler:addFocus(cid)
		Topic[cid] = 0
		
		elseif (msgcontains(msg, 'hail') or msgcontains(msg, 'hello') or msgcontains(msg, 'hi')) and (not npcHandler:isFocused(cid)) and getPlayerStorageValue(cid, 6870) > 5 then
		npcHandler:say('Be greeted, dear visitor. Come and stay ... a while.', cid, TRUE)
		npcHandler:addFocus(cid)
		Topic[cid] = 0
		
		elseif (msgcontains(msg, 'hi') or msgcontains(msg, 'hello') or msgcontains(msg, 'hi')) and (not npcHandler:isFocused(cid)) and getPlayerStorageValue(cid, 6870) == 5 then
		npcHandler:say('Be greeted, dear visitor. Ahhh... I can sense darkness inside your soul... are you a follower of Zathroth?', cid, TRUE)		
		npcHandler:addFocus(cid)
		Topic[cid] = 0
		end
    local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid
    local namee = getPlayerName(cid)
    local primeiro_selo = getPlayerStorageValue(cid, 11052)
        local segundo_selo = getPlayerStorageValue(cid, 11059)
        local terceiro_selo = getPlayerStorageValue(cid, 11058)
        local quarto_selo = getPlayerStorageValue(cid, 11056)
        local quinto_selo = getPlayerStorageValue(cid, 11055)
        local sexto_selo = getPlayerStorageValue(cid, 11053)
        local setimo_selo = getPlayerStorageValue(cid, 11060)
        local teletransporte = {x=32202, y=31812, z=8, stackpos =0}
    

        

        
        if (msgcontains(msg, 'seventh') or msgcontains(msg, 'last')) and getPlayerLevel(cid) < 60 then
        selfSay('You are not experienced enough to master the challenges ahead or to receive knowledge about the seventh seal. Go and learn more before asking me again.',cid)
        
        
        elseif (msgcontains(msg, 'seventh') or msgcontains(msg, 'last')) and getPlayerLevel(cid) >= 60 then
        selfSay('If you have passed the first six seals and entered the blue fires that lead to the chamber of the seal you might receive my kiss ... It will open the last seal. do you think you are ready?',cid)
        talkState[talkUser] = 2
        
        elseif (msgcontains(msg, 'kiss') or msgcontains(msg, 'Kiss'))  and setimo_selo == -1 and talkState[talkUser] == 8 then
        selfSay('Are you prepared to receive my kiss, even though this will mean that your death as well as a part of your soul will forever belong to me, my dear?',cid)
        talkState[talkUser] = 1
        elseif(msgcontains(msg, 'kiss') or msgcontains(msg, 'Kiss')) and setimo_selo == -1 then
        selfSay('To receive my kiss you have to pass all other seals first.',cid)
        talkState[talkUser] = 0
        elseif (msgcontains(msg, 'kiss') or msgcontains(msg, 'Kiss')) and setimo_selo == 1 then
        selfSay('You have already received my kiss. You should know better then to ask for it.',cid)
        talkState[talkUser] = 0
        
        elseif (msgcontains(msg, 'yes') or msgcontains(msg, 'Yes')) and talkState[talkUser] == 1 then
        selfSay('So be it! Hmmmmmm...',cid)
        doTeleportThing(cid, teletransporte)
        setPlayerStorageValue(cid, 11060, 1)
        elseif (msgcontains(msg, 'no') or msgcontains(msg, 'No')) and talkState[talkUser] == 1 then
        selfSay('Perhaps it is the better choice for you, my dear.',cid)
        talkState[talkUser] = 0
        
        elseif (msgcontains(msg, 'yes') or msgcontains(msg, 'Yes')) and talkState[talkUser] == 2 and quarto_selo == 2 then
        selfSay('Yessss, I can sense you have passed the seal of sacrifice. Have you passed any other seal yet?',cid)
        talkState[talkUser] = 3
        elseif (msgcontains(msg, 'yes') or msgcontains(msg, 'Yes')) and talkState[talkUser] == 2 and quarto_selo == -1 then
        selfSay('You have not passed the seal of sacrifice yet. Return to me when you are better prepared.',cid)
        talkState[talkUser] = 0
        elseif (msgcontains(msg, 'no') or msgcontains(msg, 'No')) and talkState[talkUser] == 2 then
        selfSay('Then try to be better prepared next time we meet.',cid)
        talkState[talkUser] = 0
        
        elseif (msgcontains(msg, 'yes') or msgcontains(msg, 'Yes')) and talkState[talkUser] == 3 and primeiro_selo == 1 then
        selfSay('I sense you have passed the hidden seal as well. Have you passed any other seal yet?',cid)
        talkState[talkUser] = 4
        elseif (msgcontains(msg, 'yes') or msgcontains(msg, 'Yes')) and talkState[talkUser] == 3 and primeiro_selo == -1 then
        selfSay('You have not found the hidden seal yet. Return when you are better prepared.',cid)
        talkState[talkUser] = 0
        elseif (msgcontains(msg, 'no') or msgcontains(msg, 'No')) and talkState[talkUser] == 3 then
        selfSay('Then try to be better prepared next time we meet.',cid)
        talkState[talkUser] = 0
        
        elseif (msgcontains(msg, 'yes') or msgcontains(msg, 'Yes')) and talkState[talkUser] == 4 and segundo_selo == 3 then
        selfSay('Oh yes, you have braved the plagueseal. Have you passed any other seal yet?',cid)
        talkState[talkUser] = 5
        elseif (msgcontains(msg, 'yes') or msgcontains(msg, 'Yes')) and talkState[talkUser] == 4 and segundo_selo == -1 then
        selfSay('You have not faced the plagueseal yet. Return to me when you are better prepared.',cid)
        talkState[talkUser] = 0
        elseif (msgcontains(msg, 'no') or msgcontains(msg, 'No')) and talkState[talkUser] == 4 then
        selfSay('Then try to be better prepared next time we meet.',cid)
        talkState[talkUser] = 0
        
        elseif (msgcontains(msg, 'yes') or msgcontains(msg, 'Yes')) and talkState[talkUser] == 5 and terceiro_selo == 9 then
        selfSay('Ah, I can sense the power of the seal of demonrage burning in your heart. Have you passed any other seal yet?',cid)
        talkState[talkUser] = 6
        elseif (msgcontains(msg, 'yes') or msgcontains(msg, 'Yes')) and talkState[talkUser] == 5 and terceiro_selo == -1 then
        selfSay('You are not filled with the fury of the imprisoned demon. Return when you are better prepared.',cid)
        talkState[talkUser] = 0
        elseif (msgcontains(msg, 'no') or msgcontains(msg, 'No')) and talkState[talkUser] == 5 then
        selfSay('Then try to be better prepared next time we meet.',cid)
        talkState[talkUser] = 0
        
        elseif (msgcontains(msg, 'yes') or msgcontains(msg, 'Yes')) and talkState[talkUser] == 6 and quinto_selo == 1 then
        selfSay('So, you have managed to pass the seal of the true path. Have you passed any other seal yet?',cid)
        talkState[talkUser] = 7
        elseif (msgcontains(msg, 'yes') or msgcontains(msg, 'Yes')) and talkState[talkUser] == 6 and quinto_selo == -1 then
        selfSay('You have not found your true path yet. Return when you are better prepared.',cid)
        talkState[talkUser] = 0
        elseif (msgcontains(msg, 'no') or msgcontains(msg, 'No')) and talkState[talkUser] == 6 then
        selfSay('Then try to be better prepared next time we meet.',cid)
        talkState[talkUser] = 0
        
        elseif (msgcontains(msg, 'yes') or msgcontains(msg, 'Yes')) and talkState[talkUser] == 7 and sexto_selo == 1 then
        selfSay('I see! You have mastered the seal of logic. You have made the sacrifice, you have seen the unseen, you possess fortitude, you have filled yourself with power and found your path. You may ask me for my kiss now.',cid)
        talkState[talkUser] = 8
        elseif (msgcontains(msg, 'yes') or msgcontains(msg, 'Yes')) and talkState[talkUser] == 7 and sexto_selo == -1 then
        selfSay('You have not found your 1 path yet. Return to meh when you are better prepared.',cid)
        talkState[talkUser] = 0
        elseif (msgcontains(msg, 'no') or msgcontains(msg, 'No')) and talkState[talkUser] == 7 then
        selfSay('Then try to be better prepared next time we meet.',cid)
        talkState[talkUser] = 0
        
        elseif (msgcontains(msg, 'spectral dress')) then
        selfSay('Your wish for a spectral dress is silly. Allthough I will grant you the permission to take one. My maidens left one in a box in a room, directly south of here.',cid)
        setPlayerStorageValue(cid, 327, 1)
        doPlayerAddItem(cid, 2657, 1)
        
        elseif (msgcontains(msg, 'bye')) and (talkState[talkUser] >= 1 and talkState[talkUser] <= 8) then
        selfSay('We will meet again.',cid)
        talkState[talkUser] = 0
        
         elseif (msgcontains(msg, 'addon') or msgcontains(msg, 'Addon')) and getPlayerStorageValue(cid, 6870) == 5 then
        selfSay('Say... I have been longing for something for an eternity now... if you help me retrieve it, I will reward you. Do you consent to this arrangement?',cid)
        talkState[talkUser] = 15
        
        elseif talkState[talkUser] == 15 then
        if (msgcontains(msg, 'yes') or msgcontains(msg, 'Yes')) then
        local msgs4={                         
            "Listen... there are no blooming flowers down here and the only smell present is that of death and decay. ...",
            "I wish that I could breathe the lovely smell of beautiful flowers just one more time, especially those which elves cultivate. ...",
            "Could you please bring me 50 holy orchids?"
                }
            doNPCTalkALot(msgs4,9000) --if the 2750 is ommited, it uses 3000 alway
            talkState[talkUser] = 16
            else
            selfSay('Then not.',cid)
            end
            
        elseif talkState[talkUser] == 16 then
        if (msgcontains(msg, 'yes') or msgcontains(msg, 'Yes')) then
        setPlayerStorageValue(cid, 6870,6)
        selfSay('Thank you. I will wait for your return.',cid)
        talkState[talkUser] = 0
         else
            selfSay('Then not.',cid)
            end
            
            
             elseif (msgcontains(msg, 'holy') or msgcontains(msg, 'Holy')) and (msgcontains(msg, 'orchid') or msgcontains(msg, 'Orchid')) and getPlayerStorageValue(cid, 6870) == 6 then
        selfSay('Have you really brought me 50 holy orchids?',cid)
        talkState[talkUser] = 18
        
        
         elseif talkState[talkUser] == 18 then
        if (msgcontains(msg, 'yes') or msgcontains(msg, 'Yes')) then
        if doPlayerRemoveItem(cid,5922,50) then
        setPlayerStorageValue(cid, 6870,7)
        doSendMagicEffect(getPlayerPosition(cid),12)
          doPlayerAddOutfit(cid,149,1)
          doPlayerAddOutfit(cid,145,1) 
        selfSay('Thank you! You have no idea what that means to me. As promised,here is your reward... as a follower of Zathroth, I hope that you will like this accessory.',cid)
        talkState[talkUser] = 0
        else
            selfSay('You don\'t have this items.',cid)
            end
                  end
         end

        return true
end

npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
 
Last edited:
You script don't works, if player say 'hi' the console shows LOT of bugs.


I found this but when player say 'seventh' the npc says nothing:
LUA:
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

function creatureSayCallback(cid, type, msg)
	if(npcHandler.focus ~= cid) then
		return false
	end
	
	-- NPC The Queen of the Banshees feito por Rodrigo (Nottinghster) 
	-- Inicio The Queen of the Banshees NPC
	
        local primeiro_selo = getPlayerStorageValue(cid, 32998)
        local segundo_selo = getPlayerStorageValue(cid, 32997)
        local terceiro_selo = getPlayerStorageValue(cid, 32996)
        local quarto_selo = getPlayerStorageValue(cid, 32995)
        local quinto_selo = getPlayerStorageValue(cid, 32994)
        local sexto_selo = getPlayerStorageValue(cid, 32993)
        local setimo_selo = getPlayerStorageValue(cid, 32992)
	local teletransporte = {x=32202, y=31812, z=8, stackpos =0}
	
	if msgcontains(msg, 'seventh') and getPlayerLevel(cid) < 60 or msgcontains(msg, 'last') and getPlayerLevel(cid) < 60 then
	selfSay('You are not experienced enough to master the challenges ahead or to receive knowledge about the seventh seal. Go and learn more before asking me again.')
	
	elseif msgcontains(msg, 'seventh') and getPlayerLevel(cid) > 59 or msgcontains(msg, 'last') and getPlayerLevel(cid) > 59 then
	selfSay('If you have passed the first six seals and entered the blue fires that lead to the chamber of the seal you might receive my kiss ... It will open the last seal. Do you think you are ready?')
	talk_state = 2
	
	elseif msgcontains(msg, 'kiss') and setimo_selo == -1 and talk_state == 8 then
	selfSay('Are you prepared to receive my kiss, even though this will mean that your death as well as a part of your soul will forever belong to me, my dear?')
	talk_state = 1
	elseif msgcontains(msg, 'kiss') and setimo_selo == -1 then
	selfSay('To receive my kiss you have to pass all other seals first.')
	talk_state = 0
	elseif msgcontains(msg, 'kiss') and setimo_selo == 1 then
	selfSay('You have already received my kiss. You should know better then to ask for it.')
	talk_state = 0
	
	elseif msgcontains(msg, 'yes') and talk_state == 1 then
	selfSay('So be it! Hmmmmmm...')
	doTeleportThing(cid, teletransporte)
	setPlayerStorageValue(cid, 32992, 1)
	elseif msgcontains(msg, 'no') and talk_state == 1 then
	selfSay('Perhaps it is the better choice for you, my dear.')
	talk_state = 0
	
	elseif msgcontains(msg, 'yes') and talk_state == 2 and quarto_selo == 1 then
	selfSay('Yessss, I can sense you have passed the seal of sacrifice. Have you passed any other seal yet?')
	talk_state = 3
	elseif msgcontains(msg, 'yes') and talk_state == 2 and quarto_selo == -1 then
	selfSay('You have not passed the seal of sacrifice yet. Return to me when you are better prepared.')
	talk_state = 0
	elseif msgcontains(msg, 'no') and talk_state == 2 then
	selfSay('Then try to be better prepared next time we meet.')
	talk_state = 0
	
	elseif msgcontains(msg, 'yes') and talk_state == 3 and primeiro_selo == 1 then
	selfSay('I sense you have passed the hidden seal as well. Have you passed any other seal yet?')
	talk_state = 4
	elseif msgcontains(msg, 'yes') and talk_state == 3 and primeiro_selo == -1 then
	selfSay('You have not found the hidden seal yet. Return when you are better prepared.')
	talk_state = 0
	elseif msgcontains(msg, 'no') and talk_state == 3 then
	selfSay('Then try to be better prepared next time we meet.')
	talk_state = 0
	
	elseif msgcontains(msg, 'yes') and talk_state == 4 and segundo_selo == 1 then
	selfSay('Oh yes, you have braved the plagueseal. Have you passed any other seal yet?')
	talk_state = 5
	elseif msgcontains(msg, 'yes') and talk_state == 4 and segundo_selo == -1 then
	selfSay('You have not faced the plagueseal yet. Return to me when you are better prepared.')
	talk_state = 0
	elseif msgcontains(msg, 'no') and talk_state == 4 then
	selfSay('Then try to be better prepared next time we meet.')
	talk_state = 0
	
	elseif msgcontains(msg, 'yes') and talk_state == 5 and terceiro_selo == 1 then
	selfSay('Ah, I can sense the power of the seal of demonrage burning in your heart. Have you passed any other seal yet?')
	talk_state = 6
	elseif msgcontains(msg, 'yes') and talk_state == 5 and terceiro_selo == -1 then
	selfSay('You are not filled with the fury of the imprisoned demon. Return when you are better prepared.')
	talk_state = 0
	elseif msgcontains(msg, 'no') and talk_state == 5 then
	selfSay('Then try to be better prepared next time we meet.')
	talk_state = 0
	
	elseif msgcontains(msg, 'yes') and talk_state == 6 and quinto_selo == 1 then
	selfSay('So, you have managed to pass the seal of the 1 path. Have you passed any other seal yet?')
	talk_state = 7
	elseif msgcontains(msg, 'yes') and talk_state == 6 and quinto_selo == -1 then
	selfSay('You have not found your 1 path yet. Return when you are better prepared.')
	talk_state = 0
	elseif msgcontains(msg, 'no') and talk_state == 6 then
	selfSay('Then try to be better prepared next time we meet.')
	talk_state = 0
	
	elseif msgcontains(msg, 'yes') and talk_state == 7 and sexto_selo == 1 then
	selfSay('I see! You have mastered the seal of logic. You have made the sacrifice, you have seen the unseen, you possess fortitude, you have filled yourself with power and found your path. You may ask me for my kiss now.')
	talk_state = 8
	elseif msgcontains(msg, 'yes') and talk_state == 7 and sexto_selo == -1 then
	selfSay('You have not found your 1 path yet. Return to meh when you are better prepared.')
	talk_state = 0
	elseif msgcontains(msg, 'no') and talk_state == 7 then
	selfSay('Then try to be better prepared next time we meet.')
	talk_state = 0
	
	elseif (msgcontains(msg, 'spectral dress')) then
        selfSay('Your wish for a spectral dress is silly. Allthough I will grant you the permission to take one. My maidens left one in a box in a room, directly south of here.',cid)
        setPlayerStorageValue(cid, 327, 1)
        doPlayerAddItem(cid, 2657, 1)
        
        elseif (msgcontains(msg, 'bye')) and (talkState[talkUser] >= 1 and talkState[talkUser] <= 8) then
        selfSay('We will meet again.',cid)
        talkState[talkUser] = 0
        
         elseif (msgcontains(msg, 'addon') or msgcontains(msg, 'Addon')) and getPlayerStorageValue(cid, 6870) == 5 then
        selfSay('Say... I have been longing for something for an eternity now... if you help me retrieve it, I will reward you. Do you consent to this arrangement?',cid)
        talkState[talkUser] = 15
        
        elseif talkState[talkUser] == 15 then
        if (msgcontains(msg, 'yes') or msgcontains(msg, 'Yes')) then
        local msgs4={                         
            "Listen... there are no blooming flowers down here and the only smell present is that of death and decay. ...",
            "I wish that I could breathe the lovely smell of beautiful flowers just one more time, especially those which elves cultivate. ...",
            "Could you please bring me 50 holy orchids?"
                }
            doNPCTalkALot(msgs4,9000) --if the 2750 is ommited, it uses 3000 alway
            talkState[talkUser] = 16
            else
            selfSay('Then not.',cid)
            end
            
        elseif talkState[talkUser] == 16 then
        if (msgcontains(msg, 'yes') or msgcontains(msg, 'Yes')) then
        setPlayerStorageValue(cid, 6870,6)
        selfSay('Thank you. I will wait for your return.',cid)
        talkState[talkUser] = 0
         else
            selfSay('Then not.',cid)
            end
            
            
             elseif (msgcontains(msg, 'holy') or msgcontains(msg, 'Holy')) and (msgcontains(msg, 'orchid') or msgcontains(msg, 'Orchid')) and getPlayerStorageValue(cid, 6870) == 6 then
        selfSay('Have you really brought me 50 holy orchids?',cid)
        talkState[talkUser] = 18
        
        
         elseif talkState[talkUser] == 18 then
        if (msgcontains(msg, 'yes') or msgcontains(msg, 'Yes')) then
        if doPlayerRemoveItem(cid,5922,50) then
        setPlayerStorageValue(cid, 6870,7)
        doSendMagicEffect(getPlayerPosition(cid),12)
          doPlayerAddOutfit(cid,149,1)
          doPlayerAddOutfit(cid,145,1) 
        selfSay('Thank you! You have no idea what that means to me. As promised,here is your reward... as a follower of Zathroth, I hope that you will like this accessory.',cid)
        talkState[talkUser] = 0
        else
            selfSay('You don\'t have this items.',cid)
            end
                  end
         end

        return true
end

npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())
 
Dev 0.4, 3884.

I have this, but if I say 'seventh' she says nothing. No console erros.
LUA:
    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
     
    function creatureSayCallback(cid, type, msg)
    	if(npcHandler.focus ~= cid) then
    		return false
    	end
     
    	-- NPC The Queen of the Banshees feito por Rodrigo (Nottinghster) 
    	-- Inicio The Queen of the Banshees NPC
     
            local primeiro_selo = getPlayerStorageValue(cid, 32998)
            local segundo_selo = getPlayerStorageValue(cid, 32997)
            local terceiro_selo = getPlayerStorageValue(cid, 32996)
            local quarto_selo = getPlayerStorageValue(cid, 32995)
            local quinto_selo = getPlayerStorageValue(cid, 32994)
            local sexto_selo = getPlayerStorageValue(cid, 32993)
            local setimo_selo = getPlayerStorageValue(cid, 32992)
    	local teletransporte = {x=32202, y=31812, z=8, stackpos =0}
     
    	if msgcontains(msg, 'seventh') and getPlayerLevel(cid) < 60 or msgcontains(msg, 'last') and getPlayerLevel(cid) < 60 then
    	selfSay('You are not experienced enough to master the challenges ahead or to receive knowledge about the seventh seal. Go and learn more before asking me again.')
     
    	elseif msgcontains(msg, 'seventh') and getPlayerLevel(cid) > 59 or msgcontains(msg, 'last') and getPlayerLevel(cid) > 59 then
    	selfSay('If you have passed the first six seals and entered the blue fires that lead to the chamber of the seal you might receive my kiss ... It will open the last seal. Do you think you are ready?')
    	talk_state = 2
     
    	elseif msgcontains(msg, 'kiss') and setimo_selo == -1 and talk_state == 8 then
    	selfSay('Are you prepared to receive my kiss, even though this will mean that your death as well as a part of your soul will forever belong to me, my dear?')
    	talk_state = 1
    	elseif msgcontains(msg, 'kiss') and setimo_selo == -1 then
    	selfSay('To receive my kiss you have to pass all other seals first.')
    	talk_state = 0
    	elseif msgcontains(msg, 'kiss') and setimo_selo == 1 then
    	selfSay('You have already received my kiss. You should know better then to ask for it.')
    	talk_state = 0
     
    	elseif msgcontains(msg, 'yes') and talk_state == 1 then
    	selfSay('So be it! Hmmmmmm...')
    	doTeleportThing(cid, teletransporte)
    	setPlayerStorageValue(cid, 32992, 1)
    	elseif msgcontains(msg, 'no') and talk_state == 1 then
    	selfSay('Perhaps it is the better choice for you, my dear.')
    	talk_state = 0
     
    	elseif msgcontains(msg, 'yes') and talk_state == 2 and quarto_selo == 1 then
    	selfSay('Yessss, I can sense you have passed the seal of sacrifice. Have you passed any other seal yet?')
    	talk_state = 3
    	elseif msgcontains(msg, 'yes') and talk_state == 2 and quarto_selo == -1 then
    	selfSay('You have not passed the seal of sacrifice yet. Return to me when you are better prepared.')
    	talk_state = 0
    	elseif msgcontains(msg, 'no') and talk_state == 2 then
    	selfSay('Then try to be better prepared next time we meet.')
    	talk_state = 0
     
    	elseif msgcontains(msg, 'yes') and talk_state == 3 and primeiro_selo == 1 then
    	selfSay('I sense you have passed the hidden seal as well. Have you passed any other seal yet?')
    	talk_state = 4
    	elseif msgcontains(msg, 'yes') and talk_state == 3 and primeiro_selo == -1 then
    	selfSay('You have not found the hidden seal yet. Return when you are better prepared.')
    	talk_state = 0
    	elseif msgcontains(msg, 'no') and talk_state == 3 then
    	selfSay('Then try to be better prepared next time we meet.')
    	talk_state = 0
     
    	elseif msgcontains(msg, 'yes') and talk_state == 4 and segundo_selo == 1 then
    	selfSay('Oh yes, you have braved the plagueseal. Have you passed any other seal yet?')
    	talk_state = 5
    	elseif msgcontains(msg, 'yes') and talk_state == 4 and segundo_selo == -1 then
    	selfSay('You have not faced the plagueseal yet. Return to me when you are better prepared.')
    	talk_state = 0
    	elseif msgcontains(msg, 'no') and talk_state == 4 then
    	selfSay('Then try to be better prepared next time we meet.')
    	talk_state = 0
     
    	elseif msgcontains(msg, 'yes') and talk_state == 5 and terceiro_selo == 1 then
    	selfSay('Ah, I can sense the power of the seal of demonrage burning in your heart. Have you passed any other seal yet?')
    	talk_state = 6
    	elseif msgcontains(msg, 'yes') and talk_state == 5 and terceiro_selo == -1 then
    	selfSay('You are not filled with the fury of the imprisoned demon. Return when you are better prepared.')
    	talk_state = 0
    	elseif msgcontains(msg, 'no') and talk_state == 5 then
    	selfSay('Then try to be better prepared next time we meet.')
    	talk_state = 0
     
    	elseif msgcontains(msg, 'yes') and talk_state == 6 and quinto_selo == 1 then
    	selfSay('So, you have managed to pass the seal of the 1 path. Have you passed any other seal yet?')
    	talk_state = 7
    	elseif msgcontains(msg, 'yes') and talk_state == 6 and quinto_selo == -1 then
    	selfSay('You have not found your 1 path yet. Return when you are better prepared.')
    	talk_state = 0
    	elseif msgcontains(msg, 'no') and talk_state == 6 then
    	selfSay('Then try to be better prepared next time we meet.')
    	talk_state = 0
     
    	elseif msgcontains(msg, 'yes') and talk_state == 7 and sexto_selo == 1 then
    	selfSay('I see! You have mastered the seal of logic. You have made the sacrifice, you have seen the unseen, you possess fortitude, you have filled yourself with power and found your path. You may ask me for my kiss now.')
    	talk_state = 8
    	elseif msgcontains(msg, 'yes') and talk_state == 7 and sexto_selo == -1 then
    	selfSay('You have not found your 1 path yet. Return to meh when you are better prepared.')
    	talk_state = 0
    	elseif msgcontains(msg, 'no') and talk_state == 7 then
    	selfSay('Then try to be better prepared next time we meet.')
    	talk_state = 0
     
    	elseif (msgcontains(msg, 'spectral dress')) then
            selfSay('Your wish for a spectral dress is silly. Allthough I will grant you the permission to take one. My maidens left one in a box in a room, directly south of here.',cid)
            setPlayerStorageValue(cid, 327, 1)
            doPlayerAddItem(cid, 2657, 1)
     
            elseif (msgcontains(msg, 'bye')) and (talkState[talkUser] >= 1 and talkState[talkUser] <= 8) then
            selfSay('We will meet again.',cid)
            talkState[talkUser] = 0
     
             elseif (msgcontains(msg, 'addon') or msgcontains(msg, 'Addon')) and getPlayerStorageValue(cid, 6870) == 5 then
            selfSay('Say... I have been longing for something for an eternity now... if you help me retrieve it, I will reward you. Do you consent to this arrangement?',cid)
            talkState[talkUser] = 15
     
            elseif talkState[talkUser] == 15 then
            if (msgcontains(msg, 'yes') or msgcontains(msg, 'Yes')) then
            local msgs4={                         
                "Listen... there are no blooming flowers down here and the only smell present is that of death and decay. ...",
                "I wish that I could breathe the lovely smell of beautiful flowers just one more time, especially those which elves cultivate. ...",
                "Could you please bring me 50 holy orchids?"
                    }
                doNPCTalkALot(msgs4,9000) --if the 2750 is ommited, it uses 3000 alway
                talkState[talkUser] = 16
                else
                selfSay('Then not.',cid)
                end
     
            elseif talkState[talkUser] == 16 then
            if (msgcontains(msg, 'yes') or msgcontains(msg, 'Yes')) then
            setPlayerStorageValue(cid, 6870,6)
            selfSay('Thank you. I will wait for your return.',cid)
            talkState[talkUser] = 0
             else
                selfSay('Then not.',cid)
                end
     
     
                 elseif (msgcontains(msg, 'holy') or msgcontains(msg, 'Holy')) and (msgcontains(msg, 'orchid') or msgcontains(msg, 'Orchid')) and getPlayerStorageValue(cid, 6870) == 6 then
            selfSay('Have you really brought me 50 holy orchids?',cid)
            talkState[talkUser] = 18
     
     
             elseif talkState[talkUser] == 18 then
            if (msgcontains(msg, 'yes') or msgcontains(msg, 'Yes')) then
            if doPlayerRemoveItem(cid,5922,50) then
            setPlayerStorageValue(cid, 6870,7)
            doSendMagicEffect(getPlayerPosition(cid),12)
              doPlayerAddOutfit(cid,149,1)
              doPlayerAddOutfit(cid,145,1) 
            selfSay('Thank you! You have no idea what that means to me. As promised,here is your reward... as a follower of Zathroth, I hope that you will like this accessory.',cid)
            talkState[talkUser] = 0
            else
                selfSay('You don\'t have this items.',cid)
                end
                      end
             end
     
            return true
    end
     
    npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
    npcHandler:addModule(FocusModule:new())
 
Last edited:
Dev 0.4, 3884.

I have this, but if I say 'seventh' she says nothing. No console erros.
LUA:
    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
     
    function creatureSayCallback(cid, type, msg)
    	if(npcHandler.focus ~= cid) then
    		return false
    	end
     
    	-- NPC The Queen of the Banshees feito por Rodrigo (Nottinghster) 
    	-- Inicio The Queen of the Banshees NPC
     
            local primeiro_selo = getPlayerStorageValue(cid, 32998)
            local segundo_selo = getPlayerStorageValue(cid, 32997)
            local terceiro_selo = getPlayerStorageValue(cid, 32996)
            local quarto_selo = getPlayerStorageValue(cid, 32995)
            local quinto_selo = getPlayerStorageValue(cid, 32994)
            local sexto_selo = getPlayerStorageValue(cid, 32993)
            local setimo_selo = getPlayerStorageValue(cid, 32992)
    	local teletransporte = {x=32202, y=31812, z=8, stackpos =0}
     
    	if msgcontains(msg, 'seventh') and getPlayerLevel(cid) < 60 or msgcontains(msg, 'last') and getPlayerLevel(cid) < 60 then
    	selfSay('You are not experienced enough to master the challenges ahead or to receive knowledge about the seventh seal. Go and learn more before asking me again.')
     
    	elseif msgcontains(msg, 'seventh') and getPlayerLevel(cid) > 59 or msgcontains(msg, 'last') and getPlayerLevel(cid) > 59 then
    	selfSay('If you have passed the first six seals and entered the blue fires that lead to the chamber of the seal you might receive my kiss ... It will open the last seal. Do you think you are ready?')
    	talk_state = 2
     
    	elseif msgcontains(msg, 'kiss') and setimo_selo == -1 and talk_state == 8 then
    	selfSay('Are you prepared to receive my kiss, even though this will mean that your death as well as a part of your soul will forever belong to me, my dear?')
    	talk_state = 1
    	elseif msgcontains(msg, 'kiss') and setimo_selo == -1 then
    	selfSay('To receive my kiss you have to pass all other seals first.')
    	talk_state = 0
    	elseif msgcontains(msg, 'kiss') and setimo_selo == 1 then
    	selfSay('You have already received my kiss. You should know better then to ask for it.')
    	talk_state = 0
     
    	elseif msgcontains(msg, 'yes') and talk_state == 1 then
    	selfSay('So be it! Hmmmmmm...')
    	doTeleportThing(cid, teletransporte)
    	setPlayerStorageValue(cid, 32992, 1)
    	elseif msgcontains(msg, 'no') and talk_state == 1 then
    	selfSay('Perhaps it is the better choice for you, my dear.')
    	talk_state = 0
     
    	elseif msgcontains(msg, 'yes') and talk_state == 2 and quarto_selo == 1 then
    	selfSay('Yessss, I can sense you have passed the seal of sacrifice. Have you passed any other seal yet?')
    	talk_state = 3
    	elseif msgcontains(msg, 'yes') and talk_state == 2 and quarto_selo == -1 then
    	selfSay('You have not passed the seal of sacrifice yet. Return to me when you are better prepared.')
    	talk_state = 0
    	elseif msgcontains(msg, 'no') and talk_state == 2 then
    	selfSay('Then try to be better prepared next time we meet.')
    	talk_state = 0
     
    	elseif msgcontains(msg, 'yes') and talk_state == 3 and primeiro_selo == 1 then
    	selfSay('I sense you have passed the hidden seal as well. Have you passed any other seal yet?')
    	talk_state = 4
    	elseif msgcontains(msg, 'yes') and talk_state == 3 and primeiro_selo == -1 then
    	selfSay('You have not found the hidden seal yet. Return when you are better prepared.')
    	talk_state = 0
    	elseif msgcontains(msg, 'no') and talk_state == 3 then
    	selfSay('Then try to be better prepared next time we meet.')
    	talk_state = 0
     
    	elseif msgcontains(msg, 'yes') and talk_state == 4 and segundo_selo == 1 then
    	selfSay('Oh yes, you have braved the plagueseal. Have you passed any other seal yet?')
    	talk_state = 5
    	elseif msgcontains(msg, 'yes') and talk_state == 4 and segundo_selo == -1 then
    	selfSay('You have not faced the plagueseal yet. Return to me when you are better prepared.')
    	talk_state = 0
    	elseif msgcontains(msg, 'no') and talk_state == 4 then
    	selfSay('Then try to be better prepared next time we meet.')
    	talk_state = 0
     
    	elseif msgcontains(msg, 'yes') and talk_state == 5 and terceiro_selo == 1 then
    	selfSay('Ah, I can sense the power of the seal of demonrage burning in your heart. Have you passed any other seal yet?')
    	talk_state = 6
    	elseif msgcontains(msg, 'yes') and talk_state == 5 and terceiro_selo == -1 then
    	selfSay('You are not filled with the fury of the imprisoned demon. Return when you are better prepared.')
    	talk_state = 0
    	elseif msgcontains(msg, 'no') and talk_state == 5 then
    	selfSay('Then try to be better prepared next time we meet.')
    	talk_state = 0
     
    	elseif msgcontains(msg, 'yes') and talk_state == 6 and quinto_selo == 1 then
    	selfSay('So, you have managed to pass the seal of the 1 path. Have you passed any other seal yet?')
    	talk_state = 7
    	elseif msgcontains(msg, 'yes') and talk_state == 6 and quinto_selo == -1 then
    	selfSay('You have not found your 1 path yet. Return when you are better prepared.')
    	talk_state = 0
    	elseif msgcontains(msg, 'no') and talk_state == 6 then
    	selfSay('Then try to be better prepared next time we meet.')
    	talk_state = 0
     
    	elseif msgcontains(msg, 'yes') and talk_state == 7 and sexto_selo == 1 then
    	selfSay('I see! You have mastered the seal of logic. You have made the sacrifice, you have seen the unseen, you possess fortitude, you have filled yourself with power and found your path. You may ask me for my kiss now.')
    	talk_state = 8
    	elseif msgcontains(msg, 'yes') and talk_state == 7 and sexto_selo == -1 then
    	selfSay('You have not found your 1 path yet. Return to meh when you are better prepared.')
    	talk_state = 0
    	elseif msgcontains(msg, 'no') and talk_state == 7 then
    	selfSay('Then try to be better prepared next time we meet.')
    	talk_state = 0
     
    	elseif (msgcontains(msg, 'spectral dress')) then
            selfSay('Your wish for a spectral dress is silly. Allthough I will grant you the permission to take one. My maidens left one in a box in a room, directly south of here.',cid)
            setPlayerStorageValue(cid, 327, 1)
            doPlayerAddItem(cid, 2657, 1)
     
            elseif (msgcontains(msg, 'bye')) and (talkState[talkUser] >= 1 and talkState[talkUser] <= 8) then
            selfSay('We will meet again.',cid)
            talkState[talkUser] = 0
     
             elseif (msgcontains(msg, 'addon') or msgcontains(msg, 'Addon')) and getPlayerStorageValue(cid, 6870) == 5 then
            selfSay('Say... I have been longing for something for an eternity now... if you help me retrieve it, I will reward you. Do you consent to this arrangement?',cid)
            talkState[talkUser] = 15
     
            elseif talkState[talkUser] == 15 then
            if (msgcontains(msg, 'yes') or msgcontains(msg, 'Yes')) then
            local msgs4={                         
                "Listen... there are no blooming flowers down here and the only smell present is that of death and decay. ...",
                "I wish that I could breathe the lovely smell of beautiful flowers just one more time, especially those which elves cultivate. ...",
                "Could you please bring me 50 holy orchids?"
                    }
                doNPCTalkALot(msgs4,9000) --if the 2750 is ommited, it uses 3000 alway
                talkState[talkUser] = 16
                else
                selfSay('Then not.',cid)
                end
     
            elseif talkState[talkUser] == 16 then
            if (msgcontains(msg, 'yes') or msgcontains(msg, 'Yes')) then
            setPlayerStorageValue(cid, 6870,6)
            selfSay('Thank you. I will wait for your return.',cid)
            talkState[talkUser] = 0
             else
                selfSay('Then not.',cid)
                end
     
     
                 elseif (msgcontains(msg, 'holy') or msgcontains(msg, 'Holy')) and (msgcontains(msg, 'orchid') or msgcontains(msg, 'Orchid')) and getPlayerStorageValue(cid, 6870) == 6 then
            selfSay('Have you really brought me 50 holy orchids?',cid)
            talkState[talkUser] = 18
     
     
             elseif talkState[talkUser] == 18 then
            if (msgcontains(msg, 'yes') or msgcontains(msg, 'Yes')) then
            if doPlayerRemoveItem(cid,5922,50) then
            setPlayerStorageValue(cid, 6870,7)
            doSendMagicEffect(getPlayerPosition(cid),12)
              doPlayerAddOutfit(cid,149,1)
              doPlayerAddOutfit(cid,145,1) 
            selfSay('Thank you! You have no idea what that means to me. As promised,here is your reward... as a follower of Zathroth, I hope that you will like this accessory.',cid)
            talkState[talkUser] = 0
            else
                selfSay('You don\'t have this items.',cid)
                end
                      end
             end
     
            return true
    end
     
    npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
    npcHandler:addModule(FocusModule:new())
 
Back
Top