Gearswap Support Thread

言語: JP EN DE FR
2010-06-21
New Items
users online
フォーラム » Windower » Support » Gearswap Support Thread
Gearswap Support Thread
First Page 2 3 ... 108 109 110 ... 182 183 184
 Shiva.Hiep
Offline
サーバ: Shiva
Game: FFXI
user: Hiepo
Posts: 669
By Shiva.Hiep 2016-08-23 16:00:31  
Ragnarok.Flippant said: »
Shiva.Hiep said: »
Is there a reason why my flurry toggle (ctrl q) isn't working? Also, how come I'm not receiving a message that flurry is on/off? http://pastebin.com/6JsA1UPj Thank you.

The first thing I notice is that you're never calling the function that is supposed to check if Flurry is on or not. You would likely want to call it when you load the file, and somewhere that will get called as regularly as you need. Or, just add state.buff.Flurry and Mote will automatically track the variable for you using the buff_change function.

I'm sorry, but I'm not really that good with gearswap. How would I implement this?
 Ragnarok.Flippant
Offline
サーバ: Ragnarok
Game: FFXI
user: Enceladus
Posts: 660
By Ragnarok.Flippant 2016-08-23 21:51:10  
Well, you created a function called check_flurry_level(), but you never actually use it. A function is just a set of instructions, but somewhere you need to say "now do these instructions." Usually, you use some sort of event, the structure of which GS creates for you (buff_change() is called when you gain or lose a buff).

You call a function simply using its name, like check_flurry_level(). Then you decide when it should be called by putting it in the event-bound functions that GS has for you.

If you're talking about state.buff.Flurry, you can add that after line 18; it would be phrased just like the other variables there. Mote keeps these variables updated every time you gain or lose a buff. You can then check that variable. "if state.buff.Flurry then" would be true if Flurry is on, and "if not state.buff.Flurry then" would be true if Flurry is off.
 Bismarck.Mitchel
Offline
サーバ: Bismarck
Game: FFXI
Posts: 153
By Bismarck.Mitchel 2016-08-29 18:05:43  
Could anyone tell me why my Valorous mask wont switch into my Engaged.Apocalypse sets in the lua i've edited?

Using the following:

Val_STP_head = { name="Valorous Mask", augments={'Accuracy+24 Attack+32','"Store TP"+5','AGI+4',}}

and head=Val_STP_head in the sets.

 Asura.Chiaia
VIP
Offline
サーバ: Asura
Game: FFXI
user: Demmis
Posts: 1656
By Asura.Chiaia 2016-08-29 18:07:58  
Bismarck.Mitchel said: »
Could anyone tell me why my Valorous mask wont switch into my Engaged.Apocalypse sets in the lua i've edited?

Using the following:

Val_STP_head = { name="Valorous Mask", augments={'Accuracy+24 Attack+32','"Store TP"+5','AGI+4',}}

and head=Val_STP_head in the sets.

Because thats not the true values of you aug... equip the head and do //gs export then find the file in the export folder and see what your true augs are.
Offline
Posts: 420
By BlaTheTaru 2016-08-31 12:36:16  
Hi! I am wondering why my Obi isn't swapping in for nukes when I have weather on myself. I'm pretty Gearswap illiterate as far as functions go. Would anyone be able to help me sort this out? I went through all the trouble of farming those things Id like to use them. Thank you.

http://pastebin.com/9rNP4yGu
 Bismarck.Kuroganashi
Offline
サーバ: Bismarck
Game: FFXI
Posts: 1346
By Bismarck.Kuroganashi 2016-08-31 13:33:52  
BlaTheTaru said: »
Hi! I am wondering why my Obi isn't swapping in for nukes when I have weather on myself. I'm pretty Gearswap illiterate as far as functions go. Would anyone be able to help me sort this out? I went through all the trouble of farming those things Id like to use them. Thank you.

http://pastebin.com/9rNP4yGu


Input this on your file
[+]
Offline
Posts: 420
By BlaTheTaru 2016-08-31 19:06:19  
Where is a good place to input that in my file?
 Ragnarok.Flippant
Offline
サーバ: Ragnarok
Game: FFXI
user: Enceladus
Posts: 660
By Ragnarok.Flippant 2016-08-31 19:34:29  
Your lines 388-403 should already be covering that, albeit in a verbose manner. However, there's two problems:

1. Since those rules are before your magic burst rules, you'd be overwriting it with your MB set (same with what Kuroganashi pasted). You don't have one in there anyway, but you should move it in case you add one later.

2. You have two job_post_midcast functions. The one on 439-443 is overwriting the first one. Delete it entirely (the contents of that one are already in the other one). While we're at it, you also have two job_aftercast functions. You should combine their contents, although I'm fairly certain Mote already takes care of the logic being handled in the one on line 446.
[+]
Offline
Posts: 420
By BlaTheTaru 2016-08-31 19:53:26  
So I deleted lines 439-443 and now my GS does not swap to nuking gear.

Also other than that I have no idea what you're telling me to do, or even if you're telling me anything other than my GS isn't written well.

Please use simple instructions.
 Odin.Lygre
Offline
サーバ: Odin
Game: FFXI
user: Dylaudid
Posts: 89
By Odin.Lygre 2016-08-31 20:25:40  
Code
-------------------------------------------------------------------------------------------------------------------
-- Initialization function that defines sets and variables to be used.
-------------------------------------------------------------------------------------------------------------------

-- IMPORTANT: Make sure to also get the Mote-Include.lua file (and its supplementary files) to go with this.

--[[
		Custom commands:

		Shorthand versions for each strategem type that uses the version appropriate for
		the current Arts.

										Light Arts              Dark Arts

		gs c scholar cost               Penury                  Parsimony
		gs c scholar speed              Celerity                Alacrity
		gs c scholar aoe                Accession               Manifestation
		gs c scholar power              Rapture                 Ebullience
		gs c scholar duration           Perpetuance
		gs c scholar accuracy           Altruism                Focalization
		gs c scholar enmity             Tranquility             Equanimity
		gs c scholar skillchain                                 Immanence
		gs c scholar addendum           Addendum: White         Addendum: Black
--]]



-- Initialization function for this job file.
function get_sets()
	-- Load and initialize the include file.
	include('Mote-Include.lua')
end

-- Setup vars that are user-independent.
function job_setup()
	info.addendumNukes = S{"Stone IV", "Water IV", "Aero IV", "Fire IV", "Blizzard IV", "Thunder IV",
		"Stone V", "Water V", "Aero V", "Fire V", "Blizzard V", "Thunder V"}

	state.Buff['Sublimation: Activated'] = buffactive['Sublimation: Activated'] or false
	update_active_strategems()
end


-- Setup vars that are user-dependent.  Can override this function in a sidecar file.
function user_setup()
	send_command('Bind ^i input /ja Immanence <me>')
	send_command('Bind ^g input /recast Stratagems <me>')
	send_command('Bind ^d input /ja Ebullience <me>')
	send_command('Bind ^1 input /ma haste <me>')
	send_command('Bind ^2 input /ma Aquaveil <me>')
	send_command('Bind ^3 input /ma "Regen V" <me>')
	send_command('Bind ^c input /ma "Cure IV" <me>')
	send_command('Bind ^m input /ma Manifestation <me>')
	send_command('Bind ^s input /ma "Sleep II" <t>')
	send_command('Bind ^4 input /ma "Protect V" <me>')
	send_command('Bind ^5 input /ma "Shell V" <me>')
	send_command('bind ^q gs c cycle CastingMode')
	send_command('Bind ^/ input /ma "Paralyze" <t>')
	send_command('Bind ^. input /ma "Silence" <t>')
	send_command('Bind ^, input /ma "Slow" <t>')
	send_command('Bind ^6 input /ma "Phalanx" <me>')
	send_command('Bind ^7 input /ma "Klimaform" <me>')
	send_command('Bind ^8 input /ma "Thunderstorm II" <me>')
	send_command('Bind ^l input /ma "Frazzle" <t>')
	
	-- Options: Override default values
	options.CastingModes = {'Normal', 'MagicBurst'}
	options.OffenseModes = {'None', 'Normal'}
	options.DefenseModes = {'Normal'}
	options.WeaponskillModes = {'Normal'}
	options.IdleModes = {'Normal', 'PDT', 'Stun'}
	options.RestingModes = {'Normal'}
	options.PhysicalDefenseModes = {'PDT'}
	options.MagicalDefenseModes = {'MDT'}
	

	state.OffenseMode = 'None'
	state.Defense.PhysicalMode = 'PDT'

	info.low_nukes = S{"Stone", "Water", "Aero", "Fire", "Blizzard", "Thunder","Stone II",
	                    "Water II", "Aero II", "Fire II", "Blizzard II", "Thunder II","Sleep II"}
	info.mid_nukes = S{"Stone III", "Water III", "Aero III", "Fire III", "Blizzard III", "Thunder III",
						"Stone IV", "Water IV", "Aero IV", "Fire IV","Blizzard IV", "Thunder IV",
						"Stone V", "Water V", "Aero V", "Fire V", "Blizzard V", "Thunder V",}

	gear.macc_hagondes = {name="Hagondes Cuffs", augments={'Phys. dmg. taken -3%','Mag. Acc.+29'}}
	gear.RegenBack = {name="Bookworm's Cape", augments={'Int +2', 'Mnd +1', 'Helix eff. Duration +12', '"Regen" potency +10'}}
	
	send_command('bind ^` input /ma Stun <t>')	

	select_default_macro_book()
end

function job_file_unload()
	send_command('unbind ^`')
end


-- Define sets and vars used by this job file.
function init_gear_sets()
	   gear.RegenBack = {name="Bookworm's Cape", augments={'Int +2', 'Mnd +1', 'Helix eff. Duration +12', '"Regen" potency +10'}}
end

		-- Define sets and vars used by this job file.
function init_gear_sets()
	--------------------------------------
	-- Start defining the sets
	--------------------------------------

	-- Obi --
	sets['Lightning'] = {waist="Hachirin-no-Obi"}
	sets['Ice'] = {waist="Hachirin-no-Obi"}
	sets['Water'] = {waist="Hachirin-no-Obi"}
	sets['Fire'] = {waist="Hachirin-no-Obi"}
	sets['Earth'] = {waist="Hachirin-no-Obi"}
	sets['Wind'] = {waist="Hachirin-no-Obi"}
	sets['Light'] = {waist="Hachirin-no-Obi",back="Twilight Cape"}
	sets['Dark'] = {waist="Hachirin-no-Obi"}

	gear.default.obi_waist = "Hachirin-no-Obi"
	gear.default.obi_back = "Bookworm's Cape"
	
	-- Precast Sets

	-- Precast sets to enhance JAs

	sets.precast.JA['Tabula Rasa'] = {legs="Pedagogy Pants"}

	-- Weaponskills --
 
        sets.precast.WS['Cataclysm'] = {main="Akademos",sub="Willpower Grip",ammo="Ghastly Tathlum +1 +1",
                head="Pixie hairpin +1",neck="Saevus Pendant +1",left_ear="Barkaro. Earring",right_ear="Friomisi Earring",
                body="Amalric Doublet +1",hands=gear.NukingHands,left_ring="Archon Ring",right_ring="Shiva Ring +1",
                back="Twilight Cape",waist="Hachirin-no-Obi",legs="Hagondes Pants +1",feet="Amalric Nails +1",}
 
        sets.precast.WS['Omniscience'] = {main="Akademos",sub="Willpower Grip",ammo="Hydrocera",
                head="Pixie hairpin +1",neck="Saevus Pendant +1",left_ear="Barkaro. Earring",right_ear="Friomisi Earring",
                body="Amalric Doublet +1",hands=gear.NukingHands,left_ring="Archon Ring",right_ring="Shiva Ring +1",
                back=gear.RegenCape,waist="Refoccilation Stone",legs="Hagondes Pants +1",feet="Amalric Nails +1",}
 
        sets.precast.WS['Myrkr'] = {main="Akademos",sub="Willpower Grip",ammo="Psilomene",
                head="Kaabnax Hat",neck="Dualism Collar +1",left_ear="Etiolation Earring",right_ear="Influx Earring",
                body="Weather. Robe +1",hands="Otomi Gloves",left_ring="Mephitas's Ring +1",right_ring="Mephitas's Ring",
                back="Pahtli Cape",waist="Shinjutsu-no-obi +1",legs="Amalric Slops",feet="Llwyd's Clogs"}
 
        sets.precast.WS['Shattersoul'] ={main="Akademos",sub="Willpower Grip",ammo="Hasty Pinion +1",
                head="Gende. Caubeen +1",neck="Fotia Gorget",left_ear="Genmei Earring",right_ear="Impregnable Earring",
                body="Onca Suit",hands=empty,left_ring="Rajas Ring",right_ring="Patricius Ring",
                back="Umbra Cape",waist="Fotia Belt",legs=empty,feet=empty}
 
        sets.precast.WS['Shell Crusher'] ={main="Akademos",sub="Willpower Grip",ammo="Hasty Pinion +1",
                head="Gende. Caubeen +1",neck="Fotia Gorget",left_ear="Genmei Earring",right_ear="Impregnable Earring",
                body="Onca Suit",hands=empty,left_ring="Rajas Ring",right_ring="Patricius Ring",
                back="Umbra Cape",waist="Fotia Belt",legs=empty,feet=empty}
 
        sets.precast.WS['Retribution'] ={main="Akademos",sub="Willpower Grip",ammo="Hasty Pinion +1",
                head="Gende. Caubeen +1",neck="Fotia Gorget",left_ear="Genmei Earring",right_ear="Impregnable Earring",
                body="Onca Suit",hands=empty,left_ring="Rajas Ring",right_ring="Patricius Ring",
                back="Umbra Cape",waist="Fotia Belt",legs=empty,feet=empty}
 
        sets.precast.WS['Heavy Swing'] ={main="Akademos",sub="Willpower Grip",ammo="Hasty Pinion +1",
                head="Gende. Caubeen +1",neck="Fotia Gorget",left_ear="Genmei Earring",right_ear="Impregnable Earring",
                body="Onca Suit",hands=empty,left_ring="Rajas Ring",right_ring="Patricius Ring",
                back="Umbra Cape",waist="Fotia Belt",legs=empty,feet=empty}                                    
 
        sets.precast.WS['Spirit Taker'] = {main="Akademos",sub="Willpower Grip",ammo="Ghastly Tathlum +1 +1",
                head="Welkin Crown",neck="Fotia Gorget",left_ear="Barkaro. Earring",right_ear="Friomisi Earring",
                body="Amalric Doublet +1",hands=gear.NukingHands,left_ring="Shiva Ring +1",right_ring="Shiva Ring +1",
                back=gear.HelixCape,waist="Fotia Belt",legs="Hagondes Pants +1",feet="Amalric Nails +1",}


	-- Fast cast sets for spells

	sets.precast.FC = {ammo="Incantor Stone",
		head="Nahtirah Hat",neck="Orunmila's Torque", ear1="Enchanter Earring +1",ear2="Loquacious Earring",
		body="Anhur Robe",hands="Gendewitha Gages",ring1="Prolix Ring",ring2="Weatherspoon Ring",
		back="Swith Cape",waist="Witful Belt",legs="Psycloth Lappas",feet="Pedagogy loafers +1"}

	sets.precast.FC['Enhancing Magic'] = set_combine(sets.precast.FC, {waist="Siegel Sash"})

	sets.precast.FC.Cure = set_combine(sets.precast.FC, {body="Heka's Kalasiris",back="Pahtli Cape"})

	sets.precast.FC.Curaga = sets.precast.FC.Cure

	sets.precast.FC.Impact = set_combine(sets.precast.FC['Elemental Magic'], {head=empty,body="Twilight Cloak"})


	-- Midcast Sets

	sets.midcast.FastRecast = {ammo="Incantor Stone",
		head="Nahtirah Hat",ear2="Loquacious Earring",
		body="Anhur Robe",hands="Gendewitha Gages +1",ring1="Prolix Ring",ring2="Weatherspoon ring",
		back="Swith Cape",waist="Goading Belt",legs="psycloth Lappas",feet="Academic's Loafers +1"}

	sets.midcast.Cure = {ammo="Incantor Stone",
		head="Gendewitha Caubeen +1",neck="Colossus's Torque",ear1="Mendi. Earring",ear2="Loquacious Earring",
		body="Gendewitha bliaut +1",hands="Telchine Gloves",ring1="Kunaji Ring",ring2="Sirona's Ring",
		back="Tempered Cape",waist="Gishdubar Sash",legs="Telchine Braconi",feet="Telchine Pigaches"}

	sets.midcast.CureWithLightWeather = {main="Chatoyant Staff",sub="Achaq Grip",ammo="Incantor Stone",
		head="Gendewitha Caubeen",neck="Colossus's Torque",ear1="Lifestorm Earring",ear2="Loquacious Earring",
		body="Heka's Kalasiris",hands="Bokwus Gloves",ring1="Prolix Ring",ring2="Sirona's Ring",
		back="Twilight Cape",waist="Korin Obi",legs="Assiduity Pants",feet="Academic's Loafers +1"}

	sets.midcast.Curaga = sets.midcast.Cure

	sets.midcast.Regen = {main="",sub="Genmei Shield",ammo="Ombre Tathlum +1",
                head="Arbatel Bonnet +1",neck="Orunmila's Torque",left_ear="Gifted Earring",right_ear="Calamitous Earring",
                body="Telchine Chasuble",hands="Arbatel Bracers +1",left_ring="Weather. Ring",right_ring="Prolix Ring",
                back="Bookworm's Cape", augments={'Int +2', 'Mnd +1', 'Helix eff. Dur. +12', '"Regen" potency +10'},waist="Witful Belt",legs=gear.RegenLegs,feet=gear.RegenFeet}
	
	sets.midcast.Refresh = {Waist="Gishdubar Sash"}

	sets.midcast.Cursna = {
		neck="Malison Medallion",
		hands="Hieros Mittens",ring1="Ephedra Ring",
		feet="Gendewitha Galoshes"}

	sets.midcast['Enhancing Magic'] = {ammo="Savant's Treatise",
		head="Befouled Crown",neck="Enhancing Torque",ear1="Andoaa Earring",
		body="Telchine Chas.",hands="Ayao's Gages",
		waist="Cascade Belt",legs="Telchine Braconi",feet="Telchine Pigaches",back="Perimede Cape"}

	sets.midcast.Stoneskin = set_combine(sets.midcast['Enhancing Magic'], {waist="Siegel Sash"})

	sets.midcast.Storm = set_combine(sets.midcast['Enhancing Magic'], {feet="Pedagogy Loafers +1"})

	sets.midcast.Embrava = set_combine(sets.midcast['Enhancing Magic'])
	
	sets.midcast.Protect = {ring1="Sheltered Ring"}
	sets.midcast.Protectra = sets.midcast.Protect

	sets.midcast.Shell = {ring1="Sheltered Ring"}
	sets.midcast.Shellra = sets.midcast.Shell
	-- Custom spell classes
	sets.midcast.MndEnfeebles = {main="Lehbrailg +2",sub="",ammo="Savant Treatise",
		head="Befouled Crown",neck="Imbodla Necklace",ear1="Psystorm Earring",ear2="Lifestorm Earring",
		body="Vanya Robe",hands="Yaoyotl Gloves",ring1="Aquasoul Ring",ring2="Sangoma Ring",
		back="Refraction Cape",waist="Rumination Sash",legs="Psycloth Lappas",feet="Medium's Sabots"}

	sets.midcast.IntEnfeebles = {main="Lehbrailg +2",sub="",ammo="Savant's Treatise",
		head="Befouled Crown",neck="Imbodla Necklace",ear1="Psystorm Earring",ear2="Lifestorm Earring",
		body="Vanya Robe",hands="Yaoyotl Gloves",ring1="Shiva Ring +1",ring2="Sangoma Ring",
		back="Refraction Cape",waist="Rumination Sash",legs="Psycloth Lappas",feet="Medium's Sabots"}

	sets.midcast.ElementalEnfeeble = sets.midcast.IntEnfeebles

	sets.midcast['Dark Magic'] = {main="Lehbrailg +2",sub="",ammo="Incantor Stone",
		head="Pixie hairpin +1",neck="Aesir Torque",ear1="Psystorm Earring",ear2="Lifestorm Earring",
		body="Vanir Cotehardie",hands="Yaoyotl Gloves",ring1="Strendu Ring",ring2="Sangoma Ring",
		back="Refraction Cape",waist="Fucho-no-obi",legs="Bokwus Slops",feet="Medium's Sabots"}

	sets.midcast.Kaustra = {main="Lehbrailg +2",sub="Willpower Grip",ammo="Witchstone",
		head="Pixie Hairpin +1",neck="Saevus pendant +1",ear1="Barkaro. Earring",ear2="Friomisi Earring",
		body="Merlinic Jubbah",hands="Chironic Gloves",ring1="archon ring",ring2="Strendu Ring",
		back="Bookworm's Cape",waist="Cognition Belt",legs="Amalric slops",feet="Amalric Nails"}

	sets.midcast.Drain = {ammo="Incantor Stone",
		head="Pixie Hairpin +1",neck="Incantor's Torque",ear1="Friomisi Earring",ear2="Barkaro. Earring",
		body="Merlinic Jubbah",hands="Chironic Gloves",ring1="Evanescence Ring",ring2="Sangoma Ring",
		back="Seshaw Cape",waist="Fucho-no-obi",legs="Merlinic Shalwar", augments={'Mag. Acc.+21 "Mag.Atk.Bns."+21','Magic burst mdg.+9%','Mag. Acc.+13','"Mag.Atk.Bns."+15',},feet="Merlinic Crackows", augments={'Mag. Acc.+24 "Mag.Atk.Bns."+24','"Drain" and "Aspir" potency +10','INT+13','Mag. Acc.+7','"Mag.Atk.Bns."+4',}}

	sets.midcast.Aspir = sets.midcast.Drain

	sets.midcast.Stun = {main="Lehbrailg +2",sub="",ammo="Incantor Stone",
		head="Kaabnax Hat",neck="Aesir Torque",ear1="Psystorm Earring",ear2="Lifestorm Earring",
		body="Vanir Cotehardie",hands="Gendewitha Gages",ring1="Prolix Ring",ring2="archon ring",
		back="Refraction Cape",waist="Witful Belt",legs="Pedagogy Pants",feet="Academic's Loafers +1"}


	-- Elemental Magic sets are default for handling low-tier nukes.
	sets.midcast['Elemental Magic'] = {ammo="Ghastly Tathlum +1",
		head="Merlinic hood",neck="Sanctity Necklace",ear1="Friomisi earring",ear2="Barkaro. Earring",
		body="Seidr Cotehardie",hands="Chironic Gloves",ring1="Shiva Ring +1",ring2="Shiva Ring +1",
		back="Bookworm's Cape", augments={'Int +2', 'Mnd +4','Helix eff. Duration +19'}, waist="Refoccilation Stone",legs="Merlinic Shalwar",feet="Amalric Nails"}

	sets.midcast['Elemental Magic'].MagicBurst = {ammo="Ghastly Tathlum +1",
		head="Merlinic hood",neck="Mizu. Kubikazari",ear1="Friomisi earring",ear2="Barkaro. Earring",
		body="Merlinic Jubbah",hands="Amalric Gages",ring1="Mujin Band",ring2="Locus Ring",
		back="Lugh's Cape",waist="refoccilation stone",legs="Merlinic Shalwar", augments={'Mag. Acc.+21 "Mag.Atk.Bns."+21','Magic burst mdg.+9%','Mag. Acc.+13','"Mag.Atk.Bns."+15',},feet="Merlinic Crackows", augments={'Mag. Acc.+25 "Mag.Atk.Bns."+25','Magic burst mdg.+10%',}}		

	sets.midcast['Elemental Magic'].mid_nukes = {main="Lehbrailg +2",sub="Willpower Grip",ammo="Ghastly Tathlum +1",
		head="Merlinic hood",neck="Sanctity Necklace",ear1="Friomisi earring",ear2="Barkaro. Earring",
		body="Seidr Cotehardie",hands="Chironic Gloves",ring1="Shiva Ring +1",ring2="shiva Ring +1",
		back="Bookworm's Cape", augments={'Int +2', 'Mnd +4','Helix eff. Dur. +19'},waist="refoccilation stone",legs="Merlinic Shalwar",feet="Amalric Nails"}

	-- Custom refinements for certain nuke tiers
	sets.midcast.Impact = {main="Lehbrailg +2",sub="",ammo="Dosis Tathlum",
		head=empty,neck="Sanctity Necklace",ear1="Psystorm Earring",ear2="Lifestorm Earring",
		body="Twilight Cloak",hands=gear.macc_hagondes,ring1="Shiva Ring +1",ring2="Sangoma Ring",
		back="Toro Cape",waist="Demonry Sash",legs="Hagondes Pants",feet="Bokwus Boots"}


	-- Sets to return to when not performing an action.

	-- Resting sets
	sets.resting = {main="boonwell Staff",sub="Mephitis Grip",
		head="Nefer Khat +1",neck="Wiglen Gorget",
		body="Heka's Kalasiris",hands="Serpentes Cuffs",ring1="Sheltered Ring",ring2="Paguroidea Ring",
		waist="Austerity Belt",legs="Assiduity Pants",feet="Serpentes Sabots"}


	-- Idle sets (default idle set not needed since the other three are defined, but leaving for testing purposes)

	sets.idle.Town = {main="Bolelabunga",sub="Genbu's Shield",ammo="Homiliary",
		head="Savant's Bonnet +2",neck="Wiglen Gorget",ear1="Bloodgem Earring",ear2="Loquacious Earring",
		body="Savant's Gown +2",hands="Savant's Bracers +2",ring1="Sheltered Ring",ring2="Paguroidea Ring",
		back="Umbra Cape",waist="Hierarch Belt",legs="Savant's Pants +2",feet="Herald's Gaiters"}

	sets.idle.Field = {main="Bolelabunga",sub="Genbu's Shield",ammo="Homiliary",
		head="Gendewitha Caubeen +1",neck="Twilight Torque",ear1="Bloodgem Earring",ear2="Loquacious Earring",
		body="Gendewitha Bliaut +1",hands="Gendewitha Gages +1",ring1="Defending ring",ring2="Gelatinous Ring +1",
		back="Mecisto. Mantle",waist="Hierarch Belt",legs="Assiduity pants +1",feet="Gendewitha galoshes +1"}

	sets.idle.Field.PDT = {ammo="Incantor Stone",
	    head="Gendewitha Caubeen +1",neck="Twilight Torque",ear1="Bloodgem Earring",ear2="Loquacious Earring",
		body="Gendewitha Bliaut +1",hands="Gendewitha Gages +1",ring1="Defending Ring",ring2="Gelatinous Ring +1",
		back="Cheviot Cape",waist="Hierarch Belt",legs="Artsieq Hose",feet="Gendewitha Galoshes +1"}

	sets.idle.Field.Stun = {main="Apamajas II",sub="",ammo="Incantor Stone",
		head="Nahtirah Hat",neck="Aesir Torque",ear1="Psystorm Earring",ear2="Lifestorm Earring",
		body="Vanir Cotehardie",hands="Gendewitha Gages",ring1="Prolix Ring",ring2="Sangoma Ring",
		back="Swith Cape +1",waist="Goading Belt",legs="Bokwus Slops",feet="Academic's Loafers"}

	sets.idle.Weak = {main="Bolelabunga",sub="Genbu's Shield",ammo="Incantor Stone",
		head="Nahtirah Hat",neck="Wiglen Gorget",ear1="Bloodgem Earring",ear2="Loquacious Earring",
		body="Hagondes Coat +1",hands="Yaoyotl Gloves",ring1="Sheltered Ring",ring2="Meridian Ring",
		back="Umbra Cape",waist="Hierarch Belt",legs="Assiduity Pants",feet="Herald's Gaiters"}

	-- Defense sets

	sets.defense.PDT = {main=gear.Staff.PDT,sub="",ammo="Incantor Stone",
		head="Gendewitha caubeen +1",neck="Twilight Torque",ear1="Bloodgem Earring",ear2="Loquacious Earring",
		body="Gendewitha bliaut +1",hands="Gendewitha Gages +1",ring1="Defending Ring",ring2=gear.DarkRing.physical,
		back="Cheviot Cape",waist="Hierarch Belt",legs="Artsieq Hose",feet="Gendewitha Galoshes +1"}

	sets.defense.MDT = {main=gear.Staff.PDT,sub="Achaq Grip",ammo="Incantor Stone",
		head="Nahtirah Hat",neck="Twilight Torque",ear1="Bloodgem Earring",ear2="Loquacious Earring",
		body="Vanir Cotehardie",hands="Yaoyotl Gloves",ring1="Defending Ring",ring2="Shadow Ring",
		back="Tuilha Cape",waist="Hierarch Belt",legs="Bokwus Slops",feet="Hagondes Sabots"}

	sets.Kiting = {feet="Herald's Gaiters"}

	sets.latent_refresh = {waist="Fucho-no-obi"}

	-- 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 = {
		head="Gendewitha caubeen +1",
		body="Gendewitha Bliaut +1",hands="Gendewitha Gages +1",ring1="Rajas Ring",
		waist="Cetl Belt",legs="Hagondes Pants",feet="Gendewitha Galoshes +1",back=""}



	-- Buff sets: Gear that needs to be worn to actively enhance a current player buff.
	sets.buff['Ebullience'] = {head="Savant's Bonnet +2"}
	sets.buff['Rapture'] = {head="Arbatel Bonnet +1"}
	sets.buff['Perpetuance'] = {hands="Arbatel Bracers +1"}
	sets.buff['Immanence'] = {hands="Savant's Bracers +2"}
	sets.buff['Penury'] = {legs="Savant's Pants +2"}
	sets.buff['Parsimony'] = {legs="Savant's Pants +2"}
	sets.buff['Celerity'] = {feet="Pedagogy Loafers",head="Nahtirah hat"}
	sets.buff['Alacrity'] = {feet="Pedagogy Loafers",head="Nahtirah hat"}

	sets.buff['Klimaform'] = {feet="Arbatel Loafers +1"}
	
	sets.buff.FullSublimation = {head="Academic's Mortarboard",ear1="Savant's Earring",body="Pedagogy Gown"}
	sets.buff.PDTSublimation = {head="Academic's Mortarboard",ear1="Savant's Earring"}

	--sets.buff['Sandstorm'] = {feet="Desert Boots"}
end

-------------------------------------------------------------------------------------------------------------------
-- Job-specific hooks for standard casting events.
-------------------------------------------------------------------------------------------------------------------
-- Run after the general midcast() is done.
function job_post_midcast(spell, action, spellMap, eventArgs)
        if spell.action_type == 'Magic' then
                apply_grimoire_bonuses(spell, action, spellMap, eventArgs)
        end
 
        if  spell.element == world.weather_element or spell.element == world.day_element or
                        (spell.element == 'Lightning' and buffactive['Thunderstorm']) or
                        (spell.element == 'Ice' and buffactive['Hailstorm']) or
                        (spell.element == 'Water' and buffactive['Rainstorm']) or
                        (spell.element == 'Fire' and buffactive['Firestorm']) or
                        (spell.element == 'Earth' and buffactive['Sandstorm']) or
                        (spell.element == 'Wind' and buffactive['Windstorm']) or
                        (spell.element == 'Light' and buffactive['Aurorastorm']) or
                        (spell.element == 'Dark' and buffactive['Voidstorm']) then
 
                if spell.skill == 'Elemental Magic' and spellMap ~= 'Helix' then
                        equip(sets[spell.element])
                elseif string.find(spell.english,'Cure') then
                        equip(sets[spell.element])
                end
        end
    -- if spell.skill == 'Elemental Magic' and state.MagicBurst.value then
    --     equip(sets.magic_burst)
    --     if player.equipment.main == "Akademos" and state.Buff['Klimaform'] then
    --                     equip(sets.buff['Klimaform'])
    --             end
    -- end
end
 
function job_aftercast(spell, action, spellMap, eventArgs)
        if not spell.interrupted then
                if spell.english == 'Break' or spell.english == 'Breakga' then
                        send_command('@timers c "'..spell.english..' ['..spell.target.name..']" 30 down spells/00220.png')
                elseif spell.english == 'Sleep' or spell.english == 'Sleepga' then
                        send_command('@timers c "'..spell.english..' ['..spell.target.name..']" 60 down spells/00220.png')
                elseif spell.english == 'Sleep II' or spell.english == 'Sleepga II' then
                        send_command('@timers c "'..spell.english..' ['..spell.target.name..']" 90 down spells/00220.png')
                end
                classes.CustomIdleGroups:clear()
        end
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 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 state.Buff[spell.english] ~= nil then
		state.Buff[spell.english] = true
	end
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.Buff[spell.english] ~= nil then
		state.Buff[spell.english] = not spell.interrupted or buffactive[spell.english]
	end
end


-------------------------------------------------------------------------------------------------------------------
-- Customization hooks for idle and melee sets, after they've been automatically constructed.
-------------------------------------------------------------------------------------------------------------------

-- Custom spell mapping.
function job_get_spell_map(spell, default_spell_map)
	if spell.action_type == 'Magic' then
		if default_spell_map == 'Cure' or default_spell_map == 'Curaga' then
			if world.weather_element == 'Light' then
				return 'CureWithLightWeather'
			end
		elseif spell.skill == 'Enfeebling Magic' then
			if spell.type == 'WhiteMagic' then
				return 'MndEnfeebles'
			else
				return 'IntEnfeebles'
			end
		elseif spell.skill == 'Elemental Magic' then
			if info.low_nukes:contains(spell.english) then
				return 'LowTierNuke'
			elseif info.mid_nukes:contains(spell.english) then
				return 'MidTierNuke'
			end
		end
	end
end

function customize_idle_set(idleSet)
	if state.Buff['Sublimation: Activated'] then
		if state.IdleMode == 'Normal' then
			idleSet = set_combine(idleSet, sets.buff.FullSublimation)
		elseif state.IdleMode == 'PDT' then
			idleSet = set_combine(idleSet, sets.buff.PDTSublimation)
		end
	end

	if player.mpp < 51 then
		idleSet = set_combine(idleSet, sets.latent_refresh)
	end

	return idleSet
end

-------------------------------------------------------------------------------------------------------------------
-- General hooks for change events.
-------------------------------------------------------------------------------------------------------------------

-- 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)
	if state.Buff[buff] ~= nil then
		state.Buff[buff] = gain
	end

	if buff == "Sublimation: Activated" then
		handle_equipping_gear(player.status)
	end
end

-- Handle notifications of general user state change.
function job_state_change(stateField, newValue, oldValue)
	if stateField == 'OffenseMode' then
		if newValue == 'Normal' then
			disable('main','sub')
		else
			enable('main','sub')
		end
	elseif stateField == 'Reset' then
		if state.OffenseMode == 'None' then
			enable('main','sub')
		end
	end
end


-------------------------------------------------------------------------------------------------------------------
-- User code that supplements self-commands.
-------------------------------------------------------------------------------------------------------------------

-- Called for direct player commands.
function job_self_command(cmdParams, eventArgs)
	if cmdParams[1]:lower() == 'scholar' then
		handle_strategems(cmdParams)
		eventArgs.handled = true
	end
end


-- Called by the 'update' self-command.
function job_update(cmdParams, eventArgs)
	if cmdParams[1] == 'user' and not (buffactive['light arts']      or buffactive['dark arts'] or
					   buffactive['addendum: white'] or buffactive['addendum: black']) then
		if state.IdleMode == 'Stun' then
			send_command('@input /ja "Dark Arts" <me>')
		else
			send_command('@input /ja "Light Arts" <me>')
		end
	end

	update_active_strategems()
	update_sublimation()
end


-- Function to display the current relevant user state when doing an update.
-- Return true if display was handled, and you don't want the default info shown.
function display_current_job_state(eventArgs)
	local defenseString = ''
	if state.Defense.Active then
		local defMode = state.Defense.PhysicalMode
		if state.Defense.Type == 'Magical' then
			defMode = state.Defense.MagicalMode
		end

		defenseString = 'Defense: '..state.Defense.Type..' '..defMode..', '
	end

	local meleeString = ''
	if state.OffenseMode == 'Normal' then
		meleeString = 'Melee: Weapons locked, '
	end

	add_to_chat(122,'Casting ['..state.CastingMode..'], '..meleeString..'Idle ['..state.IdleMode..'], '..defenseString..
		'Kiting: '..on_off_names[state.Kiting])

	eventArgs.handled = true
end

-------------------------------------------------------------------------------------------------------------------
-- Utility functions specific to this job.
-------------------------------------------------------------------------------------------------------------------

-- Reset the state vars tracking strategems.
function update_active_strategems()
	state.Buff['Ebullience'] = buffactive['Ebullience'] or false
	state.Buff['Rapture'] = buffactive['Rapture'] or false
	state.Buff['Perpetuance'] = buffactive['Perpetuance'] or false
	state.Buff['Immanence'] = buffactive['Immanence'] or false
	state.Buff['Penury'] = buffactive['Penury'] or false
	state.Buff['Parsimony'] = buffactive['Parsimony'] or false
	state.Buff['Celerity'] = buffactive['Celerity'] or false
	state.Buff['Alacrity'] = buffactive['Alacrity'] or false

	state.Buff['Klimaform'] = buffactive['Klimaform'] or false
end

function update_sublimation()
	state.Buff['Sublimation: Activated'] = buffactive['Sublimation: Activated'] or false
end

-- Equip sets appropriate to the active buffs, relative to the spell being cast.
function apply_grimoire_bonuses(spell, action, spellMap)
	if state.Buff.Perpetuance and spell.type =='WhiteMagic' and spell.skill == 'Enhancing Magic' then
		equip(sets.buff['Perpetuance'])
	end
	if state.Buff.Rapture and (spellMap == 'Cure' or spellMap == 'Curaga') then
		equip(sets.buff['Rapture'])
	end
	if spell.skill == 'Elemental Magic' and spellMap ~= 'ElementalEnfeeble' then
		if state.Buff.Ebullience and spell.english ~= 'Impact' then
			equip(sets.buff['Ebullience'])
		end
		if state.Buff.Immanence then
			equip(sets.buff['Immanence'])
		end
		if state.Buff.Klimaform and spell.element == world.weather_element then
			equip(sets.buff['Klimaform'])
		end
	end

	if state.Buff.Penury then equip(sets.buff['Penury']) end
	if state.Buff.Parsimony then equip(sets.buff['Parsimony']) end
	if state.Buff.Celerity then equip(sets.buff['Celerity']) end
	if state.Buff.Alacrity then equip(sets.buff['Alacrity']) end
end


-- General handling of strategems in an Arts-agnostic way.
-- Format: gs c scholar <strategem>
function handle_strategems(cmdParams)
	-- cmdParams[1] == 'scholar'
	-- cmdParams[2] == strategem to use

	if not cmdParams[2] then
		add_to_chat(123,'Error: No strategem command given.')
		return
	end
	local strategem = cmdParams[2]:lower()

	if buffactive['light arts'] or buffactive['addendum: white'] then
		if strategem == 'cost' then
			send_command('@input /ja Penury <me>')
		elseif strategem == 'speed' then
			send_command('@input /ja Celerity <me>')
		elseif strategem == 'aoe' then
			send_command('@input /ja Accession <me>')
		elseif strategem == 'power' then
			send_command('@input /ja Rapture <me>')
		elseif strategem == 'duration' then
			send_command('@input /ja Perpetuance <me>')
		elseif strategem == 'accuracy' then
			send_command('@input /ja Altruism <me>')
		elseif strategem == 'enmity' then
			send_command('@input /ja Tranquility <me>')
		elseif strategem == 'skillchain' then
			add_to_chat(122,'Error: Light Arts does not have a skillchain strategem.')
		elseif strategem == 'addendum' then
			send_command('@input /ja "Addendum: White" <me>')
		else
			add_to_chat(123,'Error: Unknown strategem ['..strategem..']')
		end
	elseif buffactive['dark arts']  or buffactive['addendum: black'] then
		if strategem == 'cost' then
			send_command('@input /ja Parsimony <me>')
		elseif strategem == 'speed' then
			send_command('@input /ja Alacrity <me>')
		elseif strategem == 'aoe' then
			send_command('@input /ja Manifestation <me>')
		elseif strategem == 'power' then
			send_command('@input /ja Ebullience <me>')
		elseif strategem == 'duration' then
			add_to_chat(122,'Error: Dark Arts does not have a duration strategem.')
		elseif strategem == 'accuracy' then
			send_command('@input /ja Focalization <me>')
		elseif strategem == 'enmity' then
			send_command('@input /ja Equanimity <me>')
		elseif strategem == 'skillchain' then
			send_command('@input /ja Immanence <me>')
		elseif strategem == 'addendum' then
			send_command('@input /ja "Addendum: Black" <me>')
		else
			add_to_chat(123,'Error: Unknown strategem ['..strategem..']')
		end
	else
		add_to_chat(123,'No arts has been activated yet.')
	end
end


-- Gets the current number of available strategems based on the recast remaining
-- and the level of the sch.
function get_current_strategem_count()
	-- returns recast in seconds.
	local allRecasts = windower.ffxi.get_ability_recasts()
	local stratsRecast = allRecasts[231]

	local maxStrategems

	if player.main_job_level >= 90 then
		maxStrategems = 5
	elseif player.main_job_level >= 70 then
		maxStrategems = 4
	elseif player.main_job_level >= 50 then
		maxStrategems = 3
	elseif player.main_job_level >= 30 then
		maxStrategems = 2
	elseif player.main_job_level >= 10 then
		maxStrategems = 1
	else
		maxStrategems = 0
	end

	local fullRechargeTime = 4*60

	local currentCharges = math.floor(maxStrategems - maxStrategems * stratsRecast / fullRechargeTime)

	return currentCharges
end


-- Select default macro book on initial load or subjob change.
function select_default_macro_book()
	set_macro_page(1, 17)
	end

Replace entire contents of file with that

EDIT: Noticed your rule trying to equip sets.magic_burst.
[+]
Offline
Posts: 420
By BlaTheTaru 2016-08-31 20:33:04  
I did and it said line 404 magic burst was a .nil value?
 Bismarck.Kuroganashi
Offline
サーバ: Bismarck
Game: FFXI
Posts: 1346
By Bismarck.Kuroganashi 2016-09-01 10:48:29  
BlaTheTaru said: »
I did and it said line 404 magic burst was a .nil value?

To comment out the Set that you possibly do not have
do this:
Code
if spell.skill == 'Elemental Magic' then
        if state.MagicBurst.value then
        --equip(sets.magic_burst)
        end
    end
 Carbuncle.Calout
Offline
サーバ: Carbuncle
Game: FFXI
user: Calout
Posts: 14
By Carbuncle.Calout 2016-09-04 10:39:41  
Could anyone take a look at my Blu lua and see why my midcast sets are not equipping for my spells. It works for a few spells but not for all of my spells.
 Ragnarok.Flippant
Offline
サーバ: Ragnarok
Game: FFXI
user: Enceladus
Posts: 660
By Ragnarok.Flippant 2016-09-04 11:55:15  
Would help if you could give an example of a spell that is not working as you expect it to.

