|
GearSwap for Dummies!
Server: Ramuh
Game: FFXI
Posts: 6
By Ramuh.Alatariel 2015-01-16 19:18:52
Okay! Now it's saying it's loaded properly--super neat!
So from here, I just need to go into the BST-Gear.lua and replace what's in there with the gear that I use, right?
Quetzalcoatl.Falkirk
Server: Quetzalcoatl
Game: FFXI
Posts: 683
By Quetzalcoatl.Falkirk 2015-01-16 19:48:29
For this file just directly edit the gearsets in the BST.lua.
This is the Dancer subforum - so you can probably ask more specific questions here and here if you need more help.
Server: Ramuh
Game: FFXI
Posts: 6
By Ramuh.Alatariel 2015-01-16 20:41:40
Thank you so much, all of you! I got it working, and it looks like I don't have to stop playing all together! Because who uses conventional macros. >.>
[+]
Asura.Gotenn
Server: Asura
Game: FFXI
Posts: 243
By Asura.Gotenn 2015-01-19 14:18:32
Hi,
I've done some research, and I found that it's not possible for gearswap to determine the difference between Haste I and Haste II, however is it possible for a user variable for me to tell gearswap that I'm receiving Haste II?
Such as:
elseif buffactive.march == 2 and (buffactive.haste or buffactive['haste samba']) then
classes.CustomMeleeGroups:append('HighHaste')
elseif buffactive.march == 1 and buffactive.haste and "var1" then
classes.CustomMeleeGroups:append('MaxHaste')
This way I wouldn't be hurting my TP gain with having too much dual wield added when I'm already capped on magic haste?
Necro Bump Detected!
[81 days between previous and next post]
Ragnarok.Zahl
Server: Ragnarok
Game: FFXI
Posts: 1
By Ragnarok.Zahl 2015-04-10 11:30:13
Hello,
I have some issues with Gearswap:
If I select the action manually through the menu, it works correctly (change equipment). Example: " f1>intro>magic>utsusemi:Ichi "
If I try to do it through a classic macro as " /ma "Utsusemi: Ichi"<me> " does not work. I mean, the macro works, it casts the magic, but the equipment doesnt change.
I have the same problem with weaponskills, JA, etc...
What am I doing wrong?
Thank you very much for your time and help.
PD: I'm using Mote's files. I did not change or add any sets, just change the equipment.
Edit: Solved... /ma "Blizzard"<t> doesnt work. /ma "Blizzard" <t> works. ^^;
Necro Bump Detected!
[61 days between previous and next post]
Server: Asura
Game: FFXI
Posts: 415
By Asura.Cambion 2015-06-10 22:24:48
Does anyone have the buff label for Capacity Ring? The EXP bonus, so I can use it to lock my back armor?
I tried including this:
sets.buff['Commitment'] = {back="Aptitude Mantle +1"}
Which usually means that as long as that 'buff' is active, it'll lock you into the stated gear piece. unfortunately I can't find the correct name of the buff. I tried multiple variations of Capacity/Experience/Commitment Bonus/Point/Points etc all to no avail.
I'm curious if either A: I have the buff name wrong, or B: it needs to be in the .lua file before receiving the buff, so that gear swap can pick it up, but I doubt that.
For the time being I created a work around for anyone curious:
Code -- Triggered by F10, used to lock Capacity Point Mantle for Exp Parties.
function job_state_change(stateField, newValue, oldValue)
if stateField == 'Defense Mode' then
if newValue == 'Physical' then
disable('back')
else
enable('back')
end
end
end
And just used the built in 'defense mode' which I never use anyways, to lock the back piece. It works fine, but the OCD in me, wants to find/fix the 'proper' way to code it.
By Armyguy 2015-06-27 05:15:53
I downloaded a GS for sch and made the changes for my gear but. idk how to get the PDT or MDT set to stay on after casting and not go back to idle or how to get the kiting set to come on. I never used Gearswap of SC ever before. Please if anybody can help that be great. :) PS Sorry this is the only way i knew to put this on here. /sigh
-------------------------------------------------------------------------------------------------------------------
-- Setup functions for this job. Generally should not be modified.
-------------------------------------------------------------------------------------------------------------------
--[[
Custom commands:
Shorthand versions for each strategem type that uses the version appropriate for
the current Arts.
Light Arts Dark Arts
gs c scholar light Light Arts/Addendum
gs c scholar dark Dark Arts/Addendum
gs c scholar cost Penury Parsimony
gs c scholar speed Celerity Alacrity
gs c scholar aoe Accession Manifestation
gs c scholar power Rapture Ebullience
gs c scholar duration Perpetuance
gs c scholar accuracy Altruism Focalization
gs c scholar enmity Tranquility Equanimity
gs c scholar skillchain Immanence
gs c scholar addendum Addendum: White Addendum: Black
--]]
-- Initialization function for this job file.
function get_sets()
mote_include_version = 2
-- Load and initialize the include file.
include('Mote-Include.lua')
end
-- Setup vars that are user-independent. state.Buff vars initialized here will automatically be tracked.
function job_setup()
info.addendumNukes = S{"Stone IV", "Water IV", "Aero IV", "Fire IV", "Blizzard IV", "Thunder IV",
"Stone V", "Water V", "Aero V", "Fire V", "Blizzard V", "Thunder V"}
state.Buff['Sublimation: Activated'] = buffactive['Sublimation: Activated'] or false
update_active_strategems()
end
-------------------------------------------------------------------------------------------------------------------
-- User setup functions for this job. Recommend that these be overridden in a sidecar file.
-------------------------------------------------------------------------------------------------------------------
-- Setup vars that are user-dependent. Can override this function in a sidecar file.
function user_setup()
state.OffenseMode:options('None', 'Normal')
state.CastingMode:options('Normal', 'Resistant')
state.IdleMode:options('Normal', 'PDT')
info.low_nukes = S{"Stone", "Water", "Aero", "Fire", "Blizzard", "Thunder"}
info.mid_nukes = S{"Stone II", "Water II", "Aero II", "Fire II", "Blizzard II", "Thunder II",
"Stone III", "Water III", "Aero III", "Fire III", "Blizzard III", "Thunder III",
"Stone IV", "Water IV", "Aero IV", "Fire IV", "Blizzard IV", "Thunder IV",}
info.high_nukes = S{"Stone V", "Water V", "Aero V", "Fire V", "Blizzard V", "Thunder V"}
gear.macc_hagondes = {name="Hagondes Cuffs +1"}
send_command('bind ^` input /ma Stun <t>')
select_default_macro_book()
end
function user_unload()
send_command('unbind ^`')
end
-- Define sets and vars used by this job file.
function init_gear_sets()
--------------------------------------
-- Start defining the sets
--------------------------------------
-- Precast Sets
-- Precast sets to enhance JAs
sets.precast.JA['Tabula Rasa'] = {legs="Pedagogy Pants"}
-- Fast cast sets for spells
sets.precast.FC = { ammo="Impatiens",head="Nahtirah Hat",ear1="Loquacious Earring",
ear1="Enchanter earring +1",body="Anhur robe",hands="Gendewitha Gages +1",ring1="Prolix Ring",
back="Swith Cape +1",waist="Witful Belt",legs="Orvail Pants +1",feet="Pedagogy Loafers" }
sets.precast.FC['Enhancing Magic'] = set_combine(sets.precast.FC, {body="Anhur robe",waist="Siegel Sash"})
sets.precast.FC['Elemental Magic'] = set_combine(sets.precast.FC, {body="Anhur robe",neck="Eddy necklace"})
sets.precast.FC.Cure = set_combine(sets.precast.FC, {body="Heka's Kalasiris",back="Pahtli Cape"})
sets.precast.FC.Curaga = sets.precast.FC.Cure
sets.precast.FC.Impact = set_combine(sets.precast.FC['Elemental Magic'], {head=empty,body="Twilight Cloak"})
-- Midcast Sets
sets.midcast.FastRecast = {ammo="Incantor Stone",
head="Nahtirah Hat",ear2="Loquacious Earring",ear1="Enchanter earring +1",ear2="Loquacious Earring",
body="Vanir Cotehardie",hands="Gendewitha Gages +1",ring1="Prolix Ring",
back="Swith Cape +1",waist="Witful Belt",legs="Orvail Pants +1",feet="Pedagogy Loafers"}
sets.midcast.Cure = {main="Tamaxchi",sub="Genbu's Shield",ammo="Incantor Stone",
head="Nahtirah Hat",neck="Colossus's Torque",ear1="Mendicant's earring",ear2="Loquacious Earring",
body="Heka's Kalasiris",hands="Telchine gloves",ring1="Prolix Ring",ring2="Sirona's Ring",
back="Tempered cape +1",waist="Witful Belt",legs="Orvail Pants +1",feet="Pedagogy Loafers"}
sets.midcast.CureWithLightWeather = {main="Chatoyant Staff",sub="Achaq Grip",ammo="Incantor Stone",
head="Gendewitha Caubeen",neck="Colossus's Torque",ear1="Lifestorm Earring",ear2="Loquacious Earring",
body="Heka's Kalasiris",hands="Telchine gloves",ring1="Prolix Ring",ring2="Sirona's Ring",
back="Twilight Cape",waist="Hachirin-no-obi",legs="Nares Trews",feet="Pedagogy Loafers"}
sets.midcast.Curaga = sets.midcast.Cure
sets.midcast.Regen = {main="Bolelabunga",head="Savant's Bonnet +2",body="Telchine chasuble",}
sets.midcast.Cursna = {
neck="Malison Medallion",
hands="Hieros Mittens",ring1="Haoma's Ring",
feet="Gendewitha Galoshes +1",back="Oretania's cape +1"}
sets.midcast['Enhancing Magic'] = {ammo="Savant's Treatise",
head="Befouled crown",neck="Colossus's Torque",
body="Telchine chasuble",hands="Ayao's Gages",
waist="Olympus Sash",legs="Portent Pants",feet="Telchine pigaches"}
sets.midcast.Stoneskin = set_combine(sets.midcast['Enhancing Magic'], {head="Umuthi hat",waist="Siegel Sash"})
sets.midcast.Storm = set_combine(sets.midcast['Enhancing Magic'], {feet="Pedagogy Loafers"})
sets.midcast.Protect = {ring1="Sheltered Ring"}
sets.midcast.Protectra = sets.midcast.Protect
sets.midcast.Shell = {ring1="Sheltered Ring"}
sets.midcast.Shellra = sets.midcast.Shell
-- Custom spell classes
sets.midcast.MndEnfeebles = {main="Lehbrailg +2",sub="Mephitis Grip",ammo="Sturm's Report",
head="Nahtirah Hat",neck="Weike Torque",ear1="Enchanter earring +1",ear2="Gwati earring",
body="Ischemia chasuble",hands="Lurid mitts",ring1="Aquasoul Ring",ring2="Sangoma Ring",
back="Altruistic cape",waist="Rumination sash",legs="Hidalgo slop +1",feet="Telchine pigaches"}
sets.midcast.IntEnfeebles = {main="Lehbrailg +2",sub="Mephitis Grip",ammo="Sturm's Report",
head="Nahtirah Hat",neck="Imbodla necklace",ear1="Enchanter earring +1",ear2="Gwati earring",
body="Ischemia chasuble",hands="Lurid mitts",ring1="Icesoul Ring",ring2="Sangoma Ring",
back="Altruistic cape",waist="Rumination sash",legs="Hidalgo slop +1",feet="Telchine pigaches"}
sets.midcast.ElementalEnfeeble = sets.midcast.IntEnfeebles
sets.midcast['Dark Magic'] = {main="Lehbrailg +2",sub="Mephitis Grip",ammo="Incantor Stone",
head="Nahtirah Hat",neck="Aesir Torque",ear1="Enchanter earring +1",ear2="Gwati earring",
body="Vanir Cotehardie",hands="Yaoyotl Gloves",ring1="Strendu Ring",ring2="Sangoma Ring",
back="Altruistic cape",waist="Goading Belt",legs="Artsieq hose",feet="Telchine pigaches"}
sets.midcast.Kaustra = {main="Lehbrailg +2",sub="Wizzan Grip",ammo="Witchstone",
head="Hagondes Hat",neck="Eddy Necklace",ear1="Hecate's Earring",ear2="Crematio earring",
body="Hagondes Coat",hands="Helios gloves",ring1="Icesoul Ring",ring2="Strendu Ring",
back="Toro Cape",waist="Aswang sash",legs="Hagondes Pants",feet="Helios boots"}
sets.midcast.Drain = {main="Lehbrailg +2",sub="Mephitis Grip",ammo="Incantor Stone",
head="Nahtirah Hat",neck="Aesir Torque",ear1="Enchanter earring +1",ear2="Gwati earring",
body="Vanir Cotehardie",hands="Gendewitha Gages +1",ring1="Excelsis Ring",ring2="Sangoma Ring",
back="Refraction Cape",waist="Ovate rope",legs="Artsieq hose",feet="Pedagogy Loafers"}
sets.midcast.Aspir = sets.midcast.Drain
sets.midcast.Stun = {main="Lehbrailg +2",sub="Mephitis Grip",ammo="Incantor Stone",
head="Nahtirah Hat",neck="Aesir Torque",ear1="Psystorm Earring",ear2="Lifestorm Earring",
body="Vanir Cotehardie",hands="Gendewitha Gages +1",ring1="Prolix Ring",ring2="Sangoma Ring",
back="Refraction Cape",waist="Witful Belt",legs="Orvail Pants +1",feet="Academic's Loafers"}
sets.midcast.Stun.Resistant = set_combine(sets.midcast.Stun, {main="Lehbrailg +2"})
-- Elemental Magic sets are default for handling low-tier nukes.
sets.midcast['Elemental Magic'] = {main="Keraunos",sub="Zuuxowu Grip",ammo="Dosis Tathlum",
head="Hagondes Hat +1",neck="Eddy Necklace",ear1="Hecate's Earring",ear2="Crematio earring",
body="Helios jacket",hands="Helios gloves",ring1="Icesoul Ring",ring2="Acumen Ring",
back="Toro Cape",waist="Hachirin-no-obi",legs="Hagondes Pants +1",feet="Helios boots"}
sets.midcast['Elemental Magic'].Resistant = {main="Keraunos",sub="Zuuxowu Grip",ammo="Dosis Tathlum",
head="Hagondes Hat +1",neck="Eddy Necklace",ear1="Hecate's Earring",ear2="Crematio earring",
body="Helios jacket",hands="Helios gloves",ring1="Icesoul Ring",ring2="Acumen Ring",
back="Toro Cape",waist="Hachirin-no-obi",legs="Hagondes Pants +1",feet="Helios boots"}
-- Custom refinements for certain nuke tiers
sets.midcast['Elemental Magic'].HighTierNuke = set_combine(sets.midcast['Elemental Magic'], {sub="Wizzan Grip"})
sets.midcast['Elemental Magic'].HighTierNuke.Resistant = set_combine(sets.midcast['Elemental Magic'].Resistant, {sub="Wizzan Grip"})
sets.midcast.Impact = {main="Keraunos",sub="Zuuxowu Grip",ammo="Dosis Tathlum",
head= none,neck="Eddy Necklace",ear1="Hecate's Earring",ear2="Crematio earring",
body="Twilight cloak",hands="Helios gloves",ring1="Icesoul Ring",ring2="Acumen Ring",
back="Toro Cape",waist="Hachirin-no-obi",legs="Hagondes Pants +1",feet="Helios boots"}
-- Sets to return to when not performing an action.
-- Resting sets
sets.resting = {main="Chatoyant Staff",sub="Mephitis Grip",
head="Befouled crown",neck="Wiglen Gorget",
body="Ischemia chasuble",hands="Serpentes Cuffs",ring1="Sheltered Ring",ring2="Paguroidea Ring",
waist="Austerity Belt",legs="Nares Trews",feet="Serpentes Sabots"}
-- Idle sets (default idle set not needed since the other three are defined, but leaving for testing purposes)
sets.idle.Town = {main="Bolelabunga",sub="Genbu's Shield",ammo="Incantor Stone",
head="Befouled crown",neck="Wiglen Gorget",ear1="Hecate's Earring",ear2="Crematio earring",
body="Telchine chasuble",hands="Telchine gloves",ring1="Shneddick ring",ring2="Defending ring",
back="Bookworm's cape",waist="Hachirin-no-obi",legs="Hagondes pants +1",feet="Telchine pigaches"}
sets.idle.Field = {main="Bolelabunga",sub="Genbu's Shield",ammo="Incantor Stone",
head="Befouled crown",neck="Wiglen Gorget",ear1="Enchanter earring +1",ear2="Loquacious Earring",
body="Telchine chasuble",hands="Telchine gloves",ring1="Sheltered Ring",ring2="Paguroidea Ring",
back="Bookworm's cape",waist="Hachirin-no-obi",legs="Hagondes pants +1",feet="Telchine pigaches"}
sets.idle.Field.PDT = {main="Terra's staff",sub="Achaq Grip",ammo="Incantor Stone",
head="Nahtirah Hat",neck="Wiglen Gorget",ear1="Bloodgem Earring",ear2="Loquacious Earring",
body="Gendewitha bliaut +1",hands="Gendewitha gages +1",ring1="Shneddick ring",ring2="Defending ring",
back="Umbra Cape",waist="Hierarch Belt",legs="Hagondes pants +1",feet="Telchine pigaches"}
sets.idle.Field.Stun = {main="Lehbrailg +2",sub="Mephitis Grip",ammo="Incantor Stone",
head="Nahtirah Hat",neck="Aesir Torque",ear1="Psystorm Earring",ear2="Lifestorm Earring",
body="Vanir Cotehardie",hands="Gendewitha Gages +1",ring1="Prolix Ring",ring2="Sangoma Ring",
back="Refraction Cape",waist="Witful Belt",legs="Orvail Pants +1",feet="Academic's Loafers"}
sets.idle.Weak = {main="Bolelabunga",sub="Genbu's Shield",ammo="Incantor Stone",
head="Befouled crown",neck="Wiglen Gorget",ear1="Bloodgem Earring",ear2="Loquacious Earring",
body="Gendewitha bliaut +1",hands="Gendewitha gages +1",ring1="Shneddick ring",ring2="Defending ring",
back="Umbra Cape",waist="Hierarch Belt",legs="Hagondes pants +1",feet="Telchine pigaches"}
-- Defense sets
sets.defense.PDT = {main="Terra's staff",sub="Achaq Grip",ammo="Incantor Stone",
head="Befouled crown",neck="Twilight Torque",ear1="Enchanter earring +1",ear2="Loquacious Earring",
body="Gendewitha bliaut +1",hands="Gendewitha gages +1",ring1="Shneddick ring",ring2="Defending ring",
back="Umbra Cape",waist="Hierarch Belt",legs="Hagondes pants +1",feet="Telchine pigaches"}
sets.defense.MDT = {main=gear.Staff.PDT,sub="Achaq Grip",ammo="Incantor Stone",
head="Befouled crown",neck="Twilight Torque",ear1="Enchanter earring +1",ear2="Loquacious Earring",
body="Vanir Cotehardie",hands="Helios gloves ",ring1="Shneddick ring",ring2="Defending ring",
back="Tuilha Cape",waist="Hierarch Belt",legs="Hagondes pants +1",feet="Helios boots"}
sets.Kiting = {ring1="Shneddick ring"}
sets.latent_refresh = {waist="Fucho-no-obi"}
-- 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 group
sets.engaged = {
main="Bolelabunga",sub="Sors shield",ammo="Incantor Stone",
head="Nahtirah Hat",neck="Wiglen Gorget",ear1="Bloodgem Earring",ear2="Loquacious Earring",
body="Gendewitha bliaut +1",hands="Gendewitha gages +1",ring1="Shneddick ring",ring2="Defending ring",
back="Umbra Cape",waist="Hierarch Belt",legs="Hagondes pants +1",feet="Telchine pigaches"}
-- Buff sets: Gear that needs to be worn to actively enhance a current player buff.
sets.buff['Ebullience'] = {head="Savant's Bonnet +2"}
sets.buff['Rapture'] = {head="Savant's Bonnet +2"}
sets.buff['Perpetuance'] = {hands="Savant's Bracers +2"}
sets.buff['Immanence'] = {hands="Savant's Bracers +2"}
sets.buff['Penury'] = {legs="Savant's Pants +2"}
sets.buff['Parsimony'] = {legs="Savant's Pants +2"}
sets.buff['Celerity'] = {feet="Pedagogy Loafers"}
sets.buff['Alacrity'] = {feet="Pedagogy Loafers"}
sets.buff['Klimaform'] = {feet="Savant's Loafers +2"}
sets.buff.FullSublimation = {head="Academic's Mortarboard",ear1="Savant's Earring",body="Pedagogy Gown"}
sets.buff.PDTSublimation = {head="Academic's Mortarboard",ear1="Savant's Earring"}
--sets.buff['Sandstorm'] = {feet="Desert Boots"}
end
-------------------------------------------------------------------------------------------------------------------
-- Job-specific hooks for standard casting events.
-------------------------------------------------------------------------------------------------------------------
-- Run after the general midcast() is done.
function job_post_midcast(spell, action, spellMap, eventArgs)
if spell.action_type == 'Magic' then
apply_grimoire_bonuses(spell, action, spellMap, eventArgs)
end
end
-------------------------------------------------------------------------------------------------------------------
-- Job-specific hooks for non-casting events.
-------------------------------------------------------------------------------------------------------------------
-- Called when a player gains or loses a buff.
-- buff == buff gained or lost
-- gain == true if the buff was gained, false if it was lost.
function job_buff_change(buff, gain)
if buff == "Sublimation: Activated" then
handle_equipping_gear(player.status)
end
end
-- Handle notifications of general user state change.
function job_state_change(stateField, newValue, oldValue)
if stateField == 'Offense Mode' then
if newValue == 'Normal' then
disable('main','sub','range')
else
enable('main','sub','range')
end
end
end
-------------------------------------------------------------------------------------------------------------------
-- User code that supplements standard library decisions.
-------------------------------------------------------------------------------------------------------------------
-- Custom spell mapping.
function job_get_spell_map(spell, default_spell_map)
if spell.action_type == 'Magic' then
if default_spell_map == 'Cure' or default_spell_map == 'Curaga' then
if world.weather_element == 'Light' then
return 'CureWithLightWeather'
end
elseif spell.skill == 'Enfeebling Magic' then
if spell.type == 'WhiteMagic' then
return 'MndEnfeebles'
else
return 'IntEnfeebles'
end
elseif spell.skill == 'Elemental Magic' then
if info.low_nukes:contains(spell.english) then
return 'LowTierNuke'
elseif info.mid_nukes:contains(spell.english) then
return 'MidTierNuke'
elseif info.high_nukes:contains(spell.english) then
return 'HighTierNuke'
end
end
end
end
function customize_idle_set(idleSet)
if state.Buff['Sublimation: Activated'] then
if state.IdleMode.value == 'Normal' then
idleSet = set_combine(idleSet, sets.buff.FullSublimation)
elseif state.IdleMode.value == 'PDT' then
idleSet = set_combine(idleSet, sets.buff.PDTSublimation)
end
end
if player.mpp < 51 then
idleSet = set_combine(idleSet, sets.latent_refresh)
end
return idleSet
end
-- Called by the 'update' self-command.
function job_update(cmdParams, eventArgs)
if cmdParams[1] == 'user' and not (buffactive['light arts'] or buffactive['dark arts'] or
buffactive['addendum: white'] or buffactive['addendum: black']) then
if state.IdleMode.value == 'Stun' then
send_command('@input /ja "Dark Arts" <me>')
else
send_command('@input /ja "Light Arts" <me>')
end
end
update_active_strategems()
update_sublimation()
end
-- Function to display the current relevant user state when doing an update.
-- Return true if display was handled, and you don't want the default info shown.
function display_current_job_state(eventArgs)
display_current_caster_state()
eventArgs.handled = true
end
-------------------------------------------------------------------------------------------------------------------
-- User code that supplements self-commands.
-------------------------------------------------------------------------------------------------------------------
-- Called for direct player commands.
function job_self_command(cmdParams, eventArgs)
if cmdParams[1]:lower() == 'scholar' then
handle_strategems(cmdParams)
eventArgs.handled = true
end
end
-------------------------------------------------------------------------------------------------------------------
-- Utility functions specific to this job.
-------------------------------------------------------------------------------------------------------------------
-- Reset the state vars tracking strategems.
function update_active_strategems()
state.Buff['Ebullience'] = buffactive['Ebullience'] or false
state.Buff['Rapture'] = buffactive['Rapture'] or false
state.Buff['Perpetuance'] = buffactive['Perpetuance'] or false
state.Buff['Immanence'] = buffactive['Immanence'] or false
state.Buff['Penury'] = buffactive['Penury'] or false
state.Buff['Parsimony'] = buffactive['Parsimony'] or false
state.Buff['Celerity'] = buffactive['Celerity'] or false
state.Buff['Alacrity'] = buffactive['Alacrity'] or false
state.Buff['Klimaform'] = buffactive['Klimaform'] or false
end
function update_sublimation()
state.Buff['Sublimation: Activated'] = buffactive['Sublimation: Activated'] or false
end
-- Equip sets appropriate to the active buffs, relative to the spell being cast.
function apply_grimoire_bonuses(spell, action, spellMap)
if state.Buff.Perpetuance and spell.type =='WhiteMagic' and spell.skill == 'Enhancing Magic' then
equip(sets.buff['Perpetuance'])
end
if state.Buff.Rapture and (spellMap == 'Cure' or spellMap == 'Curaga') then
equip(sets.buff['Rapture'])
end
if spell.skill == 'Elemental Magic' and spellMap ~= 'ElementalEnfeeble' then
if state.Buff.Ebullience and spell.english ~= 'Impact' then
equip(sets.buff['Ebullience'])
end
if state.Buff.Immanence then
equip(sets.buff['Immanence'])
end
if state.Buff.Klimaform and spell.element == world.weather_element then
equip(sets.buff['Klimaform'])
end
end
if state.Buff.Penury then equip(sets.buff['Penury']) end
if state.Buff.Parsimony then equip(sets.buff['Parsimony']) end
if state.Buff.Celerity then equip(sets.buff['Celerity']) end
if state.Buff.Alacrity then equip(sets.buff['Alacrity']) end
end
-- General handling of strategems in an Arts-agnostic way.
-- Format: gs c scholar <strategem>
function handle_strategems(cmdParams)
-- cmdParams[1] == 'scholar'
-- cmdParams[2] == strategem to use
if not cmdParams[2] then
add_to_chat(123,'Error: No strategem command given.')
return
end
local strategem = cmdParams[2]:lower()
if strategem == 'light' then
if buffactive['light arts'] then
send_command('input /ja "Addendum: White" <me>')
elseif buffactive['addendum: white'] then
add_to_chat(122,'Error: Addendum: White is already active.')
else
send_command('input /ja "Light Arts" <me>')
end
elseif strategem == 'dark' then
if buffactive['dark arts'] then
send_command('input /ja "Addendum: Black" <me>')
elseif buffactive['addendum: black'] then
add_to_chat(122,'Error: Addendum: Black is already active.')
else
send_command('input /ja "Dark Arts" <me>')
end
elseif buffactive['light arts'] or buffactive['addendum: white'] then
if strategem == 'cost' then
send_command('input /ja Penury <me>')
elseif strategem == 'speed' then
send_command('input /ja Celerity <me>')
elseif strategem == 'aoe' then
send_command('input /ja Accession <me>')
elseif strategem == 'power' then
send_command('input /ja Rapture <me>')
elseif strategem == 'duration' then
send_command('input /ja Perpetuance <me>')
elseif strategem == 'accuracy' then
send_command('input /ja Altruism <me>')
elseif strategem == 'enmity' then
send_command('input /ja Tranquility <me>')
elseif strategem == 'skillchain' then
add_to_chat(122,'Error: Light Arts does not have a skillchain strategem.')
elseif strategem == 'addendum' then
send_command('input /ja "Addendum: White" <me>')
else
add_to_chat(123,'Error: Unknown strategem ['..strategem..']')
end
elseif buffactive['dark arts'] or buffactive['addendum: black'] then
if strategem == 'cost' then
send_command('input /ja Parsimony <me>')
elseif strategem == 'speed' then
send_command('input /ja Alacrity <me>')
elseif strategem == 'aoe' then
send_command('input /ja Manifestation <me>')
elseif strategem == 'power' then
send_command('input /ja Ebullience <me>')
elseif strategem == 'duration' then
add_to_chat(122,'Error: Dark Arts does not have a duration strategem.')
elseif strategem == 'accuracy' then
send_command('input /ja Focalization <me>')
elseif strategem == 'enmity' then
send_command('input /ja Equanimity <me>')
elseif strategem == 'skillchain' then
send_command('input /ja Immanence <me>')
elseif strategem == 'addendum' then
send_command('input /ja "Addendum: Black" <me>')
else
add_to_chat(123,'Error: Unknown strategem ['..strategem..']')
end
else
add_to_chat(123,'No arts has been activated yet.')
end
end
-- Gets the current number of available strategems based on the recast remaining
-- and the level of the sch.
function get_current_strategem_count()
-- returns recast in seconds.
local allRecasts = windower.ffxi.get_ability_recasts()
local stratsRecast = allRecasts[231]
local maxStrategems = (player.main_job_level + 10) / 20
local fullRechargeTime = 4*60
local currentCharges = math.floor(maxStrategems - maxStrategems * stratsRecast / fullRechargeTime)
return currentCharges
end
-- Select default macro book on initial load or subjob change.
function select_default_macro_book()
set_macro_page(1, 15)
end
Server: Asura
Game: FFXI
Posts: 415
By Asura.Cambion 2015-06-27 05:36:00
I downloaded a GS for sch and made the changes for my gear but. idk how to get the PDT or MDT set to stay on after casting and not go back to idle or how to get the kiting set to come on. I never used Gearswap of SC ever before. Please if anybody can help that be great. :) PS Sorry this is the only way i knew to put this on here. /sigh
Those triggers are defined (and can be edited) in the Globals folder.
Addons > Gearswap > Libs > Mote-Globals
In there, beginning on line 47 you'll find:
Code function global_on_load()
send_command('bind f9 gs c cycle OffenseMode')
send_command('bind ^f9 gs c cycle HybridMode')
send_command('bind !f9 gs c cycle RangedMode')
send_command('bind @f9 gs c cycle WeaponskillMode')
send_command('bind f10 gs c set DefenseMode Physical')
send_command('bind ^f10 gs c cycle PhysicalDefenseMode')
send_command('bind numlock gs c toggle Kiting')
send_command('bind f11 gs c set DefenseMode Magical')
send_command('bind ^f11 gs c cycle CastingMode')
send_command('bind f12 gs c update user')
send_command('bind ^f12 gs c cycle IdleMode')
send_command('bind !f12 gs c reset DefenseMode')
send_command('bind ^- gs c toggle selectnpctargets')
send_command('bind ^= gs c cycle pctargetmode')
end
These are all the triggers. (I edited Kiting, I can't remember what the default is, but you'll see it in the file, I use Num Lock from the key pad, as it's easily accessible where my hand rests on the keyboard.
The ^ represents the Ctrl Key.
The ! represents the Alt Key.
So to rotate idle modes the default function would be Ctrl+f12
But as I mentioned, you can customize all of your commands as you see fit.
So for what you're trying to do, I assume you need to create however many idle mode sets you need, and then cycle through them based on your need, but I don't play any DD mage jobs, so maybe someone else can be of more help on that, but that's my initial assumption.
By Armyguy 2015-06-27 13:23:56
I downloaded a GS for sch and made the changes for my gear but. idk how to get the PDT or MDT set to stay on after casting and not go back to idle or how to get the kiting set to come on. I never used Gearswap of SC ever before. Please if anybody can help that be great. :) PS Sorry this is the only way i knew to put this on here. /sigh
Those triggers are defined (and can be edited) in the Globals folder.
Addons > Gearswap > Libs > Mote-Globals
In there, beginning on line 47 you'll find:
Code function global_on_load()
send_command('bind f9 gs c cycle OffenseMode')
send_command('bind ^f9 gs c cycle HybridMode')
send_command('bind !f9 gs c cycle RangedMode')
send_command('bind @f9 gs c cycle WeaponskillMode')
send_command('bind f10 gs c set DefenseMode Physical')
send_command('bind ^f10 gs c cycle PhysicalDefenseMode')
send_command('bind numlock gs c toggle Kiting')
send_command('bind f11 gs c set DefenseMode Magical')
send_command('bind ^f11 gs c cycle CastingMode')
send_command('bind f12 gs c update user')
send_command('bind ^f12 gs c cycle IdleMode')
send_command('bind !f12 gs c reset DefenseMode')
send_command('bind ^- gs c toggle selectnpctargets')
send_command('bind ^= gs c cycle pctargetmode')
end
These are all the triggers. (I edited Kiting, I can't remember what the default is, but you'll see it in the file, I use Num Lock from the key pad, as it's easily accessible where my hand rests on the keyboard.
The ^ represents the Ctrl Key.
The ! represents the Alt Key.
So to rotate idle modes the default function would be Ctrl+f12
But as I mentioned, you can customize all of your commands as you see fit.
So for what you're trying to do, I assume you need to create however many idle mode sets you need, and then cycle through them based on your need, but I don't play any DD mage jobs, so maybe someone else can be of more help on that, but that's my initial assumption.
Thanks alot i see what your talking about. I got it to say that PDT and Kiting is loaded but the gear doesnt change, Does a mob have to be attacking me?
By Armyguy 2015-07-26 19:55:50
Thankyou.
For BRD with a Daurdabla. how do i set the Dummy songs.
-- User setup functions for this job. Recommend that these be overridden in a sidecar file.
-------------------------------------------------------------------------------------------------------------------
-- Setup vars that are user-dependent. Can override this function in a sidecar file.
function user_setup()
state.OffenseMode:options('None', 'Normal')
state.CastingMode:options('Normal', 'Resistant')
state.IdleMode:options('Normal', 'PDT')
brd_daggers = S{'Izhiikoh', 'Vanir Knife', 'Atoyac', 'Aphotic Kukri', 'Sabebus'}
pick_tp_weapon()
-- Adjust this if using the Terpander (new +song instrument)
info.ExtraSongInstrument = 'Daurdabla'
-- How many extra songs we can keep from Daurdabla/Terpander
info.ExtraSongs = 2
-- Set this to false if you don't want to use custom timers.
state.UseCustomTimers = M(true, 'Use Custom Timers')
-- Additional local binds
send_command('bind ^` gs c cycle ExtraSongsMode')
send_command('bind !` input /ma "Chocobo Mazurka" <me>')
select_default_macro_book()
end
-- Called when this job file is unloaded (eg: job change)
function user_unload()
send_command('unbind ^`')
send_command('unbind !`')
end
In additional Local binds do i add another Song and change Chocobo Mazurka to the song i want.
By zaxtiss 2015-08-03 12:12:43
hey im trying to findout how to add my own self commands to my dnc GS its motes stuff so i know its something different
Necro Bump Detected!
[39 days between previous and next post]
By geigei 2015-09-11 14:38:50
Which parts from dnc.lua i need to import to thf for haste groups?
Bismarck.Joli
Server: Bismarck
Game: FFXI
Posts: 15
By Bismarck.Joli 2015-09-28 14:52:20
I followed the gearswap for Dummies then
copy n pasted the MNK.lua from
https://github.com/Kinematics/GearSwap-Jobs
to notebook++ and saved it in
-Addons-GearSwap-data file as MNK.lua
then I go into game and get
user file problem: Program Files (x86)Windower/addons/GearSwap/data/MNK.lua:2: syntax error near '2'
not sure how that can happen if I just copy/paste it
any help would be appreciated
Bismarck.Marmite
Server: Bismarck
Game: FFXI
Posts: 176
By Bismarck.Marmite 2015-09-28 15:05:12
It maybe the same problem I have with mote includes. Wait for the zoning load icon to disappear, then type //gs reload into the chat log, I have to do this every time I log in. You also may want to rename your file to Joli_MNK.lua to stop your mules loading gs files etc.
Server: Odin
Game: FFXI
Posts: 13
By Odin.Maverickdfz 2015-09-28 15:26:09
When you copied the MNK.lua did you copy all of the line numbers as well or just the lua code?
On the top bar there is a button to view it "Raw" which will help you avoid this being the issue if you copy and paste it from the raw view as that is just the code with no line numbers
Bismarck.Joli
Server: Bismarck
Game: FFXI
Posts: 15
By Bismarck.Joli 2015-09-28 15:30:03
copied from top to bottom including the line numbers on left side
and Thank you no error loading
Ragnarok.Beef
Server: Ragnarok
Game: FFXI
Posts: 342
By Ragnarok.Beef 2015-10-13 03:19:13
i logged off on my blu and logged back on and now i'm getting this message.
User file problem: D:Program files (x86)Windower4/addons/GearSwap/data/BLU.lua:199: '=' expected near 'user_unload'
and gearswap doesn't work on blu, it does however work on PLD. how do i fix this?
Leviathan.Vow
Server: Leviathan
Game: FFXI
Posts: 125
By Leviathan.Vow 2015-10-13 16:40:18
The message indicates that there's a syntax error on line 199 of your blue mage gearswap file. Fix that!
Ragnarok.Beef
Server: Ragnarok
Game: FFXI
Posts: 342
By Ragnarok.Beef 2015-10-13 18:51:42
The message indicates that there's a syntax error on line 199 of your blue mage gearswap file. Fix that!
thanks a lot! it works again haha
Necro Bump Detected!
[47 days between previous and next post]
By Ragnark 2015-11-29 15:30:52
i'm getting the following error ...
Gearswap: Lua runtime error: GearSwap/refresh.lua:234: attempt to index field '?' (a nil value)
Server: Asura
Game: FFXI
Posts: 48
By Asura.Mcdonalds 2015-12-05 06:50:26
Would anyone know why gearswap loads successfully, but when I change to the job the red words don't appear and no macro changes gear? There's no errors in the script. I was using it last week and now suddenly when I go to the job it's not recognizing I'm on the job?
Necro Bump Detected!
[44 days between previous and next post]
Leviathan.Frotaut
Server: Leviathan
Game: FFXI
Posts: 281
By Leviathan.Frotaut 2016-01-18 17:43:27
how do i fit Norifusa +1 into gearswap sets?
When i Write it like:
sets.TP.Norifusa +1 = {whatever gear }
i get in game error of:
'=' expected near '+'
what am i doing wrong?
Server: Asura
Game: FFXI
Posts: 415
By Asura.Cambion 2016-01-23 12:58:33
Leviathan.Frotaut said: »how do i fit Norifusa +1 into gearswap sets?
When i Write it like:
sets.TP.Norifusa +1 = {whatever gear }
i get in game error of:
'=' expected near '+'
what am i doing wrong?
It's expecting the = sign, where you have the + sign.
Meaning, after a weapon name and a space, it's expecting = {whatever gear}
Basically, it's an issue with the space+1 of the weapon.
I'd have to go find a Lua that handles weapon specific gear to know the correct fix. My first guess would be an underscore, or perhaps '' or "" like Dnc do with Rudra's, but I'm not positive, I'll see what I can find.
Ragnarok.Flippant
Server: Ragnarok
Game: FFXI
Posts: 660
By Ragnarok.Flippant 2016-01-23 13:06:01
The proper method to refer to the child of a table is brackets.
sets.TP["Norifusa +1"]
The period is a shortcut that can only be used instead when: 1) the child's name is a string, not a variable or a number, and 2) the string begins with an alphabetical character, and contains no non-alphanumeric characters, including spaces.
Necro Bump Detected!
[72 days between previous and next post]
Server: Asura
Game: FFXI
Posts: 1326
By Asura.Azagarth 2016-04-05 00:01:40
Hey just wanted to say thanks for this guide, I am trying to learn and while I still dont get how me using my controller for macros will work, its fun to have things up and running kinda.
Did we ever figure out a way to let the CP bonus mantle be locked when xping? I really hate the idea of losing out on 30% cp lol.....
Necro Bump Detected!
[40 days between previous and next post]
Sylph.Infamy
Server: Sylph
Game: FFXI
Posts: 28
By Sylph.Infamy 2016-05-14 16:56:02
Hi Azagarth,
I know this is a very late reply, but the command //GS disable back will lock your current cape in place. Hit that before your CP session starts and equip your mantle and it will stay on. When you are done CPing, //GS enable back reverses the command.
Probably obvious, but this command works for all slots. Using Ring1 is a good way to change to CP rings on the fly. //GS disable all can also be helpful, as it completely blocks GS from changing gear.
Played with GS for years before I learned these. Hope they help you as much as they helped me.
[+]
Server: Asura
Game: FFXI
Posts: 1326
By Asura.Azagarth 2016-05-19 23:46:51
ty it does help a lot hehe
By Bsouthland 2016-05-24 03:08:46
When i try too use this it will equip the herculean boots but not the hands or the back piece any ideas why?
sets.TP.Standard = {ammo="Ginsen",
head="Adhemar Bonnet",
body="Adhemar Jacket",
hands={ name="Herculean gloves", augments={'Accuracy+19','"Triple Atk."+3','Attack+19','DEX+10',}},
legs="Samnuha Tights",
feet={ name="Herculean Boots", augments={'Accuracy+28','"Triple Atk."+3','DEX+1',}},
neck="Asperity Necklace",
waist="Windbuffet Belt +1",
left_ear="Brutal Earring",
right_ear="Suppanomimi",
left_ring="Epona's Ring",
right_ring="Petrov Ring",
back={ name="Rosmerta's Cape", augments={'DEX+20','"Dbl.Atk."+10','Accuracy+20','Attack+20',}},
}
Asura.Chiaia
VIP
Server: Asura
Game: FFXI
Posts: 1656
By Asura.Chiaia 2016-05-24 03:48:49
More then likely your acc or att augs on herc are not one single aug and are really two making it 28 for expample. Best way to gte reall stats are to use //gs export and copy the lines given.
Example:
body={ name="Merlinic Jubbah", augments={'Mag. Acc.+20 "Mag.Atk.Bns."+20','Magic burst mdg.+6%','INT+8','Mag. Acc.+6','"Mag.Atk.Bns."+10',}},
But in game it just shows MACC 26 AND MAB 30
Edit: Also the the back its wierd:
back={ name="Taranus's Cape", augments={'INT+20','System: 1 ID: 80 Val: 19','"Mag.Atk.Bns."+10',}}
That system 1 is a MACC/MDMG aug @20
[+]
Work in Progress...
Alright... as a follow up to my Spellcast for Dummies, here is the next stage in Dancer Technology Evolution Stuff...
I don't know much at all about GearSwap, but I've figured out how to get it to do what my old Spellcast use to do, as well as surpass it's usefulness in many other areas. It's also quicker, but probably the most impressive thing, to me at least, is that because Dancer can so easily hit the delay cap, Gearswap can and does, automatically change your gear each time a specified buff is active or wears off.
So, for example, A Victory March + Haste Samba is already enough for a Dancer to hit the cap. Because of this, you'll gain more Damage, by removing Dual Wield gear, and a more beneficial stat, since Dual Wield is no longer making you attack faster, because you've reached the cap.
Anywho, long story short, when it recognizes that Victory March has been cast on you, it will trigger your 'High Haste' gear set, without any input or command from you.
So, I'm going to start with the basics, which means I'll talk to you as if you were a child, because when it comes to all of this coding, that's how I wish people would explain it to me!
Step 0: Stuff I assume everyone has, but just in case...
A: Windower 4
Download Here: http://www.windower.net/
This is the program that makes all of the fancy applications work.
B: Notepad ++
Download Here: http://notepad-plus-plus.org/
This is the program that you use to actually create and edit the 'code' that spellcast uses and runs off of. For all intents and purposes, it's no more than a word document really.
Step 1: Obtaining Gearswap
Open Windower as usual. Before selecting a Profile, click “Addons”, scroll down until you see “GearSwap” and click the Download Button. Afterwards, ensure the Toggle Switch in in the “On” position, and then start FFXI as you always do.
Step 2: File Management
I use Windows 7, other Operating Systems may be slightly different, but should be close.
Right Click ‘Start’
Select “Windows Explorer”
Local Disk C:
Program Files (x86)
Windower4
Addons
GearSwap
Data
Once in the Data Folder, there should only be the ‘Instructions’ text file. (If I recall correctly)
From here, we now need to acquire Motenten’s Fancy Magic Files and place them into this “Data” folder.
They can be found at this link: https://github.com/Kinematics/GearSwap-Jobs
At the link above, there are 5 files you absolutely need.
You can either download them, or create new files within Notepad++, Copy/Paste and save them the exact way he has them listed.
The First 5 files you need are:
Mote-Globals
Mote-Include
Mote-Mappings
Mote-SelfCommands
Mote-Utility
And for us Dancers also:
Dnc
They all need to be labeled exactly as above, and saved as .lua files.
You do NOT alter these you your characters name, they will remain Mote- forever.
*The Dnc.lua file you can alter to your character’s name. This is only technically necessary if you use multiple characters but Cambion_Dnc will work, just like the plain Dnc will.
Step 2 (b): File Management Part 2
From there, we will now right click the “Dnc.lua” file and select “Open With Notepad++”
Once inside, you’ll now be able to view Mote’s Dnc “gearswap”. This .lua file has all of the Job Specific stuff related to Dnc as well as gear sets, rules, triggers, etc etc. The previous 5 files have… all sorts of stuff that’s far beyond my comprehension, but that apply to all of the jobs in the game and are universal. I recommend you don’t worry about them for now.
From the file as is today (2/3/14) you’ll want to scroll down to line 67.
In case the lines get pushed up/down over time, you’re looking for the following text: Code --------------------------------------
-- Start defining the sets
--------------------------------------
From here, you want to Highlight from the beginning of line 67 all the way down to line 303.
For those reading at a later date, you’re looking for the very first line, that simply says “end” and you want to stop just ABOVE the “end”. DO NOT include the “end” in your copy/paste. This is very important, and it can/will/has caused issues.
Every thing you’ve highlighted should be the numerous gearsets that we’ll be able to alter to our preference down the road. For the time being ‘Copy’ the entire text, and then ‘Delete’ it from the current file.
Create a new Notepad++ file and “Paste” what you just copy/deleted from the original Dnc.lua.
Now save this file as Dnc_Gear as a lua file. Alternatively, if you decided to use your character name, you’ll want to save this as Cambion_Dnc_Gear.
So in your Data file you should either have
A: Cambion_Dnc & Cambion_Dnc_Gear
or
B: Dnc & Dnc_Gear
both as lua files, along with the initial 5 files from Step 2 (a)
What we’ve just done, is separate our “gear” from our actual programming file.
I recommend doing this, so that any time there is an update to gearswap, that requires you to download the newest Dnc.lua from Mote’s files, you’ll be able to simply remove his gear sets, and continue using the one’s you’ve already customized.
|
|