Gearswap Support Thread

Eorzea Time
 
 
 
Language: JP EN FR DE
Version 3.1
New Items
users online
Forum » Windower » Support » Gearswap Support Thread
Gearswap Support Thread
First Page 2 3 ... 161 162 163 ... 180 181 182
Offline
Posts: 375
By drakefs 2021-03-22 06:21:16
Link | Quote | Reply
 
Leviathan.Celebrindal said: »
Any suggestions of what I could study to see how others do such things? Again, not looking for an immediate fix, more of a long-term learning project, and thanks!

Gearinfo provides DW needed to delay cap

https://github.com/ArislanShiva/luas/blob/master/Arislan-THF.lua

starts at line 1020 for setting DW set (haste level)

Gearinfo does not work with BLU, so I stole borrowed some code to tally up my haste buffs and set the haste level by that. This code makes some assumptions due to the facts GS does not see a difference in Haste vs Haste II, cannot see if you are affected by Haste Samba from an outside source and has no idea which Marches are used.

https://github.com/DrakeFS/GearSwap/blob/master/BLU.lua

starts at line 832

The assumptions made are (this is based off of my average buff situations)

  • Haste is always Haste II

  • Haste Samba is always 5%

  • 2 Marches always M.Haste cap

  • Gear Haste is capped



A second value could be added to the Haste Samba toggle to account for 10% but I really didn't see a point as I almost never have 10% Haste Samba am lazy.

You could also account for a DRG pet for DRG/NIN but that is very edge case.

Now this code could be adapted to tally up your attack buffs and set your PDL set level BUT I would not suggest this route, as whether or not you are attack capped purely depends on the mobs DEF, which changes. This would probably be case where you should manually decide on your PDL through a cycle state (ie. F9 in a motes lua).
 Leviathan.Celebrindal
Offline
Server: Leviathan
Game: FFXI
Posts: 3753
By Leviathan.Celebrindal 2021-03-22 11:31:14
Link | Quote | Reply
 
drakefs said: »
This would probably be case where you should manually decide on your PDL through a cycle state (ie. F9 in a motes lua).

I dont' auto detect anythign with my luas. I like having control over all aspects of accuracy tiers, haste levels for DW, and the like. the ONLY thing I automate vs manually choose is usage of orpheus's sash.

I guess I've simply worded what I'm looking for poorly. I wasn't looking for the given examples that I've seen for years, and I'd hope someone asking for help checked them out first. I don't need to be linked to the DW cheat sheet and then some auto-detecting lua that I've honestly worked very hard to avoid. People's desire to help is appreciated- but very far off what I was hoping for.

I simply wanted to see examples of people's work and how they create multiple function cycling depending on the mode of damage.
 Fenrir.Niflheim
VIP
Offline
Server: Fenrir
Game: FFXI
user: Tesahade
Posts: 435
By Fenrir.Niflheim 2021-03-22 12:41:38
Link | Quote | Reply
 
So you can define a set of "mode" strings like this
Code
TP_Array = {'TPnormal', 'TPacc', 'Hybrid', 'Turtle'}
TP_Index = 1

