deadx2

Untitled

Aug 27th, 2017
643
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.26 KB | None | 0 0
  1. achievements = {}
  2. achievements['Level'] =
  3. {
  4. {10, 10},
  5. {15, 15},
  6. {20, 20},
  7. {25, 25},
  8. {30, 30},
  9. {35, 35},
  10. {40, 40},
  11. {45, 45},
  12. {50, 50},
  13. {55, 55},
  14. {60, 60},
  15. {65, 65},
  16. {70, 70},
  17. {75, 75},
  18. {80, 80},
  19. {85, 85},
  20. {90, 90},
  21. {95, 95},
  22. {100, 100},
  23. {105, 105},
  24. {110, 110},
  25. {115, 115},
  26. {120, 120},
  27. {125, 125},
  28. {130, 130},
  29. {135, 135},
  30. {140, 140},
  31. {145, 145},
  32. {150, 150},
  33. {151, 155},
  34. {152, 160},
  35. {153, 165},
  36. {154, 170},
  37. {155, 175}
  38. }
  39.  
  40. achievements['Droga'] = {
  41. -- najemnik
  42. [1] = {
  43. {"najemnik_010", 70},
  44. {"najemnik_030", 80},
  45. {"najemnik_050", 90},
  46. {"najemnik_070", 100},
  47. {"najemnik_090", 110},
  48. {"najemnik_110", 120},
  49. {"najemnik_130", 130},
  50. {"najemnik_140", 140},
  51. {"najemnik_150", 150},
  52. {"najemnik_151", 160},
  53. {"najemnik_152", 170},
  54. {"najemnik_153", 180},
  55. {"najemnik_154", 190},
  56. {"najemnik_155", 200}
  57. },
  58. -- wojownik
  59. [2] = {
  60. {"wojownik_010", 70},
  61. {"wojownik_030", 80},
  62. {"wojownik_050", 90},
  63. {"wojownik_070", 100},
  64. {"wojownik_090", 110},
  65. {"wojownik_110", 120},
  66. {"wojownik_130", 130},
  67. {"wojownik_140", 140},
  68. {"wojownik_150", 150},
  69. {"wojownik_151", 160},
  70. {"wojownik_152", 170},
  71. {"wojownik_153", 180},
  72. {"wojownik_154", 190},
  73. {"wojownik_155", 200}
  74. },
  75. -- odkrywca
  76. [3] = {
  77. {"odkrywca_010", 70},
  78. {"odkrywca_030", 80},
  79. {"odkrywca_050", 90},
  80. {"odkrywca_070", 100},
  81. {"odkrywca_090", 110},
  82. {"odkrywca_110", 120},
  83. {"odkrywca_130", 130},
  84. {"odkrywca_140", 140},
  85. {"odkrywca_150", 150},
  86. {"odkrywca_151", 160},
  87. {"odkrywca_152", 170},
  88. {"odkrywca_153", 180},
  89. {"odkrywca_154", 190},
  90. {"odkrywca_155", 200}
  91. }
  92. }
  93.  
  94. achievements['Biolog'] = {
  95. {"collect_quest_lv030", 80},
  96. {"collect_quest_lv050", 90},
  97. {"collect_quest_lv070", 100},
  98. {"collect_quest_lv090", 110},
  99. {"collect_quest_lv110", 120},
  100. {"collect_quest_lv130", 130},
  101. {"collect_quest_lv140", 140},
  102. {"collect_quest_lv150", 150},
  103. {"collect_quest_lv151", 160},
  104. {"collect_quest_lv152", 170},
  105. {"collect_quest_lv153", 180},
  106. {"collect_quest_lv154", 190},
  107. {"collect_quest_lv155", 200}
  108. },
  109.  
  110. achievements['Mobs'] = {}
  111. achievements['Mobs']['MIDX'] = {
  112. 101
  113. }
  114. achievements['Mobs'][101] = {{10, 5}, {15, 10}, {20, 15}, {25, 20}, {30, 25}}
  115. achievements['Mobs2'] = {}
  116. achievements['Mobs2']['MIDX'] = {
  117. 5391
  118. }
  119. achievements['Mobs2'][5391] = {{10, 5}, {15, 10}, {20, 15}, {25, 20}, {30, 25}}
  120. achievements['Mobs3'] = {}
  121. achievements['Mobs3']['MIDX'] = {
  122. 5191
  123. }
  124. achievements['Mobs3'][5191] = {{10, 5}, {15, 10}, {20, 15}, {25, 20}, {30, 25}}
  125. achievements['Mobs4'] = {}
  126. achievements['Mobs4']['MIDX'] = {
  127. 5291
  128. }
  129. achievements['Mobs4'][5291] = {{10, 5}, {15, 10}, {20, 15}, {25, 20}, {30, 25}}
  130. achievements['Metins'] = {}
  131. achievements['Metins']['MIDX'] = {
  132. 9001
  133. }
  134. achievements['Metins'][9001] = {{2, 10}, {5, 15}}
  135. achievements['Bosses'] = {}
  136. achievements['Bosses']['MIDX'] = {
  137. 691
  138. }
  139. achievements['Bosses'][691] = {{5, 50}, {10, 100}}
  140.  
  141.  
  142.  
  143. function achievements.load_achievements()
  144. local levels,mobs,mobs2,mobs3,mobs4,bosses,metins = achievements['Level'],achievements['Mobs'],achievements['Mobs2'],achievements['Mobs3'],achievements['Mobs4'],achievements['Bosses'],achievements['Metins']
  145.  
  146. for i = 1, table.getn(levels) do
  147. cmdchat(string.format("ACHIEVEMENTS SET_ACHIEVEMENT#1#%d#%d#%d#%d", pc.get_level(), levels[i][1], levels[i][2], 0))
  148. end
  149.  
  150. local wybrana_droga = tonumber(pc.getf("twoja_droga","wybrana_droga"))
  151. if (wybrana_droga == 0) then
  152. local misje = achievements['Droga'][1]
  153. for i = 1, table.getn(misje) do
  154. cmdchat(string.format("ACHIEVEMENTS SET_ACHIEVEMENT#2#%d#%d#%d#%d", 0, 1, misje[i][2], 0))
  155. end
  156. else
  157. local complete = 0
  158. local misje = achievements['Droga'][wybrana_droga]
  159. for i = 1, table.getn(misje) do
  160. if achievements.is_quest_complete(misje[i][1]) then
  161. complete = 1
  162. else
  163. complete = 0
  164. end
  165. cmdchat(string.format("ACHIEVEMENTS SET_ACHIEVEMENT#2#%d#%d#%d#%d", complete, 1, misje[i][2], 0))
  166. end
  167. end
  168.  
  169. local badania_biologa = tonumber(pc.getf("collect","badania_biologa"))
  170. if (badania_biologa == 0) then
  171. local misje_biolog = achievements['Biolog'][1]
  172. for i = 1, table.getn(misje_biolog) do
  173. cmdchat(string.format("ACHIEVEMENTS SET_ACHIEVEMENT#3#%d#%d#%d#%d", 0, 1, misje_biolog[i][2], 0))
  174. end
  175. else
  176. local complete = 0
  177. local misje_biolog = achievements['Biolog']
  178. for i = 1, table.getn(misje_biolog) do
  179. if achievements.is_quest_complete(misje_biolog[i][1]) then
  180. complete = 1
  181. else
  182. complete = 0
  183. end
  184. cmdchat(string.format("ACHIEVEMENTS SET_ACHIEVEMENT#3#%d#%d#%d#%d", complete, 1, misje_biolog[i][2], 0))
  185. end
  186. end
  187. -- for index, value in pairs(achievements['Mobs']['MIDX']) do
  188. -- local mobInfoTab = achievements.getAchievementInfo(value, 'Mobs')
  189. -- if mobInfoTab ~= nil then
  190. -- for i = 1, table.getn(mobInfoTab) do
  191. -- cmdchat(string.format("ACHIEVEMENTS SET_ACHIEVEMENT#2#%d#%d#%d#%d", achievements.getf(string.format("mob_kills_%d", value)), mobInfoTab[i][1], mobInfoTab[i][2], value))
  192. -- end
  193. -- end
  194. -- end
  195. -- for index, value in pairs(achievements['Mobs2']['MIDX']) do
  196. -- local mobInfoTab2 = achievements.getAchievementInfo(value, 'Mobs2')
  197. -- if mobInfoTab2 ~= nil then
  198. -- for i = 1, table.getn(mobInfoTab2) do
  199. -- cmdchat(string.format("ACHIEVEMENTS SET_ACHIEVEMENT#6#%d#%d#%d#%d", achievements.getf(string.format("mob2_kills_%d", value)), mobInfoTab2[i][1], mobInfoTab2[i][2], value))
  200. -- end
  201. -- end
  202. -- end
  203.  
  204. for index, value in pairs(achievements['Mobs3']['MIDX']) do
  205. local mobInfoTab3 = achievements.getAchievementInfo(value, 'Mobs3')
  206. if mobInfoTab3 ~= nil then
  207. for i = 1, table.getn(mobInfoTab3) do
  208. cmdchat(string.format("ACHIEVEMENTS SET_ACHIEVEMENT#7#%d#%d#%d#%d", achievements.getf(string.format("mob3_kills_%d", value)), mobInfoTab3[i][1], mobInfoTab3[i][2], value))
  209. end
  210. end
  211. end
  212.  
  213. for index, value in pairs(achievements['Mobs4']['MIDX']) do
  214. local mobInfoTab4 = achievements.getAchievementInfo(value, 'Mobs4')
  215. if mobInfoTab4 ~= nil then
  216. for i = 1, table.getn(mobInfoTab4) do
  217. cmdchat(string.format("ACHIEVEMENTS SET_ACHIEVEMENT#5#%d#%d#%d#%d", achievements.getf(string.format("mob4_kills_%d", value)), mobInfoTab4[i][1], mobInfoTab4[i][2], value))
  218. end
  219. end
  220. end
  221. for index, value in pairs(achievements['Bosses']['MIDX']) do
  222. local bossInfoTab = achievements.getAchievementInfo(value, 'Bosses')
  223. if bossInfoTab ~= nil then
  224. for i = 1, table.getn(bossInfoTab) do
  225. cmdchat(string.format("ACHIEVEMENTS SET_ACHIEVEMENT#3#%d#%d#%d#%d", achievements.getf(string.format("boss_kills_%d", value)), bossInfoTab[i][1], bossInfoTab[i][2], value))
  226. end
  227. end
  228. end
  229. for index, value in pairs(achievements['Metins']['MIDX']) do
  230. local metinInfoTab = achievements.getAchievementInfo(value, 'Metins')
  231. if metinInfoTab ~= nil then
  232. for i = 1, table.getn(metinInfoTab) do
  233. cmdchat(string.format("ACHIEVEMENTS SET_ACHIEVEMENT#4#%d#%d#%d#%d", achievements.getf(string.format("metin_kills_%d", value)), metinInfoTab[i][1], metinInfoTab[i][2], value))
  234. end
  235. end
  236. end
  237.  
  238. achievements.get_ap()
  239. end
  240.  
  241. function achievements.create_categorys()
  242. for i = 1,7 do
  243. cmdchat("ACHIEVEMENTS SET_CATEGORY#"..i)
  244. end
  245. end
  246.  
  247. function achievements.getAchievementInfo(race, tab)
  248. if achievements[tab][race] ~= nil then
  249. return achievements[tab][race]
  250. else
  251. return {}
  252. end
  253. end
  254.  
  255. function achievements.get_next_achievement(flag, tab)
  256. local n = achievements.getf(flag)
  257. return achievements[tab][n] or 0
  258. end
  259.  
  260. function achievements.get_ap()
  261. cmdchat("ACHIEVEMENTS SET_AP#"..AchivmentAllPoints())
  262. return AchivmentAllPoints()
  263. end
  264.  
  265. function achievements.get_only_ap()
  266. local c,info = mysql_direct_query("SELECT punkty_osiagniec FROM player.player WHERE name = '"..pc.get_name().."' LIMIT 1;")
  267. cmdchat("ACHIEVEMENTS SET_AP#"..info[1].punkty_osiagniec)
  268. return info[1].punkty_osiagniec or 0
  269. end
  270.  
  271. function achievements.set_ap(points)
  272. mysql_direct_query("UPDATE player.player SET punkty_osiagniec = punkty_osiagniec + "..points.." WHERE name = '"..pc.get_name().."';")
  273. achievements.get_ap()
  274. end
  275.  
  276. function achievements.check_if_first()
  277. if achievements.getf("first_login") == 0 then
  278. local categorys = {"level", "pvp", "time", "first_login"}
  279. for i = 1, table.getn(categorys) do
  280. achievements.setf(categorys[i], 1)
  281. end
  282. io.open(get_locale_base_path()..'/quest/Achievementsystem/'..pc.get_player_id()..'.txt', 'w')
  283. end
  284. end
  285.  
  286. function achievements.set_finished(category, value, points, mobVnum)
  287. local file_path = io.open(get_locale_base_path()..'/quest/Achievementsystem/'..pc.get_player_id()..'.txt', 'a+')
  288. file_path:write(string.format('%d,%d,%d,%d\n', category, value, points, mobVnum))
  289. file_path:close()
  290. cmdchat('ACHIEVEMENTS SET_FINISHED#'..category..'#'..value..'#'..points..'#'..mobVnum)
  291. achievements.load_last_finished_achievements()
  292. end
  293.  
  294. function achievements.load_last_finished_achievements()
  295. cmdchat('ACHIEVEMENTS CLEAR_LAST_FINISHED#')
  296. local file_path = get_locale_base_path()..'/quest/Achievementsystem/'..pc.get_player_id()..'.txt'
  297. for line in io.lines(file_path, 'r') do
  298. cmdchat('ACHIEVEMENTS SET_LAST_FINISHED#'..line)
  299. end
  300. cmdchat('ACHIEVEMENTS REFRESH_LAST_FINISHED#')
  301. end
  302.  
  303. function achievements.load_achievementshop_items()
  304. local c,items = mysql_direct_query("SELECT * FROM account.achievementshop_items;")
  305. if c > 0 then
  306. for i = 1,c do
  307. cmdchat('ACHIEVEMENTS SET_ACHIEVEMENTSHOP_ITEM#'..items[i].category..'#'..items[i].id..'#'..items[i].vnum..'#'..items[i].price)
  308. end
  309. end
  310. end
  311.  
  312. function achievements.set_achievementshop_categories()
  313. for i = 1,5 do
  314. cmdchat('ACHIEVEMENTS SET_ACHIEVEMENTSHOP_CATEGORY#'..i)
  315. end
  316. end
  317.  
  318. function achievements.buy_achievementshop_item(item_id, amount)
  319. local c,itemInfo = mysql_direct_query("SELECT * FROM account.achievementshop_items WHERE id = "..item_id..";")
  320. if c > 0 then
  321. local price = tonumber(itemInfo[1].price)
  322. if amount > 1 then price = price*amount end
  323. if achievements.get_ap() < price then syschat('No tienes suficientes puntos de logro.') return end
  324. pc.give_item2_select(tonumber(itemInfo[1].vnum), amount)
  325. achievements.unset_ap(price)
  326. end
  327. end
  328.  
  329. function achievements.unset_ap(points)
  330. mysql_direct_query("UPDATE player.player SET punkty_osiagniec = punkty_osiagniec - "..points.." WHERE name = '"..pc.get_name().."';")
  331. achievements.get_ap()
  332. end
  333.  
  334. function achievements.getf(flag)
  335. return pc.getf("achievements", flag)
  336. end
  337.  
  338. function achievements.setf(flag, value)
  339. pc.setf("achievements", flag, value)
  340. end
  341.  
  342. function achievements.is_quest_complete(quest_name)
  343. return !(get_quest_state(quest_name) != get_quest_state("state_complete_value"))
  344. end
Advertisement
Add Comment
Please, Sign In to add comment