Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- *** Credit goes to Flippant for helping me with Gearswap *** --
- -- Last Updated: 03/08/14 2:30 PM *Changed JA Names* --
- function get_sets()
- AccIndex = 1
- AccArray = {"LowACC","MidACC","HighACC","AtkCap"} -- 3 Levels Of Accuracy Sets For Shooting/TP/WS. Default ACC Set Is LowACC. The First TP Set Of Your Main Weapon Is LowACC. Add More ACC Sets If Needed Then Create Your New ACC Below --
- IdleIndex = 1
- IdleArray = {'Movement', 'Regen'} -- Default Idle Set Is Movement --
- Armor = 'None'
- autoRAmode = 0
- target_distance = 5 -- Set Default Distance Here --
- send_command('input /macro book 8;wait .1;input /macro set 10') -- Change Default Macro Book Here --
- ranged_ws = S{
- "Hot Shot","Split Shot","Sniper Shot","Slug Shot","Blast Shot","Heavy Shot","Detonator",
- "Numbing Shot","Last Stand","Coronach","Trueflight","Wildfire","Flaming Arrow",
- "Piercing Arrow","Dulling Arrow","Sidewinder","Blast Arrow","Arching Arrow",
- "Empyreal Arrow","Refulgent Arrow","Apex Arrow","Namas Arrow","Jishnu's Radiance"}
- sc_map = {SC1="DoubleShot", SC2="Coronach", SC3="Ranged"} -- 3 Additional Binds. Can Change Whatever JA/WS/Spells You Like Here. Remember Not To Use Spaces. --
- -- Idle/Town Sets --
- sets.Idle = {}
- sets.Idle.Regen = set_combine(sets.Idle.Movement,{})
- sets.Idle.Movement = {
- head="Umbani Cap",neck="Ej Necklace",
- ear1="Clearview Earring",ear2="Volley Earring",
- body="Kyujutsugi",hands="Buremte Gloves",
- ring1="Pyrosoul Ring",ring2="Rajas Ring",
- back="Sylvan Chlamys",waist="Elanid Belt",
- legs="Orion Braccae +1",feet="Skd. Jambeaux +1"}
- -- Preshot --
- sets.Preshot = {
- head="Orion Beret +1",neck="Ej Necklace",
- body="Sylvan Caban +2",hands="Iuitl Wristbands +1",
- ring1="Hajduk Ring",ring2="Hajduk Ring",
- back="Libeccio Mantle",waist="Impulse Belt",
- legs="Nahtirah Trousers",feet="Wurrukatte Boots"}
- -- Shooting Base Set --
- sets.Midshot = {}
- -- Annihilator Sets --
- sets.Midshot.Annihilator = {
- range="Annihilator",
- head="Arcadian Beret +1",neck="Ocachi Gorget",
- ear1="Clearview Earring",ear2="Volley Earring",
- body="Kyujutsugi",hands="Sigyn's Bazubands",
- ring1="Hajduk Ring",ring2="Rajas Ring",
- back="Libeccio Mantle",waist="Elanid Belt",
- legs="Nahtirah Trousers",feet="Orion Socks +1"}
- sets.Midshot.Annihilator.MidACC = set_combine(sets.Midshot.Annihilator,{
- ear1="Clearview Earring",
- back="Lutian Cape",
- legs="Orion Braccae +1",
- feet="Orion Socks +1"})
- sets.Midshot.Annihilator.HighACC = set_combine(sets.Midshot.Annihilator.MidACC,{
- neck="Ej Necklace",
- head="Umbani Cap",
- hands="Sigyn's Bazubands",
- ring2="Hajduk Ring"})
- sets.Midshot.Annihilator.AtkCap = set_combine(sets.Midshot.Annihilator.HighAcc,{
- neck="Ocachi Gorget",
- hands="Arc. Bracers +1"})
- -- Barrage Base Set --
- Barrage = set_combine(sets.Midshot.Annihilator,{
- head="Orion Beret +1",
- hands="Orion Bracers +1",
- ring2="Hajduk Ring",
- neck="Ej Necklace",
- legs="Desultor Tassets"})
- -- Annihilator Barrage Sets --
- sets.Midshot.Annihilator.Barrage = set_combine(sets.Midshot.Annihilator,{},Barrage)
- sets.Midshot.Annihilator.MidACC.Barrage = set_combine(sets.Midshot.Annihilator.MidACC,{},Barrage)
- sets.Midshot.Annihilator.HighACC.Barrage = set_combine(sets.Midshot.Annihilator.HighACC,{},Barrage)
- -- PDT/MDT Sets --
- sets.PDT = {
- head="Iuitl Headgear +1",
- neck="Twilight Torque",
- ear1="Black Earring",
- ear2="Darkness Earring",
- body="Iuitl Vest +1",
- hands="Iuitl Wristbands +1",
- ring1="Dark Ring",
- ring2="Defending Ring",
- back="Shadow Mantle",
- waist="Flume Belt",
- legs="Iuitl Tights +1",
- feet="Iuitl Gaiters +1"}
- sets.MDT = set_combine(sets.PDT,{
- ear1="Merman's Earring",
- ear2="Sanare Earring",
- ring1="Shadow Ring",
- back="Engulfer Cape",
- waist="Resolute Belt"})
- -- Melee Sets --
- sets.Melee = {}
- sets.Melee.MidACC = set_combine(sets.Melee,{})
- sets.Melee.HighACC = set_combine(sets.Melee.MidACC,{})
- -- WS Base Set --
- sets.WS = {}
- -- WS Sets --
- sets.WS.Coronach = {
- head="Arcadian Beret +1",
- neck="Breeze Gorget",
- ear1="Flame Pearl",
- ear2="Flame Pearl",
- body="Kyujutsugi",
- hands="Arc. Bracers +1",
- ring1="Pyrosoul Ring",
- ring2="Rajas Ring",
- back="Buquwik Cape",
- waist="Breeze Belt",
- legs="Nahtirah Trousers",
- feet="Orion Socks +1"}
- sets.WS.Coronach.MidACC = set_combine(sets.WS.Coronach,{
- back="Lutian Cape",
- feet="Orion Socks +1"})
- sets.WS.Coronach.HighACC = set_combine(sets.WS.Coronach.MidACC,{
- hands="Sigyn's Bazubands",
- ring1="Hajduk Ring",
- ring2="Hajduk Ring",
- legs="Orion Braccae +1"})
- sets.WS["Last Stand"] = {
- head="Orion Beret +1",
- neck="Ocachi Gorget",
- ear1="Moonshade Earring",
- ear2="Sylvan Earring",
- body="Orion Jerkin +1",
- hands="Orion Bracers +1",
- ring1="Stormsoul Ring",
- ring2="Stormsoul Ring",
- back="Buquwik Cape",
- waist="Light Belt",
- legs="Nahtirah Trousers",
- feet="Orion Socks +1"}
- sets.WS["Last Stand"].MidACC = set_combine(sets.WS["Last Stand"],{
- feet="Orion Socks +1"})
- sets.WS["Last Stand"].HighACC = set_combine(sets.WS["Last Stand"].MidACC,{
- hands="Sigyn's Bazubands",
- ring1="Hajduk Ring",
- ring2="Hajduk Ring",
- legs="Orion Braccae +1"})
- sets.WS["Namas Arrow"] = {}
- sets.WS["Namas Arrow"].MidACC = set_combine(sets.WS["Namas Arrow"],{})
- sets.WS["Namas Arrow"].HighACC = set_combine(sets.WS["Namas Arrow"].MidACC,{})
- sets.WS["Jishnu's Radiance"] = {}
- sets.WS["Jishnu's Radiance"].MidACC = set_combine(sets.WS["Jishnu's Radiance"],{})
- sets.WS["Jishnu's Radiance"].HighACC = set_combine(sets.WS["Jishnu's Radiance"].MidACC,{})
- sets.WS["Apex Arrow"] = {}
- sets.WS["Apex Arrow"].MidACC = set_combine(sets.WS["Apex Arrow"],{})
- sets.WS["Apex Arrow"].HighACC = set_combine(sets.WS["Apex Arrow"].MidACC,{})
- sets.WS.Evisceration = {
- head="Uk'uxkaj Cap",neck="Light Gorget",
- body="Orion Jerkin +1",hands="Iuitl Wristbands +1",
- ring1="Stormsoul Ring",ring2="Stormsoul Ring",
- back="Thall Mantle",waist="Light Belt",
- legs="Nahtirah Trousers",feet="Iuitl Gaiters"}
- -- JA Sets --
- sets.JA = {}
- sets.JA.Shadowbind = {
- head="Sylvan Gapette +2",
- neck="Ej Necklace",
- ear1="Clearview Earring",
- ear2="Volley Earring",
- body="Kyujutsugi",
- hands="Orion Bracers +1",
- ring1="Hajduk Ring",
- ring2="Hajduk Ring",
- back="Lutian Cape",
- waist="Scouts Belt",
- legs="Orion Braccae +1",
- feet="Orion Socks +1"}
- sets.JA.Scavenge = {feet="Orion Socks +1"}
- sets.JA.Camouflage = {body="Orion Jerkin +1"}
- sets.JA.Sharpshot = {legs="Orion Braccae +1"}
- sets.JA["Velocity Shot"] = {body="Sylvan Caban +2"}
- sets.JA["Double Shot"] = {head="Sylvan Gapette +2"}
- sets.JA["Bounty Shot"] = {hands="Syl. Glvltte. +2"}
- sets.JA["Unlimited Shot"] = {hands="Sylvan Bottln. +2"}
- sets.JA["Eagle Eye Shot"] = {
- head="Orion Beret +1",
- neck="Ej Necklace",
- ear1="Clearview Earring",
- ear2="Volley Earring",
- body="Orion Jerkin +1",
- hands="Iuitl Wristbands +1",
- ring1="Hajduk Ring",
- ring2="Hajduk Ring",
- back="Lutian Mantle",
- waist="Scouts Belt",
- legs="Orion Braccae +1",
- feet="Orion Socks +1"}
- -- Waltz Set --
- sets.Waltz = {}
- sets.Precast = {}
- -- Fastcast Set --
- sets.Precast.FastCast = {}
- -- Utsusemi Precast Set --
- sets.Precast.Utsusemi = set_combine(sets.Precast.FastCast,{})
- sets.Midcast = {}
- -- Magic Haste Set --
- sets.Midcast.Haste = set_combine(sets.PDT,{})
- end
- function pretarget(spell,action)
- if (spell.type:endswith('Magic') or spell.type == "Ninjutsu") and buffactive.silence then -- Auto Use Echo Drops If You Are Silenced --
- cancel_spell()
- send_command('input /item "Echo Drops" <me>')
- elseif spell.english == "Berserk" and buffactive.Berserk then -- Change Berserk To Aggressor If Berserk Is On --
- cancel_spell()
- send_command('Aggressor')
- elseif spell.english == "Seigan" and buffactive.Seigan then -- Change Seigan To Third Eye If Seigan Is On --
- cancel_spell()
- send_command('ThirdEye')
- elseif spell.english == "Meditate" and player.tp > 290 then -- Cancel Meditate If TP Is Above 290 --
- cancel_spell()
- add_to_chat(123, spell.name .. ' Canceled: ['..player.tp..' TP]')
- elseif (spell.english == 'Ranged' and spell.target.distance > 24.9) or (player.status == 'Engaged' and ((ranged_ws:contains(spell.english) and spell.target.distance > 16+target_distance) or (spell.type == "WeaponSkill" and not ranged_ws:contains(spell.english) and spell.target.distance > target_distance))) then -- Cancel Ranged Attack or WS If You Are Out Of Range --
- cancel_spell()
- add_to_chat(123, spell.name..' Canceled: [Out of Range]')
- return
- end
- end
- function precast(spell,action)
- if spell.english == 'Ranged' then
- equip(sets.Preshot)
- elseif spell.type == "WeaponSkill" then
- if player.status ~= 'Engaged' then -- Cancel WS If You Are Not Engaged. Can Delete It If You Don't Need It --
- cancel_spell()
- add_to_chat(123,'Unable To Use WeaponSkill: [Disengaged]')
- return
- else
- equipSet = sets.WS
- if equipSet[spell.english] then
- equipSet = equipSet[spell.english]
- end
- if equipSet[AccArray[AccIndex]] then
- equipSet = equipSet[AccArray[AccIndex]]
- end
- if player.tp > 299 or buffactive.Sekkanoki then
- if spell.english == "Last Stand" then -- Equip Altdorf's Earring and Wilhelm's Earring When You Have 300 TP or Sekkanoki For Last Stand --
- equipSet = set_combine(equipSet,{ear1="Altdorf's Earring",ear2="Wilhelm's Earring"})
- elseif spell.english == "Jishnu's Radiance" then -- Equip Jupiter's Pearl When You Have 300 TP or Sekkanoki For Jishnu's Radiance --
- equipSet = set_combine(equipSet,{ear1="Jupiter's Pearl"})
- end
- end
- equip(equipSet)
- end
- elseif spell.type=="JobAbility" then
- if sets.JA[spell.english] then
- equip(sets.JA[spell.english])
- end
- elseif spell.type:endswith('Magic') or spell.type == "Ninjutsu" then
- if string.find(spell.english,'Utsusemi') then
- if buffactive['Copy Image (3)'] or buffactive['Copy Image (4)'] then
- cancel_spell()
- add_to_chat(123, spell.name .. ' Canceled: [3+ Images]')
- return
- else
- equip(sets.Precast.Utsusemi)
- end
- else
- equip(sets.Precast.FastCast)
- end
- elseif spell.type == "Waltz" then
- equip(sets.Waltz)
- elseif spell.english == 'Spectral Jig' and buffactive.Sneak then
- cast_delay(0.2)
- send_command('cancel Sneak')
- end
- end
- function midcast(spell,action)
- if spell.english == 'Ranged' then
- equipSet = sets.Midshot
- if equipSet[player.equipment.range] then
- equipSet = equipSet[player.equipment.range]
- end
- if equipSet[AccArray[AccIndex]] then
- equipSet = equipSet[AccArray[AccIndex]]
- end
- if buffactive.Barrage and equipSet["Barrage"] then
- equipSet = equipSet["Barrage"]
- end
- equip(equipSet)
- elseif spell.type:endswith('Magic') or spell.type == "Ninjutsu" then
- if string.find(spell.english,'Utsusemi') then
- if spell.english == 'Utsusemi: Ichi' and (buffactive['Copy Image'] or buffactive['Copy Image (2)']) then
- send_command('@wait 1.7;cancel Copy Image*')
- end
- equip(sets.Midcast.Haste)
- elseif spell.english == 'Monomi: Ichi' then
- if buffactive['Sneak'] then
- send_command('@wait 1.7;cancel sneak')
- end
- equip(sets.Midcast.Haste)
- else
- equip(sets.Midcast.Haste)
- end
- end
- end
- function aftercast(spell,action)
- if spell.english == 'Ranged' and autoRAmode==1 then
- autoRA()
- elseif spell.type == "WeaponSkill" and not spell.interrupted then
- send_command('wait 0.2;gs c TP')
- else
- status_change(player.status)
- end
- end
- function status_change(new,old)
- if Armor == 'PDT' then
- equip(sets.PDT)
- elseif Armor == 'MDT' then
- equip(sets.MDT)
- elseif new == 'Engaged' then
- equipSet = sets.Melee
- if equipSet[AccArray[AccIndex]] then
- equipSet = equipSet[AccArray[AccIndex]]
- end
- equip(equipSet)
- else
- equip(sets.Idle[IdleArray[IdleIndex]])
- end
- end
- function buff_change(buff,gain)
- buff = string.lower(buff)
- if buff == 'weakness' then -- Weakness Timer --
- if gain then
- send_command('timers create "Weakness" 300 up')
- else
- send_command('timers delete "Weakness"')
- end
- end
- if not midaction() then
- status_change(player.status)
- end
- end
- -- In Game: //gs c (command), Macro: /console gs c (command), Bind: gs c (command) --
- function self_command(command)
- if command == 'C1' then -- Accuracy Level Toggle --
- AccIndex = (AccIndex % #AccArray) + 1
- add_to_chat(158,'Accuracy Level: ' .. AccArray[AccIndex])
- status_change(player.status)
- elseif command == 'C5' then -- Auto Update Gear Toggle --
- status_change(player.status)
- add_to_chat(158,'Auto Update Gear')
- elseif command == 'C7' then -- PDT Toggle --
- if Armor == 'PDT' then
- Armor = 'None'
- add_to_chat(123,'PDT Set: [Unlocked]')
- else
- Armor = 'PDT'
- add_to_chat(158,'PDT Set: [Locked]')
- end
- status_change(player.status)
- elseif command == 'C15' then -- MDT Toggle --
- if Armor == 'MDT' then
- Armor = 'None'
- add_to_chat(123,'MDT Set: [Unlocked]')
- else
- Armor = 'MDT'
- add_to_chat(158,'MDT Set: [Locked]')
- end
- status_change(player.status)
- elseif command == 'C8' then -- Distance Toggle --
- if player.target.distance then
- target_distance = math.floor(player.target.distance*10)/10
- add_to_chat(158,'Distance: '..target_distance)
- else
- add_to_chat(123,'No Target Selected')
- end
- elseif command == 'C6' then -- Idle Toggle --
- IdleIndex = (IdleIndex % #IdleArray) + 1
- add_to_chat(158,'Idle Set: ' .. IdleArray[IdleIndex])
- status_change(player.status)
- elseif command == 'C2' then -- Auto Ranged Attack Toggle. *Don't Rely On This. It Isn't As Fast As Shooting Manually. It Is Mainly For AFK or When You Dualbox* --
- if autoRAmode == 0 then
- autoRAmode = 1
- add_to_chat(158,'AutoRA Mode: [ON]')
- else
- autoRAmode = 0
- add_to_chat(123,'AutoRA Mode: [OFF]')
- end
- elseif command == 'TP' then
- add_to_chat(158,'TP Return: ['..tostring(player.tp)..']')
- elseif command:match('^SC%d$') then
- send_command('//' .. sc_map[command])
- end
- end
- function autoRA()
- send_command('@wait 2.7; input /ra <t>')
- end
Advertisement
Add Comment
Please, Sign In to add comment