Oskar1121

Untitled

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