Advertisement
Guest User

data/lib

a guest
Aug 3rd, 2014
208
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 17.68 KB | None | 0 0
  1. RANK_NONE = 0
  2. RANK_HUNTSMAN = 1
  3. RANK_RANGER = 2
  4. RANK_BIGGAMEHUNTER = 3
  5. RANK_TROPHYHUNTER = 4
  6. RANK_ELITEHUNTER = 5
  7.  
  8. REWARD_MONEY = 1
  9. REWARD_EXP = 2
  10. REWARD_ACHIEVEMENT = 3
  11. REWARD_STORAGE = 4
  12. REWARD_POINT = 5
  13. REWARD_ITEM = 6
  14.  
  15. QUESTSTORAGE_BASE = 1500
  16. KILLSSTORAGE_BASE = 65000
  17. REPEATSTORAGE_BASE = 48950
  18. POINTSSTORAGE = 2500
  19. tasks =
  20. {
  21. --Tasks for level 6 to 49.
  22. [1] = {killsRequired = 100, raceName = "Trolls", level = {6, 49}, premium = true, creatures = {"troll", "troll champion", "island troll", "swamp troll"}, rewards = {
  23. {type = "exp", value = {200}},
  24. {type = "money", value = {200}}
  25. }},
  26. [2] = {killsRequired = 150, raceName = "Goblins", level = {6, 49}, premium = true, creatures = {"goblin", "goblin assassin", "goblin leader"}, rewards = {
  27. {type = "exp", value = {300}},
  28. {type = "money", value = {250}}
  29. }},
  30. [3] = {killsRequired = 300, raceName = "Crocodiles", level = {6, 49}, premium = true, creatures = {"crocodile"}, rewards = {
  31. {type = "exp", value = {800}},
  32. {type = "achievement", value = {"Blood-Red Snapper"}},
  33. {type = "storage", value = {35000, 1}},
  34. {type = "points", value = {1}}
  35. }},
  36. [4] = {killsRequired = 300, raceName = "Badgers", level = {6, 49}, premium = true, creatures = {"badger"}, rewards = {
  37. {type = "exp", value = {500}},
  38. {type = "points", value = {1}}
  39. }},
  40. [5] = {killsRequired = 300, raceName = "Tarantulas", level = {6, 49}, premium = true, creatures = {"tarantula"}, rewards = {
  41. {type = "exp", value = {1500}},
  42. {type = "achievement", value = {"No More Hiding"}},
  43. {type = "storage", value = {35001, 1}},
  44. {type = "points", value = {2}}
  45. }},
  46. [6] = {killsRequired = 150, raceName = "Carniphilas", level = {6, 49}, premium = true, creatures = {"carniphila"}, rewards = {
  47. {type = "exp", value = {2500}},
  48. {type = "achievement", value = {"Rootless Behaviour"}},
  49. {type = "storage", value = {35002, 1}},
  50. {type = "points", value = {3}}
  51. }},
  52. [7] = {killsRequired = 200, raceName = "Stone Golems", level = {6, 49}, premium = true, creatures = {"stone golem"}, rewards = {
  53. {type = "exp", value = {2000}},
  54. {type = "points", value = {3}}
  55. }},
  56. [8] = {killsRequired = 300, raceName = "Mammoths", level = {6, 49}, premium = true, creatures = {"mammoth"}, rewards = {
  57. {type = "exp", value = {4000}},
  58. {type = "achievement", value = {"Meat Skewer"}},
  59. {type = "storage", value = {35003, 1}},
  60. {type = "points", value = {3}}
  61. }},
  62. [9] = {killsRequired = 300, raceName = "Gnarlhounds", level = {6, 49}, premium = true, creatures = {"gnarlhound"}, rewards = {
  63. {type = "exp", value = {1000}},
  64. {type = "points", value = {2}}
  65. }},
  66. [10] = {killsRequired = 300, raceName = "Terramites", level = {6, 49}, premium = true, creatures = {"terramite"}, rewards = {
  67. {type = "exp", value = {1000}},
  68. {type = "points", value = {2}}
  69. }},
  70. [11] = {killsRequired = 300, raceName = "Apes", level = {6, 49}, premium = true, creatures = {"kongra", "sibang", "merklin"}, rewards = {
  71. {type = "exp", value = {1000}},
  72. {type = "points", value = {2}}
  73. }},
  74. [12] = {killsRequired = 300, raceName = "Thornback Tortoises", level = {6, 49}, premium = true, creatures = {"thornback tortoise"}, rewards = {
  75. {type = "exp", value = {1500}},
  76. {type = "points", value = {2}}
  77. }},
  78. [13] = {killsRequired = 300, raceName = "Gargoyles", level = {6, 49}, premium = true, creatures = {"gargoyle"}, rewards = {
  79. {type = "exp", value = {1500}}
  80. }},
  81.  
  82. --Tasks for level 50 to 79.
  83.  
  84. [14] = {killsRequired = 300, raceName = "Ice Golems", level = {50, 79}, premium = true, creatures = {"ice golem"}, rewards = {
  85. {type = "exp", value = {12000}},
  86. {type = "achievement", value = {"Breaking The Ice"}},
  87. {type = "storage", value = {35004, 1}},
  88. {type = "points", value = {2}}
  89. }},
  90. [15] = {killsRequired = 400, raceName = "Quara Scouts", level = {50, 79}, premium = true, creatures = {"quara pincher scout", "quara predator scout", "quara hydromancer scout", "quara constrictor scout", "quara mantassin scout"}, rewards = {
  91. {type = "exp", value = {10000}},
  92. {type = "points", value = {2}}
  93. }},
  94. [16] = {killsRequired = 400, raceName = "Mutated Rats", level = {50, 79}, premium = true, creatures = {"mutated rat"}, rewards = {
  95. {type = "exp", value = {10000}},
  96. {type = "achievement", value = {"Twisted Mutation"}},
  97. {type = "storage", value = {35005, 1}},
  98. {type = "points", value = {2}}
  99. }},
  100. [17] = {killsRequired = 250, raceName = "Ancient Scarabs", level = {50, 79}, premium = true, creatures = {"ancient scarab"}, rewards = {
  101. {type = "exp", value = {15000}},
  102. {type = "achievement", value = {"Crawling Death"}},
  103. {type = "storage", value = {35006, 1}},
  104. {type = "points", value = {2}}
  105. }},
  106. [18] = {killsRequired = 300, raceName = "Wyverns", level = {50, 79}, premium = true, creatures = {"wyvern"}, rewards = {
  107. {type = "exp", value = {12000}},
  108. {type = "points", value = {2}}
  109. }},
  110. [19] = {killsRequired = 300, raceName = "Lancer Beetles", level = {50, 79}, premium = true, creatures = {"lancer beetle"}, rewards = {
  111. {type = "exp", value = {8000}},
  112. {type = "points", value = {2}}
  113. }},
  114. [20] = {killsRequired = 400, raceName = "Wailing Widows", level = {50, 79}, premium = true, creatures = {"wailing widow"}, rewards = {
  115. {type = "exp", value = {12000}},
  116. {type = "points", value = {3}}
  117. }},
  118. [21] = {killsRequired = 250, raceName = "Killer Caimans", level = {50, 79}, premium = true, creatures = {"killer caiman"}, rewards = {
  119. {type = "exp", value = {10000}},
  120. {type = "points", value = {2}}
  121. }},
  122. [22] = {killsRequired = 300, raceName = "Bonebeasts", level = {50, 79}, premium = true, creatures = {"bonebeast"}, rewards = {
  123. {type = "exp", value = {12000}},
  124. {type = "achievement", value = {"Spareribs for Dinner"}},
  125. {type = "storage", value = {35007, 1}},
  126. {type = "points", value = {2}}
  127. }},
  128. [23] = {killsRequired = 300, raceName = "Crystal Spiders", level = {50, 79}, creatures = {"crystal spider"}, premium = true, rewards = {
  129. {type = "exp", value = {15000}},
  130. {type = "achievement", value = {"Arachnoise"}},
  131. {type = "storage", value = {35008, 1}},
  132. {type = "points", value = {3}}
  133. }},
  134. [24] = {killsRequired = 300, raceName = "Mutated Tigers", level = {50, 79}, premium = true, creatures = {"mutated tiger"}, rewards = {
  135. {type = "exp", value = {12000}},
  136. {type = "points", value = {2}}
  137. }},
  138.  
  139. --Taks for level 80 to 129.
  140.  
  141. [25] = {killsRequired = 600, raceName = "Underwater Quara", level = {80, 900}, premium = true, creatures = {"quara hydromancer", "quara predator", "quara constrictor", "quara mantassin", "quara pincher"}, rewards = {
  142. {type = "exp", value = {15000}},
  143. {type = "achievement", value = {"Back into the Abyss"}},
  144. {type = "storage", value = {35009, 1}},
  145. {type = "points", value = {3}}
  146. }},
  147.  
  148. [26] = {killsRequired = 500, raceName = "Giant Spiders", level = {80, 900}, premium = true, creatures = {"giant spider"}, rewards = {
  149. {type = "exp", value = {20000}},
  150. {type = "achievement", value = {"Choking on Her Venom"}},
  151. {type = "storage", value = {35010, 1}},
  152. {type = "points", value = {3}}
  153. }},
  154.  
  155. [27] = {killsRequired = 300, raceName = "Werewolves", level = {80, 900}, premium = true, creatures = {"werewolf"}, rewards = {
  156. {type = "exp", value = {30000}},
  157. {type = "achievement", value = {"Howly Silence"}},
  158. {type = "storage", value = {35011, 1}},
  159. {type = "points", value = {4}}
  160. }},
  161.  
  162. [28] = {killsRequired = 400, raceName = "Nightmares", level = {80, 900}, premium = true, creatures = {"nightmare", "nightmare scion"}, rewards = {
  163. {type = "exp", value = {25000}},
  164. {type = "achievement", value = {"Dream is Over"}},
  165. {type = "storage", value = {35012, 1}},
  166. {type = "points", value = {3}}
  167. }},
  168.  
  169. [29] = {killsRequired = 600, raceName = "Hellspawns", level = {80, 900}, premium = true, creatures = {"hellspawn"}, rewards = {
  170. {type = "exp", value = {25000}},
  171. {type = "achievement", value = {"Scorched Flames"}},
  172. {type = "storage", value = {35013, 1}}
  173. }},
  174.  
  175. [30] = {killsRequired = 800, raceName = "High Class Lizards", level = {80, 900}, premium = true, creatures = {"lizard chosen", "lizard dragon priest", "lizard high guard", "lizard legionnaire"}, rewards = {
  176. {type = "exp", value = {30000}},
  177. {type = "achievement", value = {"Zzztill Zzztanding!"}},
  178. {type = "storage", value = {35014, 1}},
  179. {type = "points", value = {3}}
  180. }},
  181.  
  182. [31] = {killsRequired = 600, raceName = "Stampors", level = {80, 900}, premium = true, creatures = {"stampor"}, rewards = {
  183. {type = "exp", value = {20000}},
  184. {type = "achievement", value = {"Stepped on a Big Toe"}},
  185. {type = "storage", value = {35015, 1}},
  186. {type = "points", value = {3}}
  187. }},
  188.  
  189. [32] = {killsRequired = 500, raceName = "Brimstone Bugs", level = {80, 900}, premium = true, creatures = {"brimstone bug"}, rewards = {
  190. {type = "exp", value = {15000}},
  191. {type = "achievement", value = {"Something Smells"}},
  192. {type = "storage", value = {35016, 1}},
  193. {type = "points", value = {3}}
  194. }},
  195.  
  196. [33] = {killsRequired = 400, raceName = "Mutated Bats", level = {80, 900}, premium = true, creatures = {"mutated bat"}, rewards = {
  197. {type = "exp", value = {20000}},
  198. {type = "achievement", value = {"Kapow!"}},
  199. {type = "storage", value = {35017, 1}},
  200. {type = "points", value = {2}}
  201. }},
  202.  
  203. --Tasks for level 130+
  204. [34] = {killsRequired = 650, raceName = "Hydras", level = {130, 9999}, premium = true, creatures = {"hydra"}, rewards = {
  205. {type = "exp", value = {30000}},
  206. {type = "achievement", value = {"One Less"}},
  207. {type = "storage", value = {35018, 1}},
  208. {type = "points", value = {3}}
  209. }},
  210.  
  211. [35] = {killsRequired = 800, raceName = "Serpent Spawns", level = {130, 9999}, premium = true, creatures = {"serpent spawn"}, rewards = {
  212. {type = "exp", value = {30000}},
  213. {type = "achievement", value = {"Hissing Downfall"}},
  214. {type = "storage", value = {35019, 1}},
  215. {type = "points", value = {4}}
  216. }},
  217.  
  218. [36] = {killsRequired = 500, raceName = "Medusae", level = {130, 9999}, premium = true, creatures = {"medusa"}, rewards = {
  219. {type = "exp", value = {40000}},
  220. {type = "achievement", value = {"The Serpent's Bride"}},
  221. {type = "storage", value = {35020, 1}},
  222. {type = "points", value = {5}}
  223. }},
  224.  
  225. [37] = {killsRequired = 700, raceName = "Behemoths", level = {130, 9999}, premium = true, creatures = {"behemoth"}, rewards = {
  226. {type = "exp", value = {30000}},
  227. {type = "achievement", value = {"Just Cracked Me Up!"}},
  228. {type = "storage", value = {35021, 1}},
  229. {type = "points", value = {4}}
  230. }},
  231.  
  232. [38] = {killsRequired = 900, raceName = "Sea Serpents and Young Sea Serpents", level = {130, 9999}, premium = true, creatures = {"sea serpent", "young sea serpent"}, rewards = {
  233. {type = "exp", value = {30000}},
  234. {type = "achievement", value = {"The Drowned Sea God"}},
  235. {type = "storage", value = {35022, 1}},
  236. {type = "points", value = {4}}
  237. }},
  238.  
  239. [39] = {killsRequired = 250, raceName = "Hellhounds", level = {130, 9999}, premium = true, creatures = {"hellhound"}, rewards = {
  240. {type = "exp", value = {40000}},
  241. {type = "achievement", value = {"The Gates of Hell"}},
  242. {type = "storage", value = {35023, 1}},
  243. {type = "points", value = {5}}
  244. }},
  245.  
  246. [40] = {killsRequired = 500, raceName = "Ghastly Dragons", level = {130, 9999}, premium = true, creatures = {"ghastly dragon"}, rewards = {
  247. {type = "exp", value = {30000}},
  248. {type = "achievement", value = {"Beautiful Agony"}},
  249. {type = "storage", value = {35024, 1}},
  250. {type = "points", value = {5}}
  251. }},
  252.  
  253. [41] = {killsRequired = 900, raceName = "Drakens", level = {130, 9999}, premium = true, creatures = {"draken spellweaver", "draken warmaster", "draken abomination", "draken elite"} , rewards = {
  254. {type = "exp", value = {30000}},
  255. {type = "achievement", value = {"Enter zze Draken!"}},
  256. {type = "storage", value = {35025, 1}},
  257. {type = "points", value = {3}}
  258. }},
  259.  
  260. [42] = {killsRequired = 650, raceName = "Destroyers", level = {130, 9999}, premium = true, creatures = {"destroyer"}, rewards = {
  261. {type = "exp", value = {30000}},
  262. {type = "achievement", value = {"Best there was!"}},
  263. {type = "storage", value = {35026, 1}},
  264. {type = "points", value = {4}}
  265. }},
  266.  
  267. [43] = {killsRequired = 400, raceName = "Undead Dragons", level = {130, 9999}, premium = true, creatures = {"undead dragon"}, rewards = {
  268. {type = "exp", value = {50000}},
  269. {type = "achievement", value = {"Back from the Dead"}},
  270. {type = "storage", value = {35027, 1}},
  271. {type = "points", value = {6}}
  272. }},
  273.  
  274. --Special tasks.
  275.  
  276. [44] = {killsRequired = 500, raceName = "Demons", level = {130, 9999}, rank = RANK_ELITEHUNTER, premium = true, creatures = {"demon"}, rewards = {
  277. {type = "storage", value = {41300, 1}} --Storage that let's you to start Demon Oak
  278. }},
  279.  
  280. [45] = {killsRequired = 500, raceName = "Green Djinns or Efreets", level = {1, 9999}, storage = {12500, 1}, premium = true, creatures = {"green djinn", "efreet"}, rewards = { --Requires an storage (Gained on The Djinn War - Marid Faction)
  281. {type = "exp", value = {10000}},
  282. {type = "money", value = {5000}},
  283. {type = "storage", value = {35028, 1}}
  284. }},
  285.  
  286. [46] = {killsRequired = 500, raceName = "Blue Djinns or Marids", level = {1, 9999}, storage = {12501, 1}, premium = true, creatures = {"blue djinn", "marid"}, rewards = { --Requires an storage (Gained on The Djinn War - Efreet Faction)
  287. {type = "exp", value = {10000}},
  288. {type = "money", value = {5000}},
  289. {type = "storage", value = {35029, 1}}
  290. }},
  291.  
  292. [47] = {killsRequired = 1000, raceName = "Pirates", level = {1, 9999}, storage = {12600, 1}, premium = true, creatures = {"pirate ghost", "pirate marauder", "pirate cutthroad", "pirate buccaneer", "pirate corsair", "pirate skeleton"}, rewards = { --Requires an storage (Gained on The Shattered Isles Quest)
  293. {type = "exp", value = {10000}},
  294. {type = "money", value = {5000}},
  295. {type = "storage", value = {35030, 1}}
  296. }},
  297.  
  298. [48] = {killsRequired = 1000, raceName = "Pirates second task", level = {1, 9999}, storage = {REPEATSTORAGE_BASE + 47, 3}, norepeatable = true, premium = true, creatures = {"pirate ghost", "pirate marauder", "pirate cutthroad", "pirate buccaneer", "pirate corsair", "pirate skeleton"}, rewards = { --Requires an storage (Gained completing Raymond Striker's first task three times.) NOTE: The required storage to start this task is: base + first pirate task id (47)
  299. {type = "exp", value = {10000}},
  300. {type = "money", value = {5000}},
  301. {type = "storage", value = {35031, 1}}
  302. }},
  303.  
  304. [49] = {killsRequired = 1000, raceName = "Minotaurs", level = {1, 40}, storage = {12700, 1}, norepeatable = true, premium = false, creatures = {"minotaur", "minotaur mage", "minotaur archer"}, rewards = { --Requires an storage (Gained on To Outfox a Fox Quest)
  305. {type = "storage", value = {35032, 1}},
  306. {type = "item", value = {5804, 1}}
  307. }},
  308.  
  309. [50] = {killsRequired = 1000, raceName = "Necromancers and Priestess", level = {60, 9999}, norepeatable = true, premium = true, creatures = {"necromancer", "priestess"}, rewards = { --Requires an storage (Gained on To Outfox a Fox Quest)
  310. {type = "storage", value = {35033, 1}},
  311. {type = "item", value = {5809, 1}},
  312. {type = "storage", value = {12800, 1}} --storage to stark the second Necromancers and Priestess task.
  313. }},
  314.  
  315. [49] = {killsRequired = 1000, name = "Necromancers and Priestess second task", raceName = "Necromancers and Priestess", level = {60, 9999}, storage = {12800, 1}, norepeatable = true, premium = true, creatures = {"necromancer", "priestess"}, rewards = { --Requires an storage (Gained on To Outfox a Fox Quest)
  316. {type = "exp", value = {40000}},
  317. {type = "storage", value = {35033, 1}}
  318. }},
  319. }
  320.  
  321. tasksByPlayer = 3
  322. repeatTimes = 3
  323.  
  324. function getPlayerRank(cid)
  325. return (getPlayerStorageValue(cid, POINTSSTORAGE) >= 100 and RANK_ELITEHUNTER or getPlayerStorageValue(cid, POINTSSTORAGE) >= 70 and RANK_TROPHYHUNTER or getPlayerStorageValue(cid, POINTSSTORAGE) >= 40 and RANK_BIGGAMEHUNTER or getPlayerStorageValue(cid, POINTSSTORAGE) >= 20 and RANK_RANGER or getPlayerStorageValue(cid, POINTSSTORAGE) >= 10 and RANK_HUNTSMAN or RANK_NONE)
  326. end
  327.  
  328. function getTaskByName(name, table)
  329. local t = (table and table or tasks)
  330. for k, v in pairs(t) do
  331. if v.name then
  332. if v.name:lower() == name:lower() then
  333. return k
  334. end
  335. else
  336. if v.raceName:lower() == name:lower() then
  337. return k
  338. end
  339. end
  340. end
  341. return false
  342. end
  343.  
  344. function getTasksByPlayer(cid)
  345. local canmake = {}
  346. local able = {}
  347. for k, v in pairs(tasks) do
  348. if getCreatureStorage(cid, QUESTSTORAGE_BASE + k) < 1 and getCreatureStorage(cid, REPEATSTORAGE_BASE + k) < repeatTimes then
  349. able[k] = true
  350. if getPlayerLevel(cid) < v.level[1] or getPlayerLevel(cid) > v.level[2] then
  351. able[k] = false
  352. end
  353. if v.storage and getCreatureStorage(cid, v.storage[1]) < v.storage[2] then
  354. able[k] = false
  355. end
  356.  
  357. if v.rank then
  358. if getPlayerRank(cid) < v.rank then
  359. able[k] = false
  360. end
  361. end
  362.  
  363. if v.premium then
  364. if not isPremium(cid) then
  365. able[k] = false
  366. end
  367. end
  368.  
  369. if able[k] then
  370. table.insert(canmake, k)
  371. end
  372. end
  373. end
  374. return canmake
  375. end
  376.  
  377.  
  378. function canStartTask(cid, name, table)
  379. local v = ""
  380. local id = 0
  381. local t = (table and table or tasks)
  382. for k, i in pairs(t) do
  383. if i.name then
  384. if i.name:lower() == name:lower() then
  385. v = i
  386. id = k
  387. break
  388. end
  389. else
  390. if i.raceName:lower() == name:lower() then
  391. v = i
  392. id = k
  393. break
  394. end
  395. end
  396. end
  397. if v == "" then
  398. return false
  399. end
  400. if getCreatureStorage(cid, QUESTSTORAGE_BASE + id) > 0 then
  401. return false
  402. end
  403. if (getCreatureStorage(cid, REPEATSTORAGE_BASE + id) >= repeatTimes) or (v.norepeatable and getCreatureStorage(cid, REPEATSTORAGE_BASE + id) > 0) then
  404. return false
  405. end
  406. if getPlayerLevel(cid) >= v.level[1] and getPlayerLevel(cid) <= v.level[2] then
  407. if v.premium then
  408. if isPremium(cid) then
  409. if v.rank then
  410. if getPlayerRank(cid) >= v.rank then
  411. if v.storage then
  412. if getCreatureStorage(cid, v.storage[1]) >= v.storage[2] then
  413. return true
  414. end
  415. else
  416. return true
  417. end
  418. end
  419. else
  420. return true
  421. end
  422. end
  423. else
  424. return true
  425. end
  426. end
  427. return false
  428. end
  429.  
  430. function getPlayerStartedTasks(cid)
  431.  
  432. local tmp = {}
  433. for k, v in pairs(tasks) do
  434. if getCreatureStorage(cid, QUESTSTORAGE_BASE + k) > 0 and getCreatureStorage(cid, QUESTSTORAGE_BASE + k) < 2 then
  435. table.insert(tmp, k)
  436. end
  437. end
  438. return tmp
  439. end
  440.  
  441. function isSummon(cid)
  442. return getCreatureMaster(cid) ~= cid or false
  443. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement