Falkirk

Chainwatch

Dec 4th, 2017
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 3.02 KB | None | 0 0
  1. _addon.name = 'ChainWatch'
  2. _addon.author = 'Sammeh'
  3. _addon.version = '1.0.0.1'
  4. _addon.command = 'cw'
  5.  
  6. require 'pack'
  7.  
  8.  
  9. windower.register_event('incoming chunk',function(id,org,modi,is_injected,is_blocked)
  10.     if is_injected then return end
  11.     if id == 0x2D then
  12.         local val = org:unpack('I',0x11)
  13.         local msg = org:unpack('H',0x19)%1024
  14.         local param_1 = org:unpack('I',0x9)
  15.         local param_2 = org:unpack('I',0xD)
  16.         local param_3 = org:unpack('I',0x11)
  17.         local param_4 = org:unpack('I',0x15)
  18.         -- windower.add_to_chat(2,'Message:'..msg..' Val:'..val..'Param 4:'..param_4)
  19.         if msg == 372 or msg == 371 then
  20.             -- windower.add_to_chat(8,'Current EXP Chain:'..param_4)
  21.             if param_4 == 0 then exp_timer = 360
  22.             elseif param_4 == 1 then exp_timer = 300
  23.             elseif param_4 == 2 then exp_timer = 240
  24.             elseif param_4 == 3 then exp_timer = 165
  25.             elseif param_4 == 4 then exp_timer = 105
  26.             elseif param_4 > 4 then exp_timer = 60
  27.             end
  28.             --windower.send_command('timers delete "EXP Chain:"')
  29.             if param_4 > 0 then
  30.                 --windower.send_command('timers create "EXP Chain:" '..exp_timer..' down')
  31.             end
  32.             if last_kill == 1 then
  33.                 --windower.send_command('timers delete "Last Kill:"')
  34.                 windower.send_command('timers create "Last Kill:" 30 down')
  35.             end
  36.         elseif msg == 735 or msg == 718 then
  37.             if param_4 == 0 then cp_timer = 40
  38.             elseif param_4 == 1 then cp_timer = 30
  39.             elseif param_4 == 2 then cp_timer = 30
  40.             elseif param_4 > 2 then cp_timer = 30
  41.             end
  42.             -- windower.add_to_chat(8,'Current CP Chain:'..param_4)
  43.             --windower.send_command('timers delete "CP Chain:"')
  44.             if param_4 > 0 then
  45.                 windower.send_command('timers create "CP Chain:" '..cp_timer..' down')
  46.             end
  47.         else
  48.             -- windower.add_to_chat(8,'MSG:'..msg..' VAL:'..val..' Param1:'..param_1..' '..param_2..' '..param_3..' '..param_4)
  49.         end
  50.     elseif id == 0x63 and org:byte(5) == 5 then
  51.         local offset = windower.ffxi.get_player().main_job_id*6+13 -- So WAR (ID==1) starts at byte 19
  52.         current = org:unpack('H',offset)
  53.         number_of_job_points = org:unpack('H',offset+2)
  54.         -- windower.add_to_chat(8,'Current Job Points:'..number_of_job_points)
  55.         if number_of_job_points == 500 then
  56.             last_kill = 1
  57.         end
  58.     elseif id == 0x63 and org:byte(5) ~= 5 and org:byte(5) ~= 7 then
  59.      -- windower.add_to_chat(8,'Found Byte 63 Value:'..org:byte(5))
  60.     end
  61. end)
  62.  
  63.  
  64. windower.register_event('load', function()
  65.     windower.send_command('timers delete "CP Chain:"')
  66.     windower.send_command('timers delete "EXP Chain:"')
  67.     last_kill = 0
  68. end)
  69.  
  70. windower.register_event('zone change',function(new,old)
  71.     windower.send_command('timers delete "CP Chain:"')
  72.     windower.send_command('timers delete "EXP Chain:"')
  73. end)
  74.  
  75. windower.register_event('addon command', function(command)
  76.     if command == 'showlastkill' then
  77.         last_kill = 1
  78.     end
  79. end)
  80.  
  81. windower.register_event('job change', function()
  82.     windower.send_command('timers delete "CP Chain:"')
  83.     windower.send_command('timers delete "EXP Chain:"')
  84.     last_kill = 0
  85. end)
Add Comment
Please, Sign In to add comment