Advertisement
deadx2

Untitled

Aug 15th, 2017
222
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 8.58 KB | None | 0 0
  1. quest achievementsystem begin
  2.     state start begin
  3.        
  4.         when login begin
  5.             cmdchat("ACHIEVEMENTS QID#"..q.getcurrentquestindex())
  6.             achievements.check_if_first()
  7.             achievements.create_categorys()
  8.             achievements.load_achievements()
  9.             achievements.load_last_finished_achievements()
  10.             achievements.set_achievementshop_categories()
  11.             achievements.load_achievementshop_items()
  12.             loop_timer('achievements_level_flogin_check', 5)
  13.             loop_timer('achievementstime_achievements_flogin_check', 1)
  14.         end
  15.        
  16.         when logout or disconnect begin
  17.             cleartimer('time_achievements')
  18.         end
  19.        
  20.         when button begin
  21.             cmdchat('ACHIEVEMENTS INPUT#1')
  22.             local ashop = split2(input(cmdchat('ACHIEVEMENTS SEND#')), '#')
  23.             cmdchat('ACHIEVEMENTS INPUT#0')
  24.             if ashop[1] == 'BUY_ITEM' then
  25.                 achievements.buy_achievementshop_item(tonumber(ashop[2]), tonumber(ashop[3]))
  26.             end
  27.         end
  28.        
  29.         when levelup begin
  30.             local info_level = achievements.get_next_achievement("level", 'Level')
  31.             if type(info_level) ~= 'table' then return end
  32.             cmdchat(string.format('ACHIEVEMENTS UPDATE_ACHIEVEMENT#%d#%d', 1, pc.get_level()))
  33.             cmdchat('ACHIEVEMENTS REFRESH_ACHIEVEMENTS#')
  34.             if pc.get_level() >= info_level[1] then
  35.                 achievements.set_finished(1, info_level[1], info_level[2], 0)
  36.                 achievements.set_ap(info_level[2])
  37.                 achievements.setf("level", achievements.getf("level")+1)
  38.             end
  39.         end
  40.        
  41.         when 101.kill begin
  42.             local npcRace = npc.get_race()
  43.             local achievementMobInfo,mobInfo,mobKills = achievements.getAchievementInfo(npcRace, 'Mobs'),achievements.getf(string.format("mob_info_%d", npcRace))+1,achievements.getf(string.format("mob_kills_%d", npcRace))+1
  44.             if table.getn(achievementMobInfo) < mobInfo then return end
  45.             cmdchat('ACHIEVEMENTS UPDATE_ACHIEVEMENT#2#'..mobKills..'#'..npcRace)
  46.             cmdchat('ACHIEVEMENTS REFRESH_ACHIEVEMENTS#')
  47.             achievementMobInfo = achievementMobInfo[mobInfo]
  48.             achievements.setf(string.format("mob_kills_%d", npcRace), mobKills)
  49.             if mobKills >= achievementMobInfo[1] then
  50.                 achievements.set_finished(2, achievementMobInfo[1], achievementMobInfo[2], npcRace)
  51.                 achievements.set_ap(achievementMobInfo[2])
  52.                 achievements.setf(string.format("mob_info_%d", npcRace), mobInfo)
  53.             end
  54.         end
  55.        
  56.         when 5391.kill begin
  57.             local npcRace = npc.get_race()
  58.             local achievementMob2Info,mob2Info,mob2Kills = achievements.getAchievementInfo(npcRace, 'Mobs2'),achievements.getf(string.format("mob2_info_%d", npcRace))+1,achievements.getf(string.format("mob2_kills_%d", npcRace))+1
  59.             if table.getn(achievementMob2Info) < mob2Info then return end
  60.             cmdchat('ACHIEVEMENTS UPDATE_ACHIEVEMENT#6#'..mob2Kills..'#'..npcRace)
  61.             cmdchat('ACHIEVEMENTS REFRESH_ACHIEVEMENTS#')
  62.             achievementMob2Info = achievementMob2Info[mob2Info]
  63.             achievements.setf(string.format("mob2_kills_%d", npcRace), mob2Kills)
  64.             if mob2Kills >= achievementMob2Info[1] then
  65.                 achievements.set_finished(6, achievementMob2Info[1], achievementMob2Info[2], npcRace)
  66.                 achievements.set_ap(achievementMob2Info[2])
  67.                 achievements.setf(string.format("mob2_info_%d", npcRace), mob2Info)
  68.             end
  69.         end
  70.        
  71.         when 5191.kill begin
  72.             local npcRace = npc.get_race()
  73.             local achievementMob3Info,mob3Info,mob3Kills = achievements.getAchievementInfo(npcRace, 'Mobs3'),achievements.getf(string.format("mob3_info_%d", npcRace))+1,achievements.getf(string.format("mob3_kills_%d", npcRace))+1
  74.             if table.getn(achievementMob3Info) < mob3Info then return end
  75.             cmdchat('ACHIEVEMENTS UPDATE_ACHIEVEMENT#7#'..mob3Kills..'#'..npcRace)
  76.             cmdchat('ACHIEVEMENTS REFRESH_ACHIEVEMENTS#')
  77.             achievementMob3Info = achievementMob3Info[mob3Info]
  78.             achievements.setf(string.format("mob3_kills_%d", npcRace), mob3Kills)
  79.             if mob3Kills >= achievementMob3Info[1] then
  80.                 achievements.set_finished(7, achievementMob3Info[1], achievementMob3Info[2], npcRace)
  81.                 achievements.set_ap(achievementMob3Info[2])
  82.                 achievements.setf(string.format("mob3_info_%d", npcRace), mob3Info)
  83.             end
  84.         end
  85.        
  86.         when 5291.kill begin
  87.             local npcRace = npc.get_race()
  88.             local achievementMob4Info,mob4Info,mob4Kills = achievements.getAchievementInfo(npcRace, 'Mobs4'),achievements.getf(string.format("mob4_info_%d", npcRace))+1,achievements.getf(string.format("mob4_kills_%d", npcRace))+1
  89.             if table.getn(achievementMob4Info) < mob4Info then return end
  90.             cmdchat('ACHIEVEMENTS UPDATE_ACHIEVEMENT#5#'..mob4Kills..'#'..npcRace)
  91.             cmdchat('ACHIEVEMENTS REFRESH_ACHIEVEMENTS#')
  92.             achievementMob4Info = achievementMob4Info[mob4Info]
  93.             achievements.setf(string.format("mob4_kills_%d", npcRace), mob4Kills)
  94.             if mob4Kills >= achievementMob4Info[1] then
  95.                 achievements.set_finished(5, achievementMob4Info[1], achievementMob4Info[2], npcRace)
  96.                 achievements.set_ap(achievementMob4Info[2])
  97.                 achievements.setf(string.format("mob4_info_%d", npcRace), mob4Info)
  98.             end
  99.         end
  100.        
  101.         when kill with npc.is_boss() begin
  102.             local npcRace = npc.get_race()
  103.             local achievementBossInfo,bossInfo,bossKills = achievements.getAchievementInfo(npcRace, 'Bosses'),achievements.getf(string.format("boss_info_%d", npcRace))+1,achievements.getf(string.format("boss_kills_%d", npcRace))+1
  104.             if table.getn(achievementBossInfo) < bossInfo then return end
  105.             cmdchat('ACHIEVEMENTS UPDATE_ACHIEVEMENT#3#'..bossKills..'#'..npcRace)
  106.             cmdchat('ACHIEVEMENTS REFRESH_ACHIEVEMENTS#')
  107.             achievementBossInfo = achievementBossInfo[bossInfo]
  108.             achievements.setf(string.format("boss_kills_%d", npcRace), bossKills)
  109.             if bossKills >= achievementBossInfo[1] then
  110.                 achievements.set_finished(3, achievementBossInfo[1], achievementBossInfo[2], npcRace)
  111.                 achievements.set_ap(achievementBossInfo[2])
  112.                 achievements.setf(string.format("boss_info_%d", npcRace), bossInfo)
  113.             end
  114.         end
  115.        
  116.         when 9001.kill begin
  117.             local npcRace = npc.get_race()
  118.             local achievementMetinInfo,metinInfo,metinKills = achievements.getAchievementInfo(npcRace, 'Metins'),achievements.getf(string.format("metin_info_%d", npcRace))+1,achievements.getf(string.format("metin_kills_%d", npcRace))+1
  119.             if table.getn(achievementMetinInfo) < metinInfo then return end
  120.             cmdchat('ACHIEVEMENTS UPDATE_ACHIEVEMENT#4#'..metinKills..'#'..npcRace)
  121.             cmdchat('ACHIEVEMENTS REFRESH_ACHIEVEMENTS#')
  122.             achievementMetinInfo = achievementMetinInfo[metinInfo]
  123.             achievements.setf(string.format("metin_kills_%d", npcRace), metinKills)
  124.             if metinKills >= achievementMetinInfo[1] then
  125.                 achievements.set_finished(4, achievementMetinInfo[1], achievementMetinInfo[2], npcRace)
  126.                 achievements.set_ap(achievementMetinInfo[2])
  127.                 achievements.setf(string.format("metin_info_%d", npcRace), metinInfo)
  128.             end
  129.         end
  130. --[[
  131.         when kill with npc.is_pc() begin
  132.             local pvp,info_pvp = achievements.getf("pc_kills")+1,achievements.get_next_achievement("pvp", 'Pvp')
  133.             achievements.setf("pc_kills", pvp)
  134.             if type(info_pvp) ~= 'table' then return end
  135.             cmdchat(string.format('ACHIEVEMENTS UPDATE_ACHIEVEMENT#%d#%d', 6, pvp))
  136.             cmdchat('ACHIEVEMENTS REFRESH_ACHIEVEMENTS#')
  137.             if pvp >= info_pvp[1] then
  138.                 achievements.set_finished(6, info_pvp[1], info_pvp[2], 0)
  139.                 achievements.set_ap(info_pvp[2])
  140.                 achievements.setf("pvp", achievements.getf("pvp")+1)
  141.             end
  142.         end
  143.  
  144.         when time_achievements.timer begin
  145.             chat('time_achievements: 180sec')
  146.             local info_time = achievements.get_next_achievement("time", 'PlayedTime')
  147.             if type(info_time) ~= 'table' then return end
  148.             cmdchat(string.format('ACHIEVEMENTS UPDATE_ACHIEVEMENT#%d#%d', 5, pc.get_playtime()))
  149.             cmdchat('ACHIEVEMENTS REFRESH_ACHIEVEMENTS#')
  150.             if pc.get_playtime() >= info_time[1] then
  151.                 achievements.set_finished(5, info_time[1], info_time[2], 0)
  152.                 achievements.set_ap(info_time[2])
  153.                 achievements.setf("time", achievements.getf("time")+1)
  154.             end
  155.         end
  156.        
  157.         when achievementstime_achievements_flogin_check.timer begin
  158.             cleartimer('achievementstime_achievements_flogin_check') loop_timer('achievementstime_achievements_flogin_check', 10)
  159.             local info_time = achievements.get_next_achievement("time", 'PlayedTime')
  160.             if type(info_time) ~= 'table' then cleartimer('achievementstime_achievements_flogin_check') loop_timer('time_achievements', 60*3) return end
  161.             if pc.get_playtime() >= info_time[1] then
  162.                 achievements.set_finished(5, info_time[1], info_time[2], 0)
  163.                 achievements.set_ap(info_time[2])
  164.                 achievements.setf("time", achievements.getf("time")+1)
  165.             end
  166.         end
  167.         ]]
  168.         when achievements_level_flogin_check.timer begin
  169.             local info_level = achievements.get_next_achievement("level", 'Level')
  170.             if type(info_level) ~= 'table' then cleartimer('achievements_level_flogin_check') return end
  171.             if pc.get_level() >= info_level[1] then
  172.                 achievements.set_finished(1, info_level[1], info_level[2], 0)
  173.                 achievements.set_ap(info_level[2])
  174.                 achievements.setf("level", achievements.getf("level")+1)
  175.             end
  176.         end
  177.  
  178.     end
  179. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement