Gearswap Support Thread |
||
Gearswap Support Thread
Asura.Yso
Offline
From one day to another, gearswap suddenly won't work. Playing on a older laptop. Windower did download some files, now neither Gearswap or shortcuts will load. See 2 posts down.
Asura.Yso said: » From one day to another, gearswap suddenly won't work. Playing on a older laptop. All I did was set the date and time to match the actual date. The next time I started the windower, it downloaded several files. And now it just won't work. Been away from game for 5yrs, and I just dont remember how most stuff work anymore. But muscle memory let me push the right buttons when I dont think hard about it. ? Is this a question ? Do you have any errors in the console? Specific jobs? What does "won't work" mean? Sets not swapping?... Asura.Yso
Offline
Ok, so error points to line 119 of gearswap.lua, missing resources. How to fix this?
And there is an error in shortcuts too, pointing to line 198. So both these addons are not working for me, and Idk what to do about it. Any ideas? 1)Is gearswap able to detect if a roll is an 11 for Roller's Ring to be applied to your idle set?
2)Is it able to do it for people that are not the COR? Obviously Aminon use case. It's not that hard to have it in your idle set regardless, but I want my refresh +1 if I don't have an 11. Offline
Posts: 64
Asura.Yso said: » Ok, so error points to line 119 of gearswap.lua, missing resources. How to fix this? And there is an error in shortcuts too, pointing to line 198. So both these addons are not working for me, and Idk what to do about it. Any ideas? Missing resources, is likely missing a import dependency in your file. Asura.Yso
Offline
Sevu said: » Asura.Yso said: » Ok, so error points to line 119 of gearswap.lua, missing resources. How to fix this? And there is an error in shortcuts too, pointing to line 198. So both these addons are not working for me, and Idk what to do about it. Any ideas? Missing resources, is likely missing a import dependency in your file. But shouldn't gearswap launch even if I made a mistake? the mistake is referring to gearswap.lua itself (which I have never touched). The gearswap.lua I assume everyone has in first file of the addon itself? And yet it may be something in my file, which worked 2 days ago, and I haven't touched in 5yr+? What I find strange is that this happened after windower decided to download something on initiation yesterday. It simply will not work. I remember back in the days, if I made a mistake it usually pointed out a line in my personal lua-file, not the gearswap.lua itself, which comes with the addon. It leads me to think there is something that's become screwed up in a library or resource file. This is the case also no matter what job I'm on when I try to lua load gearswap. It's a resources error, ie the auto-updater didn't get the proper resources files downloaded. Delete the windower/resources/ folder, and either let the auto-update try again now that your time is correct, or download it manually from https://github.com/Windower/Resources
Asura.Yso
Offline
Bismarck.Radec said: » It's a resources error, ie the auto-updater didn't get the proper resources files downloaded. Delete the windower/resources/ folder, and either let the auto-update try again now that your time is correct, or download it manually from https://github.com/Windower/Resources So if I delete a folder, then windower will download them? Which folder do you recommend I remove? EDIT: tried to delete the folder, but windower didn't download anything. And I'm not entirely sure what I should manually download. Been away too long from this game :) You have to delete the resources folder AND your update folder as well
Asura.Yso
Offline
Fenrir.Niflheim said: » You have to delete the resources folder AND your update folder as well Thanks! That did the trick!! Asura.Wizzykid
Offline
Hi all, I'm trying out a new COR lua and for some reason none of the set combines are working...
For reference, I do have the gearinfo addon as well and mote mappings. Any ideas how to fix? Code sets.precast.CorsairRoll = { range="Compensator", head={ name="Lanun Tricorne +1", augments={'Enhances "Winning Streak" effect',}}, body="Meg. Cuirie +2", hands="Chasseur's Gants +3", legs="Meg. Chausses +2", feet={ name="Lanun bottes +3", augments={'Enhances "Wild Card" effect',}}, neck="Regal Necklace", waist="Flume Belt +1", left_ear="Genmei Earring", right_ear="Lempo Earring", right_ring="Defending Ring", back={ name="Camulus's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','Accuracy+10','"Dbl.Atk."+10','Phys. dmg. taken-10%',}},} sets.precast.CorsairRoll.Gun = set_combine(sets.precast.CorsairRoll.Engaged, {range="Compensator"}) sets.precast.CorsairRoll["Caster's Roll"] = set_combine(sets.precast.CorsairRoll, {legs="Chas. Culottes +1"}) sets.precast.CorsairRoll["Courser's Roll"] = set_combine(sets.precast.CorsairRoll, {feet="chass. bottes +2"}) sets.precast.CorsairRoll["Blitzer's Roll"] = set_combine(sets.precast.CorsairRoll, {head="Chass. Tricorne +1"}) sets.precast.CorsairRoll["Tactician's Roll"] = set_combine(sets.precast.CorsairRoll, {body="Navarch's Frac +1"}) sets.precast.CorsairRoll["Allies' Roll"] = set_combine(sets.precast.CorsairRoll, {hands="Chasseur's Gants +3"}) sets.precast.LuzafRing = set_combine(sets.precast.CorsairRoll, {ring1="Luzaf's Ring"}) sets.precast.FoldDoubleBust = {hands="lanun gants +1"} @Above:
Without seeing the full code, its hard to tell. do //gs debugmode and see what it spits out. It might be something within your functions. All of that code looks similar to what my cor lua's look like as far as swaps and combines go except for line 15. I'm trying to run a WS replacement command in my gearswap, borrowed from here, but I wasnt having the same luck getting it to work. Code function job_pretarget(spell, action, spellMap, eventArgs) if spell.type:lower() == 'weaponskill' then if player.equipment.main == 'Naegling' then if spell.english:startswith("Impulse") then send_command('@input /ws "Savage Blade" '..spell.target.raw) eventArgs.cancel = true end end end end My lua's are based on Motes, similar to the linked post. I've also seen a couple other GS's reference similar code, so I expected it to work as is, but it didnt. Debugmode was reporting "unable to execute command, you do not have access to that weapon skill". I was able to get it to work, but I had to comment out lines 671-675 in helper_functions. 1-What kind of problems am I risking letting out of Pandora's box if I leave those lines commented out? It doesnt look like it should cause any issues, but I'd rather ask and get confirmation. 2-Is there any reason why that code was failing for me when its worked for other people's gearswaps? Offline
Posts: 4
Just came back after 3 year break and was previously using Selindril's gearswaps. My BRD.LUA appears to be broken, at least with Honor March. Dummylock works fine, but on FullLenghthLock HM stops and can't be cast.
I have Marsyas in pre and mid. Does anyone know what the problem is? sets.precast.FC["Honor March"] = set_combine(sets.precast.FC.BardSong,{range="Marsyas"}) sets.midcast["Honor March"] = set_combine(sets.midcast.March,{range="Marsyas"}) Without seeing everything, its hard to pinpoint what could be interfering.
//gs debugmode see what its swapping to when you cast HMar Offline
Posts: 61
I found out about [if spell.prefix == "/item"] so I made some sets for item usage such as Holy Water enhancing gear, +hp/mp with Vile Elixirs, store tp with tp wings etc
Is there any way to get gearswap to detect when items are used from the item menu? It only seems to work if I trigger the item using a text command/macro "/item "Holy Water" <me>", or alias //holywater for an example Offline
You don't need to target the item use in a function, can have a precast set for the item itself.
Code sets.precast.Item['Holy Water'] = {..} Same for other items. This works for any use of holy water, same as JAs and other sets in gearswap. Offline
Posts: 4
Carbuncle.Nynja said: » Without seeing everything, its hard to pinpoint what could be interfering. //gs debugmode see what its swapping to when you cast HMar Had to run showswaps with debugmode. Looks like midcast is equpping Daurdabla even though it's supposed to be equipping Marsyas. It equips fine manually with //gs equip sets.midcast['Honor March']. Anyone know how to fix this? GS sets.midcast['Honor March'] = set_combine(sets.midcast.March,{ear1="Dellingr Earring",range="Marsyas"}) Precast https://ibb.co/Y8zG22P Midcast https://ibb.co/St7hVb3 Aftercast https://ibb.co/yBvCXqc Equip command https://ibb.co/6bwwK7h I think what he means is that it is virtually impossible to diagnose your problem without seeing your code. Please post your lua to help resolve this issue. It is most likely that you have some code in your midcast set that is automagically equipping Daurdabla irrespective of your defined sets, or you may have your midcast set double defined, with the one further down the script taking precedence.
Offline
There are updates for Selindrile's gearswap, best to fully update first.
See https://github.com/Headtatt/Gearswap
Necro Bump Detected!
[31 days between previous and next post]
Offline
Posts: 64
Code windower.chat.input:schedule I've looked through Sel's gearswap and don't like everything it does but some logic caught my attention to schedule tasks for solo SC on SCH, for example. Edit: Got it answered on Discord.
Necro Bump Detected!
[30 days between previous and next post]
I just came back to FFXI after a long time and have never used GearSwap up to this point. A friend of mind shared one of his PLD lua files with me. It was pretty complex so I stripped it down to be very basic. I just wanted something with a fast cast set, melee set, ws set, and idle set so I could input my gear and just run around and get used to playing the game again. I had some syntax errors preventing the lua from even loading. I managed to fix that and it loads now, but when I cast a spell or engage there seems to be an error.
I haven't actually input any of my gear yet but have been getting these errors: - After casting a spell when it would return to the idle set I get this error with the aftercast function :93: attempt to index field 'idle' (a nil value) - When engaging I get this error with status_change function :100: attempt to index field 'engaged' (a nil value) - When disengaing I get this error with status_change function :102: attempt to index field 'idle' (a nil value) No doubt I have done something incorrectly and this code is probably pretty terrible as I have only been learning about GearSwap for a few hours lol. If anyone could give me a hand I would appreciate it. Code function init_gear_sets() sets.precast.FC = { ammo="Sapience Orb", --2 head=gear.Carmine_Head_FC, --14 body="Reverence Surcoat +3", --10 hands="Leyline Gloves", --8 legs="Chev. Cuisses +3", feet="Chevalier's Sabatons +3", --13 neck="Voltsurge Torque", --4 "Orunmila's Torque", --5 waist="Creed Baudrier", left_ear="Odnowa Earring +1", right_ear="Loquac. Earring", --2 left_ring="Kishar Ring", --4 right_ring="Gelatinous Ring +1", back=gear.PLD_FC_Cape, --10 } --FC = 67% sets.precast.WS = { ammo="Oshasha's Treatise", head="Nyame Helm", body="Nyame Mail", hands="Nyame Gauntlets", legs="Nyame Flanchard", feet="Nyame Sollerets", neck="Rep. Plat. Medal", waist="Sailfi Belt +1", left_ear="Moonshade Earring", right_ear="Thrud Earring", left_ring="Epaminondas's Ring", right_ring="Beithir Ring", back=gear.PLD_WS_CAPE, } sets.idle.basic = { ammo="Staunch Tathlum", -- +1 head="Chev. Armet +3", body="Sakpata's Plate", hands="Sakpata's Gauntlets", legs="Chev. Cuisses +3", feet="Reverence Leggings +3", neck="Unmoving Collar +1", waist="Creed Baudrier", left_ear="Tuisto Earring", right_ear=gear.Chev_Ear, left_ring={name="Moonbeam Ring", bag="wardrobe1"}, right_ring="Fortified Ring", back=gear.PLD_Block_Cape, } sets.engaged.basic = { ammo="Coiste Bodhar", head="Hjarrandi Helm", body="Sakpata's Plate", hands="Sakpata's Gauntlets", legs="Sakpata's Cuisses", feet="Flam. Gambieras +2", neck="Lissome Necklace", waist="Sailfi Belt +1", left_ear="Telos Earring", right_ear="Dedition Earring", left_ring="Chirich Ring", right_ring="Lehko's Ring", back=gear.PLD_TP_Cape, } end function precast(spell) if spell.type == 'Spell' then equip(sets.precast.FC) elseif spell.type == 'WeaponSkill' then equip(sets.precast.WS) end end function aftercast(spell) idle() if player.status=='Engaged' then equip(sets.engaged.basic) else equip(sets.idle.basic) end end function idle() if player.status=='Engaged' then equip(sets.engaged.basic) else equip(sets.idle.basic) end end function status_change(new,old) if new == 'Engaged' then equip(sets.engaged.basic) else equip(sets.idle.basic) end end The way sets work in lua is that you must create each level before the next.
sets - gearswap creates this one for you sets.idle - this doesn't exist in your file sets.idle.basic - can't be created since sets.idle doesn't exist. You can fix this either by changing all of your "sets.idle.basic" to "sets.idle", or adding a line above line 36 "sets.idle = {}" Similarly for sets.engaged.basic, either sets.engaged needs to exist first, or replace all "sets.engaged.basic" with "sets.engaged" Bahamut.Bojack said: » I haven't actually input any of my gear yet but have been getting these errors: - After casting a spell when it would return to the idle set I get this error with the aftercast function :93: attempt to index field 'idle' (a nil value) - When engaging I get this error with status_change function :100: attempt to index field 'engaged' (a nil value) - When disengaing I get this error with status_change function :102: attempt to index field 'idle' (a nil value) [/code] You need to define what the sets are, so just add: sets.idle = {} sets.engaged = {} before your named gear sets. like: sets.idle = {} sets.idle.basic = { } I tried to do this with my melee set but still receive the same error.
Code sets.engaged = {} sets.engaged.basic = { ammo="Cheruski Needle", head="Outrider Mask", body="Karieyh Haubert +1", hands={ name="Miki. Gauntlets", augments={'Attack+15','Accuracy+10','STR+10',}}, legs="Outrider Hose", feet={ name="Mikinaak Greaves", augments={'Attack+15','Accuracy+10','STR+10',}}, neck="Asperity Necklace", waist="Goading Belt", left_ear="Bladeborn Earring", right_ear="Steelflash Earring", left_ring="Tyrant's Ring", right_ring="Rajas Ring", back="Atheling Mantle", } This is what the set for engaging looks like now. The rest of the lua is the same as my first post. Any chance you may know the solution? Bahamut.Bojack said: » I tried to do this with my melee set but still receive the same error. Code sets.engaged = {} sets.engaged.basic = { ammo="Cheruski Needle", head="Outrider Mask", body="Karieyh Haubert +1", hands={ name="Miki. Gauntlets", augments={'Attack+15','Accuracy+10','STR+10',}}, legs="Outrider Hose", feet={ name="Mikinaak Greaves", augments={'Attack+15','Accuracy+10','STR+10',}}, neck="Asperity Necklace", waist="Goading Belt", left_ear="Bladeborn Earring", right_ear="Steelflash Earring", left_ring="Tyrant's Ring", right_ring="Rajas Ring", back="Atheling Mantle", } This is what the set for engaging looks like now. The rest of the lua is the same as my first post. Any chance you may know the solution? Please share your GS file, so we can take a look Your gearsets function should be called get_sets() not init_gear_sets(), which is used in luas using the mote-includes.
So something along the lines of: Code function get_sets() sets.precast = {} sets.precast.FC = { -- spell precast gear goes in here } sets.precast.WS = { -- generic ws gear } sets.idle = {} sets.idle.basic = { -- idle gear } sets.engaged = {} sets.engaged.basic = { -- engaged gear } end function precast(spell) if spell.type == 'Spell' then equip(sets.precast.FC) elseif spell.type == 'WeaponSkill' then equip(sets.precast.WS) end end function aftercast(spell) idle() -- you basically have this doing the same thing twice, either remove the function call or the if/else block. if player.status=='Engaged' then equip(sets.engaged.basic) else equip(sets.idle.basic) end end function idle() if player.status=='Engaged' then equip(sets.engaged.basic) else equip(sets.idle.basic) end end function status_change(new,old) if new == 'Engaged' then equip(sets.engaged.basic) else equip(sets.idle.basic) end end Thanks for the help, got it work for these few sets. I removed the 'idle {}' that was below the aftercast. I assume it was from a copy and paste at some point. Will add in more as I get back into the game.
Is there a way to check in-game if the set is correctly finding all the gear? Like a gs command I can type to force it to equip my WS gear for example? How would I go about adding a part to my precast function that equips my TH gear when I use a ranged attack? I have the set for it in my lua, I just don't know what the code is for a ranged attack. I tried spell.type 'RangedAttack' and spell.type 'Ranged' but those seem wrong.
sets.midcast.RA = {}
To have it apply with ranged attack when using Motes-TreasureHunter, I have the following function: function job_post_midcast(spell, action, spellMap, eventArgs) if state.TreasureMode.value ~= 'None' and spell.action_type == 'Ranged Attack' then equip(sets.TreasureHunter) end end Where sets.TreasureHunter is your TH+ stuff. This wont do the tag check though, since its presuming you're only doing the /ra to either pull or tag something, and if you do a second /ra it will keep the TH gear equipped. If you dont care for any of that stuff, just dump your TH gear in sets.midcast.RA sets.precast.RA can have snapshot / rapidshot gear if you want. |
||
All FFXI content and images © 2002-2024 SQUARE ENIX CO., LTD. FINAL
FANTASY is a registered trademark of Square Enix Co., Ltd.
|