This is going to sound ridiculous, but I'm getting an insane amount of frame drops from gearswap after adding that last bit. Unloading gearswap (as well as just deleting that section of code) causes it to stop. Like on off on off game stutter
This is going to sound ridiculous, but I'm getting an insane amount of frame drops from gearswap after adding that last bit. Unloading gearswap causes it to stop. Like on off on off game stutter
Considering the fact gearswap is supposed to add such a small amount of system load, you must be playing on a Toaster if it's causing an FPS Drop.
Edit:
With that said, the second you make the game parse incoming packet chunks it is possible you're asking it to double the work it does, doesn't FFXI Client respond to incoming packets and send a responce back? if you create a check for this which triggers another event are you not effectively doubling the packets you send out and thereby doubling the packets you receive, effectively creating a DDOS effect? And then factor in other events that are contained within the packet,or create that packet from other players - this was a method to Lag tanks out on Fafnir and Despot at one point!
you must be playing on a Toaster if it's causing an FPS Drop.
That couldn't be farther from the truth, but thank you for your input. I'll just lock main/sub manually and bypass the issue completely. Was more or less just looking for convenience.
Why not add it to a trigger that already exists in the Gearswap programming, changes to HP/TP/MP? You could just create a timer plugin using the time.lua plugin that's installed and do it that way, or you can create a check everytime TP updates
i.e.
Quote:
if player.tp > 999 and player.status == 'Engaged' then
Define w.e you want it to
FFXI is a wierd programme, I have a better motherboard in my laptop than my home PC, so it runs better on my Laptop with around 3GB of less RAM, because it's more reliant on using a motherboard than other parts in a PC, so don't always assume that having "good Spec" means it's a good spec for this game.
if player_mob_table.race ~= nil then
player.race_id = player.race
player.race = res.races[player.race][language] <--- this is line230
end
Any suggestions? MNK and THF work fine, but BLM and WHM lua receive this error, and it actually locks gear from being equipped. I was not able to equip Hagondes Hat +1, was greyed out and was on BLM.
I'm getting the exact same error. Does anyone know how to fix this?
I deleted GS off my pc then redownloaded it from windower and seems to work now.
How do I make certain sets equip from status effects?
I am happy toggling my Acc sets with a macro (couldn't I just bind that to F9 anyway? That be a little better too.) however adding a 9th toggle just for DW from lack of anything other than haste 2 on the loop. That I don't need too often is just too annoying. So while I want it, it has to be an automatic thing or else I just suck it up and hope for buffs.
You would be using a non-Mote lua and ask me for help, lol. For all his files being included with the GearSwap download, there's no reason to not use them. Anyway, to answer your questions...
Aeyela was correct in application, but I'm not sure status_change is the correct function. In Mote's files, it's buff_change, but I'm not sure if he has that separated out and it's combined in base, idk.
function determine_haste_group()
-- We have three groups of DW in gear: Charis body, Charis neck + DW earrings, and Patentia Sash.
-- For high haste, we want to be able to drop one of the 10% groups (body, preferably).
-- High haste buffs:
-- 2x Marches + Haste
-- 2x Marches + Haste Samba
-- 1x March + Haste + Haste Samba
-- Embrava + any other haste buff
-- For max haste, we probably need to consider dropping all DW gear.
-- Max haste buffs:
-- Embrava + Haste/March + Haste Samba
-- 2x March + Haste + Haste Samba
classes.CustomMeleeGroups:clear()
if buffactive.embrava and (buffactive.haste or buffactive.march) and buffactive['haste samba'] then
classes.CustomMeleeGroups:append('MaxHaste')
elseif buffactive.march == 2 and buffactive.haste and buffactive['haste samba'] then
classes.CustomMeleeGroups:append('MaxHaste')
elseif buffactive.embrava and (buffactive.haste or buffactive.march or buffactive['haste samba']) then
classes.CustomMeleeGroups:append('HighHaste')
elseif buffactive.march == 1 and buffactive.haste and buffactive['haste samba'] then
classes.CustomMeleeGroups:append('HighHaste')
elseif buffactive.march == 2 and (buffactive.haste or buffactive['haste samba']) then
classes.CustomMeleeGroups:append('HighHaste')
end
end
function job_buff_change(buff,gain)
-- If we gain or lose any haste buffs, adjust which gear set we target.
if S{'haste','march','embrava','haste samba'}:contains(buff:lower()) then
determine_haste_group()
handle_equipping_gear(player.status)
elseif buff == 'Saber Dance' or buff == 'Climactic Flourish' then
handle_equipping_gear(player.status)
end
end
Directly, this will only work with his files, but it could easily be tweaked for a non-Mote file. I've seen buffactive check for buff IDs (buffactive[###]), as in the event of Haste 2 or Victory March instead of Advancing March, but I've had poor experiences with it in the past. You can play with it if you want, as all the buff IDs are listed in /Windower4/res/buffs.lua
if buffactive[580] then
if state.OffenseMode.value == 'Acc' then
equip(sets.engaged.Acc)
else
equip(sets.engaged)
end
else
if state.OffenseMode.value == 'Acc' then
equip(sets.engaged.DW.Acc)
else
equip(sets.engaged.DW)
end
end
As to implement this with non-Mote files, I would have to tool around with it a bit. I'm not well-versed with normal GS, as I have focused on his files since they generally have less redundancy and are easier to work with.
I don't know if anyone else was having the same issues that I was having with pet modes since the update, but I figured out a roundabout fix.
Code
if pet.status == 'Engaged' and state.Buff["Avatar's Favor"] then
idleSet = set_combine (idleSet, sets.idle.Avatar.FavorMax)
end
if pet.status == 'Engaged' and state.IdleMode.value == 'PDT' then
idleSet = set_combine (idleSet, sets.idle.PDT.Avatar)
end
if pet.status == 'Engaged' and state.IdleMode.value == 'PDT' and state.Buff["Avatar's Favor"] then
idleSet = set_combine (idleSet, sets.idle.Avatar.FavorPDT)
end
Apologies, I'm still learning atm. I'm having an issue with Kinematics SCH.Lua for GS. I want to have it use my Obi, and Twilight Cloak If the corresponding weather is on me for the corresponding elemental spell. Here's a link to the Lua. It is the basically the Kinematics Lua with my gear
Apologies, I'm still learning atm. I'm having an issue with Kinematics SCH.Lua for GS. I want to have it use my Obi, and Twilight Cloak If the corresponding weather is on me for the corresponding elemental spell. Here's a link to the Lua. It is the basically the Kinematics Lua with my gear
1) Change the beginning of your function init_gear_sets() to the following:
Code
-- Define sets and vars used by this job file.
function init_gear_sets()
gear.default.obi_waist = "item name"
gear.default.obi_back = "item name"
--------------------------------------
-- Start defining the sets
--------------------------------------
where the item name parts are whatever you want to cast in if you don't have matching weather/day.
2) In your actual gear sets, rename your back and waist slots to:
I don't know if anyone else was having the same issues that I was having with pet modes since the update, but I figured out a roundabout fix.
Code
if pet.status == 'Engaged' and state.Buff["Avatar's Favor"] then
idleSet = set_combine (idleSet, sets.idle.Avatar.FavorMax)
end
if pet.status == 'Engaged' and state.IdleMode.value == 'PDT' then
idleSet = set_combine (idleSet, sets.idle.PDT.Avatar)
end
if pet.status == 'Engaged' and state.IdleMode.value == 'PDT' and state.Buff["Avatar's Favor"] then
idleSet = set_combine (idleSet, sets.idle.Avatar.FavorPDT)
end
I think there's a problem with buffactive; if you change the
Code
state.Buff["Avatar's Favor"] = buffactive["Avatar's Favor"] or false
to
Code
state.Buff["Avatar's Favor"] = buffactive[431] or false
I bet everything will work just fine. Something happened this update where GearSwap's buffactive function isn't working properly and isn't reading names, only buff IDs. I just had to debug my entire library yesterday because it wasn't detecting anything.
I have tried this and obi does swap in fine, but refoccilation stone doesn't swap in for any other elements.
Quote:
-- Set eventArgs.handled to true if we don't want any automatic gear equipping to be done.
-- Set eventArgs.useMidcastGear to true if we want midcast gear equipped on precast.
function job_precast(spell, action, spellMap, eventArgs)
if spellMap == 'Cure' or spellMap == 'Curaga' then
gear.default.obi_waist = "Goading Belt"
elseif spell.skill == 'Elemental Magic' then gear.default.obi_waist = "Sekhmet Corset"
if state.CastingMode == 'Proc' then
classes.CustomClass = 'Proc'
end
end
end
So I haven't really looked into updating my gearswap until I started using BLM again. I don't know if i'm using an old outdated gearswap for BLM or not but since I kinda suck with it, I was wondering how to edit this to include swaps for magic bursting and how to make it to where I can cycle between normal nuking and magic bursting, with macc sets for both.
So I haven't really looked into updating my gearswap until I started using BLM again. I don't know if i'm using an old outdated gearswap for BLM or not but since I kinda suck with it, I was wondering how to edit this to include swaps for magic bursting and how to make it to where I can cycle between normal nuking and magic bursting, with macc sets for both.
First off, I suggest never swapping your main/sub slots on BLM, as Myrkr is a fantastic WS and really increases your DPS as BLM. Swapping is OK if you have a full MP refresh support team, but otherwise, Myrkr > Fast Cast.
Second, and I could be wrong on this, I think you need something like:
Code
elseif spell.skill == 'Elemental Magic' and BurstIndex == 1 then
equipSet = set_combine(equipSet,sets.magic_burst)
end
and of course, you need an index point, which would default to off, so right after your stun index:
Code
BurstIndex == 0
then a toggle to turn it on in your self commands:
Code
elseif command == 'C4' then -- Magic Burst Toggle --
if BurstIndex == 1 then
BurstIndex = 0
add_to_chat(123,'Magic Burst Set: [Unlocked]')
else
BurstIndex = 1
add_to_chat(158,'Magic Burst Set: [Locked]')
end
status_change(player.status)
and obviously a set in your get_sets:
Code
sets.magic_burst = {}
That should all work for you to overlay the sets.magic_burst on top of whatever accuracy nuking set you're in.
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.