|
Gearswap Support Thread
Server: Shiva
Game: FFXI
Posts: 1052
By Shiva.Arislan 2017-09-19 15:27:25
Edit:
Oh, one other thing: //gs disable back for the CP cape doesn't seem to work with Mote's luas at all (however, the console confirms that back is disabled. showswaps prints "--- function: 4E941560 ---" separate of the "--- status change ---" print and then swaps in my usual capes as normal, instead of keeping the CP cape equipped.
Is there any way to fix this?
Check to see if you don't have some code that is enabling the back slot under some circumstances.
By Aerix 2017-09-20 07:54:06
Aerix, you may want to take a look at my gearswaps, I end up posting them from time to time, they are based on mote's but highly modified, have a "capacity mode" as well as you can have specific tp sets depending on the specific puppet you have out, even.
My Dropbox
My Discord
Feel free to ask for support on the discord in the Allchat channel or by sending direct messages to Kalesandrancor.
Thank you for the links! I took a look through your luas, and while there were a few code snippets that were very nice, none of them helped me address the issue I'm trying to solve with the automatic gearswap after maton reaches 1000% TP :/
Check to see if you don't have some code that is enabling the back slot under some circumstances.
Ah, I had totally forgotten that I added Mote's Treasure hunter utility code to my lua, which was the thing unlocking all my slots. Thank you!
Server: Asura
Game: FFXI
Posts: 88
By Asura.Selindrile 2017-09-21 14:31:07
Aerix, I could write something that did that, however, I'm not sure why you're trying to do so, my gearswap swaps into the right gear for the Auto's TP moves, what exactly are you trying to accomplish with the 1k+ TP change?
Also yeah, I have his TH code added to all of mine, and don't have that issue, though I don't lock the back i handle that in post, I do lock other slots on occasion without that problem, though.
By Aerix 2017-09-21 16:26:03
Aerix, I could write something that did that, however, I'm not sure why you're trying to do so, my gearswap swaps into the right gear for the Auto's TP moves, what exactly are you trying to accomplish with the 1k+ TP change?
Also yeah, I have his TH code added to all of mine, and don't have that issue, though I don't lock the back i handle that in post, I do lock other slots on occasion without that problem, though.
Gearswap pet.midcast swaps are too late to swap in WS gear for Automaton WSs as they are instantaneous. I'm not sure if you managed to somehow create a workaround with your code, but from what I've read, it's an unsolvable issue as when the packets coming from the server notify Gearswap of the WS, the WS has already happened.
As for TreasureHunter code - I briefly looked over your code, and it has the same snippet that causes my backslot to be enabled.
Code -- Set locked TH flag to false, and enable relevant gear slots.
function unlock_TH()
if state.TreasureMode.value == 'None' then return end
state.th_gear_is_locked = false
local slots = T{}
for slot,item in pairs(sets.TreasureHunter) do
slots:append(slot)
end
enable(slots)
send_command('gs c update auto')
end
It's the "enable(slots)" in line 106 of Sel-TreasureHunter.lua as far as I can tell.
Server: Asura
Game: FFXI
Posts: 88
By Asura.Selindrile 2017-09-21 17:31:47
As to the automaton WS being instantaneous, that may have been an oversight with me, I didn't believe it was, and I'll look into it and see if things are being swapped into properly, I don't usually play Pup so I haven't tested it thoroughly, thanks for the heads-up.
As to the TreasureHunter, take a closer look at that code, the slots table is created, then only the slots that are actually in your sets.TreasureHunter are added to the table, then only the slots in that table are enabled, so unless you have TH gear on your back, it shouldn't be enabled by that line.
Addendum: Automaton WS are not instantaneous, they're assuredly two messages, that said, they are extremely fast, I'm not 100% sure if the gear is actually getting in "In Time", but the equip packet is certainly being sent before the WS landing packet is recieved. I unfortunately don't have the gear to truly test based on damage if the gear is swapping in time, picture included to show what I mean about the equip packet being sent before the landing packet recieved.
Screenshot
If you have the gear and the time, maybe give my GS a shot and see if the gear does get in fast enough.
Bahamut.Pikohan
Server: Bahamut
Game: FFXI
Posts: 9
By Bahamut.Pikohan 2017-09-21 18:03:30
I'm getting this error trying to load gearswap:
Code Gearswap: Lua runtime error: libs/chat.lua:48: attempt to index local 'string'
I tried overwriting my libs folder and gearswap folder with the ones on github and I still get the same error.
How do I fix this?
Server: Asura
Game: FFXI
Posts: 88
By Asura.Selindrile 2017-09-21 18:08:57
@Pikohan Not sure your issue but, I'd move your personal gearswap files out of the folder if you have any, delete the whole folder and redownload the addon from the launcher, see if that fixes it.
[+]
Bahamut.Pikohan
Server: Bahamut
Game: FFXI
Posts: 9
By Bahamut.Pikohan 2017-09-21 18:16:14
That fixed it somehow. Thanks!
[+]
By Aerix 2017-09-21 18:39:09
As to the automaton WS being instantaneous, that may have been an oversight with me, I didn't believe it was, and I'll look into it and see if things are being swapped into properly, I don't usually play Pup so I haven't tested it thoroughly, thanks for the heads-up.
As to the TreasureHunter, take a closer look at that code, the slots table is created, then only the slots that are actually in your sets.TreasureHunter are added to the table, then only the slots in that table are enabled, so unless you have TH gear on your back, it shouldn't be enabled by that line.
Addendum: Automaton WS are not instantaneous, they're assuredly two messages, that said, they are extremely fast, I'm not 100% sure if the gear is actually getting in "In Time", but the equip packet is certainly being sent before the WS landing packet is recieved. I unfortunately don't have the gear to truly test based on damage if the gear is swapping in time, picture included to show what I mean about the equip packet being sent before the landing packet recieved.
Screenshot
If you have the gear and the time, maybe give my GS a shot and see if the gear does get in fast enough.
Ah, I guess that's the issue with the sets.TreasureHunter - it combined my regular engaged set with my TH gear, that's why all slots were unlocking. I'll have to test tomorrow whether I can reduce it to only the TH slots unlocking.
As for maton WS, those lines are exactly the same that Mote's Pet.Weaponskill produces, but the gear doesn't switch in time for the WS. However, since your implementation seems a bit different, I will certainly test your lua tomorrow and report back.
On that note, would you prefer to continue this conversation in Discord? I appreciate the help so far, so I'd prefer to make things more convenient for you, if possible.
[+]
Server: Asura
Game: FFXI
Posts: 88
By Asura.Selindrile 2017-09-21 18:41:55
My stuff is largely based on Motes but highly modified, I'm not sure if I changed something in this department or not, to be honest, but yeah can't really test effectively with my gear, thanks for the testing, and if it's really not swapping in in time, I'll implement other idle gear with petTP > 1000 as per your idea, thanks.
By Bongarippa 2017-09-21 18:47:21
I've been having an issue for the past couple hours where my gearswap will no longer be loaded by windower. I've tried to uninstall and reinstall windower, redownload the windower install file, I've uninstalled my antivirus and deleted it off my computer. Basically tried anything I could think of or was recommended to me. This is the error I'm getting. If someone could help me out with this, I'd appreciate it. This just started happening a few hours ago as I was playing the game around noon time.
Ragnarok.Kenshi
Server: Ragnarok
Game: FFXI
Posts: 123
By Ragnarok.Kenshi 2017-09-21 19:04:43
I've been having an issue for the past couple hours where my gearswap will no longer be loaded by windower. I've tried to uninstall and reinstall windower, redownload the windower install file, I've uninstalled my antivirus and deleted it off my computer. Basically tried anything I could think of or was recommended to me. This is the error I'm getting. If someone could help me out with this, I'd appreciate it. This just started happening a few hours ago as I was playing the game around noon time.
Looks like your are missing the data.lua on the packets folder, check "Windower4\addons\libs\packets" folder and look if you are missing it, if so download it from https://github.com/Windower/Lua/tree/dev/addons/libs/packets and put it on the folder, if you are not missing it make sure the name of the file is correct.
By Bongarippa 2017-09-21 19:17:49
Yea I dont even have libs or packets folder in windower. Ive turned off every addon and plugin besides gearswap to try to get it to work, even uninstalled and reinstalled again and those folders still weren't in there. I created the folders and am gonna try to put those files in there and see what happens. This is getting pretty frustrating...
By Bongarippa 2017-09-21 19:35:18
Ok that worked. Thanks Kenshi :D
Server: Phoenix
Game: FFXI
Posts: 49
By Phoenix.Darkspawn 2017-09-23 14:26:25
this is what I'm getting after gearswap update, for reference I'm using Verda's SMN lua.
any help would be appreciated
Leviathan.Choisya
Server: Leviathan
Game: FFXI
Posts: 24
By Leviathan.Choisya 2017-09-25 07:30:42
Have an error on cor lua, but since the last update I can't see the line # as it is off the screen. I checked "ErrorNewLine" and "CondenseError" were both set to true as suggested in a previous post, and they are. Any way to shorten the error message line so i can actually see the error line number?
Server: Shiva
Game: FFXI
Posts: 1052
By Shiva.Arislan 2017-09-25 09:19:53
You could set the console font to a smaller text size, maybe that would help fit the entire line within the window.
Type this in console:
Leviathan.Choisya
Server: Leviathan
Game: FFXI
Posts: 24
By Leviathan.Choisya 2017-09-25 09:43:06
Hmm tried that and now nothing happens, i can't even get console back. The screen freezes as tho its there, but nothing on screen.
Leviathan.Choisya
Server: Leviathan
Game: FFXI
Posts: 24
By Leviathan.Choisya 2017-09-25 10:02:56
All sorted, but thanks, seems 8 might have been too small but 10 works great. :)
Quetzalcoatl.Cherylin
Server: Quetzalcoatl
Game: FFXI
Posts: 6
By Quetzalcoatl.Cherylin 2017-09-26 09:43:56
I posted this on an older similar thread but it looks like this is the right place. Sorry for the duplicate.
Last night, I changed to WHM and immediately my screen was inundated with line after line of error messages. This morning it's doing the same thing.
When I change to other jobs, the job.lua is initially loaded, but then this error comes up:
GearSwap: Lua runtime error: gearswap/refresh.lua:174:GearSwap: File failed to load: ...s (x86)Windower4/addons/gearswap/data/iterator.lua:44: attempted to call global 'class' (a nil value)
I've tried engaging mobs, and my gear isn't swapping.
I'm really bad at this stuff and have not the foggiest idea of what to do. Any advice would be really appreciated.
Leviathan.Vow
Server: Leviathan
Game: FFXI
Posts: 125
By Leviathan.Vow 2017-09-26 17:02:11
The class function is defined in tables.lua on line 80. It hasn't been modified in 5 years, so it's not that.
Did your file explicitly require the tables library at some point? It doesn't look like GearSwap exposes class to the user_env table. It previously would have been duplicated in the user environment via require.
You can patch it with Code local class = gearswap.class in the file that's throwing the error.
Asura.Arnan
Server: Asura
Game: FFXI
Posts: 132
By Asura.Arnan 2017-10-04 07:36:28
Hi I am using Bokura's COR gearswap and everything is fine except when I perform a ranged attack I get this error
detected a error in the user funcion precast: COR.lua:367: attempt to index field '?' (a nil value)
I don't switch to my pre shot gear or mid shot gear, I just get the error. I think its something to do with the ammo checking function in the Lua which I don't really need anyway. I've played around with it for hours with no lucky. Here is the precast section that's giving the error...
Code
function precast(spell,action)
if spell.action_type == 'Ranged Attack' or spell.type == "WeaponSkill" then
if player.equipment.ammo == "Animikii Bullet" then -- Cancel Ranged Attack or WS If You Have Animikii Bullet Equipped --
cancel_spell()
add_to_chat(123, spell.name .. ' Canceled: [Animikii Bullet Equipped!]')
return
else
local check_ammo
local check_ammo_count = 1
if spell.action_type == 'Ranged Attack' then
check_ammo = player.equipment.ammo
if player.equipment.ammo == 'empty' or player.inventory[check_ammo].count <= check_ammo_count then
add_to_chat(123, spell.name..' Canceled: [Out of Ammo]')
cancel_spell()
return
else
equip(sets.Preshot,(buffactive["Triple Shot"] and {body="Chasseur's Frac +1"} or {}))
if player.inventory[check_ammo].count <= ammo_warning_limit and player.inventory[check_ammo].count > 1 and not warning then
add_to_chat(8, '***** [Low Ammo Warning!] *****')
warning = true
elseif player.inventory[check_ammo].count > ammo_warning_limit and warning then
warning = false
end
end
elseif spell.type == "WeaponSkill" then
if player.status ~= 'Engaged' then -- Cancel WS If You Are Not Engaged. Can Delete It If You Don't Need It --
cancel_spell()
add_to_chat(123,'Unable To Use WeaponSkill: [Disengaged]')
return
else
equipSet = sets.WS
if equipSet[spell.english] then
equipSet = equipSet[spell.english]
end
if equipSet[AccArray[AccIndex]] then
equipSet = equipSet[AccArray[AccIndex]]
end
if buffactive['Reive Mark'] then -- Equip Ygnas's Resolve +1 During Reive --
equipSet = set_combine(equipSet,{})
end
if spell.english == "Last Stand" and (player.tp > 2990 or buffactive.Sekkanoki) then -- Equip Altdorf's Earring and Wilhelm's Earring When You Have 3000 TP or Sekkanoki For Last Stand --
equipSet = set_combine(equipSet,{})
end
equip(equipSet)
end
end
end
elseif spell.type == "JobAbility" then
if sets.JA[spell.english] then
equip(sets.JA[spell.english])
if spell.english == "Snake Eye" then -- Auto Double-Up After You Use Snake Eye --
send_command('@wait 1;input /ja Double-Up <me>')
end
end
elseif spell.type == "CorsairRoll" or spell.english == "Double-Up" then
equip(sets.Rolls)
if spell.english == "Tactician's Roll" then -- Change Tactician's Roll Equipment Here --
equip({body="Chasseur's Frac +1"})
elseif spell.english == "Caster's Roll" then -- Change Caster's Roll Equipment Here --
equip({legs="Chas. Culottes +1"})
elseif spell.english == "Courser's Roll" then -- Change Courser's Roll Equipment Here --
equip({feet="Chass. Bottes +1"})
elseif spell.english == "Blitzer's Roll" then -- Change Blitzer's Roll Equipment Here --
equip({})
elseif spell.english == "Allies' Roll" then -- Change Allies' Roll Equipment Here --
equip({hands="Chasseur's Gants +1"})
end
elseif spell.type == "CorsairShot" then
equipSet = sets.QD
if ACC_Shots:contains(spell.english) then
equipSet = sets.QD.HighACC
else
if equipSet[AccArray[AccIndex]] then
equipSet = equipSet[AccArray[AccIndex]]
end
if not ACC_Shots:contains(spell.english) and (world.day_element == spell.element or world.weather_element == spell.element) and sets.Obi[spell.element] and Obi == 'ON' then -- Use Obi Toggle To Unlock Elemental Obi --
equipSet = set_combine(equipSet,sets.Obi[spell.element])
end
end
equip(equipSet)
elseif spell.action_type == 'Magic' then
if spell.english == 'Utsusemi: Ni' then
if buffactive['Copy Image (3)'] then
cancel_spell()
add_to_chat(123, spell.name .. ' Canceled: [3 Images]')
return
else
equip(sets.Precast.FastCast)
end
else
equip(sets.Precast.FastCast)
end
elseif spell.type == "Waltz" then
refine_waltz(spell,action)
equip(sets.Waltz)
elseif spell.english == 'Spectral Jig' and buffactive.Sneak then
cast_delay(0.2)
send_command('cancel Sneak')
end
end
The line the error is on is this one
if player.equipment.ammo == 'empty' or player.inventory[check_ammo].count <= check_ammo_count then
playing around with it I managed to get it to switch to mid shot gear but not preshot by removing the ammo count stuff in there
thanks for any help
Server: Cerberus
Game: FFXI
Posts: 1786
By Cerberus.Shadowmeld 2017-10-04 08:27:37
If you don't have any of the ammo that you are searching for you won't get a number, you'll get a null instead. You can get around that by doing something similar to this.
Code
local current_ammo_count = player.inventory[check_ammo] or 0
if player.equipment.ammo == 'empty' or current_ammo_count <= check_ammo_count then
...
Valefor.Gorns
Server: Valefor
Game: FFXI
Posts: 159
By Valefor.Gorns 2017-10-04 12:41:14
After 1 year using Gearswap for mainly mages job and my BLU, I realized I've never used the defense mode and I'm wondering how it works.
Not the cycle command but when is it applicable ? in which situation the gears automaticcaly switch to the defense mode defined sets ?
I mean we are either engaged, casting or idling.
Are the defense modes made for when we are under special status like slept/terror/bound/stunned or doomed ?
Server: Cerberus
Game: FFXI
Posts: 241
By Cerberus.Mrkillface 2017-10-04 13:04:30
They are for when you want to stay in defensive sets while engaged.
When fighting something that spams magic attacks, you might want to TP in your MDB set. Much like a mage might want to idol it DT- sets while fighting something with a large AOE range.
You could just lump them into your Offense modes, but putting them on a separate toggle makes it less of a hassle to cycle through.
Shiva.Spynx
Server: Shiva
Game: FFXI
Posts: 371
By Shiva.Spynx 2017-10-04 13:18:44
After 1 year using Gearswap for mainly mages job and my BLU, I realized I've never used the defense mode and I'm wondering how it works.
Not the cycle command but when is it applicable ? in which situation the gears automaticcaly switch to the defense mode defined sets ?
I mean we are either engaged, casting or idling.
Are the defense modes made for when we are under special status like slept/terror/bound/stunned or doomed ?
I suggest to read Mote documentation on sets to better understand how all the modes work. TLDR: defense generic sets (sets.defense.*) always take priority during engaged/idle status but you can override any set including the defense mode in them (e.g. sets.engaged.PDT, sets.engaged.Acc.PDT and so on)
Valefor.Gorns
Server: Valefor
Game: FFXI
Posts: 159
By Valefor.Gorns 2017-10-04 13:50:13
Cerberus.Mrkillface said: »
You could just lump them into your Offense modes, but putting them on a separate toggle makes it less of a hassle to cycle through.
Ok, this is clear, and that's what I actually do: I lump them in my engaged or idle set and just cycle when I have to.
thanx !
Server: Asura
Game: FFXI
Posts: 46
By Asura.Seriweri 2017-10-04 14:02:08
This has been discussed before, but I couldn´t find a definite solution for it just with topic search, so...
About 95% of my unbridled/diffusion casts unequip empy feet too fast for them to add diffusion duration to it, being experienced mostly on mighty guard of course. I can´t tell yet if the other 5% happen during higher or lower latency than usual tho.
Not using motenten, but a custom one I snatched somewhere:
Code
sets.JA.Diffusion = {feet="Mirage Charuqs +2",}
[...]
function midcast(spell,act)
if spell.english == 'Mighty Guard' then
if buffactive['Diffusion'] then
equip(sets.JA.Diffusion)
add_to_chat(158,'if you can read this then charuqs should actually be equipped now kthx')
end
end
As a workaround, I fiddled in /equip feet, gs disable feet, gs enable feet after cast into a macro, but it´s kinda bad to have to wait for the gs enable midfight.
Any ideas? Thx in advance.
Server: Shiva
Game: FFXI
Posts: 1052
By Shiva.Arislan 2017-10-04 14:51:01
After 1 year using Gearswap for mainly mages job and my BLU, I realized I've never used the defense mode and I'm wondering how it works.
Not the cycle command but when is it applicable ? in which situation the gears automaticcaly switch to the defense mode defined sets ?
I mean we are either engaged, casting or idling.
Are the defense modes made for when we are under special status like slept/terror/bound/stunned or doomed ?
Defense mode is your OH SH*T button. You can use it any time you're in imminent danger and want to turtle.
Like Spynx said, it overrides every other swap until you toggle it back off (alt-F12).
I suggest to read Mote documentation on sets to better understand how all the modes work. TLDR: defense generic sets (sets.defense.*) always take priority during engaged/idle status but you can override any set including the defense mode in them (e.g. sets.engaged.PDT, sets.engaged.Acc.PDT and so on)
Hybrid sets are a better way to handle defensive swaps while engaged, since it leaves the option of still going into full defense mode when necessary.
Shiva.Spynx
Server: Shiva
Game: FFXI
Posts: 371
By Shiva.Spynx 2017-10-04 15:42:41
Hybrid sets are a better way to handle defensive swaps while engaged, since it leaves the option of still going into full defense mode when necessary.
True, I'm just lazy and only jobs I use full defense sets are RUN/PLD while on other jobs I usually have only hybrid sets (DT/refresh).
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.
|
|