| 
    
    
 | 
    
    
        
 
    Gearswap Support Thread
 
    
        
        
        
            
            
                
			
			By Selindrile 2014-05-20 18:19:39			
			
						
                     
                 
                Sorry for putting this here but, I'm getting  
 
GearSwa: Lua error (unknown: 1) /windowerdirectory//addons/gearswap/statics.lua:61 bad argument #1 to 'pairs' (table expected, got nil) 
 
Whenever I start up or try to load gearswap, I've tried a fresh gearswap (deleting and re-downloading the addon), any help would be appreciated, won't load even without a job lua file.                                     
                
             
                        
         
        
        
        
            
                
                      Lakshmi.Byrth 
                    VIP 
                    
                                                            
                                                    
                                                                            
                                Server: Lakshmi 
                                Game: FFXI 
                                
                                                                    Posts: 6504 
                                                             
                                             
                    
                                        
                    
                    
                 
             
            
                
			
			By Lakshmi.Byrth 2014-05-20 18:24:00			
			
						
                     
                 
                
                
             
                        
         
        
        
        
            
                
                      Ragnarok.Arcalimo 
                    
                    
                                                            
                                                    
                                                                            
                                Server: Ragnarok 
                                Game: FFXI 
                                
                                                                    Posts: 254 
                                                             
                                             
                    
                                        
                    
                    
                 
             
            
                
			
			By Ragnarok.Arcalimo 2014-05-20 18:49:34			
			
						
                     
                 
                Hello people, 
Can someone assist with this? Trying to migrate my sch .xml but its driving me mad.
 
With spellcast I had this part working like this:
 Code  	<if Spell="Light Arts">
            <if BuffActive="Light Arts|Addendum: White">
		<changespell Spell="Dark Arts" />
	    </if>
	</if>
	<elseif Spell="Addendum: White">
            <if BuffActive="Dark arts|Addendum: Black">
		<changespell Spell="Addendum: Black" />
	    </if>
	</elseif>
	<elseif Spell="Penury">
            <if BuffActive="Dark arts|Addendum: Black">
		<changespell Spell="Parsimony" />
	    </if>
	</elseif>
	<elseif Spell="Celerity">
            <if BuffActive="Dark arts|Addendum: Black">
		<changespell Spell="Alacrity" />
	    </if>
	</elseif>
	<elseif Spell="Accession">
            <if BuffActive="Dark arts|Addendum: Black">
		<changespell Spell="Manifestation" />
	    </if>
	</elseif>
	<elseif Spell="Rapture">
            <if BuffActive="Dark arts|Addendum: Black">
		<changespell Spell="Ebullience" />
	    </if>
	</elseif>
	<elseif Spell="Perpetuance">
            <if BuffActive="Dark arts|Addendum: Black">
		<changespell Spell="Immanence" />
	    </if>
	</elseif>
I've tried the following in gearswap but only dark arts, the first rule, it's working as intended. Code  if spell.english == 'Light Arts' then
	if buffactive['light arts'] or buffactive['addendum: white'] then
    cancel_spell()
    send_command('input /ja "Dark Arts" <me>')
	end
end
if spell.english == 'Addendum: white' then
	if buffactive['dark arts']  or buffactive['addendum: black'] then
    cancel_spell()
    send_command('input /ja "Addendum: black" <me>')
	end
end
if spell.english == 'Penury' then
	if buffactive['dark arts']  or buffactive['addendum: black'] then
    cancel_spell()
    send_command('input /ja "Parsimony" <me>')
	end
end
if spell.english == 'Celerity' then
	if buffactive['dark arts']  or buffactive['addendum: black'] then
    cancel_spell()
    send_command('input /ja "Alacrity" <me>')
	end
end
if spell.english == 'Accession' then
	if buffactive['dark arts']  or buffactive['addendum: black'] then
    cancel_spell()
    send_command('input /ja "Manifestation" <me>')
	end
end
if spell.english == 'Rapture' then
	if buffactive['dark arts']  or buffactive['addendum: black'] then
    cancel_spell()
    send_command('input /ja "Ebullience" <me>')
	end
end
if spell.english == 'Perpetuance' then
	if buffactive['dark arts']  or buffactive['addendum: black'] then
    cancel_spell()
    send_command('input /ja "Immanence" <me>')
	end
