Fenrir.Thandar said: »
We're fixing this now. They changed the abilities list packet.
Gearswap After 14/5 |
||
Gearswap after 14/5
Fenrir.Thandar said: » We're fixing this now. They changed the abilities list packet. GearSwap should work with Wardrobe now.
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 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
thank you very much Byrth, much appreciated
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.
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. 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? Variables.xlsx in your windower/addons/gearswap/beta_examples_and_information folder
Ragnarok.Martel
Offline
So, will the validate cmd change at all in regards to wardrobe?
Yeah, Motenten already made those changes on the -dev branch. I'll merge it live now.
what program are you supposed to use to read the variables file? anything i try to open it with results in symbol vomit
Messing with Gearswap makes me feel like Scott Steiner.
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). 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? You use "//gs c toggle TP set" from the chat log, or "/console gs c toggle TP set" from a macro.
Thank you very much, everything seems to be working now.
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?
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? 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? it seemed to be forgetting one of my shirts and wouldn't change back to my staff for cures last night
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]. 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]. 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
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. 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 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. 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? 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.
|
||
All FFXI content and images © 2002-2024 SQUARE ENIX CO., LTD. FINAL
FANTASY is a registered trademark of Square Enix Co., Ltd.
|