Autor: przemo_92

Licencja: Nie znana

Tworzymy w data/npc plik bilbo.xml i wklejamy to:

<npc name="Bilbo Baggins" script="data/npc/scripts/bilbo.lua" walkinterval="1" floorchange="0" access="5" level="1" maglevel="1">
<health now="100" max="100"/>
<look type="132" head="57" body="59" legs="40" feet="76" addons="3"/>
<parameters>
<parameter key="message_greet" value="Witaj |PLAYERNAME|. Z pewnoscia Gandalf Cie tu przyslal. Nim dostaniesz pierscien musisz dla mnie cos zrobic." />
</parameters>
</npc>

Teraz tworzymy w data/npc/scripts plik bilbo.lua i wklejamy to:

bilbo.lua
------STORAGE-------
------100 do 104-------
local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)
local talkState = {}
local item1 = 2666
local item2 = 2671
local item3 = 2667
local item4 = 2692
local item5 = 11128
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(not npcHandler:isFocused(cid)) then
return false
end
local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid
if(msgcontains(msg, 'pierscien')) then
selfSay('Nim otrzymasz pierscien musisz dla mnie cos zrobic, mam dla Ciebie 5 zadan, po wykonaniu ich otrzymasz jedyny pierscien. Pamietaj jednak ze nie mozesz go zgubic, chron go i nie dawaj nikomu.(aby rozpoczac misje wpisz pokolei MISJA1,MISJA2..)', cid)
end
---------------------------------------------------------
if(msgcontains(msg, 'misja1')) then
selfSay('Niedlugo wyruszam w podroz i potrzebuje paru rzeczy. Przynies mi 10 kawalkow miesa.', cid)
talkState[talkUser] = 1
elseif(msgcontains(msg, 'mieso') and talkState[talkUser] == 1) then
if (getPlayerStorageValue(cid,100) > 0) then
selfSay('Wykonales juz ta misje.', cid)
else
if(doPlayerRemoveItem(cid, item1, 10) == TRUE) then
setPlayerStorageValue(cid,100,1)
doPlayerAddExperience(cid,1000)
selfSay('No dziekuje Ci za te mieso. (otrzymales 1000pkt doswiadczenia)', cid)
else
selfSay('Potrzebuje 10 kawalkow miesa..', cid)
end
end
return true
end
----------------------------------------------------------
if(msgcontains(msg, 'misja2')) then
selfSay('Przynies mi jeszcze 5 kawalkow szynki.', cid)
talkState[talkUser] = 1
elseif(msgcontains(msg, 'szynka') and talkState[talkUser] == 1) then
if (getPlayerStorageValue(cid,100) < 1) then
selfSay('Najpierw przynies mi 10 kawalkow miesa.', cid)
else
if (getPlayerStorageValue(cid,101) > 0) then
selfSay('Wykonales juz ta misje.', cid)
else
if(doPlayerRemoveItem(cid, item2, 5) == TRUE) then
setPlayerStorageValue(cid,101,1)
doPlayerAddExperience(cid,1500)
selfSay('Dzieki za szynke (otrzymujesz 1500pkt doswiadczenia)', cid)
else
selfSay('Potrzebuje 5 kawalkow szynki..', cid)
end
end
end
return true
end
----------------------------------------------------------
if(msgcontains(msg, 'misja3')) then
selfSay('Bede potrzebowal jeszcze 15 ryb.', cid)
talkState[talkUser] = 1
elseif(msgcontains(msg, 'ryby') and talkState[talkUser] == 1) then
if (getPlayerStorageValue(cid,101) < 1) then
selfSay('Najpierw przynies mi 10 kawalkow miesa i 5 kawalkow szynki.', cid)
else
if (getPlayerStorageValue(cid,102) > 0) then
selfSay('Wykonales juz ta misje.', cid)
else
if(doPlayerRemoveItem(cid, item3, 15) == TRUE) then
setPlayerStorageValue(cid,102,1)
doPlayerAddExperience(cid,2000, 1, 1)
selfSay('No bardzo ladne rybki, dziekuje. (otrzymales 2000pkt doswiadczenia)', cid)
else
selfSay('Potrzebuje 15 ryb..', cid)
end
end
end
return true
end
----------------------------------------------------------
if(msgcontains(msg, 'misja4')) then
selfSay('Przynies mi 10 sztuk maki, mozna ja kupic od Teda Sandmana albo samemu zrobic u niego w mlynie..', cid)
talkState[talkUser] = 1
elseif(msgcontains(msg, 'maka') and talkState[talkUser] == 1) then
if (getPlayerStorageValue(cid,102) < 1) then
selfSay('Wykonaj moje poprzednie polecenia..', cid)
else
if (getPlayerStorageValue(cid,103) > 0) then
selfSay('Wykonales juz ta misje.', cid)
else
if(doPlayerRemoveItem(cid, item4, 10) == TRUE) then
setPlayerStorageValue(cid,103,1)
doPlayerAddExperience(cid,2500, 1, 1)
selfSay('No tyle maki mi wystarczy (otrzymales 2500pkt doswiadczenia)', cid)
else
selfSay('Za malo tej maki..', cid)
end
end
end
return true
end
----------------------------------------------------------
if(msgcontains(msg, 'misja5')) then
selfSay('Znajdz Pippina i Merrego Brandybuckow, ukradli oni moja ksiazke. Bardzo mi na niej zalezy, bez niej nie udam sie w podroz. ', cid)
talkState[talkUser] = 1
elseif(msgcontains(msg, 'ksiazka') and talkState[talkUser] == 1) then
if (getPlayerStorageValue(cid,103) < 1) then
selfSay('Przynies najpierw mi jedzenie i make..', cid)
else
if (getPlayerStorageValue(cid,104) > 0) then
selfSay('Wykonales juz ta misje.', cid)
else
if(doPlayerRemoveItem(cid, item5, 1) == TRUE) then
setPlayerStorageValue(cid,104,1)
doPlayerAddExperience(cid,3000, 1, 1)
selfSay('Ooo dziekuje bardzo. Mam juz wszystko co mi potrzebne do podrozy. Masz tutaj Pierscien. (otrzymales Jedyny Pierscien i 3000pkt doswiadczenia)', cid)
else
selfSay('Potrzebuje ksiazki ktora ukradli Merry i Pippin..', cid)
end
end
end
return true
end
----------------------------------------------------------
 
 
----------------------------------------------------------
end
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())