end
Thanks in advance :)                                      
                
             
                        
         
        
        
        
            
                
                    
                    
                    
                                                            
                                                    
                                                                            
                                Server: Asura 
                                Game: FFXI 
                                
                                                                    Posts: 373 
                                                             
                                             
                    
                                        
                    
                    
                 
             
            
                
			
			By Asura.Aikchan 2014-05-20 21:42:19			
			
						
                     
                 
                case sensitive? Dark Arts instead dark arts? same for addendum: black, or the game have them in lowercase?                                     
                
             
                        
         
        
        
        
            
                
                      Lakshmi.Byrth 
                    VIP 
                    
                                                            
                                                    
                                                                            
                                Server: Lakshmi 
                                Game: FFXI 
                                
                                                                    Posts: 6504 
                                                             
                                             
                    
                                        
                    
                    
                 
             
            
                
			
			By Lakshmi.Byrth 2014-05-20 21:49:22			
			
						
                     
                 
                Most tables that I pass to the user (including buffactive) are not case sensitive.                                     
                
             
                        
         
        
        
        
            
            
                
			
			By Selindrile 2014-05-20 22:54:27			
			
						
                     
                 
                I downloaded the res folder, and there was another update today for a few things, one or the other seems to have fixed it. Thanks much Byrth.                                     
                
             
                        
         
        
        
        
        
        
        
            
                
                      Bahamut.Reconxx 
                    
                    
                                                            
                                                    
                                                                            
                                Server: Bahamut 
                                Game: FFXI 
                                
                                                                    Posts: 4 
                                                             
                                             
                    
                                        
                    
                    
                 
             
            
                
			
			By Bahamut.Reconxx 2014-05-21 17:19:00			
			
						
                     
                 
                Getting a error as of tonight, guessing its a resource error ? Gearswap not even loading. Any ideas would be appreciated. 
Gearswap: Lua errorr (unknown: 1) - Gearswap/statics.lua:61: bad argument #1 to 'pairs' (table expected,got nil)                                     
                
             
                        
         
        
        
        
            
                
                      Cerberus.Conagh 
                    
                    
                                                            
                                                    
                                                                            
                                Server: Cerberus 
                                Game: FFXI 
                                
                                                                    Posts: 3189 
                                                             
                                             
                    
                                            
                                        
                    
                    
                 
             
            
                
			
			By Cerberus.Conagh 2014-05-21 17:20:05			
			
						
                     
                 
                Getting a error as of tonight, guessing its a resource error ? Gearswap not even loading. Any ideas would be appreciated. 
Gearswap: Lua errorr (unknown: 1) - Gearswap/statics.lua:61: bad argument #1 to 'pairs' (table expected,got nil) 
Seems so, there's a direct link somewhere on one of these Gearswap threads (there's 3) that has the link.                                      
                
             
                        
         
        
        
        
            
                
                      Lakshmi.Byrth 
                    VIP 
                    
                                                            
                                                    
                                                                            
                                Server: Lakshmi 
                                Game: FFXI 
                                
                                                                    Posts: 6504 
                                                             
                                             
                    
                                        
                    
                    
                 
             
            
                
			
			By Lakshmi.Byrth 2014-05-21 17:25:24			
			
						
                     
                 
                It looks like this is a persistent error D: 
I bet there's just something wrong with the launcher. Here is a link to the most current resources:
 https://www.dropbox.com/s/jqldiacoxlpzix3/res.zip                                     
                
             
                        
         
        
        
        
            
                
                      Bahamut.Reconxx 
                    
                    
                                                            
                                                    
                                                                            
                                Server: Bahamut 
                                Game: FFXI 
                                
                                                                    Posts: 4 
                                                             
                                             
                    
                                        
                    
                    
                 
             
            
                
			
			By Bahamut.Reconxx 2014-05-21 17:28:38			
			
						
                     
                 
                thanks alot, loaded fine now much appreciated                                     
                
             
                        
         
        
        
        
            
                
                      Asura.Jezzus 
                    
                    
                                                            
                                                    
                                                                            
                                Server: Asura 
                                Game: FFXI 
                                
                                                                    Posts: 410 
                                                             
                                             
                    
                                        
                    
                    
                 
             
            
                
			
			By Asura.Jezzus 2014-05-21 23:34:58			
			
						
                     
                 
                Idk how to get in touch with the author of the Kinematics Files but I was curious about something with the BRD one. 
 
When Nightingale is active, does it adjust accordingly to instant cast by skipping the usual precast set and instead precasting in midcast set for full potency? It doesnt seem so... I understand this is dependent on whether a player 5/5s nightingale though. 
 
If someone could explain how exactly to make a rule here atleast, it would be appreciated. I'm kind of confused among the rules still... Especially with all the mote/include files going on. 
 
I also was wondering what the command was to check what swaps are being made so next time with such a case I can find out for sure what is going before I inquire. (seen the command somewhere before couldnt find it again.) 
 
Another thing, IDK if its coincidence but he seems to have adopted the organization style of rules that I suggested for someone complaining about how lua looks in the recent spellcast thread. *thumbs up* :P                                     
                
             
                        
         
        
        
        
        
        
        
            
                
                      Leviathan.Arcon 
                    VIP 
                    
                                                            
                                                    
                                                                            
                                Server: Leviathan 
                                Game: FFXI 
                                
                                                                    Posts: 682 
                                                             
                                             
                    
                                        
                    
                    
                 
             
            
                
			
			By Leviathan.Arcon 2014-05-21 23:40:44			
			
						
                     
                 
                It always equips precast-gear, but it's not an issue. GearSwap will even swap midcast-gear correctly on instant spells, such as job abilities, weapon skills and quick casting procs. 
 
The command you're looking for is //gs showswaps I think, but not entirely sure.                                     
                
             
                        
         
        
        
        
        
        
        
            
                
                      Asura.Jezzus 
                    
                    
                                                            
                                                    
                                                                            
                                Server: Asura 
                                Game: FFXI 
                                
                                                                    Posts: 410 
                                                             
                                             
                    
                                        
                    
                    
                 
             
            
                
			
			By Asura.Jezzus 2014-05-21 23:49:17			
			
						
                     
                 
                It always equips precast-gear, but it's not an issue. GearSwap will even swap midcast-gear correctly on instant spells, such as job abilities, weapon skills and quick casting procs. 
 
The command you're looking for is //gs showswaps I think, but not entirely sure. 
good to know, thank you                                      
                
             
                        
         
        
        
        
            
                
                    
                    
                    
                                                            
                                                    
                                                                            
                                Server: Asura 
                                Game: FFXI 
                                
                                                                    Posts: 41 
                                                             
                                             
                    
                                        
                    
                    
                 
             
            
                
			
			By Asura.Shystie 2014-05-22 05:12:07			
			
						
                     
                 
                I am writing my first lua file.  I am basing it off of Motenten's template and am making it for RNG.  I am thinking about the logic for EES.  EES is a job ability but I would like to be able to toggle to specific accuracy sets as needed.  My modes are set up as follows: 
Code  -- Options: Override default values
	options.OffenseModes = {'Ranged', 'Melee'}
	options.RangedModes = {'Normal', 'MedAcc', 'FullAcc'}
	options.WeaponskillModes = {'Normal', 'MedAcc', 'FullAcc'}
	options.CastingModes = {'Normal'}
	options.IdleModes = {'Normal'}
	options.RestingModes = {'Normal'}
	options.PhysicalDefenseModes = {'PDT'}
	options.MagicalDefenseModes = {'MDT'}
	state.Defense.PhysicalMode = 'PDT'
	-- Additional local binds
	-- RNG doesn't use hybrid defense mode; using that for ranged mode adjustments.
	send_command('bind ^f9 gs c cycle RangedMode')
As I started writing I was making the sets for EES as follows:
 Code  sets.precast.JA['Eagle Eye Shot'] = {ammo="Achiyal. Bullet",
			head="Orion Beret +1",neck="Ocachi Gorget",ear1="Clearview Earring",ear2="Kuwunga Earring",
			body="Kyujutsugi",hands="Manibozho Gloves",ring1="Hajduk Ring",ring2="Paqichikaji Ring",
			back="Lutian Cape",waist="Elanid Belt",legs="Arc. Braccae +1",feet="Orion Socks +1"}
	
sets.precast.JA['Eagle Eye Shot'].MedAcc = set_combine(sets.precast.JA['Eagle Eye Shot'], {})
sets.precast.JA['Eagle Eye Shot'].FullAcc = set_combine(sets.precast.JA['Eagle Eye Shot'], {})
Am I correct in thinking I cannot do it this way as I don't have a "JA mode".  If so, any suggestions how I can code this to keep it consistent with how Motenten has coded these awesome scripts?
 
Thanks!                                      
                
             
                        
         
        
        
        
            
                
                      Quetzalcoatl.Orestes 
                    
                    
                                                            
                                                    
                                                                            
                                Server: Quetzalcoatl 
                                Game: FFXI 
                                
                                                                    Posts: 430 
                                                             
                                             
                    
                                        
                    
                    
                 
             
            
                
			
			By Quetzalcoatl.Orestes 2014-05-22 12:32:13			
			
						
                     
                 
                I am writing my first lua file.  I am basing it off of Motenten's template and am making it for RNG.  I am thinking about the logic for EES.  EES is a job ability but I would like to be able to toggle to specific accuracy sets as needed.  My modes are set up as follows: 
Code  -- Options: Override default values
	options.OffenseModes = {'Ranged', 'Melee'}
	options.RangedModes = {'Normal', 'MedAcc', 'FullAcc'}
	options.WeaponskillModes = {'Normal', 'MedAcc', 'FullAcc'}
	options.CastingModes = {'Normal'}
	options.IdleModes = {'Normal'}
	options.RestingModes = {'Normal'}
	options.PhysicalDefenseModes = {'PDT'}
	options.MagicalDefenseModes = {'MDT'}
	state.Defense.PhysicalMode = 'PDT'
	-- Additional local binds
	-- RNG doesn't use hybrid defense mode; using that for ranged mode adjustments.
	send_command('bind ^f9 gs c cycle RangedMode')
As I started writing I was making the sets for EES as follows:
 Code  sets.precast.JA['Eagle Eye Shot'] = {ammo="Achiyal. Bullet",
			head="Orion Beret +1",neck="Ocachi Gorget",ear1="Clearview Earring",ear2="Kuwunga Earring",
			body="Kyujutsugi",hands="Manibozho Gloves",ring1="Hajduk Ring",ring2="Paqichikaji Ring",
			back="Lutian Cape",waist="Elanid Belt",legs="Arc. Braccae +1",feet="Orion Socks +1"}
	
sets.precast.JA['Eagle Eye Shot'].MedAcc = set_combine(sets.precast.JA['Eagle Eye Shot'], {})
sets.precast.JA['Eagle Eye Shot'].FullAcc = set_combine(sets.precast.JA['Eagle Eye Shot'], {})
Am I correct in thinking I cannot do it this way as I don't have a "JA mode".  If so, any suggestions how I can code this to keep it consistent with how Motenten has coded these awesome scripts?
 
Thanks! 
You should be able to add this function near the bottom of your file to make the above sets work. (haven't tested it)  Code  
function job_get_spell_map(spell, default_spell_map)
    if spell.english == 'Eagle Eye Shot' then
        if state.RangedMode == 'MedAcc' then
            return 'MedAcc'
        elseif state.RangedMode == 'FullAcc' then
            return 'FullAcc'
        end
    end
end
                                             
                                     
                
             
                            
                    [+]
                                             
                                        
                 
                        
         
        
        
        
            
                
                    
                    VIP 
                    
                                                            
                                                    
                                                                            
                                Server: Fenrir 
                                Game: FFXI 
                                
                                                                    Posts: 764 
                                                             
                                             
                    
                                        
                    
                    
                 
             
            
                
			
			By Fenrir.Motenten 2014-05-22 12:54:43			
			
						
                     
                 
                Valid point. I've added a small thing for situations such as this. 
There's now a classes.JAMode variable.  It's like classes.CustomClass in that it resets after each action.  It only applies to non-weaponskill abilities (and, despite it having JA in the name, it applies to other spell.type values, such as CorsairShot, Rune, etc).
 
For your purposes, what you'd want is something like this: Code  
function job_precast(spell, ...)
    if spell.english == 'Eagle Eye Shot' then
        classes.JAMode = state.RangedMode
    end
end
 
And then you can use your customized sets: Code  
sets.precast.JA['Eagle Eye Shot'].MedAcc = set_combine(sets.precast.JA['Eagle Eye Shot'], {})
sets.precast.JA['Eagle Eye Shot'].FullAcc = set_combine(sets.precast.JA['Eagle Eye Shot'], {})
 
Update Mote-Include to get this working.                                             
                                     
                
             
                            
                    [+]
                                             
                                        
                 
                        
         
        
        
        
            
                
                    
                    VIP 
                    
                                                            
                                                    
                                                                            
                                Server: Fenrir 
                                Game: FFXI 
                                
                                                                    Posts: 764 
                                                             
                                             
                    
                                        
                    
                    
                 
             
            
                
			
			By Fenrir.Motenten 2014-05-22 12:56:05			
			
						
                     
                 
                Orestes' suggestion would also work, though you'd probably want to set the spell map to something like EES_MedAcc, and then create the set as sets.precast.EES_MedAcc.                                             
                                     
                
             
                            
                    [+]
                                             
                                        
                 
                        
         
        
        
        
            
            
                
			
			By Aviance 2014-05-22 13:16:52			
			
						
                     
                 
                Hello, I'm getting back to the game after a hiatus and trying to convert my spellcasts to gearswap. I had this function in AutoExec that stopped working a while back, but I'd like to try and implement it in GearSwap now.  
It's for Summoner, I want it to check if I've been slept and if I have an avatar out, if I do, I want it to kill my stoneskin and swap in my Sacrifice Torque for a tic to wake me up. Swapping it back out again after would be ideal, but I can always just take another action to fix it, if needed.
 
This is what I have so far:
 Code  function auto_awake(buff, gain)
	if buff == 'Sleep' then
		if pet.isvalid then
			cancel 'Stoneskin'
			idleSet = set_combine(idleSet, 'Sacrifice Torque')
			return idleSet
		end
	end
end  
Thank you for any advice.                                      
                
             
                        
         
        
        
        
            
                
                    
                    VIP 
                    
                                                            
                                                    
                                                                            
                                Server: Fenrir 
                                Game: FFXI 
                                
                                                                    Posts: 764 
                                                             
                                             
                    
                                        
                    
                    
                 
             
            
                
			
			By Fenrir.Motenten 2014-05-22 13:42:32			
			
						
                     
                 
                Hello, I'm getting back to the game after a hiatus and trying to convert my spellcasts to gearswap. I had this function in AutoExec that stopped working a while back, but I'd like to try and implement it in GearSwap now.  
 
It's for Summoner, I want it to check if I've been slept and if I have an avatar out, if I do, I want it to kill my stoneskin and swap in my Sacrifice Torque for a tic to wake me up. Swapping it back out again after would be ideal, but I can always just take another action to fix it, if needed. Code  
function buff_change(buff, gain)
    if buff == 'Sleep' then
        if gain and pet.isvalid then
            send_command('cancel stoneskin')
            equip({neck="Sacrifice Torque"})
        elseif player.equipment.neck == "Sacrifice Torque" then
            equip({neck="whatever default gear"})
        end
    end
end
 
This requires that you have the Cancel addon loaded as well.                                      
                
             
                        
         
        
        
        
            
                
                      Quetzalcoatl.Orestes 
                    
                    
                                                            
                                                    
                                                                            
                                Server: Quetzalcoatl 
                                Game: FFXI 
                                
                                                                    Posts: 430 
                                                             
                                             
                    
                                        
                    
                    
                 
             
            
                
			
			By Quetzalcoatl.Orestes 2014-05-22 13:55:21			
			
						
                     
                 
                Orestes' suggestion would also work, though you'd probably want to set the spell map to something like EES_MedAcc, and then create the set as sets.precast.EES_MedAcc. 
I'll have to re-read Mote-Include. I had it in my head that spellMap was appended after sets.precast.JA, allowing sets.precast.JA['Eagle Eye Shot'].MidAcc, etc. to work. Thanks for the clarification. 
 
JAMode sounds really nice, and much more intuitive to use. 
 
Thanks                                      
                
             
                        
         
        
        
        
            
                
                    
                    VIP 
                    
                                                            
                                                    
                                                                            
                                Server: Fenrir 
                                Game: FFXI 
                                
                                                                    Posts: 764 
                                                             
                                             
                    
                                        
                    
                    
                 
             
            
                
			
			By Fenrir.Motenten 2014-05-22 14:04:37			
			
						
                     
                 
                Quetzalcoatl.Orestes said:  »Orestes' suggestion would also work, though you'd probably want to set the spell map to something like EES_MedAcc, and then create the set as sets.precast.EES_MedAcc. 
I'll have to re-read Mote-Include. I had it in my head that spellMap was appended after sets.precast.JA, allowing sets.precast.JA['Eagle Eye Shot'].MidAcc, etc. to work. Thanks for the clarification. 
 
JAMode sounds really nice, and much more intuitive to use. 
 
Thanks 
Sorry, was a typo.  Meant that if you used the spell map, that replaces the spell name. So you couldn't reference it using ['Eagle Eye Shot'], but would instead use sets.precast.JA.EES_MedAcc.
 
But yeah, JAMode should work better for what you want.                                             
                                     
                
             
                            
                    [+]
                                             
                                        
                 
                        
         
        
        
        
            
                
                    
                    
                    
                                                            
                                                    
                                                                            
                                Server: Asura 
                                Game: FFXI 
                                
                                                                    Posts: 41 
                                                             
                                             
                    
                                        
                    
                    
                 
             
            
                
			
			By Asura.Shystie 2014-05-22 14:47:07			
			
						
                     
                 
                Thanks for your help!  Off to class and then back here to code some more.  =)                                     
                
             
                        
         
        
        
        
            
                
                    
                    
                    
                                                            
                                                    
                                                                            
                                Server: Fenrir 
                                Game: FFXI 
                                
                                                                    Posts: 354 
                                                             
                                             
                    
                                        
                    
                    
                 
             
            
                
			
			By Fenrir.Brimstonefox 2014-05-22 20:48:26			
			
						
                     
                 
                Hi new to gearswap and using Mote's files. I'm trying to make a DRG one, and was hoping to set it up so I could switch between weapons with //polearm or //staff  via: 
alias polearm input /console gs c set CombatWeapon Polearm 
alias staff input /console gs c set CombatWeapon Staff
 
In an init file. 
 
As such I've coded some set.engaged.Polearm sets and set.engaged.Staff sets. 
 
I can seem to figure out how to make the state.CombatWeapon work for me though I keep getting DRG.lua:88: attempt index field 'Polearm' (a nil value) 
Line 88 is this: 
 sets.engaged.Polearm.Normal = set_combine(sets.engaged, {main="Gungnir", sub="Pole Grip",ammo="Potestas Bomblet"})
 Code  -------------------------------------------------------------------------------------------------------------------
-- Initialization function that defines sets and variables to be used.
-------------------------------------------------------------------------------------------------------------------
-- IMPORTANT: Make sure to also get the Include.lua file to go with this.
-- Initialization function for this job file.
function get_sets()
	-- Load and initialize the include file.
	include('Include.lua')
end
-- Setup vars that are user-independent.
function job_setup()
	determine_groups()
end
-- Setup vars that are user-dependent.  Can override this function in a sidecar file.
function user_setup()
	-- Options: Override default values
	options.OffenseModes = {'Normal', 'Acc', 'Att', 'Crit', 'DA', 'Haste', 'Skill', 'sTP', 'STR'}
	options.DefenseModes = {'Normal', 'Evasion', 'PDT', 'Reraise'}
	options.WeaponskillModes = {'Normal', 'Acc', 'Att', 'Mod'}
	options.CastingModes = {'Normal'}
	options.IdleModes = {'Normal'}
	options.RestingModes = {'Normal'}
	options.PhysicalDefenseModes = {'PDT', 'Reraise'}
	options.MagicalDefenseModes = {'MDT'}
	state.Defense.PhysicalMode = 'PDT'
	state.CombatWeapon = 'Polearm'
	select_default_macro_book()
end
-- Called when this job file is unloaded (eg: job change)
function file_unload()
	if binds_on_unload then
		binds_on_unload()
	end
end
function init_gear_sets()
	--------------------------------------
	-- Start defining the sets
	--------------------------------------
		-- Sets to return to when not performing an action.
       
        -- Resting sets
        sets.resting = {head="Yaoyotl Helm",neck="Wiglen Gorget",ear1="Bladeborn Earring",ear2="Steelflash Earring",
                body="Ares' cuirass +1",hands="Cizin Mufflers",ring1="Sheltered Ring",ring2="Paguroidea Ring",
                back="Letalis Mantle",waist="Goading Belt",legs="Crimson Cuisses",feet="Ejekamal Boots"}
	    -- Idle sets
        sets.idle = {}
 
        -- Idle sets (default idle set not needed since the other three are defined, but leaving for testing purposes)
        sets.idle.Town = {main="Gungnir", sub="Pole Grip",ammo="Potestas Bomblet",
                head="Twilight Helm",neck="Twilight Torque",ear1="Ethereal Earring",ear2="Moonshade Earring",
                body="Twlight Mail",hands="Buremte Gloves",ring1="Rajas Ring",ring2="Ulthalam's Ring",
                back="Updraft Mantle",waist="Zoran's Belt",legs="Crimson Cuisses",feet="Ejekamal Boots"}
       
        sets.idle.Field = {
                head="Twilight Helm",neck="Twilight Torque",ear1="Ethereal Earring",ear2="Moonshade Earring",
                body="Twlight Mail",hands="Buremte Gloves",ring1="Rajas Ring",ring2="Ulthalam's Ring",
                back="Updraft Mantle",waist="Zoran's Belt",legs="Crimson Cuisses",feet="Ejekamal Boots"}
 
        sets.idle.Weak = {
                head="Twilight Helm",neck="Wiglen Gorget",ear1="Bladeborn Earring",ear2="Steelflash Earring",
                body="Twilight Mail",hands="Buremte Gloves",ring1="Sheltered Ring",ring2="Paguroidea Ring",
                back="Letalis Mantle",waist="Goading Belt",legs="Cizin Breeches",feet="Ejekamal Boots"}
	    -- Engaged sets
 
        -- Variations for TP weapon and (optional) offense/defense modes.  Code will fall back on previous
        -- sets if more refined versions aren't defined.
        -- If you create a set with both offense and defense modes, the offense mode should be first.
        -- EG: sets.engaged.Dagger.Accuracy.Evasion
        -- Normal melee group
        sets.engaged = {ammo="Potestas Bomblet",
                head="Yaoyotl Helm",neck="Ganesha's Mala",ear1="Bladeborn Earring",ear2="Steelflash Earring",
                body="Vishap Mail",hands="Miki. Gauntlets",ring1="Rajas Ring",ring2="K'ayres Ring",
                back="Atheling Mantle",waist="Zoran's Belt",legs="Phorcys Dirs",feet="Ejekamal Boots"}
        sets.engaged.Polearm.Normal = set_combine(sets.engaged, {main="Gungnir", sub="Pole Grip",ammo="Potestas Bomblet"})
        sets.engaged.Polearm.Normal.Refresh = set_combine(sets.engaged, {ear1="Ethereal Earring",ear2="Brutal Earring",
                body="Ares' Cuirass"})
        sets.engaged.Polearm.Acc = set_combine(sets.engaged.Polearm.Normal, {main="Gungnir", sub="Pole Grip",ammo="Potestas Bomblet",
                head="Ares' Mask",neck="Agasaya's Collar",ear1="Bladeborn Earring",ear2="Steelflash Earring",
                body="Vishap Mail",hands="Miki. Gauntlets",ring1="Rajas Ring",ring2="Ulthalam's Ring",
                back="Atheling Mantle",waist="Nu Sash",legs="Lncr. Cuissots +2",feet="Wym. Greaves +2"})
        sets.engaged.Polearm.Att = set_combine(sets.engaged.Polearm.Normal, {main="Gungnir", sub="Pole Grip",ammo="Potestas Bomblet",
                head="Mekira-oto +1",neck="Agasaya's Collar",ear1="Bladeborn Earring",ear2="Steelflash Earring",
                body="Rheic Korazin +3",hands="Lncr. Vmbrc. +2",ring1="Excelsis Ring",ring2="Ulthalam's Ring",
                back="Atheling Mantle",waist="Wanion Belt",legs="Miki. Cuisses",feet="Wym. Greaves +2"})
       
       
               
        -- Melee sets for in Adoulin, which has an extra 2% Haste from Ionis.
        sets.engaged.Adoulin = set_combine(sets.engaged, {})
        sets.engaged.Assault = set_combine(sets.engaged, {ring2="Ulthalam's Ring"})
 
 
end
 
-------------------------------------------------------------------------------------------------------------------
-- Job-specific hooks that are called to process player actions at specific points in time.
-------------------------------------------------------------------------------------------------------------------
 
-- Set eventArgs.handled to true if we don't want any automatic target handling to be done.
function job_pretarget(spell, action, spellMap, eventArgs)
 
end
 
-- Set eventArgs.handled to true if we don't want any automatic gear equipping to be done.
-- Set eventArgs.useMidcastGear to true if we want midcast gear equipped on precast.
function job_precast(spell, action, spellMap, eventArgs)
        if spell.action_type == 'Magic' then
        equip(sets.precast.FC)
        end
end
 
-- Run after the default precast() is done.
-- eventArgs is the same one used in job_precast, in case information needs to be persisted.
function job_post_precast(spell, action, spellMap, eventArgs)
 
end
 
 
-- Set eventArgs.handled to true if we don't want any automatic gear equipping to be done.
function job_midcast(spell, action, spellMap, eventArgs)
                if spell.action_type == 'Magic' then
                equip(sets.midcast.FastRecast)
                if player.hpp < 51 then
                        classes.CustomClass = "Breath" -- This would cause it to look for sets.midcast.Breath
                end
        end
end
 
-- Run after the default midcast() is done.
-- eventArgs is the same one used in job_midcast, in case information needs to be persisted.
function job_post_midcast(spell, action, spellMap, eventArgs)
       
--      if state.DefenseMode == 'Reraise' or
--              (state.Defense.Active and state.Defense.Type == 'Physical' and state.Defense.PhysicalMode == 'Reraise') then
--              equip(sets.Reraise)
--      end
end
 
-- Runs when a pet initiates an action.
-- Set eventArgs.handled to true if we don't want any automatic gear equipping to be done.
function job_pet_midcast(spell, action, spellMap, eventArgs)
if spell.english:startswith('Healing Breath') or spell.english == 'Restoring Breath' then
                equip(sets.HB.Mid)
        end
end
 
-- Run after the default pet midcast() is done.
-- eventArgs is the same one used in job_pet_midcast, in case information needs to be persisted.
function job_pet_post_midcast(spell, action, spellMap, eventArgs)
       
end
 
-- Set eventArgs.handled to true if we don't want any automatic gear equipping to be done.
function job_aftercast(spell, action, spellMap, eventArgs)
if state.DefenseMode == 'Reraise' or
                (state.Defense.Active and state.Defense.Type == 'Physical' and state.Defense.PhysicalMode == 'Reraise') then
        end
end
 
-- Run after the default aftercast() is done.
-- eventArgs is the same one used in job_aftercast, in case information needs to be persisted.
function job_post_aftercast(spell, action, spellMap, eventArgs)
 
end
 
-- Set eventArgs.handled to true if we don't want any automatic gear equipping to be done.
function job_pet_aftercast(spell, action, spellMap, eventArgs)
 
end
 
-- Run after the default pet aftercast() is done.
-- eventArgs is the same one used in job_pet_aftercast, in case information needs to be persisted.
function job_pet_post_aftercast(spell, action, spellMap, eventArgs)
 
end
 
 
-------------------------------------------------------------------------------------------------------------------
-- Customization hooks for idle and melee sets, after they've been automatically constructed.
-------------------------------------------------------------------------------------------------------------------
 
-- Called before the Include starts constructing melee/idle/resting sets.
-- Can customize state or custom melee class values at this point.
-- Set eventArgs.handled to true if we don't want any automatic gear equipping to be done.
function job_handle_equipping_gear(status, eventArgs)
 
end
 
-- Return a customized weaponskill mode to use for weaponskill sets.
-- Don't return anything if you're not overriding the default value.
function get_custom_wsmode(spell, action, spellMap)
 
end
 
-- Modify the default idle set after it was constructed.
function customize_idle_set(idleSet)
        return idleSet
end
 
-- Modify the default melee set after it was constructed.
function customize_melee_set(meleeSet)
        return meleeSet
end
 
-------------------------------------------------------------------------------------------------------------------
-- General hooks for other events.
-------------------------------------------------------------------------------------------------------------------
 
-- Called when the player's status changes.
function job_status_change(newStatus, oldStatus, eventArgs)
 
end
 
-- Called when the player's pet's status changes.
function job_pet_status_change(newStatus, oldStatus, eventArgs)
 
end
 
-- Called when a player gains or loses a buff.
-- buff == buff gained or lost
-- gain == true if the buff was gained, false if it was lost.
function job_buff_change(buff, gain)
 
end
 
function job_update(cmdParams, eventArgs)
        --state.CombatForm = get_combat_form()
end
-------------------------------------------------------------------------------------------------------------------
-- User code that supplements self-commands.
-------------------------------------------------------------------------------------------------------------------
 
-- Called for custom player commands.
function job_self_command(cmdParams, eventArgs)
 
end
 
--function get_combat_form()
--      if areas.Adoulin:contains(world.area) and buffactive.ionis then
--              return 'Adoulin'
--      end
--end
 
