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. >.>
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]
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.
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.
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')
function user_unload()
send_command('unbind ^`')
end
-- Define sets and vars used by this job file.
function init_gear_sets()
--------------------------------------
-- Start defining the 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
--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
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.
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?
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')
-- 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.
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
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.
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
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]
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.
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]
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]
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.
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.
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.