Advertisement
Guest User

Untitled

a guest
Apr 5th, 2020
289
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 10.63 KB | None | 0 0
  1. local keywordHandler = KeywordHandler:new()
  2. local npcHandler = NpcHandler:new(keywordHandler)
  3. NpcSystem.parseParameters(npcHandler)
  4. local talkState = {}
  5. local talkVar = {}
  6.  
  7. function onCreatureAppear(cid)          npcHandler:onCreatureAppear(cid)        end
  8. function onCreatureDisappear(cid)       npcHandler:onCreatureDisappear(cid)     end
  9. function onCreatureSay(cid, _type, msg)     npcHandler:onCreatureSay(cid, _type, msg)   end
  10. function onThink()              npcHandler:onThink()                end
  11. function onPlayerEndTrade(cid)          npcHandler:onPlayerEndTrade(cid)        end
  12. function onPlayerCloseChannel(cid)      npcHandler:onPlayerCloseChannel(cid)        end
  13.  
  14. local shopModule = ShopModule:new()
  15. npcHandler:addModule(shopModule)
  16.  
  17. -- Wszystkie runy,poty, itemy BUY NAME LUB BUY 20 NAME --
  18. shopModule:addBuyableItem({'spellbook'}, 2175, 150, 'spellbook')
  19. shopModule:addBuyableItem({'magic light wand'}, 2163, 400, 'magic light wand')
  20.  
  21. shopModule:addBuyableItem({'mana potion','mp'}, 7620, 50, 1, 'mana potion')
  22. shopModule:addBuyableItem({'strong mana','smp'}, 7589, 80, 1, 'strong mana potion')
  23. shopModule:addBuyableItem({'great mana','gmp'}, 7590, 120, 1, 'great mana potion')
  24. shopModule:addBuyableItem({'ultimate mana potion','ump'}, 26029, 250, 1, 'ultimate mana potion')
  25.  
  26. shopModule:addBuyableItem({'great spirit','gsp'}, 8472, 190, 1, 'great spirit potion')
  27. shopModule:addBuyableItem({'ultimate spirit potion','usp'}, 26030, 250, 1, 'ultimate spirit potion')
  28.  
  29. shopModule:addBuyableItem({'small health','sh'}, 8704, 20, 1, 'small health potion')
  30. shopModule:addBuyableItem({'health potion','hp'}, 7618, 45, 1, 'health potion')
  31. shopModule:addBuyableItem({'strong health','shp'}, 7588, 100, 1, 'strong health potion')
  32. shopModule:addBuyableItem({'great health','ghp'}, 7591, 190, 1, 'great health potion')
  33. shopModule:addBuyableItem({'ultimate health','uhp'}, 8473, 310, 1, 'ultimate health potion')
  34. shopModule:addBuyableItem({'supreme health potion','suhp'}, 26031, 500, 1, 'supreme health potion')
  35.  
  36. shopModule:addBuyableItem({'antidote potion'}, 8474, 50, 1, 'antidote potion')
  37.  
  38. -- Runy --
  39. shopModule:addBuyableItem({'wild growth'}, 2269, 160, 1, 'wild growth rune')
  40. shopModule:addBuyableItem({'blank'}, 2260, 10, 1, 'blank rune')
  41. shopModule:addBuyableItem({'desintegrate'}, 2310, 26, 1, 'desintegreate rune')
  42. shopModule:addBuyableItem({'light magic missile'}, 2287, 4, 1, 'light magic missile rune')
  43. shopModule:addBuyableItem({'heavy magic missile'}, 2311, 12, 1, 'heavy magic missile rune')
  44. shopModule:addBuyableItem({'soulfire'}, 2308, 46, 1, 'soulfire rune')
  45. shopModule:addBuyableItem({'stalagmite'}, 2292, 12, 1, 'stalagmite rune')
  46. shopModule:addBuyableItem({'fireball'}, 2302, 30, 1, 'fireball rune')
  47. shopModule:addBuyableItem({'icicle'}, 2271, 30, 1, 'icicle rune')
  48. shopModule:addBuyableItem({'great fireball'}, 2304, 45, 1, 'great fireball rune')
  49. shopModule:addBuyableItem({'avalanche'}, 2274, 45, 1, 'avalanche rune')
  50. shopModule:addBuyableItem({'thunderstorm'}, 2315, 37, 1, 'thunderstorm rune')
  51. shopModule:addBuyableItem({'stoneshower'}, 2288, 37, 1, 'stoneshower rune')
  52. shopModule:addBuyableItem({'paralyze'}, 2278, 700, 1, 'paralyze rune')
  53. shopModule:addBuyableItem({'explosion'}, 2313, 31, 1, 'explosion rune')
  54. shopModule:addBuyableItem({'sudden death'}, 2268, 108, 1, 'sudden death rune')
  55. shopModule:addBuyableItem({'animate dead'}, 2316, 375, 1, 'animate dead rune')
  56. shopModule:addBuyableItem({'convince creature'}, 2290, 80, 1, 'convince creature rune')
  57. shopModule:addBuyableItem({'chameleon'}, 2291, 210, 1, 'chameleon rune')
  58. shopModule:addBuyableItem({'energy wall'}, 2279, 85, 1, 'energy wall rune')
  59. shopModule:addBuyableItem({'energy bomb'}, 2262, 162, 1, 'energy bomb rune')
  60. shopModule:addBuyableItem({'fire wall'}, 2303, 61, 1, 'fire wall rune')
  61. shopModule:addBuyableItem({'fire bomb'}, 2305, 117, 1, 'fire bomb rune')
  62. shopModule:addBuyableItem({'poison wall'}, 2289, 52, 1, 'poison wall rune')
  63. shopModule:addBuyableItem({'poison bomb'}, 2286, 85, 1, 'poison bomb rune')
  64. shopModule:addBuyableItem({'fire field'}, 2301, 28, 1, 'fire field rune')
  65. shopModule:addBuyableItem({'poison field'}, 2285, 21, 1, 'poison field rune')
  66. shopModule:addBuyableItem({'energy field'}, 2277, 38, 1, 'energy field rune')
  67. shopModule:addBuyableItem({'instense healing'}, 2265, 95, 1, 'intense healing rune')
  68. shopModule:addBuyableItem({'ultimate healing'}, 2273, 175, 1, 'ultimate healing rune')
  69. shopModule:addBuyableItem({'magic wall'}, 2293, 116, 1, 'magic wall rune')
  70. shopModule:addBuyableItem({'destroy field'}, 2261, 15, 1, 'destroy field rune')
  71. shopModule:addBuyableItem({'death arrow'}, 2263, 100, 1, 'death arrow rune')
  72.  
  73. -- Puste Viale --
  74. shopModule:addSellableItem({'normal potion flask', 'normal flask'}, 7636, 5, 'empty small potion flask')
  75. shopModule:addSellableItem({'strong potion flask', 'strong flask'}, 7634, 10, 'empty strong potion flask')
  76. shopModule:addSellableItem({'great potion flask', 'great flask'}, 7635, 15, 'empty great potion flask')
  77.  
  78. -- BP's i BAG's JESZCZE ROBIE --
  79. shopModule:addBuyableItemContainer({'bp mana potion'}, 2001, 7620, 100000, 100, 'backpack of mana potions')
  80.  
  81. shopModule:addBuyableItemContainer({'bp ap'}, 2002, 8378, 2000, 1, 'backpack of antidote potions')
  82. shopModule:addBuyableItemContainer({'bp slhp'}, 2000, 8610, 400, 1, 'backpack of small health potions')
  83. shopModule:addBuyableItemContainer({'bp hp'}, 2000, 7618, 900, 1, 'backpack of health potions')
  84. shopModule:addBuyableItemContainer({'bp shp'}, 2000, 7588, 2000, 1, 'backpack of strong health potions')
  85. shopModule:addBuyableItemContainer({'bp smp'}, 2001, 7589, 1600, 1, 'backpack of strong mana potions')
  86. shopModule:addBuyableItemContainer({'bp ghp'}, 2000, 7591, 3800, 1, 'backpack of great health potions')
  87. shopModule:addBuyableItemContainer({'bp gmp'}, 2001, 7590, 2400, 1, 'backpack of great mana potions')
  88. shopModule:addBuyableItemContainer({'bp gsp'}, 1999, 8376, 3800, 1, 'backpack of great spirit potions')
  89. shopModule:addBuyableItemContainer({'bp uhp'}, 2000, 8377, 6200, 1, 'backpack of ultimate health potions')
  90.  
  91. shopModule:addBuyableItem({'wand of vortex', 'vortex'}, 2190, 500, 'wand of vortex')
  92. shopModule:addBuyableItem({'wand of dragonbreath', 'dragonbreath'}, 2191, 1000, 'wand of dragonbreath')
  93. shopModule:addBuyableItem({'wand of decay', 'decay'}, 2188, 5000, 'wand of decay')
  94. shopModule:addBuyableItem({'wand of draconia', 'draconia'}, 8921, 7500, 'wand of draconia')
  95. shopModule:addBuyableItem({'wand of cosmic energy', 'cosmic energy'}, 2189, 10000, 'wand of cosmic energy')
  96. shopModule:addBuyableItem({'wand of inferno', 'inferno'}, 2187, 15000, 'wand of inferno')
  97. shopModule:addBuyableItem({'wand of starstorm', 'starstorm'}, 8920, 18000, 'wand of starstorm')
  98. shopModule:addBuyableItem({'wand of voodoo', 'voodoo'}, 8922, 22000, 'wand of voodoo')
  99.  
  100. shopModule:addBuyableItem({'snakebite rod', 'snakebite'}, 2182, 500, 'snakebite rod')
  101. shopModule:addBuyableItem({'moonlight rod', 'moonlight'}, 2186, 1000, 'moonlight rod')
  102. shopModule:addBuyableItem({'necrotic rod', 'necrotic'}, 2185, 5000, 'necrotic rod')
  103. shopModule:addBuyableItem({'northwind rod', 'northwind'}, 8911, 7500, 'northwind rod')
  104. shopModule:addBuyableItem({'terra rod', 'terra'}, 2181, 10000, 'terra rod')
  105. shopModule:addBuyableItem({'hailstorm rod', 'hailstorm'}, 2183, 15000, 'hailstorm rod')
  106. shopModule:addBuyableItem({'springsprout rod', 'springsprout'}, 8912, 18000, 'springsprout rod')
  107. shopModule:addBuyableItem({'underworld rod', 'underworld'}, 8910, 22000, 'underworld rod')
  108.  
  109. shopModule:addSellableItem({'wand of vortex', 'vortex'}, 2190, 250, 'wand of vortex')
  110. shopModule:addSellableItem({'wand of dragonbreath', 'dragonbreath'}, 2191, 500, 'wand of dragonbreath')
  111. shopModule:addSellableItem({'wand of decay', 'decay'}, 2188, 2500, 'wand of decay')
  112. shopModule:addSellableItem({'wand of draconia', 'draconia'}, 8921, 3750, 'wand of draconia')
  113. shopModule:addSellableItem({'wand of cosmic energy', 'cosmic energy'}, 2189, 5000, 'wand of cosmic energy')
  114. shopModule:addSellableItem({'wand of inferno', 'inferno'},2187, 7500, 'wand of inferno')
  115. shopModule:addSellableItem({'wand of starstorm', 'starstorm'}, 8920, 9000, 'wand of starstorm')
  116. shopModule:addSellableItem({'wand of voodoo', 'voodoo'}, 8922, 11000, 'wand of voodoo')
  117.  
  118. shopModule:addSellableItem({'snakebite rod', 'snakebite'}, 2182, 250,'snakebite rod')
  119. shopModule:addSellableItem({'moonlight rod', 'moonlight'}, 2186, 500, 'moonlight rod')
  120. shopModule:addSellableItem({'necrotic rod', 'necrotic'}, 2185, 2500, 'necrotic rod')
  121. shopModule:addSellableItem({'northwind rod', 'northwind'}, 8911, 3750, 'northwind rod')
  122. shopModule:addSellableItem({'terra rod', 'terra'}, 2181, 5000, 'terra rod')
  123. shopModule:addSellableItem({'hailstorm rod', 'hailstorm'}, 2183, 7500, 'hailstorm rod')
  124. shopModule:addSellableItem({'springsprout rod', 'springsprout'}, 8912, 9000, 'springsprout rod')
  125. shopModule:addSellableItem({'underworld rod', 'underworld'}, 8910, 11000, 'underworld rod')
  126.  
  127.  
  128. function creatureSayCallback(cid, type, msg)
  129.     if not npcHandler:isFocused(cid) then
  130.         return false
  131.     end
  132.  
  133.     local player = Player(cid)
  134.     local vocationId = player:getVocation():getId()
  135.     local items = {
  136.         [1] = 2190,
  137.         [2] = 2182,
  138.         [5] = 2190,
  139.         [6] = 2182
  140.     }
  141.  
  142.     if msgcontains(msg, 'first rod') or msgcontains(msg, 'first wand') then
  143.         if isInArray({1, 2, 5, 6}, vocationId) then
  144.             if player:getStorageValue(3050) == -1 then
  145.                 selfSay('So you ask me for a {' .. ItemType(items[vocationId]):getName() .. '} to begin your advanture?', cid)
  146.                 npcHandler.topic[cid] = 1
  147.             else
  148.                 selfSay('What? I have already gave you one {' .. ItemType(items[vocationId]):getName() .. '}!', cid)
  149.             end
  150.         else
  151.             selfSay('Sorry, you aren\'t a druid either a sorcerer.', cid)
  152.         end
  153.     elseif msgcontains(msg, 'yes') then
  154.         if npcHandler.topic[cid] == 1 then
  155.             player:addItem(items[vocationId], 1)
  156.             player:setStorageValue(3050, 1)
  157.             selfSay('Here you are young adept, take care yourself.', cid)
  158.         end
  159.         npcHandler.topic[cid] = 0
  160.     elseif msgcontains(msg, 'no') and npcHandler.topic[cid] == 1 then
  161.         selfSay('Ok then.', cid)
  162.         npcHandler.topic[cid] = 0
  163.     elseif isInArray({"vial", "ticket", "bonus", "lottery tickets"}, msg) then
  164.         if player:removeItem(7634, 50) or player:removeItem(7635, 20) or player:removeItem(7636, 100) then
  165.             player:addItem(5957, 1)
  166.             npcHandler:say("Alright, thank you very much! Here is your lottery ticket, good luck. Would you like to deposit more vials that way?", cid)
  167.             npcHandler.topic[cid] = 0
  168.         else
  169.             npcHandler:say("I need {100 normal}, {50 strong} or {20 great potion flasks} to give you a {lottery ticket}. Come back when you have them.", cid)
  170.             npcHandler.topic[cid] = 0
  171.         end
  172.     end
  173.  
  174.     return true
  175. end
  176. npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
  177. npcHandler:addModule(FocusModule:new())
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement