Gearswap After 14/5

言語: JP EN DE FR
2010-06-21
New Items
users online
フォーラム » Windower » Support » Gearswap after 14/5
Gearswap after 14/5
 Lakshmi.Byrth
VIP
Offline
サーバ: Lakshmi
Game: FFXI
user: Byrthnoth
Posts: 6137
By Lakshmi.Byrth 2014-05-14 18:39:38  
Fenrir.Thandar said: »
punkphloyd said: »
Fenrir.Thandar said: »
Isn't pulling from Wardrobe yet it seems.

I'm just happy it's working again! Wardrobe access will just be a bonus when it comes.

It isn't working for me fully. My gear is changing for the most part, but JAs aren't equipping gear, same for WS gear for me.

We're fixing this now. They changed the abilities list packet.
 Fenrir.Thandar
Offline
サーバ: Fenrir
Game: FFXI
user: Thandar
Posts: 405
By Fenrir.Thandar 2014-05-14 18:51:58  
Lakshmi.Byrth said: »
Fenrir.Thandar said: »
punkphloyd said: »
Fenrir.Thandar said: »
Isn't pulling from Wardrobe yet it seems.

I'm just happy it's working again! Wardrobe access will just be a bonus when it comes.

It isn't working for me fully. My gear is changing for the most part, but JAs aren't equipping gear, same for WS gear for me.

We're fixing this now. They changed the abilities list packet.

I knew you guys would be! Thanks for the quick work!
 Lakshmi.Byrth
VIP
Offline
サーバ: Lakshmi
Game: FFXI
user: Byrthnoth
Posts: 6137
By Lakshmi.Byrth 2014-05-14 21:09:48  
GearSwap should work with Wardrobe now.
[+]
 Valefor.Prothescar
Guide Master
Offline
サーバ: Valefor
Game: FFXI
Posts: 19432
By Valefor.Prothescar 2014-05-14 21:13:34  
yup, working perfectly, thanks!

it's kinda funny. in-game macros incorporate up to a 2 second delay in equipping gear from wardrobe I noticed. All the more reason to use GS
 Carbuncle.Dagget
Offline
サーバ: Carbuncle
Game: FFXI
user: simbaa
Posts: 85
By Carbuncle.Dagget 2014-05-14 21:29:48  
Have you guys implemented a way to tell which piece gear is in the wardrobe and which is in inventory? (for certain augment's that i cant get to work's sake)
Offline
Posts: 103
By Santi 2014-05-14 21:34:03  
thank you very much Byrth, much appreciated
 Bahamut.Eclipstic
Offline
サーバ: Bahamut
Game: FFXI
user: eclipstic
Posts: 50
By Bahamut.Eclipstic 2014-05-15 10:33:22  
is there somewhere that lays out the ground rules for gearswap? i'm trying to wrap my head around these user made and examples and none of it makes sense to me yet.
 Cerberus.Conagh
Offline
サーバ: Cerberus
Game: FFXI
user: onagh
Posts: 3189
By Cerberus.Conagh 2014-05-15 10:53:35  
Bahamut.Eclipstic said: »
is there somewhere that lays out the ground rules for gearswap? i'm trying to wrap my head around these user made and examples and none of it makes sense to me yet.

It's very similar to Spellcast so ~

You have your basic Gear Table
Code
function precast(spell)
    if spell.action_type == 'Magic' then
        equip(sets.precast.FC.Standard)
                 
        elseif spell.action_type == 'Blue Magic' then
        equip(sets.precast.FC.Blue)
    end


So this is your standard Precast set, it checks if it is a Blue Magic type spell first, then if it's not, it will use the standard Fast cast set for Magic Type.

Pretty Straight forward ~

Supposing though you want to use a WS for example Requiescat (Some of this is very similar to Prothescars Gearswap)
Code
if spell.english == 'Requiescat' then
        equip(sets.Requiescat[sets.Requiescat.index[Requiescat_ind]])
    end


Spell = WS name is very similar to SC but you'll notice it checks something called a Requiescat Index, the Index is something rfererred to as a Variable within the gear itself ~

Here's the gear sets and rules etc
Code
sets.Requiescat = {}
     
    sets.Requiescat.index = {'Attack','AccuracyLite','AccuracyMedium','AccuracyMax'}
    Requiescat_ind = 1
     
    sets.Requiescat.Attack = {ammo="Cheruski needle",
                              head="Whirlpool mask",neck="Soil gorget",ear1="Brutal earring",ear2="Moonshade earring",
                              body="Wayfarer robe",hands="Luh. Bazubands +1",ring2="Epona's ring",ring1="Aquasoul ring",
                              back="Vespid Mantle",waist="Soil belt",legs="Quiahuiz Trousers",feet="Assim. Charuqs +1"}
                                   
    sets.Requiescat.AccuracyLite = {ammo="Honed tathlum",
                                head="Whirlpool mask",neck="Soil gorget",ear1="Brutal earring",ear2="Moonshade earring",
                                body="Wayfarer robe",hands="Luh. Bazubands +1",ring2="Epona's ring",ring1="Aquasoul ring",
                                back="Vespid Mantle",waist="Soil belt",legs="Quiahuiz Trousers",feet="Assim. Charuqs +1"}
								
	sets.Requiescat.AccuracyMedium = {ammo="Honed tathlum",
                                head="Whirlpool mask",neck="Soil gorget",ear1="Brutal earring",ear2="Moonshade earring",
                                body="Manibozho Jerkin",hands="Luh. Bazubands +1",ring2="Epona's ring",ring1="Aquasoul ring",
                                back="Vespid Mantle",waist="Soil belt",legs="Quiahuiz Trousers",feet="Assim. Charuqs +1"}
    
	sets.Requiescat.AccuracyMax = {ammo="Honed tathlum",
                                head="Whirlpool mask",neck="Soil gorget",ear1="Brutal earring",ear2="Moonshade earring",
                                body="Manibozho Jerkin",hands="Luh. Bazubands +1",ring2="Epona's ring",ring1="Aquasoul ring",
                                back="Letalis mantle",waist="Soil belt",legs="Manibozho Brais",feet="Assim. Charuqs +1"}
     	


So sets are there and you willl notice the index is = 1

1 is for Atack, 2 is the next etc etc etc.
Code
    sets.Requiescat.index = {'Attack','AccuracyLite','AccuracyMedium','AccuracyMax'}
    Requiescat_ind = 1


But you might ask how do I change this Index ingame?

you have to create a toggle command here -
Code
function self_command(command)
    if command == 'toggle TP set' then
        TP_ind = TP_ind +1
        if TP_ind > #sets.TP.index then TP_ind = 1 end
        send_command('@input /echo <----- TP Set changed to '..sets.TP.index[TP_ind]..' ----->')
        equip(sets.TP[sets.TP.index[TP_ind]])
	

    elseif command == 'toggle Idle set' then
        Idle_ind = Idle_ind +1
        if Idle_ind > #sets.Idle.index then Idle_ind = 1 end
        send_command('@input /echo <----- Idle Set changed to '..sets.Idle.index[Idle_ind]..' ----->')
        equip(sets.Idle[sets.Idle.index[Idle_ind]])
    elseif command == 'toggle Req set' then
        Requiescat_ind = Requiescat_ind +1
        if Requiescat_ind > #sets.Requiescat.index then Requiescat_ind = 1 end
        send_command('@input /echo <----- Requiescat Set changed to '..sets.Requiescat.index[Requiescat_ind]..' ----->')
    elseif command == 'toggle CDC set' then
        ChantDuCygne_ind = ChantDuCygne_ind +1
        if ChantDuCygne_ind > #sets.ChantDuCygne.index then ChantDuCygne_ind = 1 end
        send_command('@input /echo <----- Chant du Cygne Set changed to '..sets.ChantDuCygne.index[ChantDuCygne_ind]..' ----->')
    elseif command == 'equip TP set' then
        equip_TP_set()
    elseif command == 'equip Idle set' then
        equip_Idle_set()
    end
end


So the part
Code
    elseif command == 'toggle Req set' then
        Requiescat_ind = Requiescat_ind +1
        if Requiescat_ind > #sets.Requiescat.index then Requiescat_ind = 1 end
        send_command('@input /echo <----- Requiescat Set changed to '..sets.Requiescat.index[Requiescat_ind]..' ----->')



You notice the elseif command = 'Toggle Req set' this is the command you punch into the game to make it toggle your set and it echos your updateed set telling your what Acc tier (or index) it is on.

This is just one methoc.

JA!

I like to change my spell sets depending on JA active etc so ~
Code
    if spell.english == 'Vertical Cleave' or spell.english == 'Death Scissors' or spell.english == 'Empty Thrash' or spell.english == 'Dimensional Death' or spell.english == 'Quadrastrike' or spell.english == 'Bloodrake' or spell.english == 'Circle Blade' then
        equip(sets.BlueMagic.STR)
        if buffactive['Chain Affinity'] then
            equip(sets.JA.ChainAffinity)
        end
        if buffactive['Efflux'] then
            equip(sets.JA.Efflux)
        end
    end



This checks if Efflux is up and will equip my pants over the other set (it merges them) so you put on your normal Spell set + the JA.Efflux set is also equipped (its done at the same time and the empty slots just fill up from your standard set) it's instant.

I know it's not super easy and clear bu it might help you a little bit understanding GearSwap ^^

You can also create tables for spells etc ~

So this is an Curing Rule ~
Code
	elseif spell.skill=='Healing Magic' then	
		if T{"Cure","Cure II","Cure III","Cure IV","Cure V","Cure VI"}:contains(spell.name) 		then
			if  world.day =='Lightsday' or  world.weather_element == 'Light'  or Buffactive == 'Aurorastorm'then
				equip(sets.midcast_WCure)
				else
				equip(sets.midcast_Cure)
				end
		elseif T{"Curaga","Curaga II","Curaga III","Curaga IV","Curaga V"}:contains(spell.name)  then
		equip(sets.midcast_Curaga)
		elseif T{"Paralyna","Silena","Viruna","Erase","Cursna","Stona","Blindna","Poisona"}:contains(spell.name) then
			equip (sets['midcast_DebuffRemoval'])
		elseif T{"Protectra V","Shellra V"}:contains(spell.name) then
			equip(sets['midcast_Barspell'])
		else
		equip(sets.midcast_DebuffRemoval)
		end


This includes a rule for Light weather etc and amends my sets accordingly.
[+]
 Remora.Brain
Offline
サーバ: Remora
Game: FFXI
user: Arucaurd
Posts: 602
By Remora.Brain 2014-05-15 11:37:06  
Thank you Conagh, that helps quite a bit.

Is there anywhere I can look to learn all the commands I'd need to know to construct my own gearswaps?
 Lakshmi.Byrth
VIP
Offline
サーバ: Lakshmi
Game: FFXI
user: Byrthnoth
Posts: 6137
By Lakshmi.Byrth 2014-05-15 11:48:03  
Variables.xlsx in your windower/addons/gearswap/beta_examples_and_information folder
 Ragnarok.Martel
Offline
サーバ: Ragnarok
Game: FFXI
Posts: 2910
By Ragnarok.Martel 2014-05-15 15:18:10  
So, will the validate cmd change at all in regards to wardrobe?
 Lakshmi.Byrth
VIP
Offline
サーバ: Lakshmi
Game: FFXI
user: Byrthnoth
Posts: 6137
By Lakshmi.Byrth 2014-05-15 15:19:29  
Yeah, Motenten already made those changes on the -dev branch. I'll merge it live now.
 Bahamut.Eclipstic
Offline
サーバ: Bahamut
Game: FFXI
user: eclipstic
Posts: 50
By Bahamut.Eclipstic 2014-05-16 08:15:34  
what program are you supposed to use to read the variables file? anything i try to open it with results in symbol vomit
 Remora.Brain
Offline
サーバ: Remora
Game: FFXI
user: Arucaurd
Posts: 602
By Remora.Brain 2014-05-16 08:24:11  
Messing with Gearswap makes me feel like Scott Steiner.
 Leviathan.Arcon
VIP
Offline
サーバ: Leviathan
Game: FFXI
user: Zaphor
Posts: 660
By Leviathan.Arcon 2014-05-16 08:43:04  
Bahamut.Eclipstic said: »
what program are you supposed to use to read the variables file? anything i try to open it with results in symbol vomit

Excel. You can also view them online on various sites (I know you could do it on Google Docs, which is now Google Drive).
 Remora.Brain
Offline
サーバ: Remora
Game: FFXI
user: Arucaurd
Posts: 602
By Remora.Brain 2014-05-16 08:55:22  
I've frankensteined a gear swap together from byrth's mnk example template and some of Conagh's explanation. It's working pretty damn well actually.

I know this may seem like a dumb question, but in Conagh's example, he says to just punch in 'toggle TP set' to toggle the sets in your index. Do I just type it in? do I type in '//toggle TP set' or what?
 Lakshmi.Byrth
VIP
Offline
サーバ: Lakshmi
Game: FFXI
user: Byrthnoth
Posts: 6137
By Lakshmi.Byrth 2014-05-16 09:17:03  
You use "//gs c toggle TP set" from the chat log, or "/console gs c toggle TP set" from a macro.
 Remora.Brain
Offline
サーバ: Remora
Game: FFXI
user: Arucaurd
Posts: 602
By Remora.Brain 2014-05-16 09:21:14  
Thank you very much, everything seems to be working now.
 Ragnarok.Azryel
Offline
サーバ: Ragnarok
Game: FFXI
user: Azryel
Posts: 317
By Ragnarok.Azryel 2014-05-16 09:44:45  
I was goofing around on BLM last night, and I noticed that I was nuking for almost no damage, so I did a showswaps and the midcast set was being skipped entirely; it was going directly from precast to aftercast, and it’s never done that before… Is that update related?
 Cerberus.Conagh
Offline
サーバ: Cerberus
Game: FFXI
user: onagh
Posts: 3189
By Cerberus.Conagh 2014-05-16 12:30:04  
Ragnarok.Azryel said: »
I was goofing around on BLM last night, and I noticed that I was nuking for almost no damage, so I did a showswaps and the midcast set was being skipped entirely; it was going directly from precast to aftercast, and it’s never done that before… Is that update related?

I had an issue with Itemizer loaded, could be related?
 Ragnarok.Azryel
Offline
サーバ: Ragnarok
Game: FFXI
user: Azryel
Posts: 317
By Ragnarok.Azryel 2014-05-16 13:01:34  
Cerberus.Conagh said: »
Ragnarok.Azryel said: »
I was goofing around on BLM last night, and I noticed that I was nuking for almost no damage, so I did a showswaps and the midcast set was being skipped entirely; it was going directly from precast to aftercast, and it’s never done that before… Is that update related?

I had an issue with Itemizer loaded, could be related?
Other stuff seemed fine (I was mainly playing BRD on my mule, and all that curing/singing stuff appeared to be in working order), but the elemental magic midcast set just wasn't triggering on BLM- during the showswap it never appeared as even attempting to pull gear... I thought I read somewhere on one of these forums that some of the "MagicType" rules were changed to have a space between the wording like "Magic Type," but I'm not sure if that's what's going on here because the healing magic worked perfectly. I haven't tried to DD or any of that other stuff yet- I just hopped on last night, did a couple delves on BRD, and then tried to nuke in a round of Skirmish and it was casting in precast.
 Quetzalcoatl.Jykia
Offline
サーバ: Quetzalcoatl
Game: FFXI
user: jykia
Posts: 22
By Quetzalcoatl.Jykia 2014-05-16 13:19:46  
it seemed to be forgetting one of my shirts and wouldn't change back to my staff for cures last night
 Fenrir.Motenten
VIP
Offline
サーバ: Fenrir
Game: FFXI
user: Motenten
Posts: 764
By Fenrir.Motenten 2014-05-16 14:59:59  
Ragnarok.Azryel said: »
the elemental magic midcast set just wasn't triggering on BLM

