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:
------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())