|
Gearswap Support Thread
Asura.Psylo
Server: Asura
Game: FFXI
Posts: 446
By Asura.Psylo 2014-03-13 03:22:47
Of course, if you check the quote i made, i've got this problem some week ago and its was a gearswar version problem, so i suppose its same again.
Server: Asura
Game: FFXI
Posts: 2507
By Asura.Calatilla 2014-03-13 04:12:55
I had a similar problem with shiva`s Sleepga BP, turned out to be spellcast.
Asura.Psylo
Server: Asura
Game: FFXI
Posts: 446
By Asura.Psylo 2014-03-16 12:53:10
Nobody have a soluce for that ?
Siren.Chinzu
Server: Siren
Game: FFXI
Posts: 16
By Siren.Chinzu 2014-03-16 23:32:35
Question, on spellcast we're able to "//c4 name" in log. Are we able to "//c4 name" on Gearswap or anything similar to it?
Bismarck.Inference
Server: Bismarck
Game: FFXI
Posts: 417
By Bismarck.Inference 2014-03-16 23:34:51
Download the addon "shortcuts", it handles that portion of spellcast. When I first got gearswap I tried using spellcast to handle the // part, but it didn't seem to trigger the gearswap rules, not sure if that has been changed.
Ragnarok.Kerah
Server: Ragnarok
Game: FFXI
Posts: 2
By Ragnarok.Kerah 2014-03-17 02:58:47
Hello, I'm currently just learning about GS so bare with me. I'm using Motes files, I've downloaded everything needed for it, include, mappings, globals etc and his BRD file. I've placed them all in the correct data folder and stuff. I also created the sidecar file name_brd_gear but for some reason it won't use my precast gear. My songs basically start and finish in midcast.songeffect gear.
I didn't change all the gear and I put nexus cape as midcast to test to see if i was correct or not. Also I don't own relic/emp range, would this conflict with the GS maybe?
Code -- Setup vars that are user-dependent. Can override this function in a sidecar file.
function user_setup()
-- Options: Override default values
options.CastingModes = {'Normal', 'Resistant'}
options.OffenseModes = {'None', 'Normal'}
options.DefenseModes = {'Normal'}
options.WeaponskillModes = {'Normal'}
options.IdleModes = {'Normal', 'PDT'}
options.RestingModes = {'Normal'}
options.PhysicalDefenseModes = {'PDT'}
options.MagicalDefenseModes = {'MDT'}
state.Defense.PhysicalMode = 'PDT'
state.OffenseMode = 'None'
brd_daggers = S{'Izhiikoh', 'Vanir Knife', 'Atoyac', 'Aphotic Kukri'}
pick_tp_weapon()
-- How many extra songs we can keep from Daurdabla
info.DaurdablaSongs = 2
-- Whether to try to automatically use Daurdabla when an appropriate gap in current vs potential
-- songs appears, and you haven't specifically changed state.DaurdablaMode.
state.AutoDaurdabla = false
-- Additional local binds
send_command('bind ^` input /ma "Chocobo Mazurka" <me>')
-- Default macro set/book
set_macro_page(2, 3)
end
-- Called when this job file is unloaded (eg: job change)
function file_unload()
if binds_on_unload then
binds_on_unload()
end
send_command('unbind ^`')
end
-- Define sets and vars used by this job file.
function init_gear_sets()
--------------------------------------
-- Start defining the sets
--------------------------------------
-- Precast Sets
-- Fast cast sets for spells
sets.precast.FC = {head="Nahtirah Hat",ear2="Loquac. Earring",
hands="Gendewitha Gages",ring1="Prolix Ring",
back="Swith Cape",waist="Witful Belt",legs="Orvail Pants +1",feet="Chelona Boots +1"}
sets.precast.FC.Cure = set_combine(sets.precast.FC, {body="Heka's Kalasiris"})
sets.precast.FC.EnhancingMagic = set_combine(sets.precast.FC, {waist="Siegel Sash"})
sets.precast.FC.BardSong = {head="Aoidos' Calot +2",neck="Aoidos' Matinee",
ear1="Aoidos' Earring",ear2="Loquac. Earring",body="Sha'ir Manteel",hands="Schellenband",
ring1="Prolix Ring",back="Swith Cape",waist="Witful Belt",legs="Gendewitha Spats",feet="Bokwus Boots"}
sets.precast.FC.Daurdabla = set_combine(sets.precast.FC.BardSong, {range="Daurdabla"})
-- Precast sets to enhance JAs
sets.precast.JA.Nightingale = {feet="Bard's Slippers +2"}
sets.precast.JA.Troubadour = {body="Bard's Justaucorps +2"}
sets.precast.JA['Soul Voice'] = {legs="Bard's Cannions +2"}
-- Waltz set (chr and vit)
sets.precast.Waltz = {range="Gjallarhorn",
head="Nahtirah Hat",
body="Gendewitha Bliaut",hands="Buremte Gloves",
back="Refraction Cape",legs="Gendewitha Spats",feet="Gendewitha Galoshes"}
-- Weaponskill sets
-- Default set for any weaponskill that isn't any more specifically defined
sets.precast.WS = {range="Gjallarhorn",
head="Nahtirah Hat",neck="Asperity Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
body="Bard's Justaucorps +2",hands="Buremte Gloves",ring1="Rajas Ring",ring2="K'ayres Ring",
back="Atheling Mantle",waist="Caudata Belt",legs="Gendewitha Spats",feet="Gendewitha Galoshes"}
-- Specific weaponskill sets. Uses the base set if an appropriate WSMod version isn't found.
sets.precast.WS['Evisceration'] = {
head="Nahtirah Hat",neck="Asperity Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
body="Bard's Justaucorps +2",hands="Buremte Gloves",ring1="Rajas Ring",ring2="K'ayres Ring",
back="Atheling Mantle",waist="Caudata Belt",legs="Gendewitha Spats",feet="Gendewitha Galoshes"}
sets.precast.WS['Exenterator'] = {
head="Nahtirah Hat",neck="Asperity Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
body="Bard's Justaucorps +2",hands="Buremte Gloves",ring1="Rajas Ring",ring2="K'ayres Ring",
back="Atheling Mantle",waist="Caudata Belt",legs="Gendewitha Spats",feet="Gendewitha Galoshes"}
sets.precast.WS['Mordant Rime'] = {range="Gjallarhorn",
head="Nahtirah Hat",neck="Asperity Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
body="Bard's Justaucorps +2",hands="Buremte Gloves",ring1="Rajas Ring",ring2="K'ayres Ring",
back="Atheling Mantle",waist="Caudata Belt",legs="Gendewitha Spats",feet="Gendewitha Galoshes"}
-- Midcast Sets
-- General set for recast times.
sets.midcast.FastRecast = {range="Angel Lyre",
head="Nahtirah Hat",ear2="Loquacious Earring",
body="Vanir Cotehardie",hands="Gendewitha Gages",ring1="Prolix Ring",
back="Swith Cape",waist="Goading Belt",legs="Gendewitha Spats",feet="Gendewitha Galoshes"}
-- Gear to enhance certain classes of songs. No instruments added here since Gjallarhorn is being used.
sets.midcast.Ballad = {legs="Aoidos' Rhing. +2",range="Crooner's Cithara"}
sets.midcast.Lullaby = {hands="Brioso Cuffs",range="Pan's Horn"}
sets.midcast.Madrigal = {head="Aoidos' Calot +2",range="Cantabank's Horn"}
sets.midcast.March = {hands="Aoidos' Manchettes +2",range="Faerie Piccolo"}
sets.midcast.Minuet = {body="Aoidos' Hongreline +2",range="Apollo's Flute"}
sets.midcast.Minne = {}
sets.midcast.Carol = {head="Aoidos' Calot +2",
body="Aoidos' Hongreline +2",hands="Aoidos' Manchettes +2",
legs="Aoidos' Rhing. +2",feet="Aoidos' Cothrn. +2"}
sets.midcast["Sentinel's Scherzo"] = {feet="Aoidos' Cothrn. +2"}
sets.midcast['Magic Finale'] = {neck="Wind Torque",waist="Corvax Sash",legs="Aoidos' Rhing. +2"}
sets.midcast.Mazurka = {range="Daurdabla"}
-- For song buffs (duration and AF3 set bonus)
sets.midcast.SongEffect = {main="Legato Dagger",range="Gjallarhorn",
head="Aoidos' Calot +2",neck="Aoidos' Matinee",ear2="Loquacious Earring",
body="Aoidos' Hongreline +2",hands="Aoidos' Manchettes +2",ring1="Prolix Ring",
back="Nexus Cape",waist="Corvax Sash",legs="Aoidos' Rhing. +2",feet="Aoidos' Cothrn. +2"}
-- For song defbuffs (duration primary, accuracy secondary)
sets.midcast.SongDebuff = {main="Legato Dagger",range="Gjallarhorn",
head="Nahtirah Hat",neck="Aoidos' Matinee",ear1="Psystorm Earring",ear2="Lifestorm Earring",
body="Brioso Justaucorps",hands="Aoidos' Manchettes +2",ring1="Prolix Ring",ring2="Sangoma Ring",
back="Balladeer's Cape",waist="Goading Belt",legs="Marduk's Shalwar +1",feet="Brioso Slippers"}
-- For song defbuffs (accuracy primary, duration secondary)
sets.midcast.ResistantSongDebuff = {main="Izhiikoh",range="Gjallarhorn",
head="Nahtirah Hat",neck="Barcarolle Medal",ear1="Psystorm Earring",ear2="Lifestorm Earring",
body="Brioso Justaucorps",hands="Aoidos' Manchettes +2",ring1="Prolix Ring",ring2="Sangoma Ring",
back="Balladeer's Cape",waist="Goading Belt",legs="Aoidos' Rhing. +2",feet="Bokwus Boots"}
-- Song-specific recast reduction
sets.midcast.SongRecast = {ear2="Loquacious Earring",
ring1="Prolix Ring",
back="Harmony Cape",waist="Corvax Sash",legs="Aoidos' Rhing. +2"}
--sets.midcast.Daurdabla = set_combine(sets.midcast.FastRecast, sets.midcast.SongRecast, {range="Daurdabla"})
-- Cast spell with normal gear, except using Daurdabla instead
sets.midcast.Daurdabla = {range="Daurdabla"}
-- Dummy song with Daurdabla; minimize duration to make it easy to overwrite.
sets.midcast.DaurdablaDummy = {main="Izhiikoh",range="Daurdabla",
head="Nahtirah Hat",neck="Wind Torque",ear1="Psystorm Earring",ear2="Lifestorm Earring",
body="Brioso Justaucorps",hands="Aoidos' Manchettes +2",ring1="Prolix Ring",ring2="Sangoma Ring",
back="Swith Cape",waist="Goading Belt",legs="Gendewitha Spats",feet="Bokwus Boots"}
-- Other general spells and classes.
sets.midcast.Cure = {main="Arka IV",sub='Achaq Grip',
head="Gendewitha Caubeen",
body="Gendewitha Bliaut",hands="Bokwus Gloves",ring1="Ephedra Ring",ring2="Sirona's Ring",
legs="Gendewitha Spats",feet="Gendewitha Galoshes"}
sets.midcast.Stoneskin = {
head="Nahtirah Hat",
body="Gendewitha Bliaut",hands="Gendewitha Gages",
legs="Gendewitha Spats",feet="Gendewitha Galoshes"}
sets.midcast.Cursna = {
neck="Malison Medallion",
hands="Hieros Mittens",ring1="Ephedra Ring"}
-- Sets to return to when not performing an action.
-- Resting sets
sets.resting = {main=gear.Staff.HMP,
body="Gendewitha Bliaut",
legs="Nares Trews",feet="Chelona Boots +1"}
-- Idle sets (default idle set not needed since the other three are defined, but leaving for testing purposes)
sets.idle = {main=gear.Staff.PDT, sub="Quire Grip",range="Oneiros Harp",
head="Gendewitha Caubeen",neck="Wiglen Gorget",ear1="Bloodgem Earring",ear2="Loquacious Earring",
body="Gendewitha Bliaut",hands="Gendewitha Gages",ring1="Paguroidea Ring",ring2="Sangoma Ring",
back="Umbra Cape",waist="Flume Belt",legs="Nares Trews",feet="Aoidos' Cothurnes +2"}
sets.idle.Town = {main=gear.Staff.PDT, sub="Quire Grip",range="Oneiros Harp",
head="Gendewitha Caubeen",neck="Wiglen Gorget",ear1="Bloodgem Earring",ear2="Loquacious Earring",
body="Gendewitha Bliaut",hands="Gendewitha Gages",ring1="Paguroidea Ring",ring2="Sangoma Ring",
back="Umbra Cape",waist="Flume Belt",legs="Nares Trews",feet="Aoidos' Cothurnes +2"}
sets.idle.Weak = {main=gear.Staff.PDT,sub="Quire Grip",range="Oneiros Harp",
head="Gendewitha Caubeen",neck="Twilight Torque",ear1="Bloodgem Earring",
body="Gendewitha Bliaut",hands="Gendewitha Gages",ring1="Dark Ring",ring2="Sangoma Ring",
back="Umbra Cape",waist="Flume Belt",legs="Gendewitha Spats",feet="Gendewitha Galoshes"}
-- Defense sets
sets.defense.PDT = {main=gear.Staff.PDT,sub="Quire Grip",
head="Gendewitha Caubeen",neck="Twilight Torque",
body="Gendewitha Bliaut",hands="Gendewitha Gages",ring1='Dark Ring',
back="Umbra Cape",waist="Flume Belt",legs="Gendewitha Spats",feet="Gendewitha Galoshes"}
sets.defense.MDT = {main=gear.Staff.PDT,sub="Quire Grip",
head="Nahtirah Hat",neck="Twilight Torque",
body="Gendewitha Bliaut",hands="Gendewitha Gages",ring1='Dark Ring',ring2="Shadow Ring",
back="Engulfer Cape",waist="Flume Belt",legs="Bokwus Slops",feet="Gendewitha Galoshes"}
sets.Kiting = {feet="Aoidos' Cothurnes +2"}
-- 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
-- Basic set for if no TP weapon is defined.
sets.engaged = {range="Angel Lyre",
head="Nahtirah Hat",neck="Asperity Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
body="Vanir Cotehardie",hands="Buremte Gloves",ring1="Rajas Ring",ring2="K'ayres Ring",
back="Atheling Mantle",waist="Goading Belt",legs="Gendewitha Spats",feet="Gendewitha Galoshes"}
-- Sets with weapons defined.
sets.engaged.Dagger = {range="Angel Lyre",
head="Nahtirah Hat",neck="Asperity Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
body="Vanir Cotehardie",hands="Buremte Gloves",ring1="Rajas Ring",ring2="K'ayres Ring",
back="Atheling Mantle",waist="Goading Belt",legs="Gendewitha Spats",feet="Gendewitha Galoshes"}
-- Set if dual-wielding
sets.engaged.DualWield = {range="Angel Lyre",
head="Nahtirah Hat",neck="Asperity Necklace",ear1="Dudgeon Earring",ear2="Heartseeker Earring",
body="Vanir Cotehardie",hands="Buremte Gloves",ring1="Rajas Ring",ring2="K'ayres Ring",
back="Atheling Mantle",waist="Goading Belt",legs="Gendewitha Spats",feet="Gendewitha Galoshes"}
end
Well I decided to try Bokura's BRD instead but to no avail, I'm getting the same again on precast it does not equip the Sha'ir Manteel and Schellenband. I'm just sitting in the equip menu and then type out a song to cast and it basically goes straight into midcast and that's all.
If someone knows why it's happening would be really nice, since it's kinda annoying me now, lol. Thanks.
Bismarck.Inference
Server: Bismarck
Game: FFXI
Posts: 417
By Bismarck.Inference 2014-03-17 03:13:37
As far as I know you cannot see the precast physically happen through the equip window. The way I would test would be something along the lines of putting your midcast gear for a certain slot(lets say hands) into your Mog Sack, then changing manually into something not part of your precast/aftercast sets. When you cast a song you should see it change your hands slot to the precast gear since it has nothing else to change to during the midcast phase. If this is the case, then trust that your precast is working.
Ragnarok.Kerah
Server: Ragnarok
Game: FFXI
Posts: 2
By Ragnarok.Kerah 2014-03-17 03:37:29
Well don't I feel silly, lol. It works perfectly, just moved the gear into sack and left precast only on me and what do you know, I end up in precast gear. Thanks so much, it was really starting to annoy me cause I thought it was broke, lol.
Server: Ragnarok
Game: FFXI
Posts: 50
By Ragnarok.Mswildfire 2014-03-17 06:07:50
So basically I'm using Mote's COR file, everything works fine except I can't get QD to fire for the life of me. I think I know what it is, but no matter how I change it I can't get it to work. Basically his lua has a bullet check in it for when you're low on ammo, but since he uses normal RA ammo and I want to use the Animikii Bullt I can't change the bullet count. I've tried 0 but it don't work, I've removed the 0 and it don't work either..
Line 51 and line 279-328 is where I find bullet checks.
Code -------------------------------------------------------------------------------------------------------------------
-- Initialization function that defines sets and variables to be used.
-------------------------------------------------------------------------------------------------------------------
-- IMPORTANT: Make sure to also get the Mote-Include.lua file to go with this.
--[[
gs c toggle luzaf -- Toggles use of Luzaf Ring on and off
Offense mode is melee or ranged. Used ranged offense mode if you are engaged
for ranged weaponskills, but not actually meleeing.
Acc on offense mode (which is intended for melee) will currently use .Acc weaponskill
mode for both melee and ranged weaponskills. Need to fix that in core.
--]]
-- Initialization function for this job file.
function get_sets()
-- Load and initialize the include file.
include('Mote-Include.lua')
end
-- Setup vars that are user-independent.
function job_setup()
-- Whether to use Luzaf's Ring
state.LuzafRing = false
state.warned = false
define_roll_values()
end
-- Setup vars that are user-dependent. Can override this function in a sidecar file.
function user_setup()
-- Options: Override default values
options.OffenseModes = {'Ranged', 'Melee', 'Acc'}
options.RangedModes = {'Normal', 'Acc'}
options.WeaponskillModes = {'Normal', 'Acc', 'Att', 'Mod'}
options.CastingModes = {'Normal', 'Resistant'}
options.IdleModes = {'Normal'}
options.RestingModes = {'Normal'}
options.PhysicalDefenseModes = {'PDT'}
options.MagicalDefenseModes = {'MDT'}
state.Defense.PhysicalMode = 'PDT'
gear.RAbullet = "Adlivun Bullet"
gear.WSbullet = "Adlivun Bullet"
gear.MAbullet = "Bronze Bullet"
gear.QDbullet = "Animikii Bullet"
options.ammo_warning_limit = 0
-- Additional local binds
-- Cor doesn't use hybrid defense mode; using that for ranged mode adjustments.
send_command('bind ^f9 gs c cycle RangedMode')
send_command('bind ^` input /ja "Double-up" <me>')
send_command('bind !` input /ja "Bolter\'s Roll" <me>')
-- Default macro set/book
set_macro_page(1, 19)
end
-- Called when this job file is unloaded (eg: job change)
function file_unload()
if binds_on_unload then
binds_on_unload()
end
send_command('unbind ^`')
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['Triple Shot'] = {body="Navarch's Frac +2"}
sets.precast.JA['Snake Eye'] = {legs="Commodore Culottes +2"}
sets.precast.JA['Wild Card'] = {feet="Commodore Bottes +2"}
sets.precast.JA['Random Deal'] = {body="Commodore Frac"}
sets.precast.CorsairRoll = {head="Commodore's Tricorne +2",hands="Navarch's Gants +2"}
sets.precast.CorsairRoll["Caster's Roll"] = set_combine(sets.precast.CorsairRoll, {legs="Navarch's Culottes +2"})
sets.precast.CorsairRoll["Courser's Roll"] = set_combine(sets.precast.CorsairRoll, {feet="Navarch's Bottes +2"})
sets.precast.CorsairRoll["Blitzer's Roll"] = set_combine(sets.precast.CorsairRoll, {head="Navarch's Tricorne +2"})
sets.precast.CorsairRoll["Tactician's Roll"] = set_combine(sets.precast.CorsairRoll, {body="Navarch's Frac +2"})
sets.precast.CorsairRoll["Allies' Roll"] = set_combine(sets.precast.CorsairRoll, {hands="Navarch's Gants +2"})
sets.precast.LuzafRing = {ring2="Luzaf's Ring"}
sets.precast.CorsairShot = {head="Blood Mask"}
-- Waltz set (chr and vit)
sets.precast.Waltz = {
head="Whirlpool Mask",
body="Iuitl Vest",hands="Iuitl Wristbands",
legs="Nahtirah Trousers",feet="Iuitl Gaiters +1"}
-- Don't need any special gear for Healing Waltz.
sets.precast.Waltz['Healing Waltz'] = {}
-- Fast cast sets for spells
sets.precast.FC = {head="Haruspex Hat",ear2="Loquacious Earring",hands="Thaumas Gloves",ring1="Prolix Ring"}
sets.precast.FC.Utsusemi = set_combine(sets.precast.FC, {neck="Magoraga Beads"})
sets.precast.RangedAttack = {ammo=gear.RAbullet,
head="Navarch's Tricorne +2",
body="Laksamana's Frac",hands="Iuitl Wristbands",
back="Navarch's Mantle",waist="Impulse Belt",legs="Nahtirah Trousers",feet="Wurrukatte Boots"}
-- Weaponskill sets
-- Default set for any weaponskill that isn't any more specifically defined
sets.precast.WS = {
head="Whirlpool Mask",neck=gear.ElementalGorget,ear1="Bladeborn Earring",ear2="Steelflash Earring",
body="Manibozho Jerkin",hands="Iuitl Wristbands",ring1="Rajas Ring",ring2="Epona's Ring",
back="Atheling Mantle",waist=gear.ElementalBelt,legs="Manibozho Brais",feet="Iuitl Gaiters +1"}
-- Specific weaponskill sets. Uses the base set if an appropriate WSMod version isn't found.
sets.precast.WS['Evisceration'] = sets.precast.WS
sets.precast.WS['Exenterator'] = set_combine(sets.precast.WS, {legs="Nahtirah Trousers"})
sets.precast.WS['Requiescat'] = set_combine(sets.precast.WS, {legs="Nahtirah Trousers"})
sets.precast.WS['Last Stand'] = {ammo=gear.WSbullet,
head="Whirlpool Mask",neck=gear.ElementalGorget,ear1="Clearview Earring",ear2="Moonshade Earring",
body="Laksamana's Frac",hands="Iuitl Wristbands",ring1="Rajas Ring",ring2="Stormsoul Ring",
back="Terebellum Mantle",waist=gear.ElementalBelt,legs="Nahtirah Trousers",feet="Iuitl Gaiters +1"}
sets.precast.WS['Last Stand'].Acc = {ammo=gear.WSbullet,
head="Laksamana's Hat",neck=gear.ElementalGorget,ear1="Clearview Earring",ear2="Moonshade Earring",
body="Laksamana's Frac",hands="Buremte Gloves",ring1="Hajduk Ring",ring2="Stormsoul Ring",
back="Libeccio Mantle",waist=gear.ElementalBelt,legs="Thurandaut Tights +1",feet="Laksamana's Bottes"}
sets.precast.WS['Wildfire'] = {ammo=gear.MAbullet,
head="Thaumas Hat",neck="Stoicheion Medal",ear1="Friomisi Earring",ear2="Hecate's Earring",
body="Manibozho Jerkin",hands="Iuitl Wristbands",ring1="Stormsoul Ring",ring2="Demon's Ring",
back="Toro Cape",waist=gear.ElementalBelt,legs="Iuitl Tights",feet="Iuitl Gaiters +1"}
sets.precast.WS['Wildfire'].Brew = {ammo=gear.MAbullet,
head="Thaumas Hat",neck="Stoicheion Medal",ear1="Friomisi Earring",ear2="Hecate's Earring",
body="Manibozho Jerkin",hands="Iuitl Wristbands",ring1="Stormsoul Ring",ring2="Demon's Ring",
back="Toro Cape",waist=gear.ElementalBelt,legs="Iuitl Tights",feet="Iuitl Gaiters +1"}
sets.precast.WS['Leaden Salute'] = sets.precast.WS['Wildfire']
-- Midcast Sets
sets.midcast.FastRecast = {
head="Whirlpool Mask",
body="Iuitl Vest",hands="Iuitl Wristbands",
legs="Manibozho Brais",feet="Iuitl Gaiters +1"}
-- Specific spells
sets.midcast.Utsusemi = sets.midcast.FastRecast
sets.midcast.CorsairShot = {ammo=gear.QDbullet,
head="Blood Mask",neck="Stoicheion Medal",ear1="Friomisi Earring",ear2="Hecate's Earring",
body="Laksamana's Frac",hands="Schutzen Mittens",ring1="Hajduk Ring",ring2="Demon's Ring",
back="Toro Cape",waist="Aquiline Belt",legs="Iuitl Tights",feet="Commodore Bottes +2"}
sets.midcast.CorsairShot.Acc = {ammo=gear.QDbullet,
head="Laksamana's Hat",neck="Stoicheion Medal",ear1="Lifestorm Earring",ear2="Psystorm Earring",
body="Laksamana's Frac",hands="Schutzen Mittens",ring1="Stormsoul Ring",ring2="Sangoma Ring",
back="Navarch's Mantle",waist="Aquiline Belt",legs="Iuitl Tights",feet="Iuitl Gaiters +1"}
sets.midcast.CorsairShot['Light Shot'] = {ammo=gear.QDbullet,
head="Laksamana's Hat",neck="Stoicheion Medal",ear1="Lifestorm Earring",ear2="Psystorm Earring",
body="Laksamana's Frac",hands="Schutzen Mittens",ring1="Stormsoul Ring",ring2="Sangoma Ring",
back="Navarch's Mantle",waist="Aquiline Belt",legs="Iuitl Tights",feet="Iuitl Gaiters +1"}
sets.midcast.CorsairShot['Dark Shot'] = sets.midcast.CorsairShot['Light Shot']
-- Ranged gear
sets.midcast.RangedAttack = {ammo=gear.RAbullet,
head="Whirlpool Mask",neck="Ocachi Gorget",ear1="Clearview Earring",ear2="Volley Earring",
body="Laksamana's Frac",hands="Iuitl Wristbands",ring1="Rajas Ring",ring2="Stormsoul Ring",
back="Terebellum Mantle",waist="Commodore Belt",legs="Nahtirah Trousers",feet="Iuitl Gaiters +1"}
sets.midcast.RangedAttack.Acc = {ammo=gear.RAbullet,
head="Laksamana's Hat",neck="Huani Collar",ear1="Clearview Earring",ear2="Volley Earring",
body="Laksamana's Frac",hands="Buremte Gloves",ring1="Hajduk Ring",ring2="Beeline Ring",
back="Libeccio Mantle",waist="Commodore Belt",legs="Thurandaut Tights +1",feet="Laksamana's Bottes"}
-- Sets to return to when not performing an action.
-- Resting sets
sets.resting = {neck="Wiglen Gorget",ring1="Sheltered Ring",ring2="Paguroidea Ring"}
-- Idle sets
sets.idle = {ammo=gear.RAbullet,
head="Whirlpool Mask",neck="Wiglen Gorget",ear1="Clearview Earring",ear2="Volley Earring",
body="Iuitl Vest",hands="Iuitl Wristbands",ring1="Sheltered Ring",ring2="Paguroidea Ring",
back="Shadow Mantle",waist="Flume Belt",legs="Nahtirah Trousers",feet="Skadi's Jambeaux +1"}
sets.idle.Town = {main="Surcouf's Jambiya",range="Eminent Gun",ammo=gear.RAbullet,
head="Laksamana's Hat",neck="Wiglen Gorget",ear1="Clearview Earring",ear2="Volley Earring",
body="Laksamana's Frac",hands="Iuitl Wristbands",ring1="Sheltered Ring",ring2="Paguroidea Ring",
back="Shadow Mantle",waist="Flume Belt",legs="Nahtirah Trousers",feet="Skadi's Jambeaux +1"}
-- Defense sets
sets.defense.PDT = {
head="Whirlpool Mask",neck="Twilight Torque",ear1="Clearview Earring",ear2="Volley Earring",
body="Iuitl Vest",hands="Iuitl Wristbands",ring1="Dark Ring",ring2="Dark Ring",
back="Shadow Mantle",waist="Flume Belt",legs="Nahtirah Trousers",feet="Iuitl Gaiters +1"}
sets.defense.MDT = {
head="Whirlpool Mask",neck="Twilight Torque",ear1="Clearview Earring",ear2="Volley Earring",
body="Iuitl Vest",hands="Iuitl Wristbands",ring1="Dark Ring",ring2="Shadow Ring",
back="Engulfer Cape",waist="Flume Belt",legs="Nahtirah Trousers",feet="Iuitl Gaiters +1"}
sets.Kiting = {feet="Skadi's Jambeaux +1"}
-- 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.Melee = {ammo=gear.RAbullet,
head="Whirlpool Mask",neck="Asperity Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
body="Iuitl Vest",hands="Iuitl Wristbands",ring1="Rajas Ring",ring2="Epona's Ring",
back="Atheling Mantle",waist="Windbuffet Belt",legs="Manibozho Brais",feet="Iuitl Gaiters +1"}
sets.engaged.Acc = {ammo=gear.RAbullet,
head="Whirlpool Mask",neck="Asperity Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
body="Iuitl Vest",hands="Iuitl Wristbands",ring1="Rajas Ring",ring2="Epona's Ring",
back="Atheling Mantle",waist="Hurch'lan Sash",legs="Manibozho Brais",feet="Iuitl Gaiters +1"}
sets.engaged.Melee.DW = {ammo=gear.RAbullet,
head="Whirlpool Mask",neck="Asperity Necklace",ear1="Dudgeon Earring",ear2="Heartseeker Earring",
body="Iuitl Vest",hands="Iuitl Wristbands",ring1="Rajas Ring",ring2="Epona's Ring",
back="Atheling Mantle",waist="Windbuffet Belt",legs="Manibozho Brais",feet="Iuitl Gaiters +1"}
sets.engaged.Acc.DW = {ammo=gear.RAbullet,
head="Whirlpool Mask",neck="Asperity Necklace",ear1="Dudgeon Earring",ear2="Heartseeker Earring",
body="Iuitl Vest",hands="Iuitl Wristbands",ring1="Rajas Ring",ring2="Epona's Ring",
back="Atheling Mantle",waist="Hurch'lan Sash",legs="Manibozho Brais",feet="Iuitl Gaiters +1"}
sets.engaged.Ranged = {ammo=gear.RAbullet,
head="Whirlpool Mask",neck="Twilight Torque",ear1="Clearview Earring",ear2="Volley Earring",
body="Iuitl Vest",hands="Iuitl Wristbands",ring1="Dark Ring",ring2="Dark Ring",
back="Shadow Mantle",waist="Flume Belt",legs="Nahtirah Trousers",feet="Iuitl Gaiters +1"}
end
-------------------------------------------------------------------------------------------------------------------
-- Job-specific hooks that are called to process player actions at specific points in time.
-------------------------------------------------------------------------------------------------------------------
-- Set eventArgs.handled to true if we don't want any automatic gear equipping to be done.
-- Set eventArgs.useMidcastGear to true if we want midcast gear equipped on precast.
function job_precast(spell, action, spellMap, eventArgs)
-- bullet checks
local check_bullet
local check_bullet_count = 0
if spell.type == 'WeaponSkill' and bow_gun_weaponskills:contains(spell.english) then
if spell.element == 'None' then
-- physical weaponskills
check_bullet = gear.WSbullet
else
-- magical weaponskills
check_bullet = gear.MAbullet
end
elseif spell.type == 'CorsairShot' then
check_bullet = gear.QDbullet
elseif spell.action_type == 'Ranged Attack' then
check_bullet = gear.RAbullet
if buffactive['Triple Shot'] then
check_bullet_count = 3
end
end
if check_bullet then
if not player.inventory[check_bullet] then
if spell.type == 'CorsairShot' and player.equipment.ammo ~= 'empty' then
add_to_chat(104, 'No Quick Draw ammo left. Using what\'s currently equipped ('..player.equipment.ammo..').')
else
add_to_chat(104, 'No ammo available for that action.')
eventArgs.cancel = true
return
end
end
if spell.type ~= 'CorsairShot' then
if check_bullet == gear.QDbullet and
player.inventory[check_bullet].count <= check_bullet_count then
add_to_chat(104, 'No ammo will be left for Quick Draw. Cancelling.')
eventArgs.cancel = true
return
end
if player.inventory[check_bullet].count <= options.ammo_warning_limit and
player.inventory[check_bullet].count > 1 and not state.warned then
add_to_chat(104, '*****************************')
add_to_chat(104, '***** LOW AMMO WARNING *****')
add_to_chat(104, '*****************************')
state.warned = true
elseif player.inventory[check_bullet].count > options.ammo_warning_limit and state.warned then
state.warned = false
end
end
end
-- gear sets
if (spell.type == 'CorsairRoll' or spell.english == "Double-Up") and state.LuzafRing then
equip(sets.precast.LuzafRing)
elseif spell.type == 'CorsairShot' and state.CastingMode == 'Resistant' then
classes.CustomClass = 'Acc'
elseif spell.type == 'Waltz' then
refine_waltz(spell, action, spellMap, eventArgs)
end
end
-- Set eventArgs.handled to true if we don't want any automatic gear equipping to be done.
function job_aftercast(spell, action, spellMap, eventArgs)
if spell.type == 'CorsairRoll' and not spell.interrupted then
display_roll_info(spell)
end
end
-------------------------------------------------------------------------------------------------------------------
-- Customization hooks for idle and melee sets, after they've been automatically constructed.
-------------------------------------------------------------------------------------------------------------------
-- Return a customized weaponskill mode to use for weaponskill sets.
-- Don't return anything if you're not overriding the default value.
function get_custom_wsmode(spell, action, spellMap)
if buffactive['Transcendancy'] then
return 'Brew'
end
end
-------------------------------------------------------------------------------------------------------------------
-- General hooks for other events.
-------------------------------------------------------------------------------------------------------------------
-- Called when the player's status changes.
function job_status_change(newStatus, oldStatus, eventArgs)
if newStatus == 'Engaged' and player.equipment.main == 'Chatoyant Staff' then
state.OffenseMode = 'Ranged'
end
end
-- 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)
end
-------------------------------------------------------------------------------------------------------------------
-- User code that supplements self-commands.
-------------------------------------------------------------------------------------------------------------------
-- Called by the 'update' self-command, for common needs.
-- Set eventArgs.handled to true if we don't want automatic equipping of gear.
function job_update(cmdParams, eventArgs)
if newStatus == 'Engaged' and player.equipment.main == 'Chatoyant Staff' then
state.OffenseMode = 'Ranged'
end
end
-- Job-specific toggles.
function job_toggle(field)
if field:lower() == 'luzaf' then
state.LuzafRing = not state.LuzafRing
return "Use of Luzaf Ring", state.LuzafRing
end
end
-- Set eventArgs.handled to true if we don't want the automatic display to be run.
function display_current_job_state(eventArgs)
local defenseString = ''
if state.Defense.Active then
local defMode = state.Defense.PhysicalMode
if state.Defense.Type == 'Magical' then
defMode = state.Defense.MagicalMode
end
defenseString = 'Defense: '..state.Defense.Type..' '..defMode..', '
end
local rollsize = 'Small'
if state.LuzafRing then
rollsize = 'Large'
end
local pcTarget = ''
if state.PCTargetMode ~= 'default' then
pcTarget = ', Target PC: '..state.PCTargetMode
end
local npcTarget = ''
if state.SelectNPCTargets then
pcTarget = ', Target NPCs'
end
add_to_chat(122,'Offense: '..state.OffenseMode..', Ranged: '..state.RangedMode..', WS: '..state.WeaponskillMode..
', Quick Draw: '..state.CastingMode..', '..defenseString..'Kiting: '..on_off_names[state.Kiting]..
', Roll Size: '..rollsize..pcTarget..npcTarget)
eventArgs.handled = true
end
-------------------------------------------------------------------------------------------------------------------
-- Utility functions specific to this job.
-------------------------------------------------------------------------------------------------------------------
function define_roll_values()
rolls = {
["Corsair's Roll"] = {lucky=5, unlucky=9, bonus="Experience Points"},
["Ninja Roll"] = {lucky=4, unlucky=8, bonus="Evasion"},
["Hunter's Roll"] = {lucky=4, unlucky=8, bonus="Accuracy"},
["Chaos Roll"] = {lucky=4, unlucky=8, bonus="Attack"},
["Magus's Roll"] = {lucky=2, unlucky=6, bonus="Magic Defense"},
["Healer's Roll"] = {lucky=3, unlucky=7, bonus="Cure Potency Received"},
["Puppet Roll"] = {lucky=4, unlucky=8, bonus="Pet Magic Accuracy/Attack"},
["Choral Roll"] = {lucky=2, unlucky=6, bonus="Spell Interruption Rate"},
["Monk's Roll"] = {lucky=3, unlucky=7, bonus="Subtle Blow"},
["Beast Roll"] = {lucky=4, unlucky=8, bonus="Pet Attack"},
["Samurai Roll"] = {lucky=2, unlucky=6, bonus="Store TP"},
["Evoker's Roll"] = {lucky=5, unlucky=9, bonus="Refresh"},
["Rogue's Roll"] = {lucky=5, unlucky=9, bonus="Critical Hit Rate"},
["Warlock's Roll"] = {lucky=4, unlucky=8, bonus="Magic Accuracy"},
["Fighter's Roll"] = {lucky=5, unlucky=9, bonus="Double Attack Rate"},
["Drachen Roll"] = {lucky=3, unlucky=7, bonus="Pet Accuracy"},
["Gallant's Roll"] = {lucky=3, unlucky=7, bonus="Defense"},
["Wizard's Roll"] = {lucky=5, unlucky=9, bonus="Magic Attack"},
["Dancer's Roll"] = {lucky=3, unlucky=7, bonus="Regen"},
["Scholar's Roll"] = {lucky=2, unlucky=6, bonus="Conserve MP"},
["Bolter's Roll"] = {lucky=3, unlucky=9, bonus="Movement Speed"},
["Caster's Roll"] = {lucky=2, unlucky=7, bonus="Fast Cast"},
["Courser's Roll"] = {lucky=3, unlucky=9, bonus="Snapshot"},
["Blitzer's Roll"] = {lucky=4, unlucky=9, bonus="Attack Delay"},
["Tactician's Roll"] = {lucky=5, unlucky=8, bonus="Regain"},
["Allies's Roll"] = {lucky=3, unlucky=10, bonus="Skillchain Damage"},
["Miser's Roll"] = {lucky=5, unlucky=7, bonus="Save TP"},
["Companion's Roll"] = {lucky=2, unlucky=10, bonus="Pet Regain and Regen"},
["Avenger's Roll"] = {lucky=4, unlucky=8, bonus="Counter Rate"},
}
end
function display_roll_info(spell)
rollinfo = rolls[spell.english]
local rollsize = 'Small'
if state.LuzafRing then
rollsize = 'Large'
end
if rollinfo then
add_to_chat(104, spell.english..' provides a bonus to '..rollinfo.bonus..'. Roll size: '..rollsize)
add_to_chat(104, 'Lucky roll is '..tostring(rollinfo.lucky)..', Unlucky roll is '..tostring(rollinfo.unlucky)..'.')
end
end
Edit: Nvm I finally fixed it, I'm totally dumb.
Asura.Psylo
Server: Asura
Game: FFXI
Posts: 446
By Asura.Psylo 2014-03-18 16:29:16
I have still a problem with mote include and mote rdm gearswap files with my sleepga ><
No hints ?
Asura.Psylo
Server: Asura
Game: FFXI
Posts: 446
By Asura.Psylo 2014-03-19 14:01:53
Problem solve, was gearswap version \o/
Leviathan.Lunazetha
Server: Leviathan
Game: FFXI
Posts: 136
By Leviathan.Lunazetha 2014-03-22 23:56:42
Hello i need some help:
im trying to use Motente PLD GSfile
but can not do the syntax for self-command on PDT and MDT
its there somewhere a guide to make a GS file from zero?
i do want to learn how to make my own files since Monte ones are so pro and im learning how to use GS
Server: Odin
Game: FFXI
Posts: 943
By Odin.Calipso 2014-03-23 00:57:00
Sorry for super noobie questions, just started checking out GS today ssooooooooo.
I started editing some files from this site (https://github.com/Kinematics/GearSwap-Jobs).
There's different idle and defense sets, but I have no clue how to to toggle them, of if they somehow do it automatically.
Also, how would I go about writing a rule to use Terras/Oneiros grip under 75% mp? Is there an easy way to write a rule for dia only so that it'll equip my th belt in the cast?
Thanks~
Bismarck.Inference
Server: Bismarck
Game: FFXI
Posts: 417
By Bismarck.Inference 2014-03-23 02:27:39
There's different idle and defense sets, but I have no clue how to to toggle them, of if they somehow do it automatically.
Also, how would I go about writing a rule to use Terras/Oneiros grip under 75% mp? Is there an easy way to write a rule for dia only so that it'll equip my th belt in the cast?
Idle modes can be cycled with CTRL+F12, if you have those(there are a few idles in each job but I believe those update themselves based on Town/Field/Weakness as opposed to actual toggling).
Other cycles :
F9=Cycle Offense Mode
Ctrl F9=Cycle Defense Mode
Alt F9=Cycle Weaponskill Mode
F10=Equip PDT
CTRL F10=cycle PDT mode(PDT, HP, etc)
ALT F10=Toggle Kiting
F11=MDT
CTRL F11=Cycle Casting Mode
Alt F11=set Dire casting mode(not sure what this means!)
F12=echos what modes are currently cycled in
CTRL F12=cycle Idle mode
Atl F12=reset defense(I hit F10 to go into ohshit gear, I would hit Alt F12 to revert back to whatever my normal TP mode is)
Keep in mind, you don't switch gear during weaponskills when defense is activated.
As for Dia, making sets.midcast.Dia or sets.midcast['Dia III'] under your midcasts would probably do the trick, I'm not 100% sure the hierarchy Mote uses but if spell.english is a pretty big staple of most GearSwaps, and he has a Dia midcast in the RDM file for relic hat and such, so I imagine it would work in other jobs.
As for Oneiros, player.mpp is the command for MP% check. I would make an additional aftercast set for your Onerios/Terra, then just stick if player.mpp<75 then
equip(sets.Idle.Onerios)
else
equip(sets.Idle.NotOnerios)
in your aftercast function...however with a Mote file I can't really say where you would put that.
Server: Odin
Game: FFXI
Posts: 943
By Odin.Calipso 2014-03-23 05:34:58
Thanks, I got the Oneiros stuff to work, and it seems like all my other whm stuff is working well.
Editing up the brd one now... how would you go about editing in Magian damage staves for different songs? :/(I use them instead of Felibres b/c they have 14% casting time opposed to 6%)
Leviathan.Lunazetha
Server: Leviathan
Game: FFXI
Posts: 136
By Leviathan.Lunazetha 2014-03-23 20:13:48
OMG Motente you are awesome like how GD work whit FKeys
Thx Inference for that info i was all lost.
Server: Asura
Game: FFXI
Posts: 415
By Asura.Cambion 2014-03-23 20:25:09
Thanks, I got the Oneiros stuff to work, and it seems like all my other whm stuff is working well.
Editing up the brd one now... how would you go about editing in Magian damage staves for different songs? :/(I use them instead of Felibres b/c they have 14% casting time opposed to 6%) Code -- Gear to enhance certain classes of songs. No instruments added here since Gjallarhorn is being used.
sets.midcast.Ballad = {legs="Aoidos' Rhing. +2", range="Crooner's Cithara"}
sets.midcast.Lullaby = {hands="Brioso Cuffs"}
sets.midcast.Madrigal = {head="Aoidos' Calot +2"}
sets.midcast.March = {hands="Aoidos' Manchettes +2", range="Faerie Piccolo"}
sets.midcast.Minuet = {body="Aoidos' Hongreline +2", range="Apollo's Flute"}
sets.midcast.Minne = {}
sets.midcast.Carol = {head="Aoidos' Calot +2",
body="Aoidos' Hongreline +2",hands="Aoidos' Manchettes +2",
legs="Aoidos' Rhing. +2",feet="Aoidos' Cothrn. +2"}
sets.midcast["Sentinel's Scherzo"] = {feet="Aoidos' Cothrn. +2"}
sets.midcast['Magic Finale'] = {neck="Wind Torque",waist="Corvax Sash",legs="Aoidos' Rhing. +2"}
Find that section of the lua, and add your staves inside the {}
Then delete the Main from the pre and midcast sets:
Code sets.precast.FC.BardSong = {main="Felibre's Dague",range="Gjallarhorn",
head="Aoidos' Calot +1",neck="Aoidos' Matinee",ear1="Aoidos' Earring",ear2="Loquac. Earring",
body="Praeco Doublet",hands="Gendewitha Gages",
back="Swith Cape",waist="Aoidos' Belt",legs="Gendewitha Spats",feet="Bokwus Boots"}
-- For song buffs (duration and AF3 set bonus)
sets.midcast.SongEffect = {main="Legato Dagger",
head="Aoidos' Calot +1",neck="Aoidos' Matinee",ear2="Loquacious Earring",
body="Aoidos' Hngrln. +2",hands="Gendewitha Gages",
back="Oretania's Cape",waist="Aoidos' Belt",legs="Gendewitha Spats",feet="Bihu Slippers"}
Ignore my gimp Brd Mule stuff, lol.
Cerberus.Conagh
Server: Cerberus
Game: FFXI
Posts: 3189
By Cerberus.Conagh 2014-03-27 20:15:45
Whats the change spell command for Gearswap IE
I want to Change Cure3 to Curaga3 etc?
Thanks
Lakshmi.Byrth
VIP
Server: Lakshmi
Game: FFXI
Posts: 6189
By Lakshmi.Byrth 2014-03-27 21:37:10
cancel_spell()
send_command('curaga3 '..spell.target)
Fenrir.Greever
Server: Fenrir
Game: FFXI
Posts: 67
By Fenrir.Greever 2014-03-30 20:04:48
I need a bit of help concerning a GS for rng.
it is originally from http://pastebin.com/u/KBeezie, and ive been modifying it for my needs.
when i try to load it i get the error: /rng_gear.lua:83: attempt to index field 'precast' (a nil value)
Code sets.precast.WS = set_combine(sets.midcast.RangedAttack, {head="orion beret+1",hands="orion Bracers +1",
ear1="Flame pearl",ear2="moonshade earring",ring1="pyrosoul ring",waist="Pipilaka belt", neck="Ocachi gorget"})
sets.precast.WS['Last Stand'] = set_combine(sets.precast.WS, {
neck="light gorget",waist="flame belt",ear1="moonshade earring",ear2="Clearview earring",ring1="solemn Ring", ring2="rajas ring"})
sets.precast.WS['Last Stand'].acc= set_combine(set.precast.WS, {
neck="light gorget", Waist="flame belt", legs="orion braccae",ring1="hajduk ring",ring2="hajduk ring"})
sets.precast.WS['Coronach'] = set_combine(set.precast.ws, {ear2="clearview earring"})
sets.precast.WS['Coronach'].Acc = set_combine(set.precast.ws['Coronach'], {
ring1="hajduk ring", ring2="hajduk ring", neck="breeze gorget",waist="breeze belt", legs="orion Braccae"})
sets.precast.WS['Jishnus Radiance'] = set_combine(set.precast.ws, {neck="light gorget", waist="flame belt"})
Sets.precast.WS['Jishnus Radiance'] = set_combine(set.precast.ws, {
neck="light gorget", waist="flame belt",ring1="hajduk ring",ring2="hajduk ring",legs="orion Braccae"})
set.precast.ws['Namas Arrow'] = set_combine(set.precast.ws, {ear2="clearview earring"})
set.precast.ws['Namas Arrow'] = set_combine(set.precast.ws, {ear2="clearview earring", neck="light gorget", waist="flame belt", ring1="hajduk ring", ring2"hajduk ring", legs="orion braccae"})
I am fairly new to gear swap and im not sure where im going wrong here.
Quetzalcoatl.Orestes
Server: Quetzalcoatl
Game: FFXI
Posts: 430
By Quetzalcoatl.Orestes 2014-03-30 20:13:20
I need a bit of help concerning a GS for rng.
it is originally from http://pastebin.com/u/KBeezie, and ive been modifying it for my needs.
when i try to load it i get the error: /rng_gear.lua:83: attempt to index field 'precast' (a nil value)
Code sets.precast.WS = set_combine(sets.midcast.RangedAttack, {head="orion beret+1",hands="orion Bracers +1",
ear1="Flame pearl",ear2="moonshade earring",ring1="pyrosoul ring",waist="Pipilaka belt", neck="Ocachi gorget"})
sets.precast.WS['Last Stand'] = set_combine(sets.precast.WS, {
neck="light gorget",waist="flame belt",ear1="moonshade earring",ear2="Clearview earring",ring1="solemn Ring", ring2="rajas ring"})
sets.precast.WS['Last Stand'].acc= set_combine(set.precast.WS, {
neck="light gorget", Waist="flame belt", legs="orion braccae",ring1="hajduk ring",ring2="hajduk ring"})
sets.precast.WS['Coronach'] = set_combine(set.precast.ws, {ear2="clearview earring"})
sets.precast.WS['Coronach'].Acc = set_combine(set.precast.ws['Coronach'], {
ring1="hajduk ring", ring2="hajduk ring", neck="breeze gorget",waist="breeze belt", legs="orion Braccae"})
sets.precast.WS['Jishnus Radiance'] = set_combine(set.precast.ws, {neck="light gorget", waist="flame belt"})
Sets.precast.WS['Jishnus Radiance'] = set_combine(set.precast.ws, {
neck="light gorget", waist="flame belt",ring1="hajduk ring",ring2="hajduk ring",legs="orion Braccae"})
set.precast.ws['Namas Arrow'] = set_combine(set.precast.ws, {ear2="clearview earring"})
set.precast.ws['Namas Arrow'] = set_combine(set.precast.ws, {ear2="clearview earring", neck="light gorget", waist="flame belt", ring1="hajduk ring", ring2"hajduk ring", legs="orion braccae"})
I am fairly new to gear swap and im not sure where im going wrong here.
You have several inconsistencies in your naming convention.
For example, you have this.
sets.precast.WS, and sets.precast.ws
I also see.
sets.precast.WS['Coronach'].Acc and sets.precast.WS['Last Stand'].acc
Table names are case sensitive.
HTH
Ragnarok.Flippant
Server: Ragnarok
Game: FFXI
Posts: 660
By Ragnarok.Flippant 2014-03-30 20:13:58
This error means that it's trying to add an element to a table that doesn't exist. You'll need to instantiate the precast table first. You can just add
sets.precast = {} anywhere before those sets.
Bismarck.Speedyjim
Server: Bismarck
Game: FFXI
Posts: 516
By Bismarck.Speedyjim 2014-03-30 20:14:31
Post your entire lua file. Error is on line 83 and likely others as mentioned above.
Fenrir.Greever
Server: Fenrir
Game: FFXI
Posts: 67
By Fenrir.Greever 2014-03-30 20:14:34
oh ok. didnt know it was case sensitive. Guess im too used to spellcast lol.
Thank you, Ill try that right now
Fenrir.Greever
Server: Fenrir
Game: FFXI
Posts: 67
By Fenrir.Greever 2014-03-30 20:35:27
ok that didnt work. I added the sets.precast={} and now its giving the same error except replace precast with WS
here is the entire file
Code function init_gear_sets()
-- Overriding Global Defaults for this job
-- gear.Staff = {} no need to set this, it's already set
gear.Staff.PDT = ""
gear.default.weaponskill_neck = ""
gear.default.weaponskill_waist = ""
-- List of ammunition that should only be used under unlimited shot
U_Shot_Ammo = S{'Achiyal. Arrow','Achiyal. Bullet'}
-- Simply add a line of DefaultAmmo["Weapon"] = "Ammo Name"
DefaultAmmo = {}
DefaultAmmo["Yoichinoyumi"] = "Achiyal. Arrow"
DefaultAmmo["Annihilator"] = "Achiyal. Bullet"
add_to_chat(123,'sidecar load')
-- Default macro set/book
set_macro_page(5,1)
-- Options: Override default values
options.OffenseModes = {'Normal', 'Acc', 'TP'}
options.RangedModes = {'Normal', 'Acc', 'TP', 'TPAcc'}
options.DefenseModes = {'Normal', 'PDT'}
options.WeaponskillModes = {'Normal', 'Acc'}
options.PhysicalDefenseModes = {'PDT'}
options.MagicalDefenseModes = {'MDT'}
state.Defense.PhysicalMode = 'PDT'
-- Misc. Job Ability precasts
sets.precast.Step = {ear2=""}
sets.precast.JA['Bounty Shot'] = {hands="Sylvan Glovelettes +2"}
sets.precast.JA['Scavenge'] = {feet="Orion Socks +1"}
sets.precast.JA['Sharpshot'] = {legs="orion braccae"}
sets.precast.JA['double shot'] = {head="Sylvan Gapette +2"}
-- Idle Set (My 'base')
sets.idle = {
head="Arcadian Beret",neck="Twilight Torque",ear1="Volley Earring",ear2="Clearview Earring",
body="Sylvan Caban +2",hands="Sigyn's Bazubands",ring1="Dark Ring",ring2="Dark Ring",
back="Shadow Mantle",waist="Scout's Belt",legs="Sylvan Bragues +2",feet="Fajin Boots"}
-- Engaged sets
sets.engaged = set_combine(sets.idle, {
head="Whirlpool mask",Body="Thaumas Coat",hands="manibozho gloves",neck="Asperity Necklace",ear1="Steelflash Earring",ear2="Bladeborn Earring",
ring1="Epona's ring",ring2="Rajas Ring",back="Atheling Mantle",legs="manibozho Brais",waist="Windbuffet Belt",feet="manibozho Boots"})
sets.engaged.Acc = set_combine(sets.engaged, {
neck="peacock charm",
back="Attacker's mantle"})
sets.engaged.TP = set_combine(sets.engaged, {
})
-- Ranged Attack
sets.precast.RangedAttack = set_combine(sets.idle, {
head="Sylvan Gapette +2",
body="Sylvan Caban +2",hands="Iuitl Wristbands",
waist="Impulse Belt",pants="Nahtirah Trousers",feet="Wurrukatte Boots"})
sets.midcast.RangedAttack = set_combine(sets.idle, {
head="Arcadian Beret",neck="Ocachi Gorget",
Body="Orion Jerkin +1", hands="Sigyn's Bazubands",ring1="Paqichikaji ring",ring2="Rajas Ring",
back="Lutian Cape",waist="Scout's Belt",legs="Nahtirah Trousers",feet="orion socks +1"})
sets.midcast.RangedAttack.Acc = set_combine(sets.midcast.RangedAttack, {
neck="peacock Charm",
ring1="Hajduk Ring",ring2="hajduk ring",
pants="Orion Braccae"})
sets.midcast.RangedAttack.TP = set_combine(sets.midcast.RangedAttack, {
head="Scout's Beret +2",back="Sylvan Chlamys"})
sets.midcast.RangedAttack.TPAcc = set_combine(sets.midcast.RangedAttack.acc, {
head="Scout's Beret +2"})
-- Weaponskill sets
sets.precast.WS = set_combine(sets.midcast.RangedAttack, {head="orion beret+1",hands="orion Bracers +1",
ear1="Flame pearl",ear2="moonshade earring",ring1="pyrosoul ring",waist="Pipilaka belt", neck="Ocachi gorget"})
sets.precast={}
sets.precast.WS['Last Stand'] = set_combine(sets.precast.WS, {neck="light gorget",waist="flame belt",ear1="moonshade earring",ear2="Clearview earring",ring1="solemn Ring", ring2="rajas ring"})
sets.precast.WS['Last Stand'].Acc= set_combine(set.precast.WS['Last Stand'], {neck="light gorget", Waist="flame belt", legs="orion braccae",ring1="hajduk ring",ring2="hajduk ring"})
sets.precast.WS['Coronach'] = set_combine(set.precast.WS, {ear2="clearview earring"})
sets.precast.WS['Coronach'].Acc = set_combine(set.precast.WS, {ring1="hajduk ring", ring2="hajduk ring", neck="breeze gorget",waist="breeze belt", legs="orion Braccae"})
sets.precast.WS['Jishnus Radiance'] = set_combine(set.precast.WS, {neck="light gorget", waist="flame belt"})
Sets.precast.WS['Jishnus Radiance'] = set_combine(set.precast.WS, {neck="light gorget", waist="flame belt",ring1="hajduk ring",ring2="hajduk ring",legs="orion Braccae"})
set.precast.WS['Namas Arrow'] = set_combine(set.precast.WS, {ear2="clearview earring"})
set.precast.WS['Namas Arrow'].Acc = set_combine(set.precast.WS, {ear2="clearview earring", neck="light gorget", waist="flame belt", ring1="hajduk ring", ring2"hajduk ring", legs="orion braccae"})
-- Resting sets
sets.resting = {}
-- Defense sets
sets.defense.PDT = set_combine(sets.idle, {})
sets.defense.MDT = set_combine(sets.idle, {})
sets.Kiting = {feet="Fajin Boots"}
-- Barrage Set
sets.BarrageMid = set_combine(sets.midcast.RangedAttack.Acc, {
hands="Orion Bracers",legs="Desultor Tassets"})
end
function file_unload()
-- If you need any custom unload for this job/user
end
*edit*
If i delete all of the WS code from line 83 to 102 the file works.
*edit2*
after some trial and error, i found that line 86 will work and allow the file to load, but every other ws line will give me the error.
Quetzalcoatl.Orestes
Server: Quetzalcoatl
Game: FFXI
Posts: 430
By Quetzalcoatl.Orestes 2014-03-30 21:20:00
ok that didnt work. I added the sets.precast={} and now its giving the same error except replace precast with WS
here is the entire file
Code function init_gear_sets()
-- Overriding Global Defaults for this job
-- gear.Staff = {} no need to set this, it's already set
gear.Staff.PDT = ""
gear.default.weaponskill_neck = ""
gear.default.weaponskill_waist = ""
-- List of ammunition that should only be used under unlimited shot
U_Shot_Ammo = S{'Achiyal. Arrow','Achiyal. Bullet'}
-- Simply add a line of DefaultAmmo["Weapon"] = "Ammo Name"
DefaultAmmo = {}
DefaultAmmo["Yoichinoyumi"] = "Achiyal. Arrow"
DefaultAmmo["Annihilator"] = "Achiyal. Bullet"
add_to_chat(123,'sidecar load')
-- Default macro set/book
set_macro_page(5,1)
-- Options: Override default values
options.OffenseModes = {'Normal', 'Acc', 'TP'}
options.RangedModes = {'Normal', 'Acc', 'TP', 'TPAcc'}
options.DefenseModes = {'Normal', 'PDT'}
options.WeaponskillModes = {'Normal', 'Acc'}
options.PhysicalDefenseModes = {'PDT'}
options.MagicalDefenseModes = {'MDT'}
state.Defense.PhysicalMode = 'PDT'
-- Misc. Job Ability precasts
sets.precast.Step = {ear2=""}
sets.precast.JA['Bounty Shot'] = {hands="Sylvan Glovelettes +2"}
sets.precast.JA['Scavenge'] = {feet="Orion Socks +1"}
sets.precast.JA['Sharpshot'] = {legs="orion braccae"}
sets.precast.JA['double shot'] = {head="Sylvan Gapette +2"}
-- Idle Set (My 'base')
sets.idle = {
head="Arcadian Beret",neck="Twilight Torque",ear1="Volley Earring",ear2="Clearview Earring",
body="Sylvan Caban +2",hands="Sigyn's Bazubands",ring1="Dark Ring",ring2="Dark Ring",
back="Shadow Mantle",waist="Scout's Belt",legs="Sylvan Bragues +2",feet="Fajin Boots"}
-- Engaged sets
sets.engaged = set_combine(sets.idle, {
head="Whirlpool mask",Body="Thaumas Coat",hands="manibozho gloves",neck="Asperity Necklace",ear1="Steelflash Earring",ear2="Bladeborn Earring",
ring1="Epona's ring",ring2="Rajas Ring",back="Atheling Mantle",legs="manibozho Brais",waist="Windbuffet Belt",feet="manibozho Boots"})
sets.engaged.Acc = set_combine(sets.engaged, {
neck="peacock charm",
back="Attacker's mantle"})
sets.engaged.TP = set_combine(sets.engaged, {
})
-- Ranged Attack
sets.precast.RangedAttack = set_combine(sets.idle, {
head="Sylvan Gapette +2",
body="Sylvan Caban +2",hands="Iuitl Wristbands",
waist="Impulse Belt",pants="Nahtirah Trousers",feet="Wurrukatte Boots"})
sets.midcast.RangedAttack = set_combine(sets.idle, {
head="Arcadian Beret",neck="Ocachi Gorget",
Body="Orion Jerkin +1", hands="Sigyn's Bazubands",ring1="Paqichikaji ring",ring2="Rajas Ring",
back="Lutian Cape",waist="Scout's Belt",legs="Nahtirah Trousers",feet="orion socks +1"})
sets.midcast.RangedAttack.Acc = set_combine(sets.midcast.RangedAttack, {
neck="peacock Charm",
ring1="Hajduk Ring",ring2="hajduk ring",
pants="Orion Braccae"})
sets.midcast.RangedAttack.TP = set_combine(sets.midcast.RangedAttack, {
head="Scout's Beret +2",back="Sylvan Chlamys"})
sets.midcast.RangedAttack.TPAcc = set_combine(sets.midcast.RangedAttack.acc, {
head="Scout's Beret +2"})
-- Weaponskill sets
sets.precast.WS = set_combine(sets.midcast.RangedAttack, {head="orion beret+1",hands="orion Bracers +1",
ear1="Flame pearl",ear2="moonshade earring",ring1="pyrosoul ring",waist="Pipilaka belt", neck="Ocachi gorget"})
sets.precast={}
sets.precast.WS['Last Stand'] = set_combine(sets.precast.WS, {neck="light gorget",waist="flame belt",ear1="moonshade earring",ear2="Clearview earring",ring1="solemn Ring", ring2="rajas ring"})
sets.precast.WS['Last Stand'].Acc= set_combine(set.precast.WS['Last Stand'], {neck="light gorget", Waist="flame belt", legs="orion braccae",ring1="hajduk ring",ring2="hajduk ring"})
sets.precast.WS['Coronach'] = set_combine(set.precast.WS, {ear2="clearview earring"})
sets.precast.WS['Coronach'].Acc = set_combine(set.precast.WS, {ring1="hajduk ring", ring2="hajduk ring", neck="breeze gorget",waist="breeze belt", legs="orion Braccae"})
sets.precast.WS['Jishnus Radiance'] = set_combine(set.precast.WS, {neck="light gorget", waist="flame belt"})
Sets.precast.WS['Jishnus Radiance'] = set_combine(set.precast.WS, {neck="light gorget", waist="flame belt",ring1="hajduk ring",ring2="hajduk ring",legs="orion Braccae"})
set.precast.WS['Namas Arrow'] = set_combine(set.precast.WS, {ear2="clearview earring"})
set.precast.WS['Namas Arrow'].Acc = set_combine(set.precast.WS, {ear2="clearview earring", neck="light gorget", waist="flame belt", ring1="hajduk ring", ring2"hajduk ring", legs="orion braccae"})
-- Resting sets
sets.resting = {}
-- Defense sets
sets.defense.PDT = set_combine(sets.idle, {})
sets.defense.MDT = set_combine(sets.idle, {})
sets.Kiting = {feet="Fajin Boots"}
-- Barrage Set
sets.BarrageMid = set_combine(sets.midcast.RangedAttack.Acc, {
hands="Orion Bracers",legs="Desultor Tassets"})
end
function file_unload()
-- If you need any custom unload for this job/user
end
*edit*
If i delete all of the WS code from line 83 to 102 the file works.
*edit2*
after some trial and error, i found that line 86 will work and allow the file to load, but every other ws line will give me the error.
It's because there is no table "set.precast". It's plural. i.e. "sets.precast"
fixed lines 83-102 below Code
sets.precast={}
sets.precast.WS['Last Stand'] = set_combine(sets.precast.WS, {
neck="light gorget",
waist="flame belt",
ear1="moonshade earring",
ear2="Clearview earring",
ring1="solemn Ring",
ring2="rajas ring"
})
sets.precast.WS['Last Stand'].Acc = set_combine(sets.precast.WS['Last Stand'], {neck="light gorget", Waist="flame belt", legs="orion braccae",ring1="hajduk ring",ring2="hajduk ring"})
sets.precast.WS['Coronach'] = set_combine(sets.precast.WS, {ear2="clearview earring"})
sets.precast.WS['Coronach'].Acc = set_combine(sets.precast.WS, {ring1="hajduk ring", ring2="hajduk ring", neck="breeze gorget",waist="breeze belt", legs="orion Braccae"})
sets.precast.WS['Jishnus Radiance'] = set_combine(sets.precast.WS, {neck="light gorget", waist="flame belt"})
Sets.precast.WS['Jishnus Radiance'] = set_combine(sets.precast.WS, {neck="light gorget", waist="flame belt",ring1="hajduk ring",ring2="hajduk ring",legs="orion Braccae"})
sets.precast.WS['Namas Arrow'] = set_combine(sets.precast.WS, {ear2="clearview earring"})
sets.precast.WS['Namas Arrow'].Acc = set_combine(sets.precast.WS, {ear2="clearview earring", neck="light gorget", waist="flame belt", ring1="hajduk ring", ring2"hajduk ring", legs="orion braccae"})
-- Resting sets
sets.resting = {}
-- Defense sets
sets.defense.PDT = sets.idle
sets.defense.MDT = sets.idle
sets.Kiting = {feet="Fajin Boots"}
Ragnarok.Flippant
Server: Ragnarok
Game: FFXI
Posts: 660
By Ragnarok.Flippant 2014-03-30 21:27:03
Well using sets.precast = {} where you did is actually deleting everything in the sets.precast table, including your sets.precast.WS table (and the earlier JAs sets and such). However, I didn't realize you were using a sidecar and the fact you don't have an issue with sets.precast.JA, etc, means that shouldn't have been the problem in the first place.
So it was probably actually what is now line 84 throwing the first error (set_combine(set.precast.WS...). You again need to go through and fix the inconsistencies (one instance of Sets and nine instances of set instead of sets).
Edit: Just as Orestes did above, but delete the sets.precast={} and fix the Sets too
Shiva.Tedril
Server: Shiva
Game: FFXI
Posts: 509
By Shiva.Tedril 2014-04-03 21:12:51
I only have one pair of bokwus and gende would I need to make any extra notation other than their names?
edit: I also seem to be getting a weird weather.lua error?
Leviathan.Arcon
VIP
Server: Leviathan
Game: FFXI
Posts: 666
By Leviathan.Arcon 2014-04-04 03:59:57
I also seem to be getting a weird weather.lua error?
We'll need a bit more than "weird" to do something about it. Always post a full error message please.
Just looking for someone to explain this addon a bit for me. It looks like it is an alternative to Spellcast.
Is it going to be replacing Spellcast? In which ways is it better or worse. I don't know any programming but I've slowly learned more and more about spellcast and the 'language' used in gearswap is confusing to me.
It says it uses packets so it potentially could be more detectable? but does that also eliminate any lag that spellcast may encounter?
I plan on redoing my PUP xml to include pet casting sets thanks to the new addon petschool. I'm just not sure if it's worth it to just wait until gearswap gets more popular or to go ahead and do it in spellcast.
If anyone could give me more info I'd greatly appreciate it.
|
|