|
Gearswap Support Thread
By Demelza 2020-11-13 16:26:51
Heya, thank you for your reply.
That looks like it would make sense, only I cannot find Global-Binds.lua anywhere in my windower folder, and I try unloading it too and it's not loaded.
I note the COR lua has:
```
include('Mote-Include.lua')
```
which paths to more includes:
```
include('Mote-Mappings')
```
But none of this contains anything to do with the keybinds in Global-binds ><
Thank you in advance for your help ^^
Hades.Dade
サーバ: Hades
Game: FFXI
Posts: 230
By Hades.Dade 2020-11-13 17:05:26
did you previous have it included then removed it? Binds will last after you reload gearswap unless they are unbound. was line 149 in orginal lua. You can reload the autoload or just restart ffxi.
By Demelza 2020-11-13 17:22:12
Thank you! A reset did the trick and now I feel like a prune for not trying that already ^^;
Ragnarok.Lowen
サーバ: Ragnarok
Game: FFXI
Posts: 316
By Ragnarok.Lowen 2020-11-14 11:03:31
Does anyone have some examples of how they manage weapon toggles and locking? My use cases are mostly shields for PLD and weapons/shields for RDM. For instance, if I want to cast Protect on PLD with Srivasta on, but I want to swap back to either my Ochain or Aegis depending on which "shield mode" I'm in. I'm trying to avoid having a bunch of duplicated sets where the only difference is a shield or offhand weapon. For RDM it would be nice to be able to define an engaged main and sub to more easily change between enspells/savage blade/AE/Seraph Blade setups but still go back to more universal idle setup (while still using Ammurapi shield appropriately).
サーバ: Kujata
Game: FFXI
Posts: 40
By Kujata.Tetsuiga 2020-12-03 09:55:52
Greetings,
i recently transitioned from using my own gearswaps to Sel's, and it seems whenever i try to update sets <yes i made seperate gear pages for each char> i get the following errors, its dosnt seem to matter which character or job im messing with but the error i get always points me to the same place
lua runtime error - Gearswap/Flow/lua:350:
error in function get_sets
/libs.sel_include.lua 308
so i know its pointing me to those specific lines, but i cant figure out whats wrong with them, if i replace any edits i made in my Tetsuiga_Mnk_Gear file with sels default stuff it works fine, as soon as i start replacing stuff it gives me this,
no idea what im doing wrong here lol
Bismarck.Ruzaki
サーバ: Bismarck
Game: FFXI
Posts: 21
By Bismarck.Ruzaki 2020-12-03 10:32:16
Greetings,
i recently transitioned from using my own gearswaps to Sel's, and it seems whenever i try to update sets <yes i made seperate gear pages for each char> i get the following errors, its dosnt seem to matter which character or job im messing with but the error i get always points me to the same place
lua runtime error - Gearswap/Flow/lua:350:
error in function get_sets
/libs.sel_include.lua 308
so i know its pointing me to those specific lines, but i cant figure out whats wrong with them, if i replace any edits i made in my Tetsuiga_Mnk_Gear file with sels default stuff it works fine, as soon as i start replacing stuff it gives me this,
no idea what im doing wrong here lol
You'll have to upload one of your files so we can take a look at it.
サーバ: Kujata
Game: FFXI
Posts: 40
By Kujata.Tetsuiga 2020-12-03 11:03:56
So heres the specific Job file im trying to edit, the other two mentioned files in the console were left as is with no edits, i can provide them if needed, they wouldnt fit in this post, I managed to get the tp, idle and dt sets in fine, but once i started changing howling fist gear i started getting the error.
Quote: Gearswap/Flow/lua:350:
error in function get_sets
/libs.sel_include.lua 308
Code function user_job_setup()
-- Options: Override default values
state.OffenseMode:options('Normal','SomeAcc','Acc','FullAcc', 'Fodder')
state.WeaponskillMode:options('Match','Normal', 'SomeAcc', 'Acc', 'FullAcc', 'Fodder')
state.HybridMode:options('Normal', 'PDT')
state.PhysicalDefenseMode:options('PDT', 'HP')
state.MagicalDefenseMode:options('MDT')
state.ResistDefenseMode:options('MEVA')
state.IdleMode:options('Normal', 'PDT')
state.Weapons:options('Godhands','Staff','ProcStaff','ProcClub','Barehanded','ProcSword','ProcGreatSword','ProcScythe','ProcPolearm','ProcGreatKatana')
state.ExtraMeleeMode = M{['description']='Extra Melee Mode', 'None'}
update_melee_groups()
-- Additional local binds
send_command('bind ^` input /ja "Boost" <me>')
send_command('bind !` input /ja "Perfect Counter" <me>')
send_command('bind ^backspace input /ja "Mantra" <me>')
send_command('bind @` gs c cycle SkillchainMode')
select_default_macro_book()
end
function init_gear_sets()
--------------------------------------
-- Start defining the sets
--------------------------------------
-- Precast Sets
-- Precast sets to enhance JAs on use
sets.precast.JA['Hundred Fists'] = {legs="Hesychast's Hose +1"}
sets.precast.JA['Boost'] = {} --hands="Anchorite's Gloves +1"
sets.precast.JA['Boost'].OutOfCombat = {} --hands="Anchorite's Gloves +1", Remove Haste and Add Slow Gear.
sets.precast.JA['Dodge'] = {feet="Anchorite's Gaiters +1"}
sets.precast.JA['Focus'] = {head="Anchorite's Crown +1"}
sets.precast.JA['Counterstance'] = {} --feet="Hesychast's Gaiters +1"
sets.precast.JA['Footwork'] = {feet="Shukuyu Sune-Ate"}
sets.precast.JA['Formless Strikes'] = {body="Hesychast's Cyclas"}
sets.precast.JA['Mantra'] = {feet="Mel. Gaiters +2"} --feet="Hesychast's Gaiters +1"
sets.precast.JA['Chi Blast'] = {}
sets.precast.JA['Chakra'] = {
head="Dampening Tam",
body="Malignance Tabard",hands="Hesychast's Gloves +1",
legs="Hes. Hose +1",feet="Anch. Gaiters +1"}
-- Waltz set (chr and vit)
sets.precast.Waltz = {}
-- Don't need any special gear for Healing Waltz.
sets.precast.Waltz['Healing Waltz'] = {}
sets.precast.Step = {ammo="Falcon Eye",
head="Malignance Chapeau",neck="Moonbeam Nodowa",ear1="Mache Earring +1",ear2="Telos Earring",
body="Malignance Tabard",hands="Hesychast's Gloves +1",ring1="Ramuh Ring +1",ring2="Ramuh Ring +1",
back="Segomo's Mantle",waist="Olseni Belt",legs="Hiza. Hizayoroi +2",feet="Malignance Boots"}
sets.precast.Flourish1 = {ammo="Falcon Eye",
head="Malignance Chapeau",neck="Moonbeam Nodowa",ear1="Mache Earring +1",ear2="Telos Earring",
body="Malignance Tabard",hands="Hesychast's Gloves +1",ring1="Ramuh Ring +1",ring2="Ramuh Ring +1",
back="Segomo's Mantle",waist="Olseni Belt",legs="Mummu Kecks +2",feet="Malignance Boots"}
-- Fast cast sets for spells
sets.precast.FC = {ammo="Impatiens",
head=gear.herculean_fc_head,neck="Voltsurge Torque",ear1="Enchntr. Earring +1",ear2="Loquac. Earring",
body="Dread Jupon",hands="Leyline Gloves",ring2="Lebeche Ring",ring2="Kishar Ring",
legs="Rawhide Trousers"}
sets.precast.FC.Utsusemi = set_combine(sets.precast.FC, {neck="Magoraga Beads",body="Passion Jacket"})
-- Weaponskill sets
-- Default set for any weaponskill that isn't any more specifically defined
sets.precast.WS = {ammo="Aurgelmir Orb +1",
head="Ken. Jinpachi +1",neck="Mnk. Nodowa +2",ear1="Sherida Earring",ear2="Mache Earring +1",
body="Malignance Tabard",hands="Ken. Tekko +1",ring1="Gere Ring",ring2="Niqmaddu Ring",
back={ name="Segomo's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','DEX+10','"Dbl.Atk."+10','Phys. dmg. taken-10%',}},waist="Moonbow Belt +1",legs="Ken. Hakama +1",feet="Ken. Sune-Ate +1"}
sets.precast.WSSomeAcc = {ammo="Falcon Eye",head="Dampening Tam",legs="Hiza. Hizayoroi +2"}
sets.precast.WSAcc = {ammo="Falcon Eye",head="Dampening Tam",neck="Combatant's Torque",ear1="Cessance Earring",ring2="Ramuh Ring +1",body="Malignance Tabard",waist="Olseni Belt",legs="Hiza. Hizayoroi +2",feet="Malignance Boots"}
sets.precast.WSFullAcc = {ammo="Falcon Eye",head="Mummu Bonnet +2",neck="Moonbeam Nodowa",ear1="Mache Earring +1",ear2="Telos Earring",body="Malignance Tabard",hands="Ryuo Tekko",ring1="Ramuh Ring +1",ring2="Ramuh Ring +1",waist="Olseni Belt",legs="Hiza. Hizayoroi +2",feet="Malignance Boots"}
sets.precast.WSFodder = {}
sets.precast.WS.SomeAcc = set_combine(sets.precast.WS, sets.precast.WSSomeAcc)
sets.precast.WS.Acc = set_combine(sets.precast.WS, sets.precast.WSAcc)
sets.precast.WS.FullAcc = set_combine(sets.precast.WS, sets.precast.WSFullAcc)
sets.precast.WS.Fodder = set_combine(sets.precast.WS, sets.precast.WSFodder)
-- Specific weaponskill sets.
sets.precast.WS['Raging Fists'] = set_combine(sets.precast.WS, {waist="Grunfeld Rope"})
sets.precast.WS['Howling Fist'] = set_combine(sets.precast.WS, {ammo="Knobkierrie",head="Ken. Jinpachi +1",body="Ken. Samue +1",hands="Ken. Tekko +1"legs="Ken. Hakama +1"feet="Ken. Sune-ate +1"ear2="Moonshade Earring"})
sets.precast.WS['Asuran Fists'] = set_combine(sets.precast.WS, {waist="Grunfeld Rope"})
sets.precast.WS["Ascetic's Fury"] = set_combine(sets.precast.WS, {neck="Caro Necklace",body="Abnoba Kaftan",hands="Ryuo Tekko",ring2="Begrudging Ring",waist="Grunfeld Rope",feet=gear.herculean_wsd_feet})
sets.precast.WS["Victory Smite"] = set_combine(sets.precast.WS, {ear1="Moonshade Earring",body="Abnoba Kaftan",hands="Ryuo Tekko",ring2="Begrudging Ring",legs="Mummu Kecks +2",feet="Mummu Gamash. +2"})
sets.precast.WS['Shijin Spiral'] = set_combine(sets.precast.WS, {head="Dampening Tam"})
sets.precast.WS['Dragon Kick'] = set_combine(sets.precast.WS, {waist="Grunfeld Rope"})
sets.precast.WS['Tornado Kick'] = set_combine(sets.precast.WS, {})
sets.precast.WS['Spinning Attack'] = set_combine(sets.precast.WS, {waist="Grunfeld Rope"})
sets.precast.WS["Raging Fists"].SomeAcc = set_combine(sets.precast.WS["Raging Fists"], sets.precast.WSSomeAcc)
sets.precast.WS["Howling Fist"].SomeAcc = set_combine(sets.precast.WS["Howling Fist"], sets.precast.WSSomeAcc)
sets.precast.WS["Asuran Fists"].SomeAcc = set_combine(sets.precast.WS["Asuran Fists"], sets.precast.WSSomeAcc)
sets.precast.WS["Ascetic's Fury"].SomeAcc = set_combine(sets.precast.WS["Ascetic's Fury"], sets.precast.WSSomeAcc, {head="Mummu Bonnet +2",body="Abnoba Kaftan",hands="Ryuo Tekko",ring2="Begrudging Ring",waist="Grunfeld Rope",legs="Mummu Kecks +2",feet=gear.herculean_wsd_feet})
sets.precast.WS["Victory Smite"].SomeAcc = set_combine(sets.precast.WS["Victory Smite"], sets.precast.WSSomeAcc, {head="Mummu Bonnet +2",ear1="Moonshade Earring",body="Abnoba Kaftan",hands="Ryuo Tekko",ring2="Begrudging Ring",legs="Mummu Kecks +2",feet="Mummu Gamash. +2"})
sets.precast.WS["Shijin Spiral"].SomeAcc = set_combine(sets.precast.WS["Shijin Spiral"], sets.precast.WSSomeAcc, {})
sets.precast.WS["Dragon Kick"].SomeAcc = set_combine(sets.precast.WS["Dragon Kick"], sets.precast.WSSomeAcc)
sets.precast.WS["Tornado Kick"].SomeAcc = set_combine(sets.precast.WS["Tornado Kick"], sets.precast.WSSomeAcc)
sets.precast.WS["Raging Fists"].Acc = set_combine(sets.precast.WS["Raging Fists"], sets.precast.WSAcc)
sets.precast.WS["Howling Fist"].Acc = set_combine(sets.precast.WS["Howling Fist"], sets.precast.WSAcc)
sets.precast.WS["Asuran Fists"].Acc = set_combine(sets.precast.WS["Asuran Fists"], sets.precast.WSAcc)
sets.precast.WS["Ascetic's Fury"].Acc = set_combine(sets.precast.WS["Ascetic's Fury"], sets.precast.WSAcc, {head="Mummu Bonnet +2",body="Sayadio's Kaftan",hands="Ryuo Tekko",ring2="Begrudging Ring",legs="Mummu Kecks +2",feet="Mummu Gamash. +2"})
sets.precast.WS["Victory Smite"].Acc = set_combine(sets.precast.WS["Victory Smite"], sets.precast.WSAcc, {head="Mummu Bonnet +2",ear1="Moonshade Earring",body="Sayadio's Kaftan",hands="Ryuo Tekko",ring2="Begrudging Ring",legs="Mummu Kecks +2",feet="Mummu Gamash. +2"})
sets.precast.WS["Shijin Spiral"].Acc = set_combine(sets.precast.WS["Shijin Spiral"], sets.precast.WSAcc)
sets.precast.WS["Dragon Kick"].Acc = set_combine(sets.precast.WS["Dragon Kick"], sets.precast.WSAcc)
sets.precast.WS["Tornado Kick"].Acc = set_combine(sets.precast.WS["Tornado Kick"], sets.precast.WSAcc)
sets.precast.WS["Raging Fists"].FullAcc = set_combine(sets.precast.WS["Raging Fists"], sets.precast.WSFullAcc)
sets.precast.WS["Howling Fist"].FullAcc = set_combine(sets.precast.WS["Howling Fist"], sets.precast.WSFullAcc)
sets.precast.WS["Asuran Fists"].FullAcc = set_combine(sets.precast.WS["Asuran Fists"], sets.precast.WSFullAcc)
sets.precast.WS["Ascetic's Fury"].FullAcc = set_combine(sets.precast.WS["Ascetic's Fury"], sets.precast.WSFullAcc, {head="Mummu Bonnet +2",body="Mummu Jacket +2",hands="Ryuo Tekko",legs="Mummu Kecks +2",feet="Mummu Gamash. +2"})
sets.precast.WS["Victory Smite"].FullAcc = set_combine(sets.precast.WS["Victory Smite"], sets.precast.WSFullAcc, {head="Mummu Bonnet +2",body="Mummu Jacket +2",hands="Ryuo Tekko",legs="Mummu Kecks +2",feet="Mummu Gamash. +2"})
sets.precast.WS["Shijin Spiral"].FullAcc = set_combine(sets.precast.WS["Shijin Spiral"], sets.precast.WSFullAcc)
sets.precast.WS["Dragon Kick"].FullAcc = set_combine(sets.precast.WS["Dragon Kick"], sets.precast.WSFullAcc)
sets.precast.WS["Tornado Kick"].FullAcc = set_combine(sets.precast.WS["Tornado Kick"], sets.precast.WSFullAcc)
sets.precast.WS["Raging Fists"].Fodder = set_combine(sets.precast.WS["Raging Fists"], sets.precast.WSFodder)
sets.precast.WS["Howling Fist"].Fodder = set_combine(sets.precast.WS["Howling Fist"], sets.precast.WSFodder)
sets.precast.WS["Asuran Fists"].Fodder = set_combine(sets.precast.WS["Asuran Fists"], sets.precast.WSFodder)
sets.precast.WS["Ascetic's Fury"].Fodder = set_combine(sets.precast.WS["Ascetic's Fury"], sets.precast.WSFodder, {head="Adhemar Bonnet +1",neck="Caro Necklace",body="Abnoba Kaftan",ring1="Begrudging Ring",waist="Grunfeld Rope"})
sets.precast.WS["Victory Smite"].Fodder = set_combine(sets.precast.WS["Victory Smite"], sets.precast.WSFodder, {ear1="Moonshade Earring",body="Abnoba Kaftan",ring1="Begrudging Ring"})
sets.precast.WS["Shijin Spiral"].Fodder = set_combine(sets.precast.WS["Shijin Spiral"], sets.precast.WSFodder)
sets.precast.WS["Dragon Kick"].Fodder = set_combine(sets.precast.WS["Dragon Kick"], sets.precast.WSFodder)
sets.precast.WS["Tornado Kick"].Fodder = set_combine(sets.precast.WS["Tornado Kick"], sets.precast.WSFodder)
sets.precast.WS['Cataclysm'] = {ammo="Dosis Tathlum",
neck="Baetyl Pendant",ear1="Friomisi Earring",ear2="Crematio Earring",
hands="Malignance Gloves",ring1="Shiva Ring +1",
back="Toro Cape",legs="Nahtirah Trousers"}
-- Swap to these on Moonshade using WS if at 3000 TP
sets.MaxTP = {ear1="Brutal Earring",ear2="Sherida Earring",}
sets.AccMaxTP = {ear1="Mache Earring +1",ear2="Telos Earring"}
-- Midcast Sets
sets.midcast.FastRecast = {ammo="Staunch Tathlum +1",
head=gear.herculean_fc_head,neck="Voltsurge Torque",ear1="Enchntr. Earring +1",ear2="Loquac. Earring",
body="Dread Jupon",hands="Leyline Gloves",ring2="Defending Ring",ring2="Prolix Ring",
back="Moonlight Cape",waist="Black Belt",legs=gear.herculean_dt_legs,feet="Hippo. Socks +1"}
-- Specific spells
sets.midcast.Utsusemi = set_combine(sets.midcast.FastRecast, {back="Mujin Mantle"})
-- Sets to return to when not performing an action.
-- Resting sets
sets.resting = {body="Hesychast's Cyclas",ring2="Sheltered Ring"}
-- Idle sets
sets.idle = {ammo="Aurgelmir Orb +1",
head="Malignance Chapeau",neck="Loricate Torque +1",ear1="Sherida Earring",ear2="Telos Earring",
body="Malignance Tabard",hands="Ken. Tekko +1",ring1="Defending Ring",ring2="Regal Ring",
back={ name="Segomo's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','DEX+10','"Dbl.Atk."+10','Phys. dmg. taken-10%',}},waist="Moonbow Belt +1",legs="Mummu Kecks +2",feet="Malignance Boots"}
sets.idle.Weak = {ammo="Staunch Tathlum +1",
head="Dampening Tam",neck="Loricate Torque +1",ear1="Etiolation Earring",ear2="Sanare Earring",
body="Malignance Tabard",hands="Malignance Gloves",ring1="Defending Ring",ring2="Sheltered Ring",
back="Moonlight Cape",waist="Black Belt",legs=gear.herculean_dt_legs,feet="Hippo. Socks +1"}
sets.idle.PDT = {ammo="Staunch Tathlum +1",
head="Genmei Kabuto",neck="Loricate Torque +1",ear1="Etiolation Earring",ear2="Sanare Earring",
body="Malignance Tabard",hands="Malignance Gloves",ring1="Defending Ring",ring2="Dark Ring",
back="Moonlight Cape",waist="Black Belt",legs=gear.herculean_dt_legs,feet="Hippo. Socks +1"}
-- Defense sets
sets.defense.PDT = {ammo="Staunch Tathlum +1",
head="Genmei Kabuto",neck="Loricate Torque +1",ear1="Etiolation Earring",ear2="Sanare Earring",
body="Malignance Tabard",hands="Malignance Gloves",ring1="Defending Ring",ring2="Dark Ring",
back="Moonlight Cape",waist="Black Belt",legs=gear.herculean_dt_legs,feet="Malignance Boots"}
-- Defense sets
sets.defense.HP = {ammo="Staunch Tathlum +1",
head="Genmei Kabuto",neck="Loricate Torque +1",ear1="Etiolation Earring",ear2="Sanare Earring",
body="Malignance Tabard",hands="Malignance Gloves",ring1="Defending Ring",ring2="Dark Ring",
back="Segomo's Mantle",waist="Black Belt",legs=gear.herculean_dt_legs,feet="Hippo. Socks +1"}
sets.defense.MDT = {ammo="Staunch Tathlum +1",
head="Dampening Tam",neck="Warder's Charm +1",ear1="Etiolation Earring",ear2="Sanare Earring",
body="Malignance Tabard",hands="Malignance Gloves",ring1="Defending Ring",ring2="Shadow Ring",
back="Moonlight Cape",waist="Flax Sash",legs=gear.herculean_dt_legs,feet="Hippo. Socks +1"}
sets.defense.MEVA = {ammo="Staunch Tathlum +1",
head=empty,neck="Warder's Charm +1",ear1="Etiolation Earring",ear2="Sanare Earring",
body="Respite Cloak",hands="Leyline Gloves",ring1="Vengeful Ring",Ring2="Purity Ring",
back="Toro Cape",waist="Flax Sash",legs="Samnuha Tights",feet="Malignance Boots"}
sets.Kiting = {feet="Herald's Gaiters"}
-- Engaged sets
-- Variations for TP weapon and (optional) offense/defense modes. Code will fall back on previous
-- sets if more refined versions aren't defined.
-- If you create a set with both offense and defense modes, the offense mode should be first.
-- EG: sets.engaged.Dagger.Accuracy.Evasion
-- Normal melee sets
sets.engaged = {ammo="Aurgelmir Orb +1",
head={ name={ name="Adhemar Bonnet +1", augments={'DEX+12','AGI+12','Accuracy+20',}}, augments={'DEX+12','AGI+12','Accuracy+20',}},neck={ name="Mnk. Nodowa +2", augments={'Path: A',}},ear1="Sherida Earring",ear2="Telos Earring",
body="Ken. Samue +1",hands={ name="Adhemar Wrist. +1", augments={'DEX+12','AGI+12','Accuracy+20',}},ring1="Gere Ring",ring2="Niqmaddu Ring",
back={ name="Segomo's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','DEX+10','"Dbl.Atk."+10','Phys. dmg. taken-10%',}},waist="Moonbow Belt +1",legs={ name="Hes. Hose +3", augments={'Enhances "Hundred Fists" effect',}},feet="Anch. Gaiters +3"}
sets.engaged.SomeAcc = {ammo="Falcon Eye",
head="Dampening Tam",neck="Moonbeam Nodowa",ear1="Brutal Earring",ear2="Sherida Earring",
body="Ken. Samue",hands="Adhemar Wrist. +1",ring1="Niqmaddu Ring",ring2="Gere Ring",
back="Segomo's Mantle",waist="Windbuffet Belt +1",legs="Samnuha Tights",feet=gear.herculean_ta_feet}
sets.engaged.Acc = {ammo="Falcon Eye",
head="Dampening Tam",neck="Moonbeam Nodowa",ear1="Cessance Earring",ear2="Sherida Earring",
body="Malignance Tabard",hands="Ryuo Tekko",ring1="Niqmaddu Ring",ring2="Ramuh Ring +1",
back="Segomo's Mantle",waist="Olseni Belt",legs="Mummu Kecks +2",feet="Malignance Boots"}
sets.engaged.FullAcc = {ammo="Falcon Eye",
head="Mummu Bonnet +2",neck="Moonbeam Nodowa",ear1="Mache Earring +1",ear2="Telos Earring",
body="Malignance Tabard",hands="Ryuo Tekko",ring1="Ramuh Ring +1",ring2="Ramuh Ring +1",
back="Segomo's Mantle",waist="Olseni Belt",legs="Hiza. Hizayoroi +2",feet="Malignance Boots"}
sets.engaged.Fodder = {ammo="Ginsen",
head="Dampening Tam",neck="Moonbeam Nodowa",ear1="Brutal Earring",ear2="Sherida Earring",
body="Ken. Samue",hands="Adhemar Wrist. +1",ring1="Niqmaddu Ring",ring2="Gere Ring",
back="Segomo's Mantle",waist="Windbuffet Belt +1",legs="Samnuha Tights",feet=gear.herculean_ta_feet}
-- Defensive melee hybrid sets
sets.engaged.PDT = {ammo="Aurgelmir Orb +1",
head="Malignance Chapeau",neck="Loricate Torque +1",ear1="Sherida Earring",ear2="Telos Earring",
body="Malignance Tabard",hands="Ken. Tekko +1",ring1="Defending Ring",ring2="Regal Ring",
back={ name="Segomo's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','DEX+10','"Dbl.Atk."+10','Phys. dmg. taken-10%',}},waist="Moonbow Belt +1",legs="Mummu Kecks +2",feet="Malignance Boots"}
sets.engaged.SomeAcc.PDT = {ammo="Falcon Eye",
head="Dampening Tam",neck="Moonbeam Nodowa",ear1="Brutal Earring",ear2="Sherida Earring",
body="Malignance Tabard",hands="Malignance Gloves",ring1="Defending Ring",ring2="Dark Ring",
back="Moonlight Cape",waist="Black Belt",legs=gear.herculean_dt_legs,feet="Hippo. Socks +1"}
sets.engaged.Acc.PDT = {ammo="Falcon Eye",
head="Dampening Tam",neck="Moonbeam Nodowa",ear1="Cessance Earring",ear2="Sherida Earring",
body="Malignance Tabard",hands="Malignance Gloves",ring1="Defending Ring",ring2="Patricius Ring",
back="Segomo's Mantle",waist="Olseni Belt",legs=gear.herculean_dt_legs,feet="Hippo. Socks +1"}
sets.engaged.FullAcc.PDT = {ammo="Falcon Eye",
head="Dampening Tam",neck="Moonbeam Nodowa",ear1="Mache Earring +1",ear2="Telos Earring",
body="Malignance Tabard",hands="Hesychast's Gloves +1",ring1="Defending Ring",ring2="Patricius Ring",
back="Segomo's Mantle",waist="Olseni Belt",legs=gear.herculean_dt_legs,feet="Hippo. Socks +1"}
sets.engaged.Fodder.PDT = {ammo="Staunch Tathlum +1",
head="Genmei Kabuto",neck="Loricate Torque +1",ear1="Brutal Earring",ear2="Sherida Earring",
body="Malignance Tabard",hands="Malignance Gloves",ring1="Defending Ring",ring2="Dark Ring",
back="Moonlight Cape",waist="Black Belt",legs=gear.herculean_dt_legs,feet="Hippo. Socks +1"}
-- Hundred Fists/Impetus melee set mods
sets.engaged.HF = set_combine(sets.engaged, {})
sets.engaged.SomeAcc.HF = set_combine(sets.engaged.SomeAcc, {})
sets.engaged.Acc.HF = set_combine(sets.engaged.Acc, {})
sets.engaged.FullAcc.HF = set_combine(sets.engaged.FullAcc, {})
sets.engaged.Fodder.HF = set_combine(sets.engaged.Fodder, {})
sets.buff.Doom = set_combine(sets.buff.Doom, {})
sets.buff.Sleep = {head="Frenzy Sallet"}
sets.buff.Impetus = {body="Bhikku Cyclas +1"}
sets.buff.Footwork = {feet="Shukuyu Sune-Ate"}
sets.buff.Boost = {} --waist="Ask Sash"
sets.FootworkWS = {feet="Shukuyu Sune-Ate"}
sets.DayIdle = {}
sets.NightIdle = {}
sets.Knockback = {}
sets.TreasureHunter = set_combine(sets.TreasureHunter, {})
sets.Skillchain = {legs="Ryuo Hakama"}
-- Weapons sets
sets.weapons.Godhands = {main="Godhands"}
sets.weapons.Barehanded = {main=empty}
sets.weapons.Staff = {main="Malignance Pole",sub="Bloodrain Strap"}
sets.weapons.ProcStaff = {main="Terra's Staff"}
sets.weapons.ProcClub = {main="Mafic Cudgel"}
sets.weapons.ProcSword = {main="Ark Sword",sub=empty}
sets.weapons.ProcGreatSword = {main="Lament",sub=empty}
sets.weapons.ProcScythe = {main="Ark Scythe",sub=empty}
sets.weapons.ProcPolearm = {main="Pitchfork +1",sub=empty}
sets.weapons.ProcGreatKatana = {main="Hardwood Katana",sub=empty}
end
-- Select default macro book on initial load or subjob change.
function select_default_macro_book()
-- Default macro set/book
if player.sub_job == 'DNC' then
set_macro_page(5, 20)
elseif player.sub_job == 'NIN' then
set_macro_page(4, 20)
elseif player.sub_job == 'THF' then
set_macro_page(6, 20)
elseif player.sub_job == 'RUN' then
set_macro_page(7, 20)
else
set_macro_page(6, 20)
end
end
Bismarck.Ruzaki
サーバ: Bismarck
Game: FFXI
Posts: 21
By Bismarck.Ruzaki 2020-12-03 11:42:54
At the very least line 95 is very weird
Code sets.precast.WS['Howling Fist'] = set_combine(sets.precast.WS, {ammo="Knobkierrie",head="Ken. Jinpachi +1",body="Ken. Samue +1",hands="Ken. Tekko +1"legs="Ken. Hakama +1"feet="Ken. Sune-ate +1"ear2="Moonshade Earring"})
There are no commas between some of the gear entries
[+]
サーバ: Asura
Game: FFXI
Posts: 387
By Asura.Tawhoya 2020-12-03 11:54:27
Just looking over your WS sets, it appears there is an error in your back piece (the comma after dt-10), but I'm not sure if that would trigger a flag or not. I'm at work so I can't test it either.
In addition, the Howling Fist needs commas before legs and feet.
サーバ: Kujata
Game: FFXI
Posts: 40
By Kujata.Tetsuiga 2020-12-03 12:03:40
I see that now let me try and correct that, if this works im sorry im dumb xD
EDIT: i feel so silly lol, thx guys xD
[+]
Bahamut.Leonof
サーバ: Bahamut
Game: FFXI
Posts: 32
By Bahamut.Leonof 2020-12-23 21:10:12
How do I assign multiple weaponskill to the same set. On war theres a lot of good weapon skills but they all use the same handful of sets. so i'm trying to cut down of the bloat of having 20 weaponskills define in my lua.
so far i got this Code WSDlist = S{"King's Justice", "Fell Cleave", "Steel Cyclone", "Calamity", "Mistral Axe",
"Impulse Drive", "Sonic Thrust", "Retribution", "Spiral Hell", "Entropy", "Ground Strike",
"Judgement", "Black Halo"}
MultiAtklist = S{"Stardiver", "Dragon Kick", "Tornado Kick", "Raging Fists"}
CMultilist = S{"Rampage", "Vorpal Blade", "Hexa Strike", "Evisceration"}
MACClist = S{"Full Break", "Armor Break", "Shield Break", "Weapon Break", "Shockwave"}
Code function job_post_precast(spell, action, spellMap, eventArgs)
if spell.type == 'WeaponSkill' then
if buffactive["Mighty Strikes"] and (spell.english == "Resolution" or MultiAtklist:contains(spell.english)) then
equip(sets.MSWSMA)
elseif buffactive["Mighty Strikes"] and (spell.english == "Savage Blade" or WSDlist:contains(spell.english)) then
equip(sets.MSWSD)
elseif buffactive["Mighty Strikes"] and (spell.english == "Upheaval") then
equip(sets.MSUP)
elseif WSDlist:contains(spell.english) then
equip(sets.precast.WS.WSD)
elseif MultiAtklist:contains(spell.english) then
equip(sets.precast.WS.MultiAtk)
elseif CMultilist:contains(spell.english) then
equip(sets.precast.WS.CMulti)
elseif MACClist:contains(spell.english) then
equip(sets.precast.WS.MACC)
end
end
end
This mostly works but the sets no longer follow the state.weaponskillmode when i try lets say sets.precast.WS.WSD.Mid or sets.precast.WS.Mid.WSD
Asura.Shiraj
サーバ: Asura
Game: FFXI
Posts: 1094
By Asura.Shiraj 2020-12-23 22:03:18
The issue you're having there is the function is post precast. Not actual precast.
So to make it equip gear for certain WS you need something similar to this:
function job_precast(spell, action, spellMap, eventArgs)
The easiest and most braindead way would probably be to just define each WS like this sets.precast.WS['Fell Cleave'] = {} and have each gear like that.
To follow the state.weaponskillmode just add the .name after like this: sets.precast.WS['Fell Cleave'].Acc. This state would work if you had it defined like this: state.WeaponskillMode:options('Normal', 'Acc', 'DT', 'CappedAttack')
Bahamut.Leonof
サーバ: Bahamut
Game: FFXI
Posts: 32
By Bahamut.Leonof 2020-12-24 04:50:27
I tried your first suggestion Code function job_precast(spell, action, spellMap, eventArgs)
if WSDlist:contains(spell.english) then
equip(sets.precast.WS.WSD)
elseif MultiAtklist:contains(spell.english) then
equip(sets.precast.WS.MultiAtk)
elseif CMultilist:contains(spell.english) then
equip(sets.precast.WS.CMulti)
elseif MACClist:contains(spell.english) then
equip(sets.precast.WS.MACC)
end
end
and it just equips the default ws set sets.precast.WS
the second way you describe is what im trying to avoid, I dont want to define every weaponskill along with their mid accuracy and high accuracy sets. It causes a lot of bloat as a lot of those weaponskills use the same gear and I dont want to have to change every weaponskill for a new piece of gear.
Asura.Shiraj
サーバ: Asura
Game: FFXI
Posts: 1094
By Asura.Shiraj 2020-12-24 05:19:49
Did you include it like this?
Code function job_precast(spell, action, spellMap, eventArgs)
if WSDlist:contains(spell.english) then
equip(sets.precast.WS.WSD)
elseif MultiAtklist:contains(spell.english) then
equip(sets.precast.WS.MultiAtk)
elseif CMultilist:contains(spell.english) then
equip(sets.precast.WS.CMulti)
elseif MACClist:contains(spell.english) then
equip(sets.precast.WS.MACC)
end
end
or like this?
Code function job_precast(spell, action, spellMap, eventArgs)
if spell.type == 'WeaponSkill' then
if buffactive["Mighty Strikes"] and (spell.english == "Resolution" or MultiAtklist:contains(spell.english)) then
equip(sets.MSWSMA)
elseif buffactive["Mighty Strikes"] and (spell.english == "Savage Blade" or WSDlist:contains(spell.english)) then
equip(sets.MSWSD)
elseif buffactive["Mighty Strikes"] and (spell.english == "Upheaval") then
equip(sets.MSUP)
elseif WSDlist:contains(spell.english) then
equip(sets.precast.WS.WSD)
elseif MultiAtklist:contains(spell.english) then
equip(sets.precast.WS.MultiAtk)
elseif CMultilist:contains(spell.english) then
equip(sets.precast.WS.CMulti)
elseif MACClist:contains(spell.english) then
equip(sets.precast.WS.MACC)
end
end
end
At a quick glance, I can't see how the bottom option would not work.
Edit: I just tested this myself and yes, the bottom option works, however I used an edited version for quickness.
This was what I tested and made sure showswaps showed it worked. Code
function user_setup()
WSDlist = S{'Tachi: Enpi'}
end
function job_precast(spell, action, spellMap, eventArgs)
if spell.type == 'WeaponSkill' then
if WSDlist:contains(spell.english) then
equip({right_ring="Chirich Ring +1"})
end
end
end
Bahamut.Leonof
サーバ: Bahamut
Game: FFXI
Posts: 32
By Bahamut.Leonof 2020-12-24 14:17:42
The top code had the weaponskill check when i tested it, it just seems i copied it over without it somehow. Even went and double checked it and tested it again. Then tried to see if it would equip something more simple like a ring like what you wrote. Even copied pasted the second suggestion from you comment. Everything still just equips the default weaponskill set.
Code function job_precast(spell, action, spellMap, eventArgs)
if spell.type == 'WeaponSkill' then
if WSDlist:contains(spell.english) then
equip({right_right="Sheltered Ring"})
elseif MultiAtklist:contains(spell.english) then
equip(sets.precast.WS.MultiAtk)
elseif CMultilist:contains(spell.english) then
equip(sets.precast.WS.CMulti)
elseif MACClist:contains(spell.english) then
equip(sets.precast.WS.MACC)
end
end
end
i kept the mighty stikes rule out for simplicity.
Asura.Shiraj
サーバ: Asura
Game: FFXI
Posts: 1094
By Asura.Shiraj 2020-12-24 14:59:49
If it is equipping default WS set, chances are you have a set defined called sets.precast.WS = {} and you probably have the function for that above the new rule you want.
Since code reads from up to down, it will equip the default WS set first if you have any sort of rule for that in the lua above the new rule. Check that, if that doesn't work, I can look over your lua if you want to send me it.
By drakefs 2020-12-25 03:54:41
Even copied pasted the second suggestion from you comment. Everything still just equips the default weaponskill set.
I think you need to have this style of checks in job_post_precast, otherwise your default precast sets will trigger after after the logic has ran.
Code function job_post_precast(spell, action, spellMap, eventArgs)
if spell.type == 'WeaponSkill' then
if WSDlist:contains(spell.english) then
equip({right_right="Sheltered Ring"})
elseif MultiAtklist:contains(spell.english) then
equip(sets.precast.WS.MultiAtk)
elseif CMultilist:contains(spell.english) then
equip(sets.precast.WS.CMulti)
elseif MACClist:contains(spell.english) then
equip(sets.precast.WS.MACC)
end
end
end
Sylph.Atigev
By Sylph.Atigev 2021-01-13 10:23:47
So asked a friend of mine good at this lua stuff last night and he nore I could figure out wth is going on. I still use mostly bokura's luas, some like my warrior one are very heavily modified, however my ninja one... i have added gear thats it. well now i have added some print lines to try and figure this out (thanks to my friend for telling me about that) however no matter what under max haste in hybrid set, it chokes, everytime. It seems to only want to go to maxhaste. I will probably end up just using my friends generic template lua he made but kinda wanted this at least usable until i make that one. I will link bokura's here since that section really hasnt changed much on mine and ill try to show mine too Code function status_change(new,old)
check_equip_lock()
if Armor == 'PDT' then
equip(sets.PDT)
elseif Armor == 'MDT' then
equip(sets.MDT)
elseif Armor == 'EVA' then
equip(sets.Evasion)
elseif new == 'Engaged' then
local equipSet = sets.TP
if Armor == 'Hybrid' and equipSet["Hybrid"] then
print('Hybrid');
equipSet = equipSet["Hybrid"]
end
if equipSet[AccArray[AccIndex]] then
print('ACCIndex' .. AccArray[AccIndex]);
equipSet = equipSet[AccArray[AccIndex]]
end
if (buffactive.Haste and buffactive.March == 2) or (buffactive.Embrava and (buffactive.March == 2 or (buffactive.March and buffactive.Haste))) or (buffactive[580] and (buffactive.March or buffactive.Haste or buffactive.Embrava)) and equipSet["MaxHaste"] then
print('MaxHaste');
equipSet = equipSet["MaxHaste"]
print(equipSet == nil);
end
if buffactive.Embrava and (buffactive.March or buffactive.Haste) and equipSet["EmbravaHaste"] then
print('EmbravaHaste');
equipSet = equipSet["EmbravaHaste"]
end
if ((buffactive.March == 1 and buffactive.Haste and buffactive["Haste Samba"]) or buffactive.March == 2 or buffactive[580]) and equipSet["MidHaste"] then
print('MidHaste');
equipSet = equipSet["MidHaste"]
end
if Rancor == 'ON' then -- Use Rancor Toggle For Rancor Collar --
equipSet = set_combine(equipSet,sets.TP.Rancor)
end
equip(equipSet)
else
equipSet = sets.Idle
if equipSet[IdleArray[IdleIndex]] then
equipSet = equipSet[IdleArray[IdleIndex]]
end
if world.time <= (7*60) or world.time >= (17*60) then -- Equip Hachi. Kyahan +1 From Dusk To Dawn --
equipSet = set_combine(equipSet,{feet="Hachi. Kyahan +1"})
end
equip(equipSet)
end
if buffactive.Migawari and Migawari == 'ON' then -- Use Migawari Toggle To Lock Hattori Ningi +1 When You Have Migawari On --
equip(sets.TP.Migawari)
end
end
Bokura's: https://pastebin.com/gSMdyv57
As I said ill most likely be switching lua's soon but wanted this one usable until then for like dyna.
Ragnarok.Lowen
サーバ: Ragnarok
Game: FFXI
Posts: 316
By Ragnarok.Lowen 2021-01-13 16:13:19
I haven't looked much at identifying haste levels, but my assumption was that any buffactive.[buffname] varaiable is a boolean. So if you have any kind of march it's always going to return true, because true == 2 is still true.
What you can do to debug it further is break that one huge case into separate cases for each condition and do a print statement in each one to see which one is always evaluating true when it shouldn't be.
By Seun 2021-01-26 19:46:50
I realized I was trying to override an override, my apologies.
Bahamut.Balduran
サーバ: Bahamut
Game: FFXI
Posts: 273
By Bahamut.Balduran 2021-01-30 16:51:17
Trying to figure out an issue with my THF lua. I am using Arislans lua which has a treasure hunter mode toggle. None, Sata, Fulltime, are the available modes. When TH mode is set to full time, I expect the TH set to equip during WS instead of the WS set, however this doesn't happen and I am not sure why.
This is the relevant TH code in the lua. Code -- State buff checks that will equip buff gear and mark the event as handled.
function check_buff(buff_name, eventArgs)
if state.Buff[buff_name] then
equip(sets.buff[buff_name] or {})
if state.TreasureMode.value == 'SATA' or state.TreasureMode.value == 'Fulltime' then
equip(sets.TreasureHunter)
end
eventArgs.handled = true
end
end
Please let me know if you require any further information to help me, and if I should post the entire lua for reference. Many thanks!
Edit: Sorted!
Necro Bump Detected!
[40 days between previous and next post]
By Gyokoro 2021-03-11 12:57:53
Been trying to find if it's possible to send a command to set a specific state.mode. Specifically, I'm trying to put something in a macro that will set CastingMode to 'Burst', but I can't find what the syntax would be. Have been playing with //gs c commands, but nothing recognizes my attempt to change the mode.
EDIT: Never mind, I figured it out. For those who had a similar issue, you need to use the command in this way:
//gs c set [mode] [name]
which I typed as
//gs c set CastingMode Treasure
Bismarck.Xurion
サーバ: Bismarck
Game: FFXI
Posts: 694
By Bismarck.Xurion 2021-03-21 08:37:15
Pretty sure you can't use hand-rolled augments like that Code main={name="Rostam", augments={'Path: A',}}
Equip the Rostam and do a //gs export, then copypasta the rostam with all augments gtom the export file.
サーバ: Leviathan
Game: FFXI
Posts: 3753
By Leviathan.Celebrindal 2021-03-21 12:56:46
had an interest in starting to learn more of the nuances capable with gearswap. I don't really want to rely on something Mote based or Selindrile's styles- I have great respect for what they've built and I dont' expect to be able to re-invent the wheel. I'm just looking for examples I can study to create the functions I'm seeking, and learn something along the way.
Here's a little about the concept in my head I'm hoping to put to paper:
Right now, for my RNG and COR luas, if I change my accuracy level, it changes it uniformly for melee, ranged, and weaponskill sets. With current accuracy levels of almost all the gear used by those jobs, tiers of accuracy in ranged stuff is rarely needed- but with the addition of so much +PDL gear and superbuffing tactics, I plan on re-tooling my sets for ranged attack and ranged WSs with varying levels of PDL to take advantage of various attack buffs....similar concept to how I used to gear for various accuracy buffs, just the needs of the game have changed.
But my melee sets need to be uniquely based on Haste levels for proper amount of Dual Wield, of course. And sometimes I might have capped haste, but not a lot of attack buffs. Ideally, I want to be able to have cycling toggles unique to melee, ranged, and WS sets that better fit my needs vs trying to force the proverbial square peg in a round hole.
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!
Bismarck.Xurion
サーバ: Bismarck
Game: FFXI
Posts: 694
By Bismarck.Xurion 2021-03-21 18:36:04
Gearswap comes with some examples in the addons/Gearswap/beta_examples_and_information folder. These don't use motes etc.
A reference for Gearswap functions can be found at https://docs.windower.net/addons/gearswap/reference
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.
|
|