|
GearSwap for Dummies!
サーバ: Asura
Game: FFXI
Posts: 356
By Asura.Wyattdoc 2014-05-22 19:36:04
Quote: still looking for a answer on this
Still waiting for a response on what you get when you make that change. sorry late getting bk to you on this but it say no adlivun bullet
and now since update i get a lua error lua error (runtime)- ...m fules (x86)/windower4//addons/gearswap/refresh. and the rest is cut off pls help
サーバ: Asura
Game: FFXI
Posts: 356
By Asura.Wyattdoc 2014-05-22 23:37:34
bump
Lakshmi.Zerowone
サーバ: Lakshmi
Game: FFXI
Posts: 6949
By Lakshmi.Zerowone 2014-05-22 23:50:56
Gearswap/Refresh.lua :131: and Gearswap/Sets.lua ?
Did the file load and then the program became unresponsive for 30s to a minute?
サーバ: Asura
Game: FFXI
Posts: 356
By Asura.Wyattdoc 2014-05-23 00:04:41
Gearswap/Refresh.lua :131: and Gearswap/Sets.lua ?
Did the file load and then the program became unresponsive for 30s to a minute? no it crashed windower so it wouldnt load
サーバ: Asura
Game: FFXI
Posts: 356
By Asura.Wyattdoc 2014-05-23 17:41:43
bump
VIP
サーバ: Fenrir
Game: FFXI
Posts: 764
By Fenrir.Motenten 2014-05-24 16:50:23
Quote: still looking for a answer on this
Still waiting for a response on what you get when you make that change. sorry late getting bk to you on this but it say no adlivun bullet
and now since update i get a lua error lua error (runtime)- ...m fules (x86)/windower4//addons/gearswap/refresh. and the rest is cut off pls help
The update with the wardrobe patch broke some things related to resources that generated that error. I assume you've run the launcher since then to update all the Windower stuff? You shouldn't be getting that error anymore. If you are then it may be simpler to reinstall Windower just to make sure it has all the proper bits in place.
Regarding the test, I'd rewritten the bullet-checking code in the Cor files. Have you updated and checked that version? Also make sure you have all the latest Mote-* files, as I've pushed changes for them over the last few days.
サーバ: Asura
Game: FFXI
Posts: 356
By Asura.Wyattdoc 2014-05-24 17:19:10
ok so just redownload the cor file and i should be good to go plus the latest motes?
VIP
サーバ: Fenrir
Game: FFXI
Posts: 764
By Fenrir.Motenten 2014-05-24 18:17:48
Yes. I've tested it, and it all seems to behave as I would expect it to.
By gargurty 2014-05-25 02:21:40
hey moten:) there is a problem with refresh.lua
im getting the following error:
gearswap: lua error (runtime) - gearswap/refresh.lua:75
attempt to concatenate field 'short'(a nil value)
you know how to fix this?
VIP
サーバ: Fenrir
Game: FFXI
Posts: 764
By Fenrir.Motenten 2014-05-25 03:49:34
refresh.lua is a GearSwap file, not one of mine. You need to report the problem to Byrth's or Windower's bug trackers.
By gargurty 2014-05-25 04:12:56
ok ty :)
By kayezel 2014-06-05 17:58:46
hello i have a very super beginner question.
i have no clue how to use this so what i did was just add in the gear i had over motes gear but i cant seem to get it to work out for me if anyone could help me out it would be awesome
Quetzalcoatl.Jykia
サーバ: Quetzalcoatl
Game: FFXI
Posts: 22
By Quetzalcoatl.Jykia 2014-06-05 22:50:48
been fiddling with my gs to get it working right, and now my gear lock when engaged isn't working. im fairly certain its in the rules somewhere
http://pastebin.com/uSwqp8RM
any help would be awesome
Asura.Keilyn
サーバ: Asura
Game: FFXI
Posts: 10
By Asura.Keilyn 2014-06-09 17:01:35
Oh man, my brain is burning...
サーバ: Shiva
Game: FFXI
Posts: 15
By Shiva.Deathblossoms 2014-06-18 03:31:15
I am having some problems with my War lua and was hoping to see if i could maybe get some help with it.
The only war Lua i could find was from Bokura and i am trying to change the main weapon from Conqueror but i keep getting an error and my lua file will not load. I am using the Iclamar +2 while i am making my new GA and was hoping to see if i could get some help to fix the problem.
Here is and excerpt from my Lua feet="Agoge Calligae +1"}
sets.Idle.Regen.Iclamar+2 = set_combine(sets.Idle.Regen,{
main="Iclamar +2",
sub="Bloodrain Strap"})
sets.Idle.Regen.Conqueror = set_combine(sets.Idle.Regen,{
main="Conqueror",
sub="Bloodrain Strap"})
sets.Idle.Regen.Ukonvasara = set_combine(sets.Idle.Regen,{
main="Ukonvasara",
sub="Duplus Grip"})
sets.Idle.Regen.Ragnarok = set_combine(sets.Idle.Regen,{
main="Ragnarok",
sub="Duplus Grip"})
sets.Idle.Regen.Bravura = set_combine(sets.Idle.Regen,{
main="Bravura",
sub="Duplus Grip"})
sets.Idle.Movement = set_combine(sets.Idle.Regen,{
head="Felistris Mask",
neck="Asperity Necklace",
ear1="Steelflash Earring",
ear2="Bladeborn Earring",
body="Pummeler's Lorica +1",
ring1="Patricius Ring",
ring2="Defending Ring",
back="Atheling Mantle",
waist="Dynamic Belt +1",
feet="Hermes' Sandals"})
sets.Idle.Regen.Iclamar+2 = set_combine(sets.Idle.Regen,{
main="Iclamar +2",
sub="Bloodrain Strap"})
sets.Idle.Movement.Conqueror = set_combine(sets.Idle.Movement,{
main="Conqueror",
sub="Bloodrain Strap"})
sets.Idle.Movement.Ukonvasara = set_combine(sets.Idle.Movement,{
main="Ukonvasara",
sub="Duplus Grip"})
sets.Idle.Movement.Ragnarok = set_combine(sets.Idle.Movement,{
main="Ragnarok",
sub="Duplus Grip"})
sets.Idle.Movement.Bravura = set_combine(sets.Idle.Movement,{
main="Bravura",
sub="Duplus Grip"})
sets.Twilight = {head="Twilight Helm",body="Twilight Mail"}
-- TP Base Set --
sets.TP = {}
-- Iclamar+2(AM3 Down) TP Sets --
sets.TP.Iclamar+2 = {
main="Iclamar +2",
sub="Bloodrain Strap",
ammo="Fire Bomblet",
head="Felistris Mask",
neck="Asperity Necklace",
ear1="Steelflash Earring",
ear2="Bladeborn Earring",
body="Xaddi Mail",
hands="Xaddi Gauntlets",
ring1="Patricius Ring",
ring2="Rajas Ring",
back="Atheling Mantle",
waist="Windbuffet Belt",
legs="Agoge Cuisses +1",
feet="Agoge Calligae +1"}
sets.TP.Iclamar+2.MidACC = set_combine(sets.TP.Conqueror,{
ammo="Ginsen",
head="Yaoyotl Helm",
neck="Agitator's Collar",
ring2="Mar's Ring",
waist="Dynamic Belt +1"})
sets.TP.Iclamar+2.HighACC = set_combine(sets.TP.Conqueror.MidACC,{
body="Mes. Haubergeon",
hands="Buremte Gloves"})
and for my whole Lua file is this -- *** Credit goes to Flippant for helping me with Gearswap *** --
-- ** I Use Some of Motenten's Functions ** --
-- Last Updated: 05/02/14 8:00 PM ** --
function get_sets()
AccIndex = 1
AccArray = {"LowACC","MidACC","HighACC"} -- 3 Levels Of Accuracy Sets For TP/WS/Hybrid. First Set Is LowACC. Add More ACC Sets If Needed Then Create Your New ACC Below. Most of These Sets Are Empty So You Need To Edit Them On Your Own. Remember To Check What The Combined Set Is For Each Sets. --
WeaponIndex = 1
WeaponArray = {"Iclamar +2","Conqueror","Ukonvasara","Ragnarok","Bravura"} -- Default Main Weapon Is Conqueror. Can Delete Any Weapons/Sets That You Don't Need Or Replace/Add The New Weapons That You Want To Use. --
IdleIndex = 1
IdleArray = {"Movement","Regen"} -- Default Idle Set Is Movement --
Armor = 'None'
Twilight = 'None'
Attack = 'OFF' -- Set Default Attack Set ON or OFF Here --
Rancor = 'ON' -- Set Default Rancor ON or OFF Here --
BloodRage = 'ON' -- Set Default BloodRage ON or OFF Here --
Retaliation = 'OFF' -- Set Default Retaliation ON or OFF Here --
Samurai_Roll = 'ON' -- Set Default SAM Roll ON or OFF Here --
target_distance = 5 -- Set Default Distance Here --
select_default_macro_book() -- Change Default Macro Book At The End --
sc_map = {SC1="UkkosFury", SC2="Berserk", SC3="Aggressor"} -- 3 Additional Binds. Can Change Whatever JA/WS/Spells You Like Here. Remember Not To Use Spaces. --
sets.Idle = {}
-- Idle/Town Sets --
sets.Idle.Regen = {
ammo="Fire Bomblet",
head="Agoge Mask +1",
neck="Wiglen Gorget",
ear1="Steelflash Earring",
ear2="Bladeborn Earring",
body="Pummeler's Lorica +1",
hands="Agoge Mufflers +1",
ring1="Sheltered Ring",
ring2="Paguroidea Ring",
back="Atheling Mantle",
waist="Dynamic Belt +1",
legs="Agoge Cuisses +1",
feet="Agoge Calligae +1"}
sets.Idle.Regen.Iclamar+2 = set_combine(sets.Idle.Regen,{
main="Iclamar +2",
sub="Bloodrain Strap"})
sets.Idle.Regen.Conqueror = set_combine(sets.Idle.Regen,{
main="Conqueror",
sub="Bloodrain Strap"})
sets.Idle.Regen.Ukonvasara = set_combine(sets.Idle.Regen,{
main="Ukonvasara",
sub="Duplus Grip"})
sets.Idle.Regen.Ragnarok = set_combine(sets.Idle.Regen,{
main="Ragnarok",
sub="Duplus Grip"})
sets.Idle.Regen.Bravura = set_combine(sets.Idle.Regen,{
main="Bravura",
sub="Duplus Grip"})
sets.Idle.Movement = set_combine(sets.Idle.Regen,{
head="Felistris Mask",
neck="Asperity Necklace",
ear1="Steelflash Earring",
ear2="Bladeborn Earring",
body="Pummeler's Lorica +1",
ring1="Patricius Ring",
ring2="Defending Ring",
back="Atheling Mantle",
waist="Dynamic Belt +1",
feet="Hermes' Sandals"})
sets.Idle.Regen.Iclamar+2 = set_combine(sets.Idle.Regen,{
main="Iclamar +2",
sub="Bloodrain Strap"})
sets.Idle.Movement.Conqueror = set_combine(sets.Idle.Movement,{
main="Conqueror",
sub="Bloodrain Strap"})
sets.Idle.Movement.Ukonvasara = set_combine(sets.Idle.Movement,{
main="Ukonvasara",
sub="Duplus Grip"})
sets.Idle.Movement.Ragnarok = set_combine(sets.Idle.Movement,{
main="Ragnarok",
sub="Duplus Grip"})
sets.Idle.Movement.Bravura = set_combine(sets.Idle.Movement,{
main="Bravura",
sub="Duplus Grip"})
sets.Twilight = {head="Twilight Helm",body="Twilight Mail"}
-- TP Base Set --
sets.TP = {}
-- Iclamar+2 TP Sets --
sets.TP.Iclamar+2 = {
main="Iclamar +2",
sub="Bloodrain Strap",
ammo="Fire Bomblet",
head="Felistris Mask",
neck="Asperity Necklace",
ear1="Steelflash Earring",
ear2="Bladeborn Earring",
body="Xaddi Mail",
hands="Xaddi Gauntlets",
ring1="Patricius Ring",
ring2="Rajas Ring",
back="Atheling Mantle",
waist="Windbuffet Belt",
legs="Agoge Cuisses +1",
feet="Agoge Calligae +1"}
sets.TP.Iclamar+2.MidACC = set_combine(sets.TP.Conqueror,{
ammo="Ginsen",
head="Yaoyotl Helm",
neck="Agitator's Collar",
ring2="Mar's Ring",
waist="Dynamic Belt +1"})
sets.TP.Iclamar+2.HighACC = set_combine(sets.TP.Conqueror.MidACC,{
body="Mes. Haubergeon",
hands="Buremte Gloves"})
-- Conqueror(AM3 Down) TP Sets --
sets.TP.Conqueror = {
main="Conqueror",
sub="Bloodrain Strap",
ammo="Yetshila +1",
head="Felistris Mask",
neck="Asperity Necklace",
ear1="Trux Earring",
ear2="Brutal Earring",
body="Xaddi Mail",
hands="Cizin Mufflers +1",
ring1="K'ayres Ring",
ring2="Rajas Ring",
back="Mauler's Mantle",
waist="Windbuffet Belt",
legs="Agoge Cuisses +1",
feet="Huginn Gambieras"}
sets.TP.Conqueror.MidACC = set_combine(sets.TP.Conqueror,{
ammo="Ginsen",
head="Yaoyotl Helm",
neck="Agitator's Collar",
ear1="Steelflash Earring",
ear2="Bladeborn Earring",
waist="Anguinus Belt"})
sets.TP.Conqueror.HighACC = set_combine(sets.TP.Conqueror.MidACC,{
body="Mes. Haubergeon",
hands="Buremte Gloves",
ring1="Mars's Ring"})
-- Conqueror(AM3 Up) TP Sets --
sets.TP.Conqueror.AM3 = set_combine(sets.TP.Conqueror,{
ear1="Tripudio Earring",
ear2="Brutal Earring"})
sets.TP.Conqueror.MidACC.AM3 = set_combine(sets.TP.Conqueror.AM3,{
ammo="Ginsen",
head="Yaoyotl Helm",
neck="Agitator's Collar",
ear1="Steelflash Earring",
ear2="Bladeborn Earring",
waist="Anguinus Belt"})
sets.TP.Conqueror.HighACC.AM3 = set_combine(sets.TP.Conqueror.MidACC.AM3,{
body="Mes. Haubergeon",
hands="Buremte Gloves",
ring1="Mars's Ring",
back="Mauler's Mantle"})
-- Conqueror(AM3 Down: Restraint) TP Sets --
sets.TP.Conqueror.Restraint = set_combine(sets.TP.Conqueror,{})
sets.TP.Conqueror.MidACC.Restraint = set_combine(sets.TP.Conqueror.MidACC,{})
sets.TP.Conqueror.HighACC.Restraint = set_combine(sets.TP.Conqueror.HighACC,{})
-- Conqueror(AM3 Up: Restraint) TP Sets --
sets.TP.Conqueror.AM3.Restraint = set_combine(sets.TP.Conqueror.AM3,{})
sets.TP.Conqueror.MidACC.AM3.Restraint = set_combine(sets.TP.Conqueror.MidACC.AM3,{})
sets.TP.Conqueror.HighACC.AM3.Restraint = set_combine(sets.TP.Conqueror.HighACC.AM3,{})
-- Conqueror(AM3 Down: Ionis) TP Sets --
sets.TP.Conqueror.Ionis = set_combine(sets.TP.Conqueror,{})
sets.TP.Conqueror.MidACC.Ionis = set_combine(sets.TP.Conqueror.MidACC,{})
sets.TP.Conqueror.HighACC.Ionis = set_combine(sets.TP.Conqueror.HighACC,{})
-- Conqueror(AM3 Up: Ionis) TP Sets --
sets.TP.Conqueror.AM3.Ionis = set_combine(sets.TP.Conqueror.AM3,{})
sets.TP.Conqueror.MidACC.AM3.Ionis = set_combine(sets.TP.Conqueror.MidACC.AM3,{})
sets.TP.Conqueror.HighACC.AM3.Ionis = set_combine(sets.TP.Conqueror.HighACC.AM3,{})
-- Conqueror(AM3 Down: Restraint + Ionis) TP Sets --
sets.TP.Conqueror.Restraint.Ionis = set_combine(sets.TP.Conqueror,{})
sets.TP.Conqueror.MidACC.Restraint.Ionis = set_combine(sets.TP.Conqueror.MidACC,{})
sets.TP.Conqueror.HighACC.Restraint.Ionis = set_combine(sets.TP.Conqueror.HighACC,{})
-- Conqueror(AM3 Up: Restraint + Ionis) TP Sets --
sets.TP.Conqueror.AM3.Restraint.Ionis = set_combine(sets.TP.Conqueror.AM3,{})
sets.TP.Conqueror.MidACC.AM3.Restraint.Ionis = set_combine(sets.TP.Conqueror.MidACC.AM3,{})
sets.TP.Conqueror.HighACC.AM3.Restraint.Ionis = set_combine(sets.TP.Conqueror.HighACC.AM3,{})
-- Conqueror(AM3 Down: SAM Roll) TP Sets --
sets.TP.Conqueror.STP = set_combine(sets.TP.Conqueror,{})
sets.TP.Conqueror.MidACC.STP = set_combine(sets.TP.Conqueror.MidACC,{})
sets.TP.Conqueror.HighACC.STP = set_combine(sets.TP.Conqueror.HighACC,{})
-- Conqueror(AM3 Up: SAM Roll) TP Sets --
sets.TP.Conqueror.AM3.STP = set_combine(sets.TP.Conqueror.AM3,{})
sets.TP.Conqueror.MidACC.AM3.STP = set_combine(sets.TP.Conqueror.MidACC.AM3,{})
sets.TP.Conqueror.HighACC.AM3.STP = set_combine(sets.TP.Conqueror.HighACC.AM3,{})
-- Conqueror(AM3 Down: Restraint + SAM Roll) TP Sets --
sets.TP.Conqueror.Restraint.STP = set_combine(sets.TP.Conqueror,{})
sets.TP.Conqueror.MidACC.Restraint.STP = set_combine(sets.TP.Conqueror.MidACC,{})
sets.TP.Conqueror.HighACC.Restraint.STP = set_combine(sets.TP.Conqueror.HighACC,{})
-- Conqueror(AM3 Up: Restraint + SAM Roll) TP Sets --
sets.TP.Conqueror.AM3.Restraint.STP = set_combine(sets.TP.Conqueror.AM3,{})
sets.TP.Conqueror.MidACC.AM3.Restraint.STP = set_combine(sets.TP.Conqueror.MidACC.AM3,{})
sets.TP.Conqueror.HighACC.AM3.Restraint.STP = set_combine(sets.TP.Conqueror.HighACC.AM3,{})
-- Conqueror(AM3 Down: Ionis + SAM Roll) TP Sets --
sets.TP.Conqueror.Ionis.STP = set_combine(sets.TP.Conqueror,{})
sets.TP.Conqueror.MidACC.Ionis.STP = set_combine(sets.TP.Conqueror.MidACC,{})
sets.TP.Conqueror.HighACC.Ionis.STP = set_combine(sets.TP.Conqueror.HighACC,{})
-- Conqueror(AM3 Up: Ionis + SAM Roll) TP Sets --
sets.TP.Conqueror.AM3.Ionis.STP = set_combine(sets.TP.Conqueror.AM3,{})
sets.TP.Conqueror.MidACC.AM3.Ionis.STP = set_combine(sets.TP.Conqueror.MidACC.AM3,{})
sets.TP.Conqueror.HighACC.AM3.Ionis.STP = set_combine(sets.TP.Conqueror.HighACC.AM3,{})
-- Conqueror(AM3 Down: Restraint + Ionis + SAM Roll) TP Sets --
sets.TP.Conqueror.Restraint.Ionis.STP = set_combine(sets.TP.Conqueror,{})
sets.TP.Conqueror.MidACC.Restraint.Ionis.STP = set_combine(sets.TP.Conqueror.MidACC,{})
sets.TP.Conqueror.HighACC.Restraint.Ionis.STP = set_combine(sets.TP.Conqueror.HighACC,{})
-- Conqueror(AM3 Up: Restraint + Ionis + SAM Roll) TP Sets --
sets.TP.Conqueror.AM3.Restraint.Ionis.STP = set_combine(sets.TP.Conqueror.AM3,{})
sets.TP.Conqueror.MidACC.AM3.Restraint.Ionis.STP = set_combine(sets.TP.Conqueror.MidACC.AM3,{})
sets.TP.Conqueror.HighACC.AM3.Restraint.Ionis.STP = set_combine(sets.TP.Conqueror.HighACC.AM3,{})
-- Ukonvasara TP Sets --
sets.TP.Ukonvasara = {
main="Ukonvasara",
sub="Duplus Grip",
ammo="Ginsen",
head="Felistris Mask",
neck="Asperity Necklace",
ear1="Trux Earring",
ear2="Brutal Earring",
body="Armada Hauberk",
hands="Cizin Mufflers",
ring1="K'ayres Ring",
ring2="Rajas Ring",
back="Mauler's Mantle",
waist="Dynamic Belt +1",
legs="Pumm. Cuisses +1",
feet="Pumm. Calligae +1"}
sets.TP.Ukonvasara.MidACC = set_combine(sets.TP.Ukonvasara,{
head="Yaoyotl Helm",
ear1="Steelflash Earring",
ear2="Bladeborn Earring",
waist="Dynamic Belt +1",
feet="Whirlpool Greaves"})
sets.TP.Ukonvasara.HighACC = set_combine(sets.TP.Ukonvasara.MidACC,{
neck="Agitator's Collar",
body="Mes. Haubergeon",
hands="Buremte Gloves",
ring1="Patricius Ring",
ring2="Mars's Ring"})
-- Ukonvasara(Restraint) TP Sets --
sets.TP.Ukonvasara.Restraint = set_combine(sets.TP.Ukonvasara,{})
sets.TP.Ukonvasara.MidACC.Restraint = set_combine(sets.TP.Ukonvasara.MidACC,{})
sets.TP.Ukonvasara.HighACC.Restraint = set_combine(sets.TP.Ukonvasara.HighACC,{})
-- Ukonvasara(Ionis) TP Sets --
sets.TP.Ukonvasara.Ionis = set_combine(sets.TP.Ukonvasara,{})
sets.TP.Ukonvasara.MidACC.Ionis= set_combine(sets.TP.Ukonvasara.MidACC,{})
sets.TP.Ukonvasara.HighACC.Ionis = set_combine(sets.TP.Ukonvasara.HighACC,{})
-- Ukonvasara(Restraint + Ionis) TP Sets --
sets.TP.Ukonvasara.Restraint.Ionis = set_combine(sets.TP.Ukonvasara,{})
sets.TP.Ukonvasara.MidACC.Restraint.Ionis = set_combine(sets.TP.Ukonvasara.MidACC,{})
sets.TP.Ukonvasara.HighACC.Restraint.Ionis = set_combine(sets.TP.Ukonvasara.HighACC,{})
-- Ukonvasara(SAM Roll) TP Sets --
sets.TP.Ukonvasara.STP = set_combine(sets.TP.Ukonvasara,{})
sets.TP.Ukonvasara.MidACC.STP = set_combine(sets.TP.Ukonvasara.MidACC,{})
sets.TP.Ukonvasara.HighACC.STP = set_combine(sets.TP.Ukonvasara.HighACC,{})
-- Ukonvasara(Restraint + SAM Roll) TP Sets --
sets.TP.Ukonvasara.Restraint.STP = set_combine(sets.TP.Ukonvasara,{})
sets.TP.Ukonvasara.MidACC.Restraint.STP = set_combine(sets.TP.Ukonvasara.MidACC,{})
sets.TP.Ukonvasara.HighACC.Restraint.STP = set_combine(sets.TP.Ukonvasara.HighACC,{})
-- Ukonvasara(Ionis + SAM Roll) TP Sets --
sets.TP.Ukonvasara.Ionis.STP = set_combine(sets.TP.Ukonvasara,{})
sets.TP.Ukonvasara.MidACC.Ionis.STP = set_combine(sets.TP.Ukonvasara.MidACC,{})
sets.TP.Ukonvasara.HighACC.Ionis.STP = set_combine(sets.TP.Ukonvasara.HighACC,{})
-- Ukonvasara(Restraint + Ionis + SAM Roll) TP Sets --
sets.TP.Ukonvasara.Restraint.Ionis.STP = set_combine(sets.TP.Ukonvasara,{})
sets.TP.Ukonvasara.MidACC.Restraint.Ionis.STP = set_combine(sets.TP.Ukonvasara.MidACC,{})
sets.TP.Ukonvasara.HighACC.Restraint.Ionis.STP = set_combine(sets.TP.Ukonvasara.HighACC,{})
-- Ragnarok TP Sets --
sets.TP.Ragnarok = {
main="Ragnarok",
sub="Duplus Grip",
ammo="Ginsen",
head="Felistris Mask",
neck="Portus Collar",
ear1="Trux Earring",
ear2="Brutal Earring",
body="Cizin Mail",
hands="Cizin Mufflers",
ring1="K'ayres Ring",
ring2="Rajas Ring",
back="Mauler's Mantle",
waist="Windbuffet Belt",
legs="Pumm. Cuisses +1",
feet="Huginn Gambieras"}
sets.TP.Ragnarok.MidACC = set_combine(sets.TP.Ragnarok,{
head="Yaoyotl Helm",
ear1="Steelflash Earring",
ear2="Bladeborn Earring",
body="Armada Hauberk",
waist="Dynamic Belt +1"})
sets.TP.Ragnarok.HighACC = set_combine(sets.TP.Ragnarok.MidACC,{
neck="Agitator's Collar",
body="Mes. Haubergeon",
hands="Buremte Gloves",
ring1="Patricius Ring",
ring2="Mars's Ring",
feet="Whirlpool Greaves"})
-- Ragnarok(Restraint) TP Sets --
sets.TP.Ragnarok.Restraint = set_combine(sets.TP.Ragnarok,{})
sets.TP.Ragnarok.MidACC.Restraint = set_combine(sets.TP.Ragnarok.MidACC,{})
sets.TP.Ragnarok.HighACC.Restraint = set_combine(sets.TP.Ragnarok.HighACC,{})
-- Ragnarok(Ionis) TP Sets --
sets.TP.Ragnarok.Ionis = set_combine(sets.TP.Ragnarok,{})
sets.TP.Ragnarok.MidACC.Ionis = set_combine(sets.TP.Ragnarok.MidACC,{})
sets.TP.Ragnarok.HighACC.Ionis = set_combine(sets.TP.Ragnarok.HighACC,{})
-- Ragnarok(Restraint + Ionis) TP Sets --
sets.TP.Ragnarok.Restraint.Ionis = set_combine(sets.TP.Ragnarok,{})
sets.TP.Ragnarok.MidACC.Restraint.Ionis = set_combine(sets.TP.Ragnarok.MidACC,{})
sets.TP.Ragnarok.HighACC.Restraint.Ionis = set_combine(sets.TP.Ragnarok.HighACC,{})
-- Ragnarok(SAM Roll) TP Sets --
sets.TP.Ragnarok.STP = set_combine(sets.TP.Ragnarok,{})
sets.TP.Ragnarok.MidACC.STP = set_combine(sets.TP.Ragnarok.MidACC,{})
sets.TP.Ragnarok.HighACC.STP = set_combine(sets.TP.Ragnarok.HighACC,{})
-- Ragnarok(Restraint + SAM Roll) TP Sets --
sets.TP.Ragnarok.Restraint.STP = set_combine(sets.TP.Ragnarok,{})
sets.TP.Ragnarok.MidACC.Restraint.STP = set_combine(sets.TP.Ragnarok.MidACC,{})
sets.TP.Ragnarok.HighACC.Restraint.STP = set_combine(sets.TP.Ragnarok.HighACC,{})
-- Ragnarok(Ionis + SAM Roll) TP Sets --
sets.TP.Ragnarok.Ionis.STP = set_combine(sets.TP.Ragnarok,{})
sets.TP.Ragnarok.MidACC.Ionis.STP = set_combine(sets.TP.Ragnarok.MidACC,{})
sets.TP.Ragnarok.HighACC.Ionis.STP = set_combine(sets.TP.Ragnarok.HighACC,{})
-- Ragnarok(Restraint + Ionis + SAM Roll) TP Sets --
sets.TP.Ragnarok.Restraint.Ionis.STP = set_combine(sets.TP.Ragnarok,{})
sets.TP.Ragnarok.MidACC.Restraint.Ionis.STP = set_combine(sets.TP.Ragnarok.MidACC,{})
sets.TP.Ragnarok.HighACC.Restraint.Ionis.STP = set_combine(sets.TP.Ragnarok.HighACC,{})
-- Bravura(AM Down) TP Sets --
sets.TP.Bravura = {
main="Bravura",
sub="Duplus Grip",
ammo="Ginsen",
head="Felistris Mask",
neck="Asperity Necklace",
ear1="Trux Earring",
ear2="Brutal Earring",
body="Armada Hauberk",
hands="Cizin Mufflers +1",
ring1="K'ayres Ring",
ring2="Rajas Ring",
back="Mauler's Mantle",
waist="Dynamic Belt +1",
legs="Pumm. Cuisses +1",
feet="Mikinaak Greaves"}
sets.TP.Bravura.MidACC = set_combine(sets.TP.Bravura,{
head="Yaoyotl Helm",
ear1="Steelflash Earring",
ear2="Bladeborn Earring",
waist="Dynamic Belt +1"})
sets.TP.Bravura.HighACC = set_combine(sets.TP.Bravura.MidACC,{
neck="Ziel Charm",
body="Mes. Haubergeon",
hands="Buremte Gloves",
ring1="Patricius Ring",
ring2="Mars's Ring",
feet="Whirlpool Greaves"})
-- Bravura(AM Up) TP Sets --
sets.TP.Bravura.AM = set_combine(sets.TP.Bravura,{
ammo="Angha Gem",
head="Yaoyotl Helm",
neck="Twilight Torque",
ring1="Defending Ring",
back="Mollusca Mantle",
waist="Pya'ekue Belt +1"})
sets.TP.Bravura.MidACC.AM = set_combine(sets.TP.Bravura.AM,{})
sets.TP.Bravura.HighACC.AM = set_combine(sets.TP.Bravura.MidACC.AM,{})
-- Bravura(AM Down: Restraint) TP Sets --
sets.TP.Bravura.Restraint = set_combine(sets.TP.Bravura,{})
sets.TP.Bravura.MidACC.Restraint = set_combine(sets.TP.Bravura.Restraint,{})
sets.TP.Bravura.HighACC.Restraint = set_combine(sets.TP.Bravura.MidACC.Restraint,{})
-- Bravura(AM Up: Restraint) TP Sets --
sets.TP.Bravura.AM.Restraint = set_combine(sets.TP.Bravura.Restraint,{})
sets.TP.Bravura.MidACC.AM.Restraint = set_combine(sets.TP.Bravura.AM.Restraint,{})
sets.TP.Bravura.HighACC.AM.Restraint = set_combine(sets.TP.Bravura.MidACC.AM.Restraint,{})
-- Bravura(AM Down: Ionis) TP Sets --
sets.TP.Bravura.Ionis = set_combine(sets.TP.Bravura,{})
sets.TP.Bravura.MidACC.Ionis = set_combine(sets.TP.Bravura.Ionis,{})
sets.TP.Bravura.HighACC.Ionis = set_combine(sets.TP.Bravura.MidACC.Ionis,{})
-- Bravura(AM Up: Ionis) TP Sets --
sets.TP.Bravura.AM.Ionis = set_combine(sets.TP.Bravura.AM,{})
sets.TP.Bravura.MidACC.AM.Ionis = set_combine(sets.TP.Bravura.AM.Ionis,{})
sets.TP.Bravura.HighACC.AM.Ionis = set_combine(sets.TP.Bravura.MidACC.AM.Ionis,{})
-- Bravura(AM Down: Restraint + Ionis) TP Sets --
sets.TP.Bravura.Restraint.Ionis = set_combine(sets.TP.Bravura.Restraint,{})
sets.TP.Bravura.MidACC.Restraint.Ionis = set_combine(sets.TP.Bravura.Restraint.Ionis,{})
sets.TP.Bravura.HighACC.Restraint.Ionis = set_combine(sets.TP.Bravura.MidACC.Restraint.Ionis,{})
-- Bravura(AM Up: Restraint + Ionis) TP Sets --
sets.TP.Bravura.AM.Restraint.Ionis = set_combine(sets.TP.Bravura.AM.Restraint,{})
sets.TP.Bravura.MidACC.AM.Restraint.Ionis = set_combine(sets.TP.Bravura.AM.Restraint.Ionis,{})
sets.TP.Bravura.HighACC.AM.Restraint.Ionis = set_combine(sets.TP.Bravura.MidACC.AM.Restraint.Ionis,{})
-- Bravura(AM Down: SAM Roll) TP Sets --
sets.TP.Bravura.STP = set_combine(sets.TP.Bravura,{})
sets.TP.Bravura.MidACC.STP = set_combine(sets.TP.Bravura.MidACC,{})
sets.TP.Bravura.HighACC.STP = set_combine(sets.TP.Bravura.HighACC,{})
-- Bravura(AM Up: SAM Roll) TP Sets --
sets.TP.Bravura.AM.STP = set_combine(sets.TP.Bravura.AM,{})
sets.TP.Bravura.MidACC.AM.STP = set_combine(sets.TP.Bravura.MidACC.AM,{})
sets.TP.Bravura.HighACC.AM.STP = set_combine(sets.TP.Bravura.HighACC.AM,{})
-- Bravura(AM Down: Restraint + SAM Roll) TP Sets --
sets.TP.Bravura.Restraint.STP = set_combine(sets.TP.Bravura,{})
sets.TP.Bravura.MidACC.Restraint.STP = set_combine(sets.TP.Bravura.MidACC,{})
sets.TP.Bravura.HighACC.Restraint.STP = set_combine(sets.TP.Bravura.HighACC,{})
-- Bravura(AM Up: Restraint + SAM Roll) TP Sets --
sets.TP.Bravura.AM.Restraint.STP = set_combine(sets.TP.Bravura.AM,{})
sets.TP.Bravura.MidACC.AM.Restraint.STP = set_combine(sets.TP.Bravura.MidACC.AM,{})
sets.TP.Bravura.HighACC.AM.Restraint.STP = set_combine(sets.TP.Bravura.HighACC.AM,{})
-- Bravura(AM Down: Ionis + SAM Roll) TP Sets --
sets.TP.Bravura.Ionis.STP = set_combine(sets.TP.Bravura,{})
sets.TP.Bravura.MidACC.Ionis.STP = set_combine(sets.TP.Bravura.MidACC,{})
sets.TP.Bravura.HighACC.Ionis.STP = set_combine(sets.TP.Bravura.HighACC,{})
-- Bravura(AM Up: Ionis + SAM Roll) TP Sets --
sets.TP.Bravura.AM.Ionis.STP = set_combine(sets.TP.Bravura.AM,{})
sets.TP.Bravura.MidACC.AM.Ionis.STP = set_combine(sets.TP.Bravura.MidACC.AM,{})
sets.TP.Bravura.HighACC.AM.Ionis.STP = set_combine(sets.TP.Bravura.HighACC.AM,{})
-- Bravura(AM Down: Restraint + Ionis + SAM Roll) TP Sets --
sets.TP.Bravura.Restraint.Ionis.STP = set_combine(sets.TP.Bravura,{})
sets.TP.Bravura.MidACC.Restraint.Ionis.STP = set_combine(sets.TP.Bravura.MidACC,{})
sets.TP.Bravura.HighACC.Restraint.Ionis.STP = set_combine(sets.TP.Bravura.HighACC,{})
-- Bravura(AM Up: Restraint + Ionis + SAM Roll) TP Sets --
sets.TP.Bravura.AM.Restraint.Ionis.STP = set_combine(sets.TP.Bravura.AM,{})
sets.TP.Bravura.MidACC.AM.Restraint.Ionis.STP = set_combine(sets.TP.Bravura.MidACC.AM,{})
sets.TP.Bravura.HighACC.AM.Restraint.Ionis.STP = set_combine(sets.TP.Bravura.HighACC.AM,{})
-- MS TP Set --
sets.TP.MS = {
-- sub="Brave Grip",
neck="Portus Collar",
back="Cavaros Mantle",
feet="Huginn Gambieras"}
-- Retaliation Set --
sets.TP.Retaliation = {hands="Pumm. Mufflers +1",feet="Rvg. Calligae +2"}
-- AM3 Rancor ON Mantle --
sets.TP.Rancor = {back="Rancorous Mantle"}
-- PDT/MDT Sets --
sets.PDT = {
ammo="Angha Gem",
head="Cizin Helm +1",
neck="Twilight Torque",
ear1="Black Earring",
ear2="Darkness Earring",
body="Cizin Mail +1",
hands="Cizin Mufflers +1",
ring1="Dark Ring",
ring2="Defending Ring",
back="Shadow Mantle",
waist="Nierenschutz",
legs="Cizin Breeches +1",
feet="Cizin Greaves +1"}
sets.MDT = set_combine(sets.PDT,{
ammo="Demonry Stone",
head="Laeradr Helm",
ear1="Merman's Earring",
ear2="Sanare Earring",
body="Nocturnus Mail",
ring1="Shadow Ring",
back="Engulfer Cape",
waist="Resolute Belt"})
-- Hybrid/Kiting Sets --
sets.TP.Hybrid = set_combine(sets.PDT,{
ear1="Steelflash Earring",
ear2="Bladeborn Earring",
ring1="Patricius Ring",
back="Mollusca Mantle",
waist="Dynamic Belt +1"})
sets.TP.Hybrid.MidACC = set_combine(sets.TP.Hybrid,{
ammo="Fire Bomblet",
head="Yaoyotl Helm",
body="Mes. Haubergeon",
waist="Dynamic Belt +1",
legs="Pumm. Cuisses +1",
feet="Whirlpool Greaves"})
sets.TP.Hybrid.HighACC = set_combine(sets.TP.Hybrid.MidACC,{
neck="Agitator's Collar",
hands="Buremte Gloves",
back="Mauler's Mantle"})
sets.Kiting = set_combine(sets.PDT,{feet="Hermes' Sandals"})
-- WS Base Set --
sets.WS = {
ammo="Aqreqaq Bomblet",
head="Felistris Mask",
neck="Asperity Necklace",
ear1="Kokou's Earring",
ear2="Brutal Earring",
body="Pumm. Lorica +1",
hands="Boor Bracelets",
ring1="Strigoi Ring",
ring2="Pyrosoul Ring",
back="Mauler's Mantle",
waist="Windbuffet Belt",
legs="Pumm. Cuisses +1",
feet="Pumm. Calligae +1"}
-- Upheaval Sets --
sets.WS.Upheaval = {
ammo="Oneiros Pebble",
head="Felistris Mask",
neck="Apathy Gorget",
ear1="Soil Earring",
ear2="Brutal Earring",
body="Pumm. Lorica +1",
hands="Agoge Mufflers +1",
ring1="Terrasoul Ring",
ring2="Terrasoul Ring",
back="Iximulew Cape",
waist="Light Belt",
legs="Pumm. Cuisses +1",
feet="Pumm. Calligae +1"}
sets.WS.Upheaval.MidACC = set_combine(sets.WS.Upheaval,{
head="Yaoyotl Helm",
neck="Light Gorget",
body="Xaddi Mail",
feet="Agoge Calligae +1"})
sets.WS.Upheaval.HighACC = set_combine(sets.WS.Upheaval.MidACC,{
back="Atheling Mantle",})
-- Upheaval(Attack) Set --
sets.WS.Upheaval.ATT = set_combine(sets.WS.Upheaval,{})
-- Ukko's Fury Sets --
sets.WS["Ukko's Fury"] = {
ammo="Aqreqaq Bomblet",
head="Felistris Mask",
neck="Light Gorget",
ear1="Ravager's Earring",
ear2="Brutal Earring",
body="Xaddi Mail",
hands="Xaddi Gauntlets",
ring1="Pyrosoul Ring",
ring2="Pyrosoul Ring",
back="Rancorous Mantle",
waist="Light Belt",
legs="Agoge Cuisses +1",
feet="Pummeler's Calligae +1"}
sets.WS["Ukko's Fury"].MidACC = set_combine(sets.WS["Ukko's Fury"],{
head="Yaoyotl Helm",
legs="Pummeler's Cuisses +1"})
sets.WS["Ukko's Fury"].HighACC = set_combine(sets.WS["Ukko's Fury"].MidACC,{
body="Mes. Haubergeon",
hands="Buremte Gloves",
back="Mauler's Mantle",
legs="Pummeler's Cuisses +1"})
-- Ukko's Fury(Attack) Set --
sets.WS["Ukko's Fury"].ATT = set_combine(sets.WS["Ukko's Fury"],{})
sets.WS["King's Justice"] = {}
sets.WS["King's Justice"].MidACC = set_combine(sets.WS["King's Justice"],{})
sets.WS["King's Justice"].HighACC = set_combine(sets.WS["King's Justice"].MidACC ,{})
-- Fell Cleave Set --
sets.WS["Fell Cleave"] = {
ammo="Aqreqaq Bomblet",
head="Felistris Mask",
neck="Thunder Gorget",
ear1="Ravager's Earring",
ear2="Brutal Earring",
body="Pumm. Lorica +1",
hands="Pumm. Mufflers +1",
ring1="Pyrosoul Ring",
ring2="Pyrosoul Ring",
back="Atheling Mantle",
waist="Thunder Belt",
legs="Pumm. Cuisses +1",
feet="Pumm. Calligae +1"}
-- MS WS Set --
sets.MS_WS = {
-- body="Kirin's Osode",
back="Cavaros Mantle",
-- legs="Byakko's Haidate",
feet="Huginn Gambieras"}
-- JA Sets --
sets.JA = {}
sets.JA.Berserk = {body="Pumm. Lorica +1",feet="Agoge Calligae +1"}
sets.JA.Aggressor = {head="Pumm. Mask +1",body="Agoge Lorica +1"}
sets.JA["Blood Rage"] = {body="Rvg. Lorica +2"}
sets.JA.Warcry = {head="Agoge Mask +1"}
sets.JA.Tomahawk = {ammo="Thr. Tomahawk",feet="Agoge Calligae +1"}
sets.JA["Mighty Strikes"] = {hands="Agoge Mufflers +1"}
-- Waltz Set --
sets.Waltz = {}
sets.Precast = {}
-- Fastcast Set --
sets.Precast.FastCast = {
ammo="Impatiens",
head="Cizin Helm +1",
neck="Orunmila's Torque",
ear1="Loquac. Earring",
ring1="Prolix Ring",
ring2="Veneficium Ring"}
sets.Midcast = {}
-- Magic Haste Set --
sets.Midcast.Haste = set_combine(sets.PDT,{
hands="Agoge Mufflers +1"})
end
function pretarget(spell,action)
if spell.action_type == 'Magic' and buffactive.silence then -- Auto Use Echo Drops If You Are Silenced --
cancel_spell()
send_command('input /item "Echo Drops" <me>')
elseif spell.english == "Berserk" and buffactive.Berserk then -- Change Berserk To Aggressor If Berserk Is On --
cancel_spell()
send_command('Aggressor')
elseif spell.english == "Seigan" and buffactive.Seigan then -- Change Seigan To Third Eye If Seigan Is On --
cancel_spell()
send_command('ThirdEye')
elseif spell.english == "Meditate" and player.tp > 290 then -- Cancel Meditate If TP Is Above 290 --
cancel_spell()
add_to_chat(123, spell.name .. ' Canceled: ['..player.tp..' TP]')
elseif spell.type == "WeaponSkill" and spell.target.distance > target_distance and player.status == 'Engaged' then -- Cancel WS If You Are Out Of Range --
cancel_spell()
add_to_chat(123, spell.name..' Canceled: [Out of Range]')
return
end
end
function precast(spell,action)
if spell.type == "WeaponSkill" then
if player.status ~= 'Engaged' then -- Cancel WS If You Are Not Engaged. Can Delete It If You Don't Need It --
cancel_spell()
add_to_chat(123,'Unable To Use WeaponSkill: [Disengaged]')
return
else
equipSet = sets.WS
if equipSet[spell.english] then
equipSet = equipSet[spell.english]
end
if Attack == 'ON' then
equipSet = equipSet["ATT"]
end
if equipSet[AccArray[AccIndex]] then
equipSet = equipSet[AccArray[AccIndex]]
end
if buffactive["Mighty Strikes"] then -- Equip MS_WS Set When You Have Mighty Strikes On --
equipSet = set_combine(equipSet,sets.MS_WS)
end
if spell.english == "Ukko's Fury" and buffactive['Blood Rage'] and BloodRage == "ON" then -- Use Hct. Mittens +1 Toggle For Normal Ukko's Fury Hands --
equipSet = set_combine(equipSet,{hands="Hct. Mittens +1"})
end
if spell.english == "Upheaval" and world.day_element == 'Dark' then -- Equip Shadow Mantle On Darksday For Upheaval --
equipSet = set_combine(equipSet,{back="Shadow Mantle"})
end
if player.tp > 299 or buffactive.Sekkanoki then -- Equip Kokou's Earring When You Have 300 TP or Sekkanoki --
equipSet = set_combine(equipSet,{ear1="Kokou's Earring"})
end
equip(equipSet)
end
elseif spell.type == "JobAbility" then
if sets.JA[spell.english] then
equip(sets.JA[spell.english])
end
elseif spell.action_type == 'Magic' then
if string.find(spell.english,'Utsusemi') then -- Cancel Utsusemi If You Have 3+ Shadows Up --
if buffactive['Copy Image (3)'] or buffactive['Copy Image (4)'] then
cancel_spell()
add_to_chat(123, spell.name .. ' Canceled: [3+ Images]')
return
else
equip(sets.Precast.FastCast)
end
else
equip(sets.Precast.FastCast)
end
elseif spell.type == "Waltz" then
refine_waltz(spell,action)
equip(sets.Waltz)
elseif spell.english == 'Spectral Jig' and buffactive.Sneak then
cast_delay(0.2)
send_command('cancel Sneak')
end
if Twilight == 'Twilight' then
equip(sets.Twilight)
end
end
function midcast(spell,action)
if spell.action_type == 'Magic' then
if string.find(spell.english,'Utsusemi') then
if spell.english == 'Utsusemi: Ichi' and (buffactive['Copy Image'] or buffactive['Copy Image (2)']) then -- Cancel Copy Image 1 & 2 For Utsusemi: Ichi --
send_command('@wait 1.7;cancel Copy Image*')
end
equip(sets.Midcast.Haste)
elseif spell.english == 'Monomi: Ichi' then -- Cancel Sneak --
if buffactive['Sneak'] then
send_command('@wait 1.7;cancel sneak')
end
equip(sets.Midcast.Haste)
else
equip(sets.Midcast.Haste)
end
end
end
function aftercast(spell,action)
if not spell.interrupted then
if spell.type == "WeaponSkill" then
send_command('wait 0.2;gs c TP')
elseif spell.english == "Blood Rage" then -- Blood Rage Timer/Countdown --
timer_blood_rage()
send_command('wait 50;input /echo '..spell.name..': [WEARING OFF IN 10 SEC.];wait 10;input /echo '..spell.name..': [OFF]')
elseif spell.english == "Tomahawk" then -- Tomahawk Timer/Countdown --
timer_tomahawk()
send_command('wait 80;input /echo '..spell.name..': [WEARING OFF IN 10 SEC.];wait 10;timers delete "Tomahawk";input /p '..spell.name..': [OFF]')
end
end
status_change(player.status)
end
function status_change(new,old)
if Armor == 'PDT' then
equip(sets.PDT)
elseif Armor == 'MDT' then
equip(sets.MDT)
elseif Armor == 'Kiting' then
equip(sets.Kiting)
elseif new == 'Engaged' then
equipSet = sets.TP
if Armor == 'Hybrid' and equipSet["Hybrid"] then
equipSet = equipSet["Hybrid"]
end
if equipSet[WeaponArray[WeaponIndex]] then
equipSet = equipSet[WeaponArray[WeaponIndex]]
end
if equipSet[AccArray[AccIndex]] then
equipSet = equipSet[AccArray[AccIndex]]
end
if buffactive["Aftermath: Lv.3"] and equipSet["AM3"] then
if Rancor == 'ON' then -- Default Rancor Toggle Is Rancorous Mantle --
equipSet = set_combine(equipSet["AM3"],sets.TP.Rancor)
else -- Use Rancor Toggle For Atheling Mantle --
equipSet = equipSet["AM3"]
end
end
if buffactive.Aftermath and equipSet["AM"] then
equipSet = equipSet["AM"]
end
if buffactive.Restraint and equipSet["Restraint"] then -- Restraint TP Set --
equipSet = equipSet["Restraint"]
end
if buffactive.Ionis and equipSet["Ionis"] then -- Ionis TP Set --
equipSet = equipSet["Ionis"]
end
if buffactive["Mighty Strikes"] then -- Mighty Strikes TP Set --
equipSet = set_combine(equipSet,sets.TP.MS)
end
if buffactive.Retaliation and Retaliation == 'ON' then -- Use Retaliation Toggle For Retaliation TP Set --
equipSet = set_combine(equipSet,sets.TP.Retaliation)
end
equip(equipSet)
else
equipSet = sets.Idle
if equipSet[IdleArray[IdleIndex]] then
equipSet = equipSet[IdleArray[IdleIndex]]
end
if equipSet[WeaponArray[WeaponIndex]] then
equipSet = equipSet[WeaponArray[WeaponIndex]]
end
equip(equipSet)
end
if Twilight == 'Twilight' then
equip(sets.Twilight)
end
end
function buff_change(buff,gain)
buff = string.lower(buff)
if buff == "aftermath: lv.3" then -- AM3 Timer/Countdown --
if gain then
send_command('timers create "Aftermath: Lv.3" 180 down;wait 120;input /echo Aftermath: Lv.3 [WEARING OFF IN 60 SEC.];wait 30;input /echo Aftermath: Lv.3 [WEARING OFF IN 30 SEC.];wait 20;input /echo Aftermath: Lv.3 [WEARING OFF IN 10 SEC.]')
else
send_command('timers delete "Aftermath: Lv.3"')
add_to_chat(123,'AM3: [OFF]')
end
elseif buff == "blood rage" and not gain then
send_command('timers delete "Blood Rage"')
elseif buff == 'weakness' then -- Weakness Timer --
if gain then
send_command('timers create "Weakness" 300 up')
else
send_command('timers delete "Weakness"')
end
end
if buff == "sleep" and gain and player.hp > 200 and player.status == "Engaged" then -- Equip Berserker's Torque When You Are Asleep & Have 200+ HP --
equip({neck="Berserker's Torque"})
else
if not midaction() then
status_change(player.status)
end
end
end
-- In Game: //gs c (command), Macro: /console gs c (command), Bind: gs c (command) --
function self_command(command)
if command == 'C1' then -- Accuracy Toggle --
AccIndex = (AccIndex % #AccArray) + 1
add_to_chat(158,'Accuracy Level: ' .. AccArray[AccIndex])
status_change(player.status)
elseif command == 'C17' then -- Main Weapon Toggle --
WeaponIndex = (WeaponIndex % #WeaponArray) + 1
add_to_chat(158,'Main Weapon: '..WeaponArray[WeaponIndex])
status_change(player.status)
elseif command == 'C5' then -- Auto Update Gear Toggle --
status_change(player.status)
add_to_chat(158,'Auto Update Gear')
elseif command == 'C2' then -- Hybrid Toggle --
if Armor == 'Hybrid' then
Armor = 'None'
add_to_chat(123,'Hybrid Set: [Unlocked]')
else
Armor = 'Hybrid'
add_to_chat(158,'Hybrid Set: '..AccArray[AccIndex])
end
status_change(player.status)
elseif command == 'C7' then -- PDT Toggle --
if Armor == 'PDT' then
Armor = 'None'
add_to_chat(123,'PDT Set: [Unlocked]')
else
Armor = 'PDT'
add_to_chat(158,'PDT Set: [Locked]')
end
status_change(player.status)
elseif command == 'C15' then -- MDT Toggle --
if Armor == 'MDT' then
Armor = 'None'
add_to_chat(123,'MDT Set: [Unlocked]')
else
Armor = 'MDT'
add_to_chat(158,'MDT Set: [Locked]')
end
status_change(player.status)
elseif command == 'C12' then -- Kiting Toggle --
if Armor == 'Kiting' then
Armor = 'None'
add_to_chat(123,'Kiting Set: [Unlocked]')
else
Armor = 'Kiting'
add_to_chat(158,'Kiting Set: [Locked]')
end
status_change(player.status)
elseif command == 'C10' then -- Retaliation Toggle --
if Retaliation == 'ON' then
Retaliation = 'OFF'
add_to_chat(123,'Retaliation Set: [Unlocked]')
else
Retaliation = 'ON'
add_to_chat(158,'Retaliation Set: [Locked]')
end
status_change(player.status)
elseif command == 'C16' then -- Rancor Toggle --
if Rancor == 'ON' then
Rancor = 'OFF'
add_to_chat(123,'Rancor: [OFF]')
else
Rancor = 'ON'
add_to_chat(158,'Rancor: [ON]')
end
status_change(player.status)
elseif command == 'C11' then -- Hct. Mittens +1 Toggle --
if BloodRage == 'ON' then
BloodRage = 'OFF'
add_to_chat(123,'Hct. Mittens +1: [OFF]')
else
BloodRage = 'ON'
add_to_chat(158,'Hct. Mittens +1: [ON]')
end
status_change(player.status)
elseif command == 'C18' then -- SAM Roll Toggle --
if Samurai_Roll == 'ON' then
Samurai_Roll = 'OFF'
add_to_chat(123,'SAM Roll: [OFF]')
else
Samurai_Roll = 'ON'
add_to_chat(158,'SAM Roll: [ON]')
end
status_change(player.status)
elseif command == 'C9' then -- Attack Toggle --
if Attack == 'ON' then
Attack = 'OFF'
add_to_chat(123,'Attack: [OFF]')
else
Attack = 'ON'
add_to_chat(158,'Attack: [ON]')
end
status_change(player.status)
elseif command == 'C3' then -- Twilight Toggle --
if Twilight == 'Twilight' then
Twilight = 'None'
add_to_chat(123,'Twilight Set: [Unlocked]')
else
Twilight = 'Twilight'
add_to_chat(158,'Twilight Set: [locked]')
end
status_change(player.status)
elseif command == 'C8' then -- Distance Toggle --
if player.target.distance then
target_distance = math.floor(player.target.distance*10)/10
add_to_chat(158,'Distance: '..target_distance)
else
add_to_chat(123,'No Target Selected')
end
elseif command == 'C6' then -- Idle Toggle --
IdleIndex = (IdleIndex % #IdleArray) + 1
add_to_chat(158,'Idle Set: ' .. IdleArray[IdleIndex])
status_change(player.status)
elseif command == 'TP' then
add_to_chat(158,'TP Return: ['..tostring(player.tp)..']')
elseif command:match('^SC%d$') then
send_command('//' .. sc_map[command])
end
end
function timer_blood_rage()
local duration = 60
send_command('timers create "Blood Rage" '..tostring(duration)..' down')
end
function timer_tomahawk()
local duration = 90
send_command('timers create "Tomahawk" '..tostring(duration)..' down')
end
function refine_waltz(spell,action)
if spell.type ~= 'Waltz' then
return
end
if spell.name == "Healing Waltz" or spell.name == "Divine Waltz" or spell.name == "Divine Waltz II" then
return
end
local newWaltz = spell.english
local waltzID
local missingHP
if spell.target.type == "SELF" then
missingHP = player.max_hp - player.hp
elseif spell.target.isallymember then
local target = find_player_in_alliance(spell.target.name)
local est_max_hp = target.hp / (target.hpp/100)
missingHP = math.floor(est_max_hp - target.hp)
end
if missingHP ~= nil then
if player.sub_job == 'DNC' then
if missingHP < 40 and spell.target.name == player.name then
add_to_chat(8,'Full HP!')
cancel_spell()
return
elseif missingHP < 150 then
newWaltz = 'Curing Waltz'
waltzID = 190
elseif missingHP < 300 then
newWaltz = 'Curing Waltz II'
waltzID = 191
else
newWaltz = 'Curing Waltz III'
waltzID = 192
end
else
return
end
end
local waltzTPCost = {['Curing Waltz'] = 20, ['Curing Waltz II'] = 35, ['Curing Waltz III'] = 50, ['Curing Waltz IV'] = 65, ['Curing Waltz V'] = 80}
local tpCost = waltzTPCost[newWaltz]
local downgrade
if player.tp < tpCost and not buffactive.trance then
if player.tp < 20 then
add_to_chat(8, 'Insufficient TP ['..tostring(player.tp)..']. Cancelling.')
cancel_spell()
return
elseif player.tp < 35 then
newWaltz = 'Curing Waltz'
elseif player.tp < 50 then
newWaltz = 'Curing Waltz II'
elseif player.tp < 65 then
newWaltz = 'Curing Waltz III'
elseif player.tp < 80 then
newWaltz = 'Curing Waltz IV'
end
downgrade = 'Insufficient TP ['..tostring(player.tp)..']. Downgrading to '..newWaltz..'.'
end
if newWaltz ~= spell.english then
send_command('@input /ja "'..newWaltz..'" '..tostring(spell.target.raw))
if downgrade then
add_to_chat(158, downgrade)
end
cancel_spell()
return
end
if missingHP > 0 then
add_to_chat(158,'Trying to cure '..tostring(missingHP)..' HP using '..newWaltz..'.')
end
end
function find_player_in_alliance(name)
for i,v in ipairs(alliance) do
for k,p in ipairs(v) do
if p.name == name then
return p
end
end
end
end
function sub_job_change(newSubjob, oldSubjob)
select_default_macro_book()
end
function set_macro_page(set,book)
if not tonumber(set) then
add_to_chat(123,'Error setting macro page: Set is not a valid number ('..tostring(set)..').')
return
end
if set < 1 or set > 10 then
add_to_chat(123,'Error setting macro page: Macro set ('..tostring(set)..') must be between 1 and 10.')
return
end
if book then
if not tonumber(book) then
add_to_chat(123,'Error setting macro page: book is not a valid number ('..tostring(book)..').')
return
end
if book < 1 or book > 20 then
add_to_chat(123,'Error setting macro page: Macro book ('..tostring(book)..') must be between 1 and 20.')
return
end
send_command('@input /macro book '..tostring(book)..';wait .1;input /macro set '..tostring(set))
else
send_command('@input /macro set '..tostring(set))
end
end
function select_default_macro_book()
-- Default macro set/book
if player.sub_job == 'SAM' then
set_macro_page(3, 3)
elseif player.sub_job == 'DNC' then
set_macro_page(2, 3)
elseif player.sub_job == 'NIN' then
set_macro_page(1, 3)
else
set_macro_page(3, 3)
end
end
Bismarck.Inference
サーバ: Bismarck
Game: FFXI
Posts: 417
By Bismarck.Inference 2014-06-18 04:52:14
My quick guess would be use ['Iclamar +2'] anywhere you put Iclamar +2, anytime you're trying to name a set with spaces or other special characters, you will have to name it in this way.(Note, when naming a set like this you do not use a period inbetween. So for instance instead of sets.precast.Something.Low it would be sets.precast['Something'].Low (no period between precast and something, but there is still one between something and low)
Also for future debugging :
1)Please use code tags to make reading easier.
2)When you receive an error, your console should spit out a message. Please let us know what it says. If it includes a specific line number, post the chunk of code around that line so we don't have an entire file to read through.
[+]
サーバ: Shiva
Game: FFXI
Posts: 15
By Shiva.Deathblossoms 2014-06-18 09:55:36
Thank you for the help and that helped fix the problem. Sorry about not using code tags i am still new to posting on here just let me know how and i will make sure to use them next time i need to and i am very sorry for the trouble.
サーバ: Fenrir
Game: FFXI
Posts: 574
By Fenrir.Moldtech 2014-06-22 10:37:35
I have a question! I'm putting the K'ayres Ring in my engaged set but is this ring going to pose me some problems seeing as it has that apostrophe in it?
Nevermind, I need to write it like so apparently: K\'ayres Ring
Cerberus.Conagh
サーバ: Cerberus
Game: FFXI
Posts: 3189
By Cerberus.Conagh 2014-06-22 11:41:00
I have a question! I'm putting the K'ayres Ring in my engaged set but is this ring going to pose me some problems seeing as it has that apostrophe in it?
Nevermind, I need to write it like so apparently: K\'ayres Ring
Code sets.WS["Tachi: Jinpu"] = {
range={ name="Cibitshavore", augments={'STR+10','Rng.Acc.+8','"Store TP"+3',}},
ammo="Tulfaire Arrow",
head={ name="Sakonji Kabuto +1", augments={'Enhances "Ikishoten" effect',}},
body="Phorcys Korazin",
hands={ name="Miki. Gauntlets", augments={'Attack+15','Accuracy+10','STR+10',}},
legs="Wakido Haidate +1",
feet={ name="Otronif Boots +1", augments={'Phys. dmg. taken -2%','Attack+5',}},
neck="Asperity Necklace",
waist="Snow Belt",
left_ear="Friomisi Earring",
right_ear="Hecate's Earring",
left_ring="Rajas Ring",
right_ring="K'ayres Ring"
back="Toro Cape",
}
works fine.
right_ring="K'ayres Ring"
Cerberus.Conagh
サーバ: Cerberus
Game: FFXI
Posts: 3189
By Cerberus.Conagh 2014-06-22 11:45:09
Quetzalcoatl.Jykia said: »been fiddling with my gs to get it working right, and now my gear lock when engaged isn't working. im fairly certain its in the rules somewhere
http://pastebin.com/uSwqp8RM
any help would be awesome
Not even going to try and mess with motes Gearswap, too many factors to take into account with 5 includes >_>
Can you show us the snippet you changed to narrow the issue a little?
Ragnarok.Azryel
サーバ: Ragnarok
Game: FFXI
Posts: 317
By Ragnarok.Azryel 2014-06-22 11:59:37
Every once in a while my THF GS derps after a stacked Mercy Stroke and I get stuck in some form of hybrid WS set with my flume belt equipped; it’s pretty strange and is generally unresponsive (meaning I can run around in idle and switch to PDT, etc., but it will continue to revert back to that WS/flume set when “engaged”) unless I reload the add-on.
My knowledge is fairly limited on the subject, but I’m assuming I’m running into problems in the player status section; I’m guessing the Sneak Attack triggers and gets used so quickly that the GS doesn’t recognize that it’s gone… although I could be way off, so I'm attaching the bulk of my rules subsection.
Does anything in here look problematic? This seems to happen like once every 5-6 stacked Mercies, but I don't think it was happening before I made a rule change to keep augmented relic pants on until the feint blow landed... I'm not sure if that has anything to do with it, because if it was happening before that rule change I didn't notice it.
Code function pretarget(spell,action)
if (spell.type:endswith('Magic') or spell.type == "Ninjutsu") and buffactive.silence then -- Auto Use Echo Drops If You Are Silenced --
cancel_spell()
send_command('input /item "Echo Drops" <me>')
elseif spell.english == "Berserk" and buffactive.Berserk then -- Change Berserk To Aggressor If Berserk Is On --
cancel_spell()
send_command('Aggressor')
elseif spell.type == "WeaponSkill" and spell.target.distance > target_distance and player.status == 'Engaged' then -- Cancel WS If You Are Out Of Range --
cancel_spell()
add_to_chat(123, spell.name..' Canceled: [Out of Range]')
return
end
end
function precast(spell,action)
if spell.type == "WeaponSkill" then
if player.status ~= 'Engaged' then -- Cancel WS If You Are Not Engaged. Can Delete It If You Don't Need It --
cancel_spell()
add_to_chat(123,'Unable To Use WeaponSkill: [Disengaged]')
return
else
if SA and TA and sets.WS.SATA[spell.english] then
equip(sets.WS.SATA[spell.english])
elseif SA and sets.WS.SA[spell.english] then
equip(sets.WS.SA[spell.english])
elseif TA and sets.WS.TA[spell.english] then
equip(sets.WS.TA[spell.english])
elseif sets.WS[spell.english] then
equip(sets.WS[spell.english])
elseif spell.english == "Evisceration" and player.tp > 299 then -- Equip Jupiter's Pearl When You Have 300 TP --
equip({ear1="Jupiter's Pearl"})
else
equip(sets.WS)
end
end
elseif spell.type=="JobAbility" then
if sets.JA[spell.english] then
equip(sets.JA[spell.english])
end
if spell.english=="Sneak Attack" then
SA = true
end
if spell.english=="Trick Attack" then
TA = true
end
if spell.english=="Feint" then
Feint = true
end
elseif spell.type:endswith('Magic') or spell.type == "Ninjutsu" then
if string.find(spell.english,'Utsusemi') then
if buffactive['Copy Image (3)'] or buffactive['Copy Image (4)'] then
cancel_spell()
add_to_chat(123, spell.name .. ' Canceled: [3+ Images]')
return
else
equip(sets.Precast.Utsusemi)
end
else
equip(sets.Precast.FastCast)
end
elseif spell.type == 'Step' then
equip(sets.Step)
elseif string.find(spell.type,'Flourish') then
equip(sets.Flourish)
elseif spell.type == "Waltz" then
refine_waltz(spell,action)
equip(sets.Waltz)
elseif spell.english == 'Spectral Jig' and buffactive.Sneak then
cast_delay(0.2)
send_command('cancel Sneak')
end
end
function midcast(spell,action)
if spell.english == 'Ranged' then
equip(TH_Gear)
elseif spell.type:endswith('Magic') or spell.type == "Ninjutsu" then
if string.find(spell.english,'Utsusemi') then
if spell.english == 'Utsusemi: Ichi' and (buffactive['Copy Image'] or buffactive['Copy Image (2)']) then
send_command('@wait 1.7;cancel Copy Image*')
end
equip(sets.Midcast.Haste)
elseif spell.english == 'Monomi: Ichi' then
if buffactive['Sneak'] then
send_command('@wait 1.7;cancel sneak')
end
equip(sets.Midcast.Haste)
else
equip(sets.Midcast.Haste)
end
end
end
function aftercast(spell,action)
if spell.type == "WeaponSkill" and not spell.interrupted then
send_command('wait 0.2;gs c TP')
end
status_change(player.status)
end
function status_change(new,old)
if player.equipment.range ~= 'empty' then
disable('range','ammo')
else
enable('range','ammo')
end
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
equipSet = sets.TP
if Armor == 'Hybrid' and equipSet["Hybrid"] then
equipSet = equipSet["Hybrid"]
end
if equipSet[AccArray[AccIndex]] then
equipSet = equipSet[AccArray[AccIndex]]
end
if Feint then
equipSet = set_combine(equipSet,sets.JA["Feint"])
end
if SA then
equipSet = set_combine(equipSet,sets.JA["Sneak Attack"])
end
if TA then
equipSet = set_combine(equipSet,sets.JA["Trick Attack"])
end
if Rancor == 'ON' then -- Use Rancor Toggle For Rancor Collar --
equipSet = set_combine(equipSet,sets.TP.Rancor)
end
if TH == 'ON' then -- Use TH Toggle To Lock Full TH Set --
equipSet = set_combine(equipSet,sets.TP.TH)
end
equip(equipSet)
else
equip(sets.Idle[IdleArray[IdleIndex]])
end
end
function buff_change(buff,gain)
buff = string.lower(buff)
if buff == "sneak attack" then
SA = gain
elseif buff == "trick attack" then
TA = gain
elseif buff == 'weakness' then -- Weakness Timer --
if gain then
send_command('timers create "Weakness" 300 up')
else
send_command('timers delete "Weakness"')
end
end
if not midaction() then
status_change(player.status)
end
end
EDIT: Just noticed this was a DNC thread, but whatever lol
サーバ: Shiva
Game: FFXI
Posts: 15
By Shiva.Deathblossoms 2014-07-03 04:17:35
I am currently getting an error or two with my rng lua and was hoping to pick some brains to fix this.
GearSwap: Lua error (runtime) - ...gram Files (86x)/Windower4//addons/gearswap/flow.lua.333:
GearSwap had detected an error in the user function get_sets: ... Files (86x)Windower4/addons/gearswap/data/RNG.lua:213: attempt to index field 'HighACC' (a nil value)
the is the me full Lua My Rng Lua File any and all help is wanted, needed, and most appreciated from all.
Bismarck.Snprphnx
サーバ: Bismarck
Game: FFXI
Posts: 2707
By Bismarck.Snprphnx 2014-07-03 05:39:12
Shiva.Deathblossoms said: »I am currently getting an error or two with my rng lua and was hoping to pick some brains to fix this.
GearSwap: Lua error (runtime) - ...gram Files (86x)/Windower4//addons/gearswap/flow.lua.333:
GearSwap had detected an error in the user function get_sets: ... Files (86x)Windower4/addons/gearswap/data/RNG.lua:213: attempt to index field 'HighACC' (a nil value)
the is the me full Lua My Rng Lua File any and all help is wanted, needed, and most appreciated from all.
Check the other thread you posted in. Hope that is the solution.
サーバ: Shiva
Game: FFXI
Posts: 15
By Shiva.Deathblossoms 2014-07-03 13:42:49
it was and thank you i hope to help you all sometime if it where i can.
By RoxiValefore 2014-07-13 10:24:38
Ok, I am brand new to Gearswap. I have been working to understand Spellcast over the past few weeks only to yesterday realize why I couldn't work and that's because it's not used anymore/not updated. So I am reading this thread and what everyone has to say. However I am confused. How do I get my gearswap to recognize which file to use when I'm on a job. How do I load gearswap, it states in the first post to just run FFXI like you normally would but nothing has changed. This is currently how my, << Program Files (x86)> Windower4 > addons > GearSwap > data, looks.
Bard.lua
Blackmage.lua
Instructions
Mote-Globals.lua
Mote-Include.lua
Mote-Mappings.lua
Mote-SelfCommands.lua
Mote-Utility.lua
Ranger.lua
Redmage.lua
Summoner.lua
Thief.lua
Whitemage.lua
Is this done correctly? Sorry if this is hard to read.
Thank you for any help, it is really greatly appreciated!
Leviathan.Syagin
サーバ: Leviathan
Game: FFXI
Posts: 999
By Leviathan.Syagin 2014-07-14 13:11:32
Are you able to macro commands in similar to the "poison V" of old in order to switch between gear sets?
If not maybe I may have missed it in the break down but how do you switch between your set w/o having to key bind if any?
VIP
サーバ: Fenrir
Game: FFXI
Posts: 764
By Fenrir.Motenten 2014-07-14 13:35:19
Ok, I am brand new to Gearswap. I have been working to understand Spellcast over the past few weeks only to yesterday realize why I couldn't work and that's because it's not used anymore/not updated. So I am reading this thread and what everyone has to say. However I am confused. How do I get my gearswap to recognize which file to use when I'm on a job. How do I load gearswap, it states in the first post to just run FFXI like you normally would but nothing has changed. This is currently how my, << Program Files (x86)> Windower4 > addons > GearSwap > data, looks.
Bard.lua
Blackmage.lua
Instructions
Mote-Globals.lua
Mote-Include.lua
Mote-Mappings.lua
Mote-SelfCommands.lua
Mote-Utility.lua
Ranger.lua
Redmage.lua
Summoner.lua
Thief.lua
Whitemage.lua
Is this done correctly? Sorry if this is hard to read.
Thank you for any help, it is really greatly appreciated!
The current OP is out of date in a few ways. For the above, you don't need any of the Mote-* files; they're all already included with Windower, and are in the addons/GearSwap/libs folder.
For files names, you use the job's short name. So Brd, not Bard, Blm, not Blackmage, etc.
VIP
サーバ: Fenrir
Game: FFXI
Posts: 764
By Fenrir.Motenten 2014-07-14 13:49:14
Are you able to macro commands in similar to the "poison V" of old in order to switch between gear sets? Technically doable, but not a good way of going about things in GearSwap. It was a hack in the Spellcast days that's completely unnecessary now.
If not maybe I may have missed it in the break down but how do you switch between your set w/o having to key bind if any?
Use self-commands now. EG: //gs c tp acc
//gs (if using from the command line; "/console gs" if you put it in a game macro, and just "gs" if you put it on a keybind) sends the remainder of the line to GearSwap directly. "c" tells it that you're sending a self-command, and everything after that is sent as a parameter to your function for handling. EG:
Code
function self_command(command)
if command == "tp acc" then
-- do whatever
end
end
[+]
Leviathan.Syagin
サーバ: Leviathan
Game: FFXI
Posts: 999
By Leviathan.Syagin 2014-07-15 08:36:48
Are you able to macro commands in similar to the "poison V" of old in order to switch between gear sets? Technically doable, but not a good way of going about things in GearSwap. It was a hack in the Spellcast days that's completely unnecessary now.
If not maybe I may have missed it in the break down but how do you switch between your set w/o having to key bind if any?
Use self-commands now. EG: //gs c tp acc
//gs (if using from the command line; "/console gs" if you put it in a game macro, and just "gs" if you put it on a keybind) sends the remainder of the line to GearSwap directly. "c" tells it that you're sending a self-command, and everything after that is sent as a parameter to your function for handling. EG:
Code
function self_command(command)
if command == "tp acc" then
-- do whatever
end
end Appreciate that good sir. Had no clue that was a hack that's interesting...
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.
|
|