Oskar1121

Untitled

Oct 6th, 2018
305
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.49 KB | None | 0 0
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <mod name="Task System" version="0.4.0" author="Oskar" contact="[email protected]" enabled="yes">
  3. <config name="tasks_conf"><![CDATA[
  4. REWARD_ITEM = 1
  5. REWARD_EXP = 2
  6. REWARD_MONEY = 3
  7. REWARD_ADDON = 4
  8. REWARD_SKILL = 5
  9. REWARD_STORAGE = 6
  10. REWARD_LEVEL = 7
  11.  
  12. AUTO_TASK_LIST = {
  13. [1] = {
  14. details = {'wolf', 'bear'}, totalKills = 500, storage = 2001, name = 'animals',
  15. rewards = {REWARD_ITEM, 2160, 3, REWARD_LEVEL, 0, 5},
  16. },
  17. [2] = {
  18. details = {'farmer'}, totalKills = 300, storage = 2002, name = 'farmers',
  19. rewards = {REWARD_ITEM, 2160, 5, REWARD_LEVEL, 0, 5},
  20. },
  21. [3] = {
  22. details = {'bandit', 'shinobazu'}, totalKills = 500, storage = 2003, name = 'bandits',
  23. rewards = {REWARD_ITEM, 2160, 10, REWARD_LEVEL, 0, 5},
  24. },
  25. [4] = {
  26. details = {'prisoner'}, totalKills = 300, storage = 2004, name = 'prisoners',
  27. rewards = {REWARD_ITEM, 2160, 20, REWARD_LEVEL, 0, 5},
  28. },
  29. [5] = {
  30. details = {'[Gaiden] Trainer', '[Gaiden] Mizuki', '[Gaiden] Naruto', '[Gaiden] Sakura', '[Gaiden] Kakashi Sensei', '[Gaiden] Sasuke Brother', '[Gaiden] Guy Sensei', '[Gaiden] Shisui', '[Gaiden] Zabuza', '[Gaiden] Haku', '[Gaiden] Rock Lee', '[Gaiden] Obito Child', '[Gaiden] Kakashi Child', '[Gaiden] Sound Orochimaru', '[Gaiden] Minato Sensei', '[Gaiden] Zaku', '[Gaiden] Kiba', '[Gaiden] Dosu', '[Gaiden] Ino', '[Gaiden] Guy', '[Gaiden] A', '[Gaiden] Bee', '[Gaiden] Jiraya', '[Gaiden] Neji', '[Gaiden] Gaara', '[Gaiden] Temari', '[Gaiden] Shukaku', '[Gaiden] Itachi', '[Gaiden] White Zetsu', '[Gaiden] Minato'}, totalKills = 500, storage = 2005, name = 'D-rank Gaidens',
  31. rewards = {REWARD_ITEM, 5919, 1, REWARD_LEVEL, 0, 5},
  32. },
  33. [6] = {
  34. details = {'sound shinobi'}, totalKills = 500, storage = 2006, name = 'sound shinobis',
  35. rewards = {REWARD_ITEM, 2349, 10, REWARD_LEVEL, 0, 10},
  36. },
  37. [7] = {
  38. details = {'[Easy] Dosu', '[Easy] Haku', '[Easy] Kiba', '[Easy] Mizuki', '[Easy] Orochimaru', '[Easy] Zabuza', '[Easy] Zaku'}, totalKills = 100, storage = 2007, name = 'easy arena enemies',
  39. rewards = {REWARD_ITEM, 2349, 10, REWARD_LEVEL, 0, 10},
  40. },
  41. [8] = {
  42. details = {'monk'}, totalKills = 500, storage = 2008, name = 'monks',
  43. rewards = {REWARD_ITEM, 2349, 15, REWARD_LEVEL, 0, 10},
  44. },
  45. [9] = {
  46. details = {'sand shinobi', 'anbu'}, totalKills = 1000, storage = 2009, name = 'shinobis',
  47. rewards = {REWARD_ITEM, 2349, 25, REWARD_LEVEL, 0, 10},
  48. },
  49. [10] = {
  50. details = {'zetsu clone'}, totalKills = 1500, storage = 2010, name = 'zetsu clones',
  51. rewards = {REWARD_ITEM, 2349, 50, REWARD_LEVEL, 0, 10},
  52. },
  53. [11] = {
  54. details = {'[Gaiden] Kisame', '[Gaiden] Jirobo', '[Gaiden] Kidomaru', '[Gaiden] Sakon', '[Gaiden] Tayuya', '[Gaiden] Tsunade', '[Gaiden] Kabuto', '[Gaiden] Sasuke', '[Gaiden] Gamabunta Naruto', '[Gaiden] Chi no Juin Sasuke', '[Gaiden] Bijuu Naruto', '[Gaiden] Kimimaro', '[Gaiden] Kakashi', '[Gaiden] Itachi Clone', '[Gaiden] Deidara', '[Gaiden] Sasori', '[Gaiden] Sai', '[Gaiden] Orochimaru'}, totalKills = 750, storage = 2011, name = 'C-rank Gaidens',
  55. rewards = {REWARD_ITEM, 5920, 1, REWARD_LEVEL, 0, 15},
  56. },
  57. [12] = {
  58. details = {'samurai' , 'cursed samurai'}, totalKills = 2000, storage = 2012, name = 'samurais',
  59. rewards = {REWARD_ITEM, 2349, 100, REWARD_LEVEL, 0, 15},
  60. },
  61. [13] = {
  62. details = {'senju member', 'uchiha member'}, totalKills = 3000, storage = 2013, name = 'clan members',
  63. rewards = {REWARD_ITEM, 5904, 3, REWARD_LEVEL, 0, 15},
  64. },
  65. [14] = {
  66. details = {'[Medium] Child Sasuke', '[Medium] Deidara', '[Medium] Hidan', '[Medium] Itachi', '[Medium] Kakuzu', '[Medium] Kimimaro', '[Medium] Sasori'}, totalKills = 200, storage = 2014, name = 'medium arena enemies',
  67. rewards = {REWARD_ITEM, 5904, 4, REWARD_LEVEL, 0, 15},
  68. },
  69. [15] = {
  70. details = {'golem', 'elite golem'}, totalKills = 2000, storage = 2015, name = 'golems',
  71. rewards = {REWARD_ITEM, 5904, 5, REWARD_LEVEL, 0, 15},
  72. },
  73. [16] = {
  74. details = {'akatsuki member'}, totalKills = 2000, storage = 2016, name = 'akatsuki members',
  75. rewards = {REWARD_ITEM, 5904, 10, REWARD_LEVEL, 0, 20},
  76. },
  77. [17] = {
  78. details = {'[Gaiden] Sasuke Shippuuden', '[Gaiden] Naruto Shippuuden', '[Gaiden] Sakura Shippuuden', '[Gaiden] Yamato', '[Gaiden] Kakashi Shippuuden', '[Gaiden] Kakuzu', '[Gaiden] Hidan', '[Gaiden] Rasa', '[Gaiden] Half-Sennin Kabuto', '[Gaiden] Itachi Shippuuden', '[Gaiden] Kankuro Shippuuden', '[Gaiden] Tobi', '[Gaiden] Zetsu Neji', '[Gaiden] Killer Bee', '[Gaiden] Chakra Mode Naruto', '[Gaiden] Pain', '[Gaiden] Mifune', '[Gaiden] Naruto Imitation', '[Gaiden] Nibi', '[Gaiden] Sanbi', '[Gaiden] Yonbi', '[Gaiden] Gobi', '[Gaiden] Rokubi', '[Gaiden] Nanabi', '[Gaiden] Edo Tensei Zabuza', '[Gaiden] Edo Tensei Haku'}, totalKills = 1000, storage = 2017, name = 'B-rank Gaidens',
  79. rewards = {REWARD_ITEM, 5921, 1, REWARD_LEVEL, 0, 20},
  80. },
  81. [18] = {
  82. details = {'edo tensei member'}, totalKills = 3000, storage = 2018, name = 'edo tensei members',
  83. rewards = {REWARD_ITEM, 5904, 15, REWARD_LEVEL, 0, 20},
  84. },
  85. [19] = {
  86. details = {'rikudou member'}, totalKills = 1000, storage = 2019, name = 'rikudou members',
  87. rewards = {REWARD_ITEM, 5904, 25, REWARD_LEVEL, 0, 20},
  88. },
  89. [20] = {
  90. details = {'[Hard] Danzou', '[Hard] Kabuto', '[Hard] Kaguya', '[Hard] Kisame', '[Hard] Madara', '[Hard] Obito', '[Hard] Raikage'}, totalKills = 300, storage = 2020, name = 'hard arena enemies',
  91. rewards = {REWARD_ITEM, 5904, 25, REWARD_LEVEL, 0, 20},
  92. },
  93. [21] = {
  94. details = {'haku', 'zabuza', 'kimimaro', 'orochimaru'}, totalKills = 100, storage = 2021, name = 'D-rank bosses',
  95. rewards = {REWARD_ITEM, 2160, 100, REWARD_LEVEL, 0, 25},
  96. },
  97. [22] = {
  98. details = {'kazekage', 'tsuchikage', 'hiruzen', 'mizukage', 'deidara', 'sasori', 'konan'}, totalKills = 200, storage = 2022, name = 'C-rank bosses',
  99. rewards = {REWARD_ITEM, 2349, 50, REWARD_LEVEL, 0, 25},
  100. },
  101. [23] = {
  102. details = {'raikage', 'tsunade', 'zetsu', 'minato', 'tobirama', 'jiraya'}, totalKills = 300, storage = 2023, name = 'B-rank bosses',
  103. rewards = {REWARD_ITEM, 2349, 100, REWARD_LEVEL, 0, 25},
  104. },
  105. [24] = {
  106. details = {'hidan', 'kakuzu', 'killer bee', 'kabuto', 'kisame', 'nagato'}, totalKills = 400, storage = 2024, name = 'A-rank bosses',
  107. rewards = {REWARD_ITEM, 5904, 10, REWARD_LEVEL, 0, 25},
  108. },
  109. [25] = {
  110. details = {'itachi', 'hashirama', 'madara', 'naruto', 'obito', 'sasuke', 'tomeri', 'kaguya'}, totalKills = 500, storage = 2025, name = 'S-rank bosses',
  111. rewards = {REWARD_ITEM, 5904, 25, REWARD_LEVEL, 0, 25},
  112. },
  113. [26] = {
  114. details = {'[mvp] itachi', '[mvp] madara', '[mvp] naruto', '[mvp] obito', '[mvp] tomeri', '[mvp] kaguya'}, totalKills = 500, storage = 2026, name = 'MVP-rank bosses',
  115. rewards = {REWARD_ITEM, 5904, 50, REWARD_LEVEL, 0, 30},
  116. },
  117. [27] = {
  118. details = {'[Gaiden] Rock Lee Imitation', '[Gaiden] Kyuubi', '[Gaiden] Raikage', '[Gaiden] Edo Tensei Hashirama', '[Gaiden] Edo Tensei Tobirama', '[Gaiden] Edo Tensei Hiruzen', '[Gaiden] Edo Tensei Minato', '[Gaiden] Mizukage', '[Gaiden] Kazekage', '[Gaiden] Edo Tensei Itachi', '[Gaiden] Tsuchikage', '[Gaiden] Edo Tensei Nagato', '[Gaiden] Danzou', '[Gaiden] Edo Tensei Madara', '[Gaiden] Zetsu', '[Gaiden] Fury Kakashi', '[Gaiden] Obito', '[Gaiden] Sennin Mode Kabuto', '[Gaiden] Juubi', '[Gaiden] Rikudou Obito', '[Gaiden] Black Zetsu', '[Gaiden] Rikudou Madara', '[Gaiden] Kaguya', '[Gaiden] Rikudou Sasuke', '[Gaiden] Rikudou Naruto'}, totalKills = 1500, storage = 2027, name = 'A-rank Gaidens',
  119. rewards = {REWARD_ITEM, 2160, 50, REWARD_LEVEL, 0, 30},
  120. },
  121. [28] = {
  122. details = {'shukaku', 'matatabi', 'isobu', 'son goku', 'kokuo', 'saiken', 'chomei', 'gyuki', 'kurama', '[mvp] juubi'}, totalKills = 25, storage = 2028, name = 'bijuus',
  123. rewards = {REWARD_ITEM, 2344, 3, REWARD_LEVEL, 0, 30},
  124. }
  125. }
  126. ]]></config>
  127.  
  128. <event type="kill" name="taskKill" event="script"><![CDATA[
  129. domodlib('tasks_conf')
  130.  
  131. local function doTakeTasksReward(cid, var)
  132. for i = 1, #var / 3 do
  133. if var[i * 3 - 2] == REWARD_ITEM then
  134. doPlayerAddItem(cid, var[i * 3 - 1], var[i * 3])
  135. elseif var[i * 3 - 2] == REWARD_EXP then
  136. doAddExp(cid, var[i * 3])
  137. elseif var[i * 3 - 2] == REWARD_STORAGE then
  138. doCreatureSetStorage(cid, var[i * 3 - 1], var[i * 3])
  139. elseif var[i * 3 - 2] == REWARD_MONEY then
  140. doPlayerAddMoney(cid, var[i * 3])
  141. elseif var[i * 3 - 2] == REWARD_SKILL then
  142. doPlayerSetSkill(cid, var[i * 3 - 1], getPlayerSkillLevel(cid, var[i * 3 - 1]) + var[i * 3])
  143. elseif var[i * 3 - 2] == REWARD_ADDON then
  144. doPlayerAddOutfit(cid, (getPlayerSex(cid) == 0 and var[i * 3 - 1][1] or var[i * 3 - 1][2]), var[i * 3])
  145. elseif var[i * 3 - 2] == REWARD_LEVEL then
  146. doPlayerAddLevel(cid, var[i * 3])
  147. end
  148. end
  149. end
  150.  
  151. local function getTaskByName(name)
  152. for _, v in pairs(AUTO_TASK_LIST) do
  153. for i = 1, #v.details do
  154. if name == v.details[i]:lower() then
  155. return v
  156. end
  157. end
  158. end
  159.  
  160. return false
  161. end
  162.  
  163. function onKill(cid, target)
  164. if not isMonster(target) or not isPlayer(cid) then
  165. return true
  166. end
  167.  
  168. local var = getTaskByName(getCreatureName(target):lower())
  169. if not var then
  170. return true
  171. end
  172.  
  173. local storage = math.max(0, getCreatureStorage(cid, var.storage))
  174. if storage >= var.totalKills then
  175. return true
  176. end
  177.  
  178. storage = storage + 1
  179. if storage >= var.totalKills then
  180. doTakeTasksReward(cid, var.rewards)
  181. doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, 'Congratulations! You finished ' .. var.name .. ' task.')
  182. else
  183. doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, 'You have killed ' .. var.name .. '. [' .. storage .. '/' .. var.totalKills .. '].')
  184. end
  185.  
  186. doCreatureSetStorage(cid, var.storage, storage)
  187. return true
  188. end
  189. ]]></event>
  190.  
  191. <talkaction words='!task' event='script'><![CDATA[
  192. domodlib('tasks_conf')
  193.  
  194. function onSay(cid, words, param, channel)
  195. local message = 'Your task list'
  196. for i = 1, #AUTO_TASK_LIST do
  197. local var = AUTO_TASK_LIST[i]
  198. message = message .. '\n' .. i .. '. Killed ' .. var.name .. '. [' .. math.max(0, getCreatureStorage(cid, var.storage)) .. '/' .. var.totalKills .. '].'
  199. end
  200.  
  201. doShowTextDialog(cid, 2016, message)
  202. end
  203.  
  204. ]]></talkaction>
  205.  
  206. <event type="login" name="taskLogin" event="script"><![CDATA[
  207.  
  208. function onLogin(cid)
  209. registerCreatureEvent(cid, 'taskKill')
  210. return true
  211. end
  212. ]]></event>
  213. </mod>
Advertisement
Add Comment
Please, Sign In to add comment