If any of the sets are defined using something like sets.midcast.ElementalMagic, and set selection depends on the spell.skill value (ie: you're not explicitly equipping the set name, but creating the set name based on the metadata), they need to be changed to sets.midcast['Elemental Magic']. You also need to check for any tests done in the rules code. Anything where it checks something like [if spell.skill == 'ElementalMagic' then] needs to be changed to [if spell.skill == 'Elemental Magic' then].
[+]
 Ragnarok.Azryel
Offline
サーバ: Ragnarok
Game: FFXI
user: Azryel
Posts: 317
By Ragnarok.Azryel 2014-05-16 15:18:50  
Fenrir.Motenten said: »
Ragnarok.Azryel said: »
the elemental magic midcast set just wasn't triggering on BLM

If any of the sets are defined using something like sets.midcast.ElementalMagic, and set selection depends on the spell.skill value (ie: you're not explicitly equipping the set name, but creating the set name based on the metadata), they need to be changed to sets.midcast['Elemental Magic']. You also need to check for any tests done in the rules code. Anything where it checks something like [if spell.skill == 'ElementalMagic' then] needs to be changed to [if spell.skill == 'Elemental Magic' then].
That was it. Thank you.
 Bahamut.Eclipstic
Offline
サーバ: Bahamut
Game: FFXI
user: eclipstic
Posts: 50
By Bahamut.Eclipstic 2014-05-16 15:21:14  
is this not designed to switch BACK to a given set after using a ja or spell? my swaps seem to be working to do the action but they stay in that set
 Quetzalcoatl.Orestes
Offline
サーバ: Quetzalcoatl
Game: FFXI
user: Orestes78
Posts: 430
By Quetzalcoatl.Orestes 2014-05-16 16:08:12  
Bahamut.Eclipstic said: »
is this not designed to switch BACK to a given set after using a ja or spell? my swaps seem to be working to do the action but they stay in that set

By default no, you have to add this yourself in the aftercast() function. You also need to make sure the sets referenced exist, and have gear in them.
Code
function aftercast(spell)
        if player.status == 'Engaged' then
                equip(sets.engaged)
        else
                equip(sets.idle)
        end
end


If you're using Mote's includes, then you don't have to do this. Just make sure sets.engaged and sets.idle have gear.
 Bahamut.Eclipstic
Offline
サーバ: Bahamut
Game: FFXI
user: eclipstic
Posts: 50
By Bahamut.Eclipstic 2014-05-16 16:35:22  
okay, this day is really trying my patience. idk wtf i'm doing wrong. i input that exact phrase under the following section, toggled an idle set to revert to and yet it still won't work. the sets when triggered manually work just fine but it refuses to do it on its own
Code
function aftercast(spell,action)
if player.status == 'Engaged' then
                equip(sets.Engaged)
        else
                equip(sets.Idle)
        end
	if not spell.interrupted then
if spell.english == "Sleep II" then -- Sleep II Countdown --
send_command('wait 60;input /echo Sleep Effect: [WEARING OFF IN 30 SEC.];wait 15;input /echo Sleep Effect: [WEARING OFF IN 15 SEC.];wait 10;input /echo Sleep Effect: [WEARING OFF IN 5 SEC.]')
elseif spell.english == "Sleep" or spell.english == "Sleepga" then -- Sleep & Sleepga Countdown --
send_command('wait 30;input /echo Sleep Effect: [WEARING OFF IN 30 SEC.];wait 15;input /echo Sleep Effect: [WEARING OFF IN 15 SEC.];wait 10;input /echo Sleep Effect: [WEARING OFF IN 5 SEC.]')
elseif spell.english == "Banish II" then -- Banish II Countdown --
send_command('wait 20;input /echo Banish Effect: [WEARING OFF IN 10 SEC.]')
		end
	end
	status_change(player.status)
end

 Quetzalcoatl.Orestes
Offline
サーバ: Quetzalcoatl
Game: FFXI
user: Orestes78
Posts: 430
By Quetzalcoatl.Orestes 2014-05-16 16:51:50  
Bahamut.Eclipstic said: »
okay, this day is really trying my patience. idk wtf i'm doing wrong. i input that exact phrase under the following section, toggled an idle set to revert to and yet it still won't work. the sets when triggered manually work just fine but it refuses to do it on its own
Code
function aftercast(spell,action)
if player.status == 'Engaged' then
                equip(sets.Engaged)
        else
                equip(sets.Idle)
        end
	if not spell.interrupted then
if spell.english == "Sleep II" then -- Sleep II Countdown --
send_command('wait 60;input /echo Sleep Effect: [WEARING OFF IN 30 SEC.];wait 15;input /echo Sleep Effect: [WEARING OFF IN 15 SEC.];wait 10;input /echo Sleep Effect: [WEARING OFF IN 5 SEC.]')
elseif spell.english == "Sleep" or spell.english == "Sleepga" then -- Sleep & Sleepga Countdown --
send_command('wait 30;input /echo Sleep Effect: [WEARING OFF IN 30 SEC.];wait 15;input /echo Sleep Effect: [WEARING OFF IN 15 SEC.];wait 10;input /echo Sleep Effect: [WEARING OFF IN 5 SEC.]')
elseif spell.english == "Banish II" then -- Banish II Countdown --
send_command('wait 20;input /echo Banish Effect: [WEARING OFF IN 10 SEC.]')
		end
	end
	status_change(player.status)
end

I'm not sure why you have status_change(player.status) in your aftercast() function.

Can you clarify what you mean by toggle an idle set? You should be able to prove this is working by engaging and seeing if sets.engaged is equipped. Then, disengage and sets.idle should equip.
 Cerberus.Conagh
Offline
サーバ: Cerberus
Game: FFXI
user: onagh
Posts: 3189
By Cerberus.Conagh 2014-05-16 17:06:37  
I use this.
Code
function aftercast(spell,act)
    if player.status == 'Engaged' then
        equip(sets.TP[sets.TP.index[TP_ind]])
    else
        equip(sets.Idle[sets.Idle.index[Idle_ind]])
    end
end
 
 -- This rule is actually phased out a little bit but helps if you want to use short hand of "new" instead of player.status --
 -- It should check if your status changed however and update accordingly --
 
function status_change(new,old)
    if player.status == 'Engaged' then
        equip(sets.TP[sets.TP.index[TP_ind]])
    else
        equip(sets.Idle[sets.Idle.index[Idle_ind]])
    end
end


In reference to your "set an Idle set to toggle to"

Do you mean you have multiple idle sets and want this....
Code
    --Idle Sets--  
    sets.Idle = {}
     
    sets.Idle.index = {'Standard','DT'}
    Idle_ind = 1           
     
    sets.Idle.Standard = {ammo="Cheruski needle",
                          head="Whirlpool Mask",neck="Twilight torque", ear1="Ethereal earring", ear2="Heartseeker earring",
                          body="Hagondes Coat",hands="Serpentes cuffs",ring1="Dark ring",ring2="Dark ring",
                          back="Atheling mantle",waist="Flume belt",legs="Blood cuisses",feet="Serpentes sabots"}
                           
    sets.Idle.DT = {
    main="Buramenk'ah",
    sub="Genbu's Shield",
    ammo="Cheruski Needle",
    head="Lithelimb Cap",
    body="Hagondes Coat",
    hands="Iuitl Wristbands",
    legs="Blood cuisses",
    feet="Hag. Sabots +1",
    neck="Twilight Torque",
    waist="Flume Belt",
    left_ear="Heartseeker Earring",
    right_ear="Dudgeon Earring",
    left_ring="Dark Ring",
    right_ring="Jelly Ring",
    back="Cheviot Cape",
}
Code
    elseif command == 'toggle Idle set' then
        Idle_ind = Idle_ind +1
        if Idle_ind > #sets.Idle.index then Idle_ind = 1 end
        send_command('@input /echo <----- Idle Set changed to '..sets.Idle.index[Idle_ind]..' ----->')
        equip(sets.Idle[sets.Idle.index[Idle_ind]])


Or are you meaning a set to swap to after you are not engaged?
 Bahamut.Eclipstic
Offline
サーバ: Bahamut
Game: FFXI
user: eclipstic
Posts: 50
By Bahamut.Eclipstic 2014-05-16 17:21:51  
the lua that i'm tweaking has 3 idle sets in it and has a toggle command between them. all of the sudden now (after not loading/reloading/making changes) i cast a spell and it decides to switch back out of the blue, so /shrug.
Log in to post.