Kownikuzyt
Member
- Joined
- Feb 11, 2020
- Messages
- 171
- Solutions
- 1
- Reaction score
- 8
I have a problem with "Bigfoot's Burden Quest" - Test # 6.
"Our last test will be to play gnome music on 4 crystals. We get the mission from NPC Gnomelvis"
The problem is that "Gnomelvis" doesn't react to any of the words "looking and musical".
I am using the TFS 1.1 engine.
Kod: /data/npc/scripts/Gnomelvis.lua
Kod: /data/npc/Gnomelvis.xml
Kod: /data/actions/scripts/quests/bigfoot burden/music.lua
I saw that there was this thread once, but no one answered.
"Our last test will be to play gnome music on 4 crystals. We get the mission from NPC Gnomelvis"
Lua:
Player: Hi
Gnomelvis: Hello. Is it me you're looking for?
Player: looking
Gnomelvis: I'm the gnomish musical supervisor!
Player: musical
Gnomelvis: Ah well. Everyone has a very personal melody in his soul. Only if you know your soul melody then you know yourself. And only if you know yourself will you be admitted to the Bigfoot company. ...
Gnomelvis: So what you have to do is to find your soul melody. Do you see the huge crystals in this room? Those are harmonic crystals. Use them to deduce your soul melody. Simply use them to create a sound sequence. ...
Gnomelvis: Every soul melody consists of seven sound sequences. You will have to figure out your correct soul melody by trial and error. If you hit a wrong note, you will have to start over.
The problem is that "Gnomelvis" doesn't react to any of the words "looking and musical".
I am using the TFS 1.1 engine.
Kod: /data/npc/scripts/Gnomelvis.lua
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
local function creatureSayCallback(cid, type, msg)
if not npcHandler:isFocused(cid) then
return false
end
local player = Player(cid)
if msgcontains(msg, "looking") then
if player:getStorageValue(Storage.BigfootBurden.QuestLine) == 11 then
npcHandler:say("I'm the gnomish musical supervisor!", cid)
npcHandler.topic[cid] = 1
elseif player:getStorageValue(Storage.BigfootBurden.QuestLine) == 13 then
npcHandler:say("I'm the gnomish musical supervisor!", cid)
npcHandler.topic[cid] = 2
end
elseif msgcontains(msg, "musical") then
if npcHandler.topic[cid] == 1 then
npcHandler:say({
"Ah well. Everyone has a very personal melody in his soul. Only if you know your soul melody then you know yourself. And only if you know yourself will you be admitted to the Bigfoot company. ...",
"So what you have to do is to find your soul melody. Do you see the huge crystals in this room? Those are harmonic crystals. Use them to deduce your soul melody. Simply use them to create a sound sequence. ...",
"Every soul melody consists of seven sound sequences. You will have to figure out your correct soul melody by trial and error. If you hit a wrong note, you will have to start over."
}, cid)
player:setStorageValue(Storage.BigfootBurden.QuestLine, 12)
player:setStorageValue(Storage.BigfootBurden.MelodyStatus, 1)
for i = 0, 6 do
player:setStorageValue(Storage.BigfootBurden.MelodyTone1 + i, math.random(3124, 3127))
end
elseif npcHandler.topic[cid] == 2 then
npcHandler:say({
"Congratulations on finding your soul melody. And a pretty one as far as I can tell. Now you are a true recruit of the Bigfoot company! Commander Stone might have some tasks for you to do! ...",
"Look for him in the central chamber. I marked your map where you will find him."
}, cid)
player:setStorageValue(Storage.BigfootBurden.QuestLine, 14)
player:setStorageValue(Storage.BigfootBurden.Rank)
player:addAchievement('Becoming a Bigfoot')
end
npcHandler.topic[cid] = 0
end
return true
end
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())
Kod: /data/npc/Gnomelvis.xml
Lua:
<?xml version="1.0" encoding="UTF-8"?>
<npc name="Gnomelvis" script="Gnomelvis.lua" walkinterval="2000" floorchange="0">
<health now="100" max="100" />
<look type="493" head="67" body="76" legs="105" feet="95" addons="0" />
<parameters>
<parameter key="message_greet" value="Hello. Is it me you're {looking} for??" />
</parameters>
</npc>
Kod: /data/actions/scripts/quests/bigfoot burden/music.lua
Lua:
local cToneStorages = {
Storage.BigfootBurden.MelodyTone1,
Storage.BigfootBurden.MelodyTone2,
Storage.BigfootBurden.MelodyTone3,
Storage.BigfootBurden.MelodyTone4,
Storage.BigfootBurden.MelodyTone5,
Storage.BigfootBurden.MelodyTone6,
Storage.BigfootBurden.MelodyTone7
}
function onUse(player, item, fromPosition, target, toPosition, isHotkey)
if player:getStorageValue(Storage.BigfootBurden.QuestLine) == 12 then
local value = player:getStorageValue(Storage.BigfootBurden.MelodyStatus)
if player:getStorageValue(cToneStorages[value]) == item.uid then
player:setStorageValue(Storage.BigfootBurden.MelodyStatus, value + 1)
toPosition:sendMagicEffect(CONST_ME_FIREWORK_BLUE)
if value + 1 == 8 then
player:setStorageValue(Storage.BigfootBurden.QuestLine, 13)
player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "You have found your melody!")
end
else
player:setStorageValue(Storage.BigfootBurden.MelodyStatus, 1)
toPosition:sendMagicEffect(CONST_ME_SOUND_RED)
end
end
return true
end
I saw that there was this thread once, but no one answered.