-- Called by the 'update' self-command, for common needs.
-- Set eventArgs.handled to true if we don't want automatic equipping of gear.
function job_update(cmdParams, eventArgs)
        classes.CustomMeleeGroups:clear()
        if areas.Adoulin:contains(world.area) and buffactive.ionis then
                classes.CustomMeleeGroups:append('Adoulin')
        end
        if areas.Assault:contains(world.area) then
                classes.CustomMeleeGroups:append('Assault')
        end
end
 
-- Job-specific toggles.
function job_toggle(field)
 
end
 
-- Request job-specific mode lists.
-- Return the list, and the current value for the requested field.
function job_get_mode_list(field)
 
end
 
-- Set job-specific mode values.
-- Return true if we recognize and set the requested field.
function job_set_mode(field, val)
 
end
 
-- Handle auto-targetting based on local setup.
function job_auto_change_target(spell, action, spellMap, eventArgs)
 
end
 
-- Handle notifications of user state values being changed.
function job_state_change(stateField, newValue)
 
end
 
-- Set eventArgs.handled to true if we don't want the automatic display to be run.
function display_current_job_state(eventArgs)
 
end
 
-------------------------------------------------------------------------------------------------------------------
-- Utility functions specific to this job.
-------------------------------------------------------------------------------------------------------------------
function determine_groups()
	
	classes.CustomMeleeGroups:clear()
	
	-- If sub job has MP then set refresh groups for refresh gear
	if player.sub_job == 'WHM' or player.sub_job == 'BLM' or player.sub_job == 'RDM' or player.sub_job == 'PLD' or player.sub_job == 'DRK' or player.sub_job == 'BLU' or player.sub_job == 'SCH' or player.sub_job == 'SMN' or player.sub_job == 'GEO' or player.sub_job == 'RUN' then
		classes.CustomMeleeGroups:append('Refresh')
	end
	
	-- for groups that may vary if food is used
	if buffactive.food then
		classes.CustomMeleeGroups:append('Food')
	end
	
end
-- Select default macro book on initial load or subjob change.
function select_default_macro_book()
	-- Default macro set/book
	if player.sub_job == 'WAR' then
		set_macro_page(2, 1)
	elseif player.sub_job == 'NIN' then
		set_macro_page(4, 1)
	elseif player.sub_job == 'SAM' then
		set_macro_page(1, 1)
	elseif player.sub_job == 'WHM' then
		set_macro_page(3, 1)
	else
		set_macro_page(1, 1)
	end
end
-- Examine equipment to determine what our current TP weapon is.
--function pick_tp_weapon()
--	if drg_polearms:contains(player.equipment.main) then
		-- state.CombatWeapon = 'Polearm'
		
	-- else
		-- state.CombatWeapon = nil
		-- state.CombatForm = nil
	-- end
-- end
                                      
                
             
                        
         
        
        
        
            
                
                    
                    
                    
                                                            
                                                    
                                                                            
                                Server: Odin 
                                Game: FFXI 
                                
                                                                    Posts: 65 
                                                             
                                             
                    
                                        
                    
                    
                 
             
            
                
			
			By Odin.Sukuba 2014-05-22 21:29:43			
			
						
                     
                 
                First off, I'll admit I haven't done much searching on the subject, but is there a list somewhere with most/all key-binding options? 
 
I'm trying to make some binds on my number pad, but can't figure them out. Is it possible?                                     
                
             
                        
         
        
        
        
        
        
        
            
                
                    
                    VIP 
                    
                                                            
                                                    
                                                                            
                                Server: Fenrir 
                                Game: FFXI 
                                
                                                                    Posts: 764 
                                                             
                                             
                    
                                        
                    
                    
                 
             
            
                
			
			By Fenrir.Motenten 2014-05-22 22:01:15			
			
						
                     
                 
                First off, I'll admit I haven't done much searching on the subject, but is there a list somewhere with most/all key-binding options? 
 
I'm trying to make some binds on my number pad, but can't figure them out. Is it possible? 
Read the Windower wiki:  http://wiki.windower.net/doku.php?id=windower:commands
Is it possible to plug in gear in any order? like main hat sub ammo ect. 
Yes.  Read the "Advanced Sets Tables.txt" file in GearSwap's beta folder.                                      
                
             
                        
         
        
        
        
             
    
    
        
        Just looking for someone to explain this addon a bit for me. It looks like it is an alternative to Spellcast.  
 
Is it going to be replacing Spellcast? In which ways is it better or worse. I don't know any programming but I've slowly learned more and more about spellcast and the 'language' used in gearswap is confusing to me. 
 
It says it uses packets so it potentially could be more detectable? but does that also eliminate any lag that spellcast may encounter? 
 
I plan on redoing my PUP xml to include pet casting sets thanks to the new addon petschool. I'm just not sure if it's worth it to just wait until gearswap gets more popular or to go ahead and do it in spellcast. 
 
If anyone could give me more info I'd greatly appreciate it. 
        
     
    
 
    
 | 
    
 |