The only problem that immediately sticks out is that your Charged Whisker set will never reach the conditions checking for Burst Affinity or Convergence because it's being caught by line 565. Given you aren't actually doing anything special with the set, you could take it out altogether; or, I'd suggest, naming it something else (like just get rid of the space) and changing line 598 to equipset = sets.midcast.ChargedWhisker.
 Carbuncle.Calout
Offline
サーバ: Carbuncle
Game: FFXI
user: Calout
Posts: 14
By Carbuncle.Calout 2016-09-04 12:03:55  
Ragnarok.Flippant said: »
Would help if you could give an example of a spell that is not working as you expect it to.

The only problem that immediately sticks out is that your Charged Whisker set will never reach the conditions checking for Burst Affinity or Convergence because it's being caught by line 565. Given you aren't actually doing anything special with the set, you could take it out altogether; or, I'd suggest, naming it something else (like just get rid of the space) and changing line 598 to equipset = sets.midcast.ChargedWhisker.

It's pretty much all of the Blu spells like when i cast sinker drill it shows my precast going off then just switches to aftercast gear it's not showing the midcast. Im doing the show swaps in gs and its not showing the midcast. I have tested with a lot of spells including magic/pysical blu spells. Only spell i could get to show midcast was Sudden Lunge.
 Ragnarok.Flippant
Offline
サーバ: Ragnarok
Game: FFXI
user: Enceladus
Posts: 660
By Ragnarok.Flippant 2016-09-04 13:35:08  
The equip set names on line 578, 580, 582, and 584 are missing the _ after "Physical". I don't see anything wrong with the magic sets, but you do have a few that are empty (buff, breath).
 Carbuncle.Calout
Offline
サーバ: Carbuncle
Game: FFXI
user: Calout
Posts: 14
By Carbuncle.Calout 2016-09-04 14:36:16  
Ragnarok.Flippant said: »
The equip set names on line 578, 580, 582, and 584 are missing the _ after "Physical". I don't see anything wrong with the magic sets, but you do have a few that are empty (buff, breath).
Thanks a ton Flippant that was the issue all is working ok now.
 Fenrir.Bricent
Offline
サーバ: Fenrir
Game: FFXI
Posts: 64
By Fenrir.Bricent 2016-09-05 05:45:44  
I am having an issue with my augmented gear equipping in this set. Any help would be great.

sets.midcast.Pet.Weaponskill = {
head={ name="Taeon Chapeau", augments={'Pet: "Haste"+2%','Attack+20 Rng. Atk.+20','"Dbl. Atk."+4',}},
ear1="Charivari Earring",
ear2="Cirque Earring",
body="Pitre Tobe",
hands={ name="Taeon Gloves", augments={'Pet: Damage taken -2%','Attack+24 Rng. Atk.+24','"Dbl. Atk."+3',}},
back="Dispersal Mantle",
waist="Hurch'lan Sash",
legs={ name="Taeon Tights", augments={'Pet: "Haste"+2%','Accuracy+23 Rng. Acc.+23','"Dbl. Atk."+1',}},
feet={ name="Taeon Boots", augments={'Pet: Crit. hit rate +1%','"Haste"+3%','Accuracy+23 Rng. Acc.+23',}}}
 Phoenix.Demonjustin
Offline
サーバ: Phoenix
Game: FFXI
Posts: 661
By Phoenix.Demonjustin 2016-09-05 08:12:25  
How would one go about making a toggle for their nuking body to swap between Merlinic & Seidr when a certain key is pressed?
 Odin.Lygre
Offline
サーバ: Odin
Game: FFXI
user: Dylaudid
Posts: 89
By Odin.Lygre 2016-09-05 12:58:32  
Code
function job_setup()
	state.ConsMP = M(false, 'AF Body')
	send_command('bind !` gs c toggle ConsMP')
end


function init_gear_sets()
	sets.ConsMP = {body="Spaekona's coat +1"}
end


function job_post_midcast(spell, action, spellMap, eventArgs)
	if spell.skill == 'Elemental Magic' and state.ConsMP.value then
		equip(sets.ConsMP)
	end
end


For the record, I'm just posting the code under their relevant functions.
[+]
 Odin.Speedyjim
Offline
サーバ: Odin
Game: FFXI
user: speedyjim
Posts: 177
By Odin.Speedyjim 2016-09-05 13:30:03  
Fenrir.Bricent said: »
I am having an issue with my augmented gear equipping in this set. Any help would be great.

sets.midcast.Pet.Weaponskill = {
head={ name="Taeon Chapeau", augments={'Pet: "Haste"+2%','Attack+20 Rng. Atk.+20','"Dbl. Atk."+4',}},
ear1="Charivari Earring",
ear2="Cirque Earring",
body="Pitre Tobe",
hands={ name="Taeon Gloves", augments={'Pet: Damage taken -2%','Attack+24 Rng. Atk.+24','"Dbl. Atk."+3',}},
back="Dispersal Mantle",
waist="Hurch'lan Sash",
legs={ name="Taeon Tights", augments={'Pet: "Haste"+2%','Accuracy+23 Rng. Acc.+23','"Dbl. Atk."+1',}},
feet={ name="Taeon Boots", augments={'Pet: Crit. hit rate +1%','"Haste"+3%','Accuracy+23 Rng. Acc.+23',}}}
Code
//gs export inv lua

Have the armour in your inventory and type the above code. The augments have likely changed order and are thusly not being recognized.
 Phoenix.Demonjustin
Offline
サーバ: Phoenix
Game: FFXI
Posts: 661
By Phoenix.Demonjustin 2016-09-06 12:14:45  
How would I go about making it so that whilst Mana Wall is active, my idle back/feet are swapped to Mana Wall gear without affecting my nuking gear?
 Odin.Lygre
Offline
サーバ: Odin
Game: FFXI
user: Dylaudid
Posts: 89
By Odin.Lygre 2016-09-06 13:09:49  
Code
function init_gear_sets()
	sets.buff['Mana Wall'] = {back="Taranus's cape",feet="Wicce Sabots +1"}
end

function customize_idle_set(idleSet)
	if buffactive['Mana Wall'] then
		idleSet = set_combine(idleSet, sets.buff['Mana Wall'])
	end
	return idleSet
end

I do a bit more with it in my lua, but this should do what you're asking for.
[+]
 Bismarck.Mitchel
Offline
サーバ: Bismarck
Game: FFXI
Posts: 153
By Bismarck.Mitchel 2016-09-10 06:39:12  
Is it possible to setup a macro for cycling through binds? For example, send a command to Toggle through F9 sets.

Also, I'm having trouble equipping aug'd gear in this GS, any suggestions?:

Its pulling the error - unexpected symbol near "=" for Augmented Taeon Chapeau.
 Ragnarok.Flippant
Offline
サーバ: Ragnarok
Game: FFXI
user: Enceladus
Posts: 660
By Ragnarok.Flippant 2016-09-10 11:27:57  
Delete the comma after the gear.Herc_TP_Feet line. (In the future, it's better to give the line number that it reports; and perhaps use [code] tags.)

As for bindings, they are linked to commands, likely in your Mote-Globals.lua file (unless you define them in your own global), so you can refer to that. For example, f9 is bound to 'gs c cycle OffenseMode', so your in-game macro would be '/console gs c cycle OffenseMode'.
 Bismarck.Mitchel
Offline
サーバ: Bismarck
Game: FFXI
Posts: 153
By Bismarck.Mitchel 2016-09-10 11:59:25  
Ragnarok.Flippant said: »
Delete the comma after the gear.Herc_TP_Feet line. (In the future, it's better to give the line number that it reports; and perhaps use [code] tags.)

As for bindings, they are linked to commands, likely in your Mote-Globals.lua file (unless you define them in your own global), so you can refer to that. For example, f9 is bound to 'gs c cycle OffenseMode', so your in-game macro would be '/console gs c cycle OffenseMode'.

Can't believe i missed that, staring at it for too long that's the trouble.

Perfect though, thanks! Received alot of good help from this thread
 Ragnarok.Aramakii
Offline
サーバ: Ragnarok
Game: FFXI
user: Relapse13
Posts: 4
By Ragnarok.Aramakii 2016-09-10 18:28:09  
I'm usually pretty handy with this kind of thing, but for the past hour or so I have been running my head into the wall over this
What I'm trying to do is incorporate Arbatel loafers into midcast when klimaform is up and I'm casting elemental skill magic, but also keep the obi and magic burst sets equipped when applicable. As of right now everything works as intended,(I got rid of everything having to do with klimaform).
But usually when I tried adding a rule for the loafers, it would equip them when klimaform was up, but it would supersede the obi rule when weather or day was active.
Any help with this would be greatly appreciated, thanks in advance.
 Ragnarok.Flippant
Offline
サーバ: Ragnarok
Game: FFXI
user: Enceladus
Posts: 660
By Ragnarok.Flippant 2016-09-10 21:27:12  
If you show me what you were doing before, I might be able to tell you what was going wrong so you could learn from it o:
Code
function midcast(spell,action)
    equipSet = {}
    if spell.action_type == 'Magic' then
        equipSet = sets.Midcast
        if spell.english:startswith('Cur') and spell.english ~= "Cursna" then
            if spell.english:startswith('Cure') then
                if world.day_element == spell.element or world.weather_element == spell.element then
                    equipSet = equipSet.Cure.Weather
                elseif spell.english:startswith('Cura') then
                    equipSet = equipSet.Curaga
                end
            end
            if buffactive.Rapture then
                equipSet = set_combine(equipSet,sets.Rapture)
            end
            if world.day_element == spell.element or world.weather_element == spell.element then
                equipSet = set_combine(equipSet,{back="Twilight Cape",waist="Hachirin-no-Obi"})
            end
        elseif spell.english == "Stoneskin" then
            if buffactive.Stoneskin then
                send_command('@wait 2.8;cancel stoneskin')
            end
            equipSet = equipSet.Stoneskin
        elseif spell.english == "Sneak" then
            if spell.target.name == player.name and buffactive['Sneak'] then
                send_command('cancel sneak')
            end
            equipSet = equipSet.Haste
        elseif spell.english == "Impact" then
             equipSet = set_combine(equipSet,sets.Midcast.Impact)
        elseif spell.english:startswith('Regen') and RegenIndex==1 then
            equipSet = set_combine(equipSet,sets.Potency)
        elseif spell.english:startswith('Regen') and RegenIndex==0 then
            equipSet = set_combine(equipSet,sets.Midcast.Regen)
        elseif spell.english == "Stun" and buffactive.Alacrity and world.weather_element == 'Thunder' then
            equipSet = set_combine(equipSet,sets.Alacrity)
        elseif Low_Tier_Spells:contains(spell.english) and LowNuke == 'ON' then
            equipSet = set_combine(equipSet,sets.LowNuke)
        elseif spell.skill == 'Elemental Magic' and MB == 'ON' then
            equipSet = set_combine(equipSet,sets.MB)
        elseif spell.english:startswith('Utsusemi') then
            if spell.english == 'Utsusemi: Ichi' and (buffactive['Copy Image'] or buffactive['Copy Image (2)'] or buffactive['Copy Image (3)']) then
                send_command('@wait 1.7;cancel Copy Image*')
            end
            equipSet = equipSet.Haste
        else
            if equipSet[spell.english] then
                equipSet = equipSet[spell.english]
            end
            if equipSet[spell.skill] then
                equipSet = equipSet[spell.skill]
            end
            if equipSet[AccArray[AccIndex]] then
                equipSet = equipSet[AccArray[AccIndex]]
            end
            if equipSet[spell.type] then
                equipSet = equipSet[spell.type]
            end
        end
        if (spell.skill == 'Elemental Magic' or spell.english:startswith('Cur') or spell.english:startswith('Bio') or spell.english:startswith('Dia') or spell.english == 'Aspir' or spell.english == 'Drain') and not Non_Obi_Spells:contains(spell.english) and (world.day_element == spell.element or world.weather_element == spell.element) and sets.Obi[spell.element] and Obi == 'ON' and spell.english ~= "Cursna" then 
            equipSet = set_combine(equipSet,sets.Obi[spell.element])
        end
        if spell.skill=='Elemental Magic' and buffactive.Klimaform then
            equipSet = set_combine(equipSet,{feet='Arbatel Loafers'})
        end
        if buffactive.Perpetuance and spell.skill == "Enhancing Magic" then 
            equipSet = set_combine(equipSet,sets.Perpetuance)
        end
    elseif equipSet[spell.english] then
        equipSet = equipSet[spell.english]
    end
    equip(equipSet)
    if StunIndex == 1 then
        equip(sets.Midcast.Stun)
    end
end

I added the rules after the third set of obi rules you had. I also took those rules, the obi rules, and the Perpetuance rules and put them in the more logically sound place (as it was, if any previous conditions had been met, you would never would hit them).

I also took the auto-obi and its condition out of your MB rules (otherwise, you'd only nuke in your MB set if you also had the correct weather/day). I left the obi rule in your cure rules just in case, but if Twilight Cape is already in your sets.Obi.Light, then you don't need those.

I don't know what "Low Nuke" is, but if it and MB are both on, you will not use MB gear. I wasn't sure if that was the intention.
 Ragnarok.Aramakii
Offline
サーバ: Ragnarok
Game: FFXI
user: Relapse13
Posts: 4
By Ragnarok.Aramakii 2016-09-10 22:04:29  
I believe this was the most recent addition I added below the Mb rule, between line 43 and 44 of the code I posted. It would equip the loafers, but then supersede the obi rule for day/weather bonus. MB and Low Nuke are never on at the same time, can toggle either or on/off.

edit: When I first started messing with this lua, I noticed it wouldn't equip the obi/cape/chatoyant for light cures, and also would not equip the obi for magic bursts when MB was set to on. All those extra obi rules were just a workaround for that. Sorry if that was an inconvenience. Then I was hit by the klimaform fiasco. I think about there is where I lost it.
 Ragnarok.Flippant
Offline
サーバ: Ragnarok
Game: FFXI
user: Enceladus
Posts: 660
By Ragnarok.Flippant 2016-09-10 23:00:11  
Yeah, it wouldn't surprise me that Boku put it in the wrong section ;P

Within an if tree, only one condition can be met. Once a condition is found, the program will leave the tree (wherever the appropriate 'end' is found).

So if you say elseif spell.skill=='Elemental Magic', it implies that you do not want any Elemental Magic to go past that condition; it will just execute whatever is inside, and leave. So you were probably somehow making the two rules exclusive (either A or B, never both). Instead, you can use two separate if trees.
First Page 2 3 ... 108 109 110 ... 182 183 184
Log in to post.