The script is outdated, and I need it to be converted to a script that work on the latest TFS 3.6.0pl1
Here it is:
Here it is:
Code:
local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)
local Topic = {}
local storage = 12164
local doorstorage = 13264
local silkID = 8860
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)
local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid
if msgcontains(msg, "hi") or msgcontains(msg, "hello") and (not npcHandler:isFocused(cid)) then
if getPlayerStorageValue(cid, storage) < 1 then
selfSay("Hello, "..getCreatureName(cid)..". Could you help me?", cid, TRUE)
Topic[talkUser] = 0
elseif getPlayerStorageValue(cid, storage) == 1 then
selfSay("Have you brought the spider silk?", cid, TRUE)
Topic[talkUser] = 1
elseif getPlayerStorageValue(cid, storage) == 2 then
selfSay("Oh hello, thanks for bringing the spider silk!", cid, TRUE)
Topic[talkUser] = 0
end
npcHandler:addFocus(cid)
return true
end
if(not npcHandler:isFocused(cid)) then
return false
end
if msgcontains(msg, "bye") or msgcontains(msg, "farewell") then
selfSay("Good bye.", cid, TRUE)
Topic[talkUser] = 0
npcHandler:releaseFocus(cid)
elseif msgcontains(msg, "quest") or msgcontains(msg, "mission") or msgcontains(msg, "task") or msgcontains(msg, "help") or (msgcontains(msg, "silk") and getPlayerStorageValue(cid, storage) > 0) then
if getPlayerStorageValue(cid, storage) < 1 then
npcHandler:say("Oh please help me, I need a spider silk!", cid)
setPlayerStorageValue(cid, storage, 1)
Topic[talkUser] = 0
elseif getPlayerStorageValue(cid, storage) == 1 then
selfSay("Have you brought the spider silk?", cid, TRUE)
Topic[talkUser] = 1
elseif getPlayerStorageValue(cid, storage) == 2 then
selfSay("Thank you again, you did a great job!", cid, TRUE)
Topic[talkUser] = 0
end
elseif Topic[talkUser] == 1 then
if msgcontains(msg, "yes") then
if getPlayerItemCount(cid, silkID) >= 1 then
doPlayerRemoveItem(cid, silkID, 1)
npcHandler:say("Thank you! As a reward, you now have access to the door.", cid)
setPlayerStorageValue(cid, storage, 2)
setPlayerStorageValue(cid, doorstorage, 1)
else
npcHandler:say("I can see you don't have the silk. Please hurry up!", cid)
end
else
npcHandler:say("I can see you don't have the silk. Please hurry up!", cid)
end
Topic[talkUser] = 0
end
return TRUE
end
npcHandler:setMessage(MESSAGE_WALKAWAY, "Good bye.")
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)