Then set up a command to cycle them like this:
Code
function self_command(command)
    if command:lower() == 'cycle tp set' then
        TP_Index = (TP_Index % #TP_Array) + 1
        status_change(player.status)
        add_to_chat(TP_Array[TP_Index]..' SET')
    end
end
 Leviathan.Celebrindal
Offline
Server: Leviathan
Game: FFXI
Posts: 3753
By Leviathan.Celebrindal 2021-03-22 12:57:53
Link | Quote | Reply
 
Fenrir.Niflheim said: »
So you can define a set of "mode" strings like this
Code
TP_Array = {'TPnormal', 'TPacc', 'Hybrid', 'Turtle'}
TP_Index = 1

Then set up a command to cycle them like this:
Code
function self_command(command)
    if command:lower() == 'cycle tp set' then
        TP_Index = (TP_Index % #TP_Array) + 1
        status_change(player.status)
        add_to_chat(TP_Array[TP_Index]..' SET')
    end
end

That's pretty similar to what I'm doing now. Right now my "modes" are {LowACC,HighACC,Aftermath,Haste}, as the mode change affects my ranged, melee, and WSs all at once. But I'd prefer to have those 3 on unique arrays I can cycle through independently.

The current way I do things looks like this:

sets.Midshot.LowACC
sets.Midshot.HighACC
(etc)

sets.engaged.LowACC
sets.engaged.HighACC
(etc)

and such. I think first I'll need to create the arrays using unique modifiers, such as:

sets.Midshot.LowACC
sets.Midshot.HighACC

sets.engaged.LowHaste
sets.engaged.HighHaste

sets.precast.WS.Normal
sets.precast.WS.PDL

and then write commands to cycle each. I am familiar with how to do a basic keybind and cycle command, but its splitting them up among different actions vs just a general cycle that I'm unfamiliar with.

While I know many great people out there can and would gladly say "just send me your lua, I'll set it up", I'm really desiring seeing some examples of setups like this that don't require include files so I can learn a thing or two.
 Fenrir.Niflheim
VIP
Offline
Server: Fenrir
Game: FFXI
user: Tesahade
Posts: 435
By Fenrir.Niflheim 2021-03-22 15:23:51
Link | Quote | Reply
 
I helped a friend set up that kinda thing, I have a few copies of his files laying around, just need to check with him before I share them.
[+]
 Fenrir.Niflheim
VIP
Offline
Server: Fenrir
Game: FFXI
user: Tesahade
Posts: 435
By Fenrir.Niflheim 2021-03-22 15:45:25
Link | Quote | Reply
 
Ok got approval so here is a link to the gist for it: Sam Gearswap No Include, with modes

Not something i suggest for everyone but I can understand there are people who want to have the deep understanding of their tools.

Might have one more for his ranger that I can look for when I get home tonight.
[+]
Offline
Posts: 375
By drakefs 2021-04-04 22:17:50
Link | Quote | Reply
 
Leviathan.Celebrindal said: »
But I'd prefer to have those 3 on unique arrays I can cycle through independently.

I dug through how mote appends modifiers to the meleeSet and basically you can use as many states and modifiers as you want.
Code
function status_change(new, old)
    if new == 'Engaged' then 
        equip(get_melee_set())
    else equip(sets.idle)
    end    
end

Code
function get_melee_set()
    local meleeSet = sets.engaged
    
    if not meleeSet then
        return {}
    end

    if state.CombatForm.has_value and meleeSet[state.CombatForm.value] and state.CombatForm.value ~= 'none' then
        meleeSet = meleeSet[state.CombatForm.value]
    end

    if state.CombatHaste.has_value and meleeSet[state.CombatHaste.value] then
        meleeSet = meleeSet[state.CombatHaste.value]
    end

    return meleeSet
end


Using two states (this is still using Mote's Modes.lua and Mote-SelfCommands.lua for definition and cycling. However, you should be able to use the states you define in the function above, like TP_Array and TP_Index to change to the correct state)
Code
state.CombatForm:options('none','DW','THand')
state.CombatHaste:options('Low','Mid','High','Max')


which ends up with me having define these sets
Code
sets.engaged = {}

sets.engaged.DW = {}
sets.engaged.THand = {}

sets.engaged.Low = {left_ring="Pernicious Ring",}
sets.engaged.Mid = {left_ear="Steelflash Earring",}
sets.engaged.High = {head="Malignance Chapeau",}
sets.engaged.Max = {}

sets.engaged.DW.Low = {right_ring="Petrov Ring",}
sets.engaged.DW.Mid = {waist="Windbuffet Belt +1",}
sets.engaged.DW.High = {body="Malignance Tabard",}
sets.engaged.DW.Max = {}

sets.engaged.THand.Low = {right_ear="Bladeborn Earring",}
sets.engaged.THand.Mid = {neck="Mirage Stole +2",}
sets.engaged.THand.High = {ammo="Ginsen",}
sets.engaged.THand.Max = {}


The gear was me testing that it worked as expected.
 Sylph.Ketsui
Offline
Server: Sylph
Game: FFXI
user: Lutia
Posts: 91
By Sylph.Ketsui 2021-04-16 00:58:59
Link | Quote | Reply
 
Is there a way of preventing the key bindings of F9-F12 completely?

This came to me as a surprise when I first tried gearswap, because F10 is somewhat important for targeting in FFXI itself.

Normally, I would begin every lua with

Code
function user_setup()
		send_command('unbind f9')
		send_command('unbind f10')
		send_command('unbind f11')
		send_command('unbind f12')
end

But this does not always work, sometimes it keeps the keys bound anyway. Very annoying.
 Bahamut.Kelg
Offline
Server: Bahamut
Game: FFXI
user: Kelg
Posts: 58
By Bahamut.Kelg 2021-04-16 09:39:40
Link | Quote | Reply
 
I'm trying to create a simple gear lock toggle for maxhp sets...

I wrote in a 'TankMode' cycle with Off/On options
Code
state.TankMode = M{['description']='Tank Mode', 'Off', 'On'}

The intent is to prevent a few slots from swapping during all actions to keep MaxHp high
Code
function customize_base_set(baseSet)
    if state.Tankmode.value == 'On' then
		equip(sets.Tank)
		  disable('back', 'ear1', 'ear2','ring2')
        else
			enable('back', 'ear1', 'ear2','ring2')
        end
     end

What am I doing wrong here? I'm just trying to get my lua to equip "Sets.Tank" and then disable these gear slots when Tankmode is set to 'On' and enable when 'Off'.
 Bahamut.Ayasha
Offline
Server: Bahamut
Game: FFXI
user: Ayasha
Posts: 87
By Bahamut.Ayasha 2021-04-16 10:23:58
Link | Quote | Reply
 
Well, without testing this or knowing what the error is, or seeing the entirety of your code, you have an identifier named "TankMode" (with a capital 'M') in the first code snippet and "Tankmode" (with a lower-case 'm') in the second. Identifiers in Lua are case sensitive.
 Bahamut.Kelg
Offline
Server: Bahamut
Game: FFXI
user: Kelg
Posts: 58
By Bahamut.Kelg 2021-04-16 10:40:11
Link | Quote | Reply
 
Fixed the lower case, but that's pretty much the whole code I have other than a cycle mode key.

I'm just not sure how to get it to lock in the slots when I have tank mode set to 'On'.
Offline
Posts: 375
By drakefs 2021-04-16 12:04:23
Link | Quote | Reply
 
Bahamut.Kelg said: »
I'm trying to create a simple gear lock toggle for maxhp sets...
Code
function customize_base_set(baseSet)

What calls
Code
customize_base_set()

?
 Carbuncle.Ared
Offline
Server: Carbuncle
Game: FFXI
user: dracoth
Posts: 15
By Carbuncle.Ared 2021-04-16 12:09:52
Link | Quote | Reply
 
Sylph.Ketsui said: »
Is there a way of preventing the key bindings of F9-F12 completely?

This came to me as a surprise when I first tried gearswap, because F10 is somewhat important for targeting in FFXI itself.

Just a thought... Are you using Mote's library (or a derivative)? And are you calling including Mote's after this portion of code? If you are, then you're unbinding correctly, but then rebinding afterward.
Offline
Posts: 375
By drakefs 2021-04-17 02:04:05
Link | Quote | Reply
 
Sylph.Ketsui said: »
This came to me as a surprise when I first tried gearswap, because F10 is somewhat important for targeting in FFXI itself.


I thought F8 was the default target closest...



Sounds like you are using a Mote based lua and if so (if the lua has
Code
include('Mote-Include.lua')
you are), then you may just need to setup a sidecar file called
Code
<charactername>-Global.lua
and include the functions
Code
function global_on_load()
end

function global_on_unload()
end

this file will go in your data folder along with your other job luas
Code
...\Windower\addons\GearSwap\data



If that does not work, the file you need to edit is
Code
...\Windower\addons\GearSwap\libs\Mote-Globals.lua

You can comment out the binds but if an update is pushed out you may have to re-edit the file again.
 Sylph.Ketsui
Offline
Server: Sylph
Game: FFXI
user: Lutia
Posts: 91
By Sylph.Ketsui 2021-04-19 06:47:48
Link | Quote | Reply
 
drakefs said: »
I thought F8 was the default target closest...

F8 = Target nearest hostile/attackable NPC, if none is in view, target nearest friendly NPC.
F10 = Target nearest friendly NPC, if none is in view, target nearest hostile/attackable NPC.

If you ever stand in front of the Reisenjima Goblin and there's a mob in view, use F10 to target the Gob. :)

drakefs said: »
If that does not work, the file you need to edit is
Code
...\Windower\addons\GearSwap\libs\Mote-Globals.lua

You can comment out the binds but if an update is pushed out you may have to re-edit the file again.

Thanks, this is exactly what I was looking for. Begone, bindings! :D
 Asura.Cordyfox
Offline
Server: Asura
Game: FFXI
user: Cordyfox
Posts: 71
By Asura.Cordyfox 2021-04-19 13:41:09
Link | Quote | Reply
 
I'm struggling to create a toggle to cycle through equipping of weapons. I'm using Arislan's modifications of Mote's luas. Does anyone have any advice on even where to start with this? Nothing I've tried works.
Offline
Posts: 375
By drakefs 2021-04-21 05:05:16
Link | Quote | Reply
 
Which job lua?

Like in their RDM lua you would add the set name to
Code
state.WeaponSet = M{['description']='Weapon Set', 'CroceaDark', 'CroceaLight', 'Almace', 'Naegling', 'Tauret', 'Idle'}

and add a set to match
Code
sets.CroceaDark = {main="Crocea Mors", sub="Ternion Dagger +1"}
sets.CroceaLight = {main="Crocea Mors", sub="Daybreak"}
sets.Almace = {main="Almace", sub="Ternion Dagger +1"}
sets.Naegling = {main="Naegling", sub="Thibron"}
sets.Tauret = {main="Tauret", sub="Ternion Dagger +1"}
sets.Idle = {main="Daybreak", sub="Sacro Bulwark"}

It would look like this:
Code
state.WeaponSet = M{['description']='Weapon Set', 'CroceaDark', 'CroceaLight', 'Almace', 'Naegling', 'Tauret', 'Maxentius', 'Idle'}
Code
sets.CroceaDark = {main="Crocea Mors", sub="Ternion Dagger +1"}
sets.CroceaLight = {main="Crocea Mors", sub="Daybreak"}
sets.Almace = {main="Almace", sub="Ternion Dagger +1"}
sets.Naegling = {main="Naegling", sub="Thibron"}
sets.Tauret = {main="Tauret", sub="Ternion Dagger +1"}
sets.Maxentius = {main="Maxentius", sub="Thibron"}
sets.Idle = {main="Daybreak", sub="Sacro Bulwark"}
Offline
Posts: 28
By Garretts 2021-04-21 14:11:35
Link | Quote | Reply
 
How hard/complex would it be to create a rule in gear swap to provide some sort of functionality to alleviate duplicate earrings and rings? Occasionally on WHM or BLU or other various jobs, equipping duplicate rings/earrings (Mache, Chirich, Stikini, etc.) will hang up and leave me in the wrong piece.

(Using Selindrile's LUA's, if that matters)

This is by no means a major problem, mainly because as far as I can tell, It always equips what I need when I'm doing an action, but only gaff's when returning to Idle/Auto-attack engaged.

I thought of some sort of variable that it could flag if both ring1+ring2 (or left_ring+right_ring) had the same equipment piece, and then assign one of the rings/earrings directly to a slot, maybe with Item ID? Possibly detect the duplicate reference, scan your inventory for said items, and then assign individual item ID's directly to said slots.

I searched this thread, and the internet in general with : 'ffxi duplicate equip gearswap' in the search engine, but mostly i saw comments regarding priority swaps, which i understand, but I've tried that, and I don't think it works
Offline
Posts: 375
By drakefs 2021-04-21 15:09:47
Link | Quote | Reply
 
I think you can put dupes in another bag and then specify which bag to equip from to alleviate the issue.
Code
    left_ring={name="Varar Ring", bag="wardrobe2"},
    right_ring={name="Varar Ring", bag="wardrobe3"},
 Asura.Cordyfox
Offline
Server: Asura
Game: FFXI
user: Cordyfox
Posts: 71
By Asura.Cordyfox 2021-04-21 17:20:51
Link | Quote | Reply
 
drakefs said: »
Which job lua?

Like in their RDM lua you would add the set name to
Code
state.WeaponSet = M{['description']='Weapon Set', 'CroceaDark', 'CroceaLight', 'Almace', 'Naegling', 'Tauret', 'Idle'}

and add a set to match
Code
sets.CroceaDark = {main="Crocea Mors", sub="Ternion Dagger +1"}
sets.CroceaLight = {main="Crocea Mors", sub="Daybreak"}
sets.Almace = {main="Almace", sub="Ternion Dagger +1"}
sets.Naegling = {main="Naegling", sub="Thibron"}
sets.Tauret = {main="Tauret", sub="Ternion Dagger +1"}
sets.Idle = {main="Daybreak", sub="Sacro Bulwark"}

It would look like this:
Code
state.WeaponSet = M{['description']='Weapon Set', 'CroceaDark', 'CroceaLight', 'Almace', 'Naegling', 'Tauret', 'Maxentius', 'Idle'}
Code
sets.CroceaDark = {main="Crocea Mors", sub="Ternion Dagger +1"}
sets.CroceaLight = {main="Crocea Mors", sub="Daybreak"}
sets.Almace = {main="Almace", sub="Ternion Dagger +1"}
sets.Naegling = {main="Naegling", sub="Thibron"}
sets.Tauret = {main="Tauret", sub="Ternion Dagger +1"}
sets.Maxentius = {main="Maxentius", sub="Thibron"}
sets.Idle = {main="Daybreak", sub="Sacro Bulwark"}

The toggle works. Nothing actually equips. This is the case for any job.
Offline
Posts: 375
By drakefs 2021-04-21 18:21:20
Link | Quote | Reply
 
Asura.Cordyfox said: »
The toggle works. Nothing actually equips. This is the case for any job.

I just made the changes myself to their RDM lua and it worked (changed the name to test.lua, commented out the includes for the geo\global binds and made the changes I suggested). Loaded on my BLU and the lua properly changed weapons (well it changed between Almace, Naegling and Maxentius). Do you have the weapon lock mode on? Otherwise, not sure why it isn't working for you unless you modified the function:
Code
function check_weaponset()
    equip(sets[state.WeaponSet.current])
    if player.sub_job ~= 'NIN' and player.sub_job ~= 'DNC' then
       equip(sets.DefaultShield)
    end
end

or how it is called.

I will note that Arislan has two customize_melee_set(meleeSet) functions:
Code
function customize_melee_set(meleeSet)
    if state.EnspellMode.value == true then
        meleeSet = set_combine(meleeSet, sets.engaged.Enspell)
    end
    if state.EnspellMode.value == true and player.hpp <= 75 and player.tp < 1000 then
        meleeSet = set_combine(meleeSet, sets.engaged.Enspell.Fencer)
    end
    if state.TreasureMode.value == 'Fulltime' then
        meleeSet = set_combine(meleeSet, sets.TreasureHunter)
    end

    check_weaponset()

    return meleeSet
end

-- Modify the default melee set after it was constructed.
--[[function customize_melee_set(meleeSet)


    return meleeSet
end]]


which I commented out the empty one after testing and retested to make sure it wasn't causing an issue.
 Asura.Cordyfox
Offline
Server: Asura
Game: FFXI
user: Cordyfox
Posts: 71
By Asura.Cordyfox 2021-04-21 18:24:40
Link | Quote | Reply
 
drakefs said: »
Asura.Cordyfox said: »
The toggle works. Nothing actually equips. This is the case for any job.

I just made the changes myself to their RDM lua and it worked (changed the name to test.lua, commented out the includes for the geo\global binds and made the changes I suggested). Loaded on my BLU and the lua properly changed weapons (well it changed between Almace, Naegling and Maxentius). Do you have the weapon lock mode on? Otherwise, not sure why it isn't working for you unless you modified the function:
Code
function check_weaponset()
    equip(sets[state.WeaponSet.current])
    if player.sub_job ~= 'NIN' and player.sub_job ~= 'DNC' then
       equip(sets.DefaultShield)
    end
end

or how it is called.

I will note that Arislan has two customize_melee_set(meleeSet) functions:
Code
function customize_melee_set(meleeSet)
    if state.EnspellMode.value == true then
        meleeSet = set_combine(meleeSet, sets.engaged.Enspell)
    end
    if state.EnspellMode.value == true and player.hpp <= 75 and player.tp < 1000 then
        meleeSet = set_combine(meleeSet, sets.engaged.Enspell.Fencer)
    end
    if state.TreasureMode.value == 'Fulltime' then
        meleeSet = set_combine(meleeSet, sets.TreasureHunter)
    end

    check_weaponset()

    return meleeSet
end

-- Modify the default melee set after it was constructed.
--[[function customize_melee_set(meleeSet)


    return meleeSet
end]]


which I commented out the empty one after testing and retested to make sure it wasn't causing an issue.

That's just it--weapon lock definitely isn't on, and I haven't changed any of the functions, just remapped the toggle.
Offline
Posts: 375
By drakefs 2021-04-22 07:12:16
Link | Quote | Reply
 
Have you tested it while meleeing?

I just commented out all the binds and used
Code
//gs c cycle weaponset
to cycle and it worked as it should.
 Asura.Iamarealgirl
Offline
Server: Asura
Game: FFXI
user: Latravant
Posts: 79
By Asura.Iamarealgirl 2021-04-22 11:55:23
Link | Quote | Reply
 
i'm having trouble with my thf.lua
i'm using arislan's lua.
i've used it before but my pc got wiped and i lost everything.
whats happening is i use the keybind to switch my TH gear in. the problem is somehow it's still switching in his gearset even though i changed everything to my gear. so i went through and completely removed everything he had in his TH sets and replaced everything with mine using export. now its not switch anything.
i copied the mote-treasurehunter file to make sure mine was up to date.
heres my set for treasure hunter in the lua:
Code
 sets.TreasureHunter = {
    range="Raider's Bmrng.",
    head={ name="Herculean Helm", augments={'Pet: Accuracy+15 Pet: Rng. Acc.+15','Pet: DEX+7','"Treasure Hunter"+1',}},
    body="Meg. Cuirie +2",
    hands={ name="Plun. Armlets +1", augments={'Enhances "Perfect Dodge" effect',}},
    legs="Meg. Chausses +2",
    feet="Skulk. Poulaines",
    neck="Erudit. Necklace",
    waist="Chaac Belt",
    left_ear="Suppanomimi",
    right_ear="Eabani Earring",
    left_ring="Gere Ring",
    right_ring="Hetairoi Ring",
    back={ name="Canny Cape", augments={'DEX+3','AGI+3','"Dual Wield"+2','Crit. hit damage +3%',}}}
    


also the only thing i changed was the TH set and i removed his herculean/reisinjima sets armor from the lua.
 Asura.Iamarealgirl
Offline
Server: Asura
Game: FFXI
user: Latravant
Posts: 79
By Asura.Iamarealgirl 2021-04-22 11:58:33
Link | Quote | Reply
 
just tried
//gs equip sets.TreasureHunter
and that worked
but using the ctrl + = keybind doesnt
 Asura.Iamarealgirl
Offline
Server: Asura
Game: FFXI
user: Latravant
Posts: 79
By Asura.Iamarealgirl 2021-04-22 12:14:26
Link | Quote | Reply
 
figured it out, wasnt equipping because of idleset. only equips when engaged. thanks to this community. if it wasnt for you guys theres no way in hell i wouldve been able to figure this out by myself
 Hades.Ruuz
Offline
Server: Hades
Game: FFXI
user: Ruuz
Posts: 2
By Hades.Ruuz 2021-04-30 03:40:33
Link | Quote | Reply
 
This problem is keeping me up into the middle of the night:

Why would aftercast(spell, act) start before the spell has finished casting? From watching equipviewer icons and showswaps, I seem to be equipping all the gear (precast>midcast>aftercast), but the midcast is already swapped out before the spell goes off.

I thought the aftercast function waits to swap until receiving notice of the spell going off. Why isn't it staying in midcast?
 Hades.Ruuz
Offline
Server: Hades
Game: FFXI
user: Ruuz
Posts: 2
By Hades.Ruuz 2021-04-30 22:37:41
Link | Quote | Reply
 
So yeah, dug deeper in the thread, seems FastFollow was the issue.
First Page 2 3 ... 161 162 163 ... 180 181 182