|
Gearswap Support Thread
サーバ: Valefor
Game: FFXI
Posts: 19647
By Valefor.Prothescar 2014-01-05 19:39:09
Well, got it to load.
--I was missing a comma after the ammo slot on like 200something, not 9.
--All of the commas separating spells were wrong, had to change them to or.
Now I know! Time to find out which rules work, which don't, and how to get it to work the way I want it...
Lakshmi.Byrth
VIP
サーバ: Lakshmi
Game: FFXI
Posts: 6187
By Lakshmi.Byrth 2014-01-05 20:05:30
Quetzalcoatl.Mystery said: »Does GearCollector work with Gearswap? Use //gs export sets xml
Then copy the created file (in gearswap/data/export) to spellcast and rename it appropriately.
サーバ: Valefor
Game: FFXI
Posts: 19647
By Valefor.Prothescar 2014-01-05 20:30:52
Seem to have worked out how to do what I want except for one thing: can I add multiple spells to one rule? Or do I need a bunch of separate rules?
i.e.
Code
function midcast(spell,act)
if spell.english == 'Quad. Continuum' or 'Delta Thrust' or 'Cannonball' or 'Glutinous Dart' then
equip(sets.BlueMagic.STRVIT)
if buffactive['Chain Affinity'] then
equip(sets.JA.ChainAffinity)
end
if buffactive['Efflux'] then
equip(sets.JA.Efflux)
end
end
if spell.english == 'Acrid Stream' then
equip(sets.BlueMagic.INT)
if buffactive['Burst Affinity'] then
equip(sets.JA.BurstAffinity)
end
end
end
doesn't seem to work, however...
Code
function midcast(spell,act)
if spell.english == 'Quad. Continuum' then
equip(sets.BlueMagic.STRVIT)
if buffactive['Chain Affinity'] then
equip(sets.JA.ChainAffinity)
end
if buffactive['Efflux'] then
equip(sets.JA.Efflux)
end
end
if spell.english == 'Acrid Stream' then
equip(sets.BlueMagic.INT)
if buffactive['Burst Affinity'] then
equip(sets.JA.BurstAffinity)
end
end
end
works fine. both spells get their proper sets equipped, whereas the code above has every action I do equip the STRVIT set.
Lakshmi.Byrth
VIP
サーバ: Lakshmi
Game: FFXI
Posts: 6187
By Lakshmi.Byrth 2014-01-05 20:34:30
if spell.english =='Quad. Continuum" or spell.english == 'Acrid Stream' or ...
alternatively:
T{'Quad. Continuum','Acrid Stream','etc.'}:contains(spell.english)
サーバ: Valefor
Game: FFXI
Posts: 19647
By Valefor.Prothescar 2014-01-05 20:37:07
okay thanks
Phoenix.Cliamain
サーバ: Phoenix
Game: FFXI
Posts: 64
By Phoenix.Cliamain 2014-01-05 21:08:18
How does this see what job you are on? Is there a rule or a command in the .lua that detects it?
In spellcast it's something like <group name="PLD" default="yes">.
サーバ: Valefor
Game: FFXI
Posts: 19647
By Valefor.Prothescar 2014-01-05 21:39:26
far as I can tell it does it automatically without any input required.
final stupid question from me: any way to get gearsets into my macros? I want to add PDT and MDT sets to my BLU lua, but idk how i'd be able to actually use them. Typing in //gs equip sets.PDT or something every time would be too clunky, and I don't know any workarounds to getting // commands to work via in-game macros.
Lakshmi.Byrth
VIP
サーバ: Lakshmi
Game: FFXI
Posts: 6187
By Lakshmi.Byrth 2014-01-05 21:54:00
/console gs equip sets.PDT
VIP
サーバ: Fenrir
Game: FFXI
Posts: 764
By Fenrir.Motenten 2014-01-06 01:12:39
How does this see what job you are on? Is there a rule or a command in the .lua that detects it?
In spellcast it's something like <group name="PLD" default="yes">.
That example isn't Spellcast seeing what job you're on, that's just Spellcast using the default group, which you happened to have named after the job you were on. Completely coincidental. For spellcast, it'd be <if mainjob="pld">...
However, to see your current job information, look at player.main_job and player.sub_job. There are some other variants as well. You can find all of them in the spreadsheet provided in the beta_examples_and_information subfolder of Gearswap (Windower/addons/GearSwap/beta_examples_and_information).
Phoenix.Cliamain
サーバ: Phoenix
Game: FFXI
Posts: 64
By Phoenix.Cliamain 2014-01-06 08:27:30
How does this see what job you are on? Is there a rule or a command in the .lua that detects it?
In spellcast it's something like <group name="PLD" default="yes">.
That example isn't Spellcast seeing what job you're on, that's just Spellcast using the default group, which you happened to have named after the job you were on. Completely coincidental. For spellcast, it'd be <if mainjob="pld">...
However, to see your current job information, look at player.main_job and player.sub_job. There are some other variants as well. You can find all of them in the spreadsheet provided in the beta_examples_and_information subfolder of Gearswap (Windower/addons/GearSwap/beta_examples_and_information).
Ah well now I know where it's finding out what your main job is now then. Where is it seeing what job you're on? Or is it just going off of what the .Lua is named? I'd think most things are smart enough now to just go off of that.
Quetzalcoatl.Mystery
サーバ: Quetzalcoatl
Game: FFXI
Posts: 15
By Quetzalcoatl.Mystery 2014-01-06 16:08:29
Quetzalcoatl.Mystery said: »Does GearCollector work with Gearswap? Use //gs export sets xml
Then copy the created file (in gearswap/data/export) to spellcast and rename it appropriately.
If I'm understanding this right, then every time I get a new piece of gear I'll need to be sure to change it in the xml for gc as well?
Not too much of a hassle I guess!
Lakshmi.Toioiz
By Lakshmi.Toioiz 2014-01-06 18:33:52
When setting up gearswap for a whm mule, I used the scholar example, and likely broke something. When using 'Cure' from the menu, the gear changes, and everything works fine. when using /ma cure4 <name>, it doesn't appear to change gear at all. Is there a section that sees those differently?
Basically, here is the only section referencing cure spells:
Quote: if string.find(spell.english,'Cur') then
equip(sets.midcast_Cure)
end
VIP
サーバ: Odin
Game: FFXI
Posts: 9534
By Odin.Jassik 2014-01-06 19:27:57
Quetzalcoatl.Mystery said: »Quetzalcoatl.Mystery said: »Does GearCollector work with Gearswap? Use //gs export sets xml
Then copy the created file (in gearswap/data/export) to spellcast and rename it appropriately.
If I'm understanding this right, then every time I get a new piece of gear I'll need to be sure to change it in the xml for gc as well?
Not too much of a hassle I guess!
considering you should be using something like Notepad++ to edit the files, you can use the "find and replace" features to speed that process. If you get a new WS body, and have many WS sets for different situations, you can Find all the places the old body shows up and replace them with the new body.
Lots of slick ways to speed that process. I've changed setups midway through an event because a piece that I needed dropped at some point.
Quetzalcoatl.Mystery
サーバ: Quetzalcoatl
Game: FFXI
Posts: 15
By Quetzalcoatl.Mystery 2014-01-06 19:57:23
Yes, I do this too.
I was just making sure that GC won't read the lua files.
Thanks Byrth!
By Treizekordero 2014-01-06 20:28:04
Quetzalcoatl.Mystery said: »Does GearCollector work with Gearswap? Use //gs export sets xml
Then copy the created file (in gearswap/data/export) to spellcast and rename it appropriately.
I tried to use //gs export sets xml for gear collector but it didn't work for me. Gives no errors just nothing happens.
Edit:
Got it to work.. had to use //gearswap export sets xml
Leviathan.Nitenichi
サーバ: Leviathan
Game: FFXI
Posts: 383
By Leviathan.Nitenichi 2014-01-07 16:20:04
I apologize if I missed somewhere, is there a list of commands?
VIP
サーバ: Fenrir
Game: FFXI
Posts: 764
By Fenrir.Motenten 2014-01-07 16:28:55
You'll need to be a little more precise regarding exactly which commands you mean.
If you mean commands directly to GearSwap (ie: from the command line or console), yes -- it's at the bottom of the included spreadsheet.
If you mean commands that you can use to refer to game information, or execute rules within the lua itself, yes -- that's the majority of what the included spreadsheet provides.
If you mean commands that the user can issue to their own job file, no. That's something you make yourself.
VIP
サーバ: Fenrir
Game: FFXI
Posts: 764
By Fenrir.Motenten 2014-01-07 16:31:32
How does this see what job you are on? Is there a rule or a command in the .lua that detects it?
In spellcast it's something like <group name="PLD" default="yes">.
That example isn't Spellcast seeing what job you're on, that's just Spellcast using the default group, which you happened to have named after the job you were on. Completely coincidental. For spellcast, it'd be <if mainjob="pld">...
However, to see your current job information, look at player.main_job and player.sub_job. There are some other variants as well. You can find all of them in the spreadsheet provided in the beta_examples_and_information subfolder of Gearswap (Windower/addons/GearSwap/beta_examples_and_information).
Ah well now I know where it's finding out what your main job is now then. Where is it seeing what job you're on? Or is it just going off of what the .Lua is named? I'd think most things are smart enough now to just go off of that.
You either have things backwards, or you're just being confusing in your question. GearSwap knows your job based on information it can pull from Windower. Your custom job lua files know your job because they can look at player.main_job whenever they want. GearSwap chooses which lua file to use based on the job you're on. Absolutely nothing determines what your job is based on the name of the file.
Leviathan.Nitenichi
サーバ: Leviathan
Game: FFXI
Posts: 383
By Leviathan.Nitenichi 2014-01-07 16:35:48
Didn't see the spreadsheet in gearswap folder, ill locate it off github. Basic commands ie in spellcast: //sc load nite_mnk would be to load monk.
Cerberus.Conagh
サーバ: Cerberus
Game: FFXI
Posts: 3189
By Cerberus.Conagh 2014-01-07 18:24:37
I know there is a Spellcast COde > Gearswap converter, but I remember there being some issues with SPellcast variables not translating correctly (including gearsets) the gearsets are not my concern, but I wondered if the Variables are fixed yet?
here is my Blue Spellcast and I wondered how it should look in Gearswap
http://guildwork.com/characters/ffxi/cerberus/conagh/spellcast#Conagh_BLU.xml
I had some major issues trying to impliment these variables into Gearswap but I had success making a WHM (although after the last update it stopped reading a current spell status and refused to change my idle set)
Cerberus.Conagh
サーバ: Cerberus
Game: FFXI
Posts: 3189
By Cerberus.Conagh 2014-01-07 18:45:51
When setting up gearswap for a whm mule, I used the scholar example, and likely broke something. When using 'Cure' from the menu, the gear changes, and everything works fine. when using /ma cure4 <name>, it doesn't appear to change gear at all. Is there a section that sees those differently?
Basically, here is the only section referencing cure spells:
Quote: if string.find(spell.english,'Cur') then
equip(sets.midcast_Cure)
end
Quote: function precast(spell,action)
if spell.skill=='HealingMagic' then
if T{"Cure*","Curaga*"}:contains(spell.name) and spell.casttime < 6 then
cast_delay(0.1)
equip(sets.precast_Cure)
end
end
I'm not a fan of the if string.find command as it can't be used in multiple's for the thing ie
Quote: if string.find(spell.english,'Cur') or (spell.english, 'lyna') then
Wouldn't work as it can;t parse both lines at once, beter off using the one above works similar to spellcast and a little smoother.
Lakshmi.Toioiz
By Lakshmi.Toioiz 2014-01-07 21:33:54
Thanks, here is the one I currently ended up with after recommendations:
http://pastebin.com/KwGc1jA1
[+]
Lakshmi.Byrth
VIP
サーバ: Lakshmi
Game: FFXI
Posts: 6187
By Lakshmi.Byrth 2014-01-08 04:40:51
Conagh: Code if string.find(spell.english,'Cur') or string.find(spell.english, 'lyna') then
Leviathan.Arcon
VIP
サーバ: Leviathan
Game: FFXI
Posts: 666
By Leviathan.Arcon 2014-01-08 08:22:47
Code if T{'Cure*', 'Curaga*'}:any(string.wcmatch+{spell.name}) then
More general (t is a T-table and fn is a function):
This will return true iff fn is not nil/false for any of the elements in t. And further:
This will return true iff fn is not nil/false for all of the elements of t.
By Miang 2014-01-08 09:13:01
Question, you've used spell.name whereas Byrth is using spell.english (and I've always used spell.english). Which should it be?
Leviathan.Arcon
VIP
サーバ: Leviathan
Game: FFXI
Posts: 666
By Leviathan.Arcon 2014-01-08 10:30:57
Up to you, really. spell.english is safer if you use hard-coded names, unless you explicitly specify the language (by setting the _addon.language variable). spell.name defaults to your FFXI language or the language specified in your addon (if specified), which can be overwritten in your settings XML. If your language is English, spell.name will default to spell.english, German to spell.german, and so on. In most cases it doesn't matter, but if you use .name instead of .english then people can adjust the spells, items, etc. to their own language and have it work. On the other hand, if you have hard coded names and use spell.name, then it will fail for them, so that requires you to specify the language in your file, if you wanna make it portable.
Personally I think the best way is to use spell.english when you use hard coded names (like Cure IV above, unlike what I did), but spell.name for generic output. For example, if you wanna output the remaining sleep time every time you cast sleep on targets, you should use spell.name instead of spell.english, so if someone else with a different language uses your file it will show the spell in their language instead.
One of the more obvious uses is for other addons (since this is not GS exclusive). For example, the FindAll addon can make use of that to allow french people to search for french item names. And it could output the found items again in french.
By Selindrile 2014-01-08 11:38:40
Gearswap question, I found the gearswap shop thread on BG (Which, many thanks for the people who have contributed, can understand and follow/modify Prothescar's Blu, and JSHidaka's Mnk for my own purposes. Much <3)
But I have a few things I'd like to know how to do in if someone can dumb them down for me.
1.) Utsusemi: Ichi auto cancelling Ni midcast.
2.) Spectral Jig auto cancelling Sneak.
3.) Disabling single slots with console commands (Say I'm doing a trial in dyna, or curing with Whm while meleeing.)
By Sylph.Atigevomega 2014-01-08 12:32:56
Can anyone help me out, im writing a script for mnk thats not overly complicated, but does what I need it to do. Now Im using pretty much byrths template but with a few additions (not much). The issue im having is that it will swap my DD/ACC sets but will not swap my PDT/DD sets can anyone please help and tell me where I went wrong and how to do this? I want it to be a toggle, thank you so much in advance. Here is the pastebin:
http://pastebin.com/Q0iqVeq3
By Lakshmi.Snozeberry 2014-01-08 12:44:47
1.
Quote: if spell.english == 'Utsusemi: Ichi' and (buffactive['Copy Image'] or buffactive['Copy Image (2)']) then
send_command('@wait 3.3; cancel 66; cancel 444')
end
Edit: Updated bad code
2. Use above, with spectral jig
Quote: if spell.english == 'Spectral Jig' then
send_command('cancel 71;')
end
3.
Quote: if zone == "Dynamis - Windurst"
disable('legs')
elseif zone == "Dynamis - Jeuno"
disable('hands')
else
blah
end
Quote: if player.status =='Engaged' then
disable('main','sub')
end
Leviathan.Arcon
VIP
サーバ: Leviathan
Game: FFXI
Posts: 666
By Leviathan.Arcon 2014-01-08 12:57:17
Lakshmi.Snozeberry said: »1.
Quote: if S{"Utsusemi*"}:contains(spell.name) and buffactive['Copy Image*'] then
send_command('@wait 3.3;cancel 66;')
end
This will not work for several reasons:
1. :contains doesn't work with wildcards (as detailed above)
2. buffactive does not perform wildcard checking
3. This will only cancel 1 remaining shadow, not 2 remaining shadows.
And while it's not a Lua error, the first wildcard check isn't even needed, as the cancel command is only needed for Utsusemi: Ichi. Hence:
Code if spell.english == 'Utsusemi: Ichi' and (buffactive['Copy Image'] or buffactive['Copy Image (2)']) then
send_command('@wait 3.3; cancel 66; cancel 444')
end
Finally, if you use the cancel addon instead of the plugin, you can just write "cancel copy image*" instead of the numbers.
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.
|
|