|
Gearswap Support Thread
サーバ: Asura
Game: FFXI
Posts: 373
By Asura.Aikchan 2014-05-26 13:26:19
What's the code to show swaps as a default? not sure if GS have that option coz there isnt a setting file on the folder..
Lakshmi.Byrth
VIP
サーバ: Lakshmi
Game: FFXI
Posts: 6191
By Lakshmi.Byrth 2014-05-26 13:38:39
You can just put show_swaps() in your get_sets function.
サーバ: Asura
Game: FFXI
Posts: 373
By Asura.Aikchan 2014-05-26 13:41:33
You can just put show_swaps() in your get_sets function. just tried to see, and error...
lua error [runtime]... /flow.lua:276:
...attempt to call global 'show_swaps' [a nil value]
tried w/ "showswaps() and same just in case
Lakshmi.Byrth
VIP
サーバ: Lakshmi
Game: FFXI
Posts: 6191
By Lakshmi.Byrth 2014-05-26 13:43:19
Hmm... It looks like I never enabled the function. I can fix it later.
Fenrir.Thandar
サーバ: Fenrir
Game: FFXI
Posts: 405
By Fenrir.Thandar 2014-05-26 14:08:45
Asking for my brother, so some of the details may be off, but he was THF/NIN when he cast Utsusemi, it started trying to spam the spell. He's logged out, shut down, deleted and re-downloaded GearSwap and it still happens. He changed to MNK/NIN walked out of his Mog House and it kept trying to spam it, any idea what could cause that?
It was the Itemizer addon messing it up.
サーバ: Asura
Game: FFXI
Posts: 373
By Asura.Aikchan 2014-05-26 14:14:37
Asking for my brother, so some of the details may be off, but he was THF/NIN when he cast Utsusemi, it started trying to spam the spell. He's logged out, shut down, deleted and re-downloaded GearSwap and it still happens. He changed to MNK/NIN walked out of his Mog House and it kept trying to spam it, any idea what could cause that?
It was the Itemizer addon messing it up. still... unless was fixed in the last 2 days..
Lakshmi.Byrth
VIP
サーバ: Lakshmi
Game: FFXI
Posts: 6191
By Lakshmi.Byrth 2014-05-26 14:25:11
I enabled the function (and debug_mode) a little bit ago. Also made it so that player data will update before user registered events.
Asura.Tamoa
サーバ: Asura
Game: FFXI
Posts: 1341
By Asura.Tamoa 2014-05-26 15:17:53
How do you set it up so you can toggle your gearsets with a controller? Thinking key binds, and asking for someone else - personally I use keyboard only, but it seems very inconvenient to use F9 etc if you play using controller.
Apologies if this has been asked and answered before (searched and couldn't find anything).
Quetzalcoatl.Orestes
サーバ: Quetzalcoatl
Game: FFXI
Posts: 430
By Quetzalcoatl.Orestes 2014-05-26 15:20:05
How do you set it up so you can toggle your gearsets with a controller? Thinking key binds, and asking for someone else - personally I use keyboard only, but it seems very inconvenient to use F9 etc if you play using controller.
Apologies if this has been asked and answered before (searched and couldn't find anything).
If you use Mote's includes for toggles, this is the general syntax for a macro.
Code /console gs c set OffenseMode Acc
Asura.Tamoa
サーバ: Asura
Game: FFXI
Posts: 1341
By Asura.Tamoa 2014-05-26 15:23:45
Quetzalcoatl.Orestes said: »How do you set it up so you can toggle your gearsets with a controller? Thinking key binds, and asking for someone else - personally I use keyboard only, but it seems very inconvenient to use F9 etc if you play using controller.
Apologies if this has been asked and answered before (searched and couldn't find anything).
If you use Mote's includes for toggles, this is the general syntax for a macro.
Code /console gs c set OffenseMode Acc
Ooooh I see, thanks! :)
Cerberus.Conagh
サーバ: Cerberus
Game: FFXI
Posts: 3189
By Cerberus.Conagh 2014-05-26 18:40:41
Code function get_sets()
sets = {}
sets.aftercast_Idle_noSub = {main="Owleyes",sub="Genbu's Shield",ammo="Incantor Stone",
head="Nefer Khat",neck="Twilight Torque",ear1="Lifestorm Earring",ear2="Loquacious Earring",
body="Heka's Kalasiris",hands="Serpentes Cuffs",ring1="Bifrost Ring",ring2="Dark Ring",
back="Shadow Mantle",waist="Korin Obi",legs="Nares Trews",feet="Serpentes Sabots"}
sets.aftercast_Idle_Sub = {main="Owleyes",sub="Genbu's Shield",ammo="Incantor Stone",
head="Nefer Khat",neck="Twilight Torque",ear1="Lifestorm Earring",ear2="Loquacious Earring",
body="Heka's Kalasiris",hands="Serpentes Cuffs",ring1="Bifrost Ring",ring2="Dark Ring",
back="Shadow Mantle",waist="Korin Obi",legs="Nares Trews",feet="Serpentes Sabots"}
sets.aftercast_IdleStun = {main="Apamajas II",sub="Mephitis Grip",ammo="Inacantor Stone",
head="Nahtirah Hat",neck="Eddy Necklace",ear1="Lifestorm Earring",ear2="Psystorm Earring",
body="Hedera Cotehardie",hands="Gendewitha Gages",ring1="Sangoma Ring",ring2="Maquette Ring",
back="Swith Cape",waist="Goading Belt",legs="Artsieq Hose",feet="Peda. Loafers"}
sets.aftercast_IdleNight = {main="Owleyes",sub="Genbu's Shield",ammo="Incantor Stone",
head="Nefer Khat",neck="Twilight Torque",ear1="Merman's Earring",ear2="Coral Earring",
body="Heka's Kalasiris",hands="Serpentes Cuffs",ring1="Dark ring",ring2="Patricius Ring",
back="Cheviot Cape",waist="Siegel Sash",legs="Nares Trews",feet="Theo. Duckbills +1"}
sets.aftercast_Idle119 = {main="Terra's Staff",ammo="Incantor Stone",
head="Gendewitha Caubeen",neck="Twilight Torque",ear1="Merman's Earring",ear2="Coral Earring",
body="Hagondes Coat",hands="Gendewitha Gages",ring1="Dark ring",ring2="Patricius Ring",
back="Cheviot Cape",waist="Siegel Sash",legs="Artsieq Hose",feet="Gendewitha Galoshes"}
sets.aftercast_IdleDay = {main="Owleyes",sub="Genbu's Shield",ammo="Incantor Stone",
head="Nefer Khat",neck="Twilight Torque",ear1="Merman's Earring",ear2="Coral Earring",
body="Heka's Kalasiris",hands="Lurid Mitts",ring1="Dark ring",ring2="Patricius Ring",
back="Cheviot Cape",waist="Siegel Sash",legs="Nares Trews",feet="Serpentes Sabots"}
sets.aftercast_Move = {main="Owleyes",sub="Genbu's Shield",ammo="Incantor Stone",
head="Nefer Khat",neck="Twilight Torque",ear1="Lifestorm Earring",ear2="Loquacious Earring",
body="Heka's Kalasiris",hands="Serpentes Cuffs",ring1="Bifrost Ring",ring2="Dark Ring",
back="Shadow Mantle",waist="Korin Obi",legs="Nares Trews",feet="Desert boots"}
sets.aftercast_Idle = sets.aftercast_Idle_noSub
sets.precast_FastCast = {ammo="Incantor Stone",head="Nahtirah Hat",ear2="Loquacious Earring",
body="Anhur Robe",hands="Gendewitha Gages",back="Swith Cape",legs="Artseiq hose",feet="Peda. Loafers"}
sets.Resting = {main="Chatoyant Staff",sub="Mephitis Grip",
head="Nahtirah Hat",neck="Twilight Torque",ear1="Lifestorm Earring",ear2="Loquacious Earring",
body="Hagondes Coat",hands="Nares Cuffs",ring1="Sangoma Ring",ring2="Maquette Ring",
back="Shadow Mantle",waist="Korin Obi",legs="Nares Trews",feet="Chelona Boots"}
--MAB Sets--
sets.midcast_ElementalMagic = {}
sets.midcast_ElementalMagic.index = {'Standard','Accuracy'}
midcast_ElementalMagic_ind = 1
sets.midcast_ElementalMagic.Standard = {
main={ name="Lehbrailg +2", augments={'DMG:+1','Mag. Acc.+13',}},
sub="Mephitis Grip",
ammo="Savant's Treatise",
head={ name="Hagondes Hat", augments={'Phys. dmg. taken -3%','"Mag.Atk.Bns."+27',}},
body={ name="Hagondes Coat", augments={'Phys. dmg. taken -1%','"Mag.Atk.Bns."+18',}},
hands={ name="Hagondes Cuffs +1", augments={'Phys. dmg. taken -1%','"Mag.Atk.Bns."+11',}},
legs={ name="Hagondes Pants +1", augments={'Phys. dmg. taken -1%','"Mag.Atk.Bns."+16',}},
feet={ name="Hag. Sabots +1", augments={'Phys. dmg. taken -1%','"Mag.Atk.Bns."+16',}},
neck="Eddy Necklace",
waist="Aswang Sash",
left_ear="Friomisi Earring",
right_ear="Hecate's Earring",
left_ring="Icesoul Ring",
right_ring="Sangoma Ring",
back="Toro Cape"}
sets.midcast_ElementalMagic.Accuracy = {
main={ name="Lehbrailg +2", augments={'DMG:+1','Mag. Acc.+13',}},
sub="Mephitis Grip",
ammo="Savant's Treatise",
head={ name="Hagondes Hat", augments={'Phys. dmg. taken -3%','"Mag.Atk.Bns."+27',}},
body={ name="Hagondes Coat", augments={'Phys. dmg. taken -1%','"Mag.Atk.Bns."+18',}},
hands={ name="Hagondes Cuffs +1", augments={'Phys. dmg. taken -1%','"Mag.Atk.Bns."+11',}},
legs={ name="Artsieq Hose", augments={'MP+16','Mag. Acc.+13','MND+3',}},
feet={ name="Hag. Sabots +1", augments={'Phys. dmg. taken -1%','"Mag.Atk.Bns."+16',}},
neck="Eddy Necklace",
waist="Aswang Sash",
left_ear="Lifestorm Earring",
right_ear="Psystorm Earring",
left_ring="Icesoul Ring",
right_ring="Sangoma Ring",
back="Toro Cape"}
sets.midcast_DarkMagic = {main="Chatoyant Staff",sub="Arbuda Grip",ammo="Hasty Pinion",
head="Appetence Crown",neck="Aesir Torque",ear1="Hirudinea Earring",ear2="Loquacious Earring",
body="Hedera Cotehardie",hands="Ayao's Gages",ring1="Balrahn's Ring",ring2="Excelsis Ring",
back="Merciful Cape",waist="Goading Belt",legs="Auspex Slops",feet="Hag. Sabots +1"}
sets.midcast_EnfeeblingMagic = {main="Lehbrailg +2",sub="Mephitis Grip",ammo="Savant's Treatise",
head="Nahtirah Hat",neck="Eddy Necklace",ear1="Lifestorm Earring",ear2="Psystorm Earring",
body="Hedera Cotehardie",hands="Lurid Mitts",ring1="Sangoma Ring",ring2="Maquette Ring",
back="Refraction Cape",waist="Cascade Belt",legs="Artseiq hose",feet="Hag. Sabots +1"}
sets.midcast_Impact = {main="Lehbrailg +2",sub="Wizzan Grip",ammo="Witchstone",
neck="Eddy Necklace",ear1="Hecate's Earring",ear2="Novio Earring",
hands="Yaoyotl Gloves",ring1="Strendu Ring",ring2="Icesoul Ring",body="Hagondes Coat",
back="Searing Cape",waist="Maniacus Sash",legs="Hagondes Pants",feet="Hag. Sabots +1"}
sets.midcast_Embrava = {main="Kirin's Pole",sub="Fulcio Grip",ammo="Savant's Treatise",
head="Svnt. Bonnet +2",neck="Colossus's Torque",ear1="Lifestorm Earring",ear2="Loquacious Earring",
body="Anhur Robe",hands="Savant's Bracers +2",
back="Merciful Cape",waist="Cascade Belt",legs="Shedir Seraweels",feet="Rubeus Boots"}
sets.midcast_EnhancingMagic = {main="Kirin's Pole",sub="Fulcio Grip",ammo="Incantor Stone",
head="Svnt. Bonnet +2",neck="Colossus's Torque",ear1="Lifestorm Earring",ear2="Loquacious Earring",
body="Anhur Robe",hands="Gendewitha Gages",
back="Swith Cape",waist="Ninurta's Sash",legs="Artseiq hose",feet="Peda. Loafers"}
sets.precast_Stun = {main="Apamajas II",sub="Mephitis Grip",ammo="Inacantor Stone",
head="Nahtirah Hat",neck="Eddy Necklace",ear1="Lifestorm Earring",ear2="Psystorm Earring",
body="Hedera Cotehardie",hands="Gendewitha Gages",ring1="Sangoma Ring",ring2="Maquette Ring",
back="Swith Cape",waist="Goading Belt",legs="Artsieq Hose",feet="Peda. Loafers"}
sets.midcast_Cure = {main="Tamaxchi",sub="genbu's Shield",head="Hyksos Khat +1",neck="Healing Torque",
body="Heka's Kalasiris",hands="Bokwus Gloves",back="Oretanis's Cape",legs="Scholar's Pants",
feet="Peda. Loafers",ring1="Sirona's Ring",ring2="Ephedra Ring",ear1="Beatific Earring",
Ear2="Lifestorm Earring"}
sets.midcast_Helix = {main="Lehbrailg +2",sub="Wize Grip",ammo="Witchstone",
head="Hagondes Hat",neck="Stoicheion Medal",ear1="Hecate's Earring",ear2="Friomisi Earring",
body="Hagondes Coat",hands="Hagondes Cuffs +1",ring1="Maquette Ring",ring2="Dark Ring",
back="Toro Cape",waist="Maniacus Sash",legs="Hagondes Pants +1",feet="Hag. Sabots +1"}
sets.midcast_Stoneskin = {main="Kirin's Pole",neck="Stone Gorget",waist="Siegel Sash",legs="Shedir Seraweels"}
sets.Obi = {}
sets.Obi.Fire = {waist='Karin Obi',back='Twilight Cape',lring='Zodiac Ring'}
sets.Obi.Earth = {waist='Dorin Obi',back='Twilight Cape',lring='Zodiac Ring'}
sets.Obi.Water = {waist='Suirin Obi',back='Twilight Cape',lring='Zodiac Ring'}
sets.Obi.Wind = {waist='Furin Obi',back='Twilight Cape',lring='Zodiac Ring'}
sets.Obi.Ice = {waist='Hyorin Obi',back='Twilight Cape',lring='Zodiac Ring'}
sets.Obi.Thunder = {waist='Rairin Obi',back='Twilight Cape',lring='Zodiac Ring'}
sets.Obi.Light = {waist='Korin Obi',back='Twilight Cape',lring='Zodiac Ring',main="Chatoyant Staff"}
sets.Obi.Dark = {waist='Anrin Obi',back='Twilight Cape',lring='Zodiac Ring'}
sets.staves = {}
sets.staves.damage = {}
sets.staves.damage.Thunder = {main="Apamajas I"}
sets.staves.damage.Fire = {main="Atar I"}
sets.staves.accuracy = {}
sets.staves.damage.Thunder = {main="Apamajas II"}
sets.staves.damage.Ice = {main="Vourukasha II"}
stuntarg = 'Shantotto'
end
function precast(spell,action)
if spell.skill=='Elemental Magic' then
cast_delay(0.1)
equip(sets['precast_FastCast'])
elseif spell.english == 'Stun' then
cast_delay(0.1)
equip(sets['precast_Stun'])
if not buffactive.thunderstorm then
add_to_chat(8,'--------- Thunderstorm is down ---------')
elseif not buffactive.klimaform then
add_to_chat(8,'----------- Klimaform is down -----------')
end
else
equip(sets['precast_FastCast'])
cast_delay(0.1)
end
end
function midcast(spell,action)
if string.find(spell.english,'Cur') then
equip(sets.midcast_Cure)
if spell.element == world.weather_element or spell_element == world.day_element then
equip({main="Chatoyant Staff"},sets.Obi[spell.element])
end
if buffactive.rapture then
equip({head="Savant's Bonnet +2"})
end
elseif spell.english == 'Impact' then
local tempset = sets['midcast_Impact']
tempset['body'] = 'Twilight Cloak'
tempset['head'] = empty
equip(tempset)
elseif spell.skill=="Elemental Magic" then
if string.find(spell.english,'helix') then
equip(sets['midcast_Helix'])
else
equip(sets.midcast_ElementalMagic[sets.midcast_ElementalMagic.index[midcast_ElementalMagic_ind]])
if spell.element == world.weather_element or spell_element == world.day_element and sets.Obi[spell.element] then
equip(sets.Obi[spell.element])
end
if spell.element == 'Thunder' then
equip({waist="Rairin Obi"})
end
end
if buffactive.ebullience then
equip({head="Savant's Bonnet +2"})
end
if buffactive.klimform then
equip ({feet="Savant's Loafers +2"})
end
elseif spell.skill=="Enfeebling Magic" then
equip(sets.midcast_ElementalMagic[sets.midcast_ElementalMagic.index[midcast_ElementalMagic_ind]])
elseif spell.english == 'Stoneskin' then
equip(sets['midcast_Stoneskin'])
elseif spell.skill == 'Enhancing Magic' then
if spell.english == 'Embrava' or spell.english == 'Regen V' then
equip(sets['midcast_Embrava'])
if not buffactive.perpetuance then
add_to_chat(8,'--------- Perpetuance is down ---------')
end
if not buffactive.accession then
add_to_chat(8,'--------- Accession is down ---------')
end
if not buffactive.penury then
add_to_chat(8,'--------- Penury is down ---------')
end
end
if buffactive.perpetuance then
equip(sets['midcast_EnhancingMagic'],{hands="Savant's Bracers +2"})
else
equip(sets['midcast_EnhancingMagic'])
end
end
if spell.english == 'Sneak' then
send_command('@wait 1.8;cancel 71;')
end
end
function aftercast(spell,action)
if Armor == '119' then
equip(sets.aftercast_Idle119)
elseif Armor == 'Stun' then
equip(sets.aftercast_IdleStun)
else
Idle()
end
if spell.english == 'Sleep' or spell.english == 'Sleepga' then
send_command('@wait 50;input /echo ------- '..spell.english..' is wearing off in 10 seconds -------')
elseif spell.english == 'Sleep II' or spell.english == 'Sleepga II' then
send_command('@wait 80;input /echo ------- '..spell.english..' is wearing off in 10 seconds -------')
elseif spell.english == 'Break' or spell.english == 'Breakga' then
send_command('@wait 20;input /echo ------- '..spell.english..' is wearing off in 10 seconds -------')
end
end
function status_change(new,action)
if new=='Idle' then
if Armor == '119' then
equip(sets.aftercast_Idle119)
elseif Armor == 'Stun' then
equip(sets.aftercast_IdleStun)
else
Idle()
end
elseif new=='Resting' then
equip(sets.Resting)
end
if Armor == 'PDT' then
equip(sets.PDT)
end
end
function Idle()
if buffactive['Sandstorm'] then
send_command('@wait 1;input /echo ------- Sandstorm Move Wear Activated -------')
equip(sets.aftercast_Move)
elseif world.time >= (17*60) or world.time <= (7*60) then -- night time
equip(sets.aftercast_IdleNight)
else
equip(sets.aftercast_IdleDay)
end
end
function buff_change(buff,gain_or_loss)
if buff == "Sandstorm" then
Idle()
end
end
function pet_midcast(spell,action)
end
function pet_aftercast(spell,action)
end
function self_command(command)
if command == 'M2' then
midcast_ElementalMagic_ind = midcast_ElementalMagic_ind +1
if midcast_ElementalMagic_ind > #sets.midcast_ElementalMagic.index then midcast_ElementalMagic_ind = 1 end
send_command('@input /echo <----- TP Set changed to '..sets.midcast_ElementalMagic.index[midcast_ElementalMagic_ind]..' ----->')
equip(sets.midcast_ElementalMagic[sets.midcast_ElementalMagic.index[midcast_ElementalMagic_ind]])
elseif command == 'C7' then -- PDT Toggle --
if Armor == 'PDT' then
Armor = 'none'
add_to_chat(8,'PDT Set: [Unlocked]')
else
Armor = 'PDT'
add_to_chat(158,'PDT Set: [Locked]')
end
status_change(player.status)
elseif command == 'C15' then -- 119 Toggle --
if Armor == '119' then
Armor = 'None'
add_to_chat(8,'119 Set: [Unlocked]')
else
Armor = '119'
add_to_chat(158,'119 Set: [Locked]')
end
status_change(player.status)
elseif command == 'Stun' then -- Stun Idle Toggle --
if Armor == 'Stun' then
Armor = 'None'
add_to_chat(8,'Stun Set: [Unlocked]')
else
Armor = 'Stun'
add_to_chat(158,'Stun Set: [Locked]')
end
status_change(player.status)
end
end
-- This function is user defined, but never called by GearSwap itself. It's just a user function that's only called from user functions. I wanted to check the weather and equip a weather-based set for some spells, so it made sense to make a function for it instead of replicating the conditional in multiple places.
function weathercheck(spell_element,set)
if spell_element == world.weather_element or spell_element == world.day_element then
equip(set,sets['Obi_'..spell_element])
else
equip(set)
end
end
I think I've done something really Basically dumb on this but I can not for the life of me figure out why the weather rule for elemental nukes isn't working.
Bismarck.Inference
サーバ: Bismarck
Game: FFXI
Posts: 417
By Bismarck.Inference 2014-05-26 19:03:51
I think I've done something really Basically dumb on this but I can not for the life of me figure out why the weather rule for elemental nukes isn't working.
I didn't look very indepth at the code for any other errors, but it should be spell.element all around(a few are spell_element).
By Xavierr 2014-05-27 09:50:55
having trouble getting my sch to cast spells in my nuking set. Not too great with gearswap yet so I'm sure I am doing something wrong. Maybe someone can put an example command here, would be great. ty
Cerberus.Conagh
サーバ: Cerberus
Game: FFXI
Posts: 3189
By Cerberus.Conagh 2014-05-27 11:37:17
having trouble getting my sch to cast spells in my nuking set. Not too great with gearswap yet so I'm sure I am doing something wrong. Maybe someone can put an example command here, would be great. ty Code If spell.skill=="Elemental Magic" then
if string.find(spell.english,'helix') then
equip(sets['midcast_Helix'])
else
equip(sets.midcast_ElementalMagic)
end
By Aoushi 2014-05-27 13:31:05
Hello again, I'm trying to convert my dnc xml into lua and don't know how to write the following into lua. Any and all help would be appreciated, thanks in advanced. Code <if type="Waltz">
<if NotSpell="Healing Waltz">
<if Spell="Divine Waltz II" TPLT="80"><changespell Spell="Divine Waltz" /></if>
<if Spell="Divine Waltz" TPLT="40"><cancelspell /></if>
<if Spell="Curing Waltz V" TPLT="80"><changespell Spell="Curing Waltz IV" /></if>
<if Spell="Curing Waltz IV" TPLT="65"><changespell Spell="Curing Waltz III" /></if>
<if Spell="Curing Waltz III" TPLT="50"><changespell Spell="Curing Waltz II" /></if>
<if Spell="Curing Waltz II" TPLT="35"><changespell Spell="Curing Waltz" /></if>
<if Spell="Curing Waltz" TPLT="20"><cancelspell /></if>
<equip when="precast" set="Waltz" />
</if>
</if>
Cerberus.Conagh
サーバ: Cerberus
Game: FFXI
Posts: 3189
By Cerberus.Conagh 2014-05-27 14:31:05
Hello again, I'm trying to convert my dnc xml into lua and don't know how to write the following into lua. Any and all help would be appreciated, thanks in advanced. Code <if type="Waltz">
<if NotSpell="Healing Waltz">
<if Spell="Divine Waltz II" TPLT="80"><changespell Spell="Divine Waltz" /></if>
<if Spell="Divine Waltz" TPLT="40"><cancelspell /></if>
<if Spell="Curing Waltz V" TPLT="80"><changespell Spell="Curing Waltz IV" /></if>
<if Spell="Curing Waltz IV" TPLT="65"><changespell Spell="Curing Waltz III" /></if>
<if Spell="Curing Waltz III" TPLT="50"><changespell Spell="Curing Waltz II" /></if>
<if Spell="Curing Waltz II" TPLT="35"><changespell Spell="Curing Waltz" /></if>
<if Spell="Curing Waltz" TPLT="20"><cancelspell /></if>
<equip when="precast" set="Waltz" />
</if>
</if>
Mote's covered this pretty well in his Utility Lua for DNC,might be bettter using it but I'll paste the part about Dnc and hopefully you can find what you want in it.
Code local waltz_tp_cost = {['Curing Waltz'] = 20, ['Curing Waltz II'] = 35, ['Curing Waltz III'] = 50, ['Curing Waltz IV'] = 65, ['Curing Waltz V'] = 80}
-- Utility function for automatically adjusting the waltz spell being used to match HP needs and TP limits.
-- Handle spell changes before attempting any precast stuff.
function refine_waltz(spell, action, spellMap, eventArgs)
if spell.type ~= 'Waltz' then
return
end
-- Don't modify anything for Healing Waltz or Divine Waltzes
if spell.english == "Healing Waltz" or spell.english == "Divine Waltz" or spell.english == "Divine Waltz II" then
return
end
local newWaltz = spell.english
local waltzID
local missingHP
-- If curing ourself, get our exact missing HP
if spell.target.type == "SELF" then
missingHP = player.max_hp - player.hp
-- If curing someone in our alliance, we can estimate their missing 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 we have an estimated missing HP value, we can adjust the preferred tier used.
if missingHP ~= nil then
if player.main_job == 'DNC' then
if missingHP < 40 and spell.target.name == player.name then
-- Not worth curing yourself for so little.
-- Don't block when curing others to allow for waking them up.
add_to_chat(122,'Full HP!')
eventArgs.cancel = true
return
elseif missingHP < 200 then
newWaltz = 'Curing Waltz'
waltzID = 190
elseif missingHP < 600 then
newWaltz = 'Curing Waltz II'
waltzID = 191
elseif missingHP < 1100 then
newWaltz = 'Curing Waltz III'
waltzID = 192
elseif missingHP < 1500 then
newWaltz = 'Curing Waltz IV'
waltzID = 193
else
newWaltz = 'Curing Waltz V'
waltzID = 311
end
elseif player.sub_job == 'DNC' then
if missingHP < 40 and spell.target.name == player.name then
-- Not worth curing yourself for so little.
-- Don't block when curing others to allow for waking them up.
add_to_chat(122,'Full HP!')
eventArgs.cancel = true
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
-- Not dnc main or sub; bail out
return
end
end
local tpCost = waltz_tp_cost[newWaltz]
local downgrade
-- Downgrade the spell to what we can afford
if player.tp < tpCost and not buffactive.trance then
--[[ Costs:
Curing Waltz: 20 TP
Curing Waltz II: 35 TP
Curing Waltz III: 50 TP
Curing Waltz IV: 65 TP
Curing Waltz V: 80 TP
Divine Waltz: 40 TP
Divine Waltz II: 80 TP
--]]
if player.tp < 20 then
add_to_chat(122, 'Insufficient TP ['..tostring(player.tp)..']. Cancelling.')
eventArgs.cancel = true
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(122, downgrade)
end
eventArgs.cancel = true
return
end
if missingHP > 0 then
add_to_chat(122,'Trying to cure '..tostring(missingHP)..' HP using '..newWaltz..'.')
end
end
-- Function to allow for automatic adjustment of the spell target type based on preferences.
function auto_change_target(spell, action, spellMap)
-- Don't adjust targetting for explicitly named targets
if not spell.target.raw:startswith('<') then
return
end
-- Do not modify target for spells where we get <lastst> or <me>.
if spell.target.raw == ('<lastst>') or spell.target.raw == ('<me>') then
return
end
-- init a new eventArgs with current values
local eventArgs = {handled = false, PCTargetMode = state.PCTargetMode, SelectNPCTargets = state.SelectNPCTargets}
-- Allow the job to do custom handling, or override the default values.
-- They can completely handle it, or set one of the secondary eventArgs vars to selectively
-- override the default state vars.
if job_auto_change_target then
job_auto_change_target(spell, action, spellMap, eventArgs)
end
-- If the job handled it, we're done.
if eventArgs.handled then
return
end
local pcTargetMode = eventArgs.PCTargetMode
local selectNPCTargets = eventArgs.SelectNPCTargets
local validPlayers = S{'Self', 'Player', 'Party', 'Ally', 'NPC'}
local intersection = spell.targets * validPlayers
local canUseOnPlayer = not intersection:empty()
local newTarget
-- For spells that we can cast on players:
if canUseOnPlayer and pcTargetMode ~= 'default' then
-- Do not adjust targetting for player-targettable spells where the target was <t>
if spell.target.raw ~= ('<t>') then
if pcTargetMode == 'stal' then
-- Use <stal> if possible, otherwise fall back to <stpt>.
if spell.targets.Ally then
newTarget = '<stal>'
elseif spell.targets.Party then
newTarget = '<stpt>'
end
elseif pcTargetMode == 'stpt' then
-- Even ally-possible spells are limited to the current party.
if spell.targets.Ally or spell.targets.Party then
newTarget = '<stpt>'
end
elseif pcTargetMode == 'stpc' then
-- If it's anything other than a self-only spell, can change to <stpc>.
if spell.targets.Player or spell.targets.Party or spell.targets.Ally or spell.targets.NPC then
newTarget = '<stpc>'
end
end
end
-- For spells that can be used on enemies:
elseif spell.targets and spell.targets.Enemy and selectNPCTargets then
-- Note: this means macros should be written for <t>, and it will change to <stnpc>
-- if the flag is set. It won't change <stnpc> back to <t>.
newTarget = '<stnpc>'
end
-- If a new target was selected and is different from the original, call the change function.
if newTarget and newTarget ~= spell.target.raw then
change_target(newTarget)
end
end
Cerberus.Conagh
サーバ: Cerberus
Game: FFXI
Posts: 3189
By Cerberus.Conagh 2014-05-27 18:14:13
Code function job_midcast(spell, action, spellMap, eventArgs)
if spell.action_type == 'Magic' then
-- Default base equipment layer is fast recast.
equip(sets.midcast.FastRecast)
if spell.skill == 'Elemental Magic' and state.CastingMode == 'Proc' then
add_to_chat(15,'Proc mode, no damage gear for midcast.')
eventArgs.handled = true
end
if spell.skill == 'Elemental Magic' and player.hpp <= 74 then
equip({ring1="Sorcerer's Ring"})
end
end
end
This should work.
Odin.Rues
サーバ: Odin
Game: FFXI
Posts: 67
By Odin.Rues 2014-05-27 19:13:04
Code function job_midcast(spell, action, spellMap, eventArgs)
if spell.action_type == 'Magic' then
-- Default base equipment layer is fast recast.
equip(sets.midcast.FastRecast)
if spell.skill == 'Elemental Magic' and state.CastingMode == 'Proc' then
add_to_chat(15,'Proc mode, no damage gear for midcast.')
eventArgs.handled = true
end
if spell.skill == 'Elemental Magic' and player.hpp <= 74 then
equip({ring1="Sorcerer's Ring"})
end
end
end
This should work.
I'd recommend putting the scorer's ring in the set variable somewhere so that it gets accounted for by the verify command and other things that use it.
Sylph.Cyc
サーバ: Sylph
Game: FFXI
Posts: 24
By Sylph.Cyc 2014-05-28 04:05:36
happens randomly when zoning on any job. I keep getting this error even though I re-run the launcher on a daily basis usually. It's been going on for a few... Even on jobs that have no .lua files.
Asura.Chiaia
VIP
サーバ: Asura
Game: FFXI
Posts: 1656
By Asura.Chiaia 2014-05-28 05:05:46
Ok having some issues with my SCH GS lately. If lets say Light(Dark) Arts is up but not Add: White(Black) hitting it again does put it up. But it's not doing anything for any of the other spells switches. Example: I hit my manifestion macro with light arts up/add: white. Its not swapping it to Accession.
EDIT: Ok after messing around more I noticed it pretty much will work with anything(the trigger) I actually have access to "cast(ja/spells)"(at that point in time).
Code
function pretarget(spell,action)
if buffactive['Light Arts'] or buffactive['Addendum: White'] then
if spell.english == "Light Arts" and not buffactive['Addendum: White'] then
cancel_spell()
send_command('input /ja Addendum: White <me>')
elseif spell.english == "Manifestation" then
cancel_spell()
send_command('input /ja Accession <me>')
elseif spell.english == "Alacrity" then
cancel_spell()
send_command('input /ja Celerity <me>')
elseif spell.english == "Parsimony" then
cancel_spell()
send_command('input /ja Penury <me>')
end
elseif buffactive['Dark Arts'] or buffactive['Addendum: Black'] then
if spell.english == "Dark Arts" and not buffactive['Addendum: Black'] then
cancel_spell()
send_command('input /ja Addendum: Black <me>')
elseif spell.english == "Accession" then
cancel_spell()
send_command('input /ja Manifestation <me>')
elseif spell.english == "Celerity" then
cancel_spell()
send_command('input /ja Alacrity <me>')
elseif spell.english == "Penury" then
cancel_spell()
send_command('input /ja Parsimony <me>')
end
end
end
サーバ: Odin
Game: FFXI
Posts: 943
By Odin.Calipso 2014-05-28 06:08:10
Also, I've been constantly getting this error while zoning into town:
Sorry to be a pest. Still getting this error when I zone sometimes :(
Edit: doh, just realized someone posted the exact same thing like 1 post ago. Sorry!
Cerberus.Conagh
サーバ: Cerberus
Game: FFXI
Posts: 3189
By Cerberus.Conagh 2014-05-28 13:21:21
happens randomly when zoning on any job. I keep getting this error even though I re-run the launcher on a daily basis usually. It's been going on for a few... Even on jobs that have no .lua files.
This error stopped for me a couple days ago so I don't know what to tell you...
Cerberus.Conagh
サーバ: Cerberus
Game: FFXI
Posts: 3189
By Cerberus.Conagh 2014-05-28 13:34:07
Code function job_midcast(spell, action, spellMap, eventArgs)
if spell.action_type == 'Magic' then
-- Default base equipment layer is fast recast.
equip(sets.midcast.FastRecast)
if spell.skill == 'Elemental Magic' and state.CastingMode == 'Proc' then
add_to_chat(15,'Proc mode, no damage gear for midcast.')
eventArgs.handled = true
end
if spell.skill == 'Elemental Magic' and player.hpp <= 74 then
equip({ring1="Sorcerer's Ring"})
end
end
end
This should work.
I'd recommend putting the scorer's ring in the set variable somewhere so that it gets accounted for by the verify command and other things that use it.
Looks like he copied and pasted the Mote BLM file, rather than give him something which might be beyond his skill (No Offense) I figured the simplest solution for his immediate problem would provide the following:
On a side note, the Obi rule is a nice touch in Motes rule, I believe it would be very simple to add a rule for that also based on that.
Plus on BLM when else would you need Sorc Ring when not casting anything that counts as Elemental Magic?
By Aoushi 2014-05-28 20:39:25
Hey again, I'm having a hard time trying to figure out how to make my automaton cure and have myself switch into the AF1 pup pants for added cure potency, also having the same issue with switching into the sheltered ring. Any help would be appreciated, thanks in advanced
Code if job_pet_midcast and string.find(spell.english,'Cure') and spell.target.type == 'SELF' then
equip(sets.pet_midcast.MatonCure)
end
end
function pet_aftercast(spell,action)
if string.find(spell.english,'Cure') or (spell.english:startswith('Protect') or spell.english:startswith('Shell')) and player.status == 'Engaged' and spell.target == 'SELF' then
equip(sets.TP[sets.TP.index[TP_ind]])
end
サーバ: Bismarck
Game: FFXI
Posts: 314
By Bismarck.Chaosprime 2014-05-29 06:47:32
Hi All
So I'm returning to FFXI after almost a 2 year break. However I've noticed that my beloved spellcast no longer works/is supoorted. I hear the new rage is gearswap.
My main jobs are MNK, THF, SMN and WHM in pretty much that order.
Can someone direct me to gearswap files that already are complete and I can just edit my gear to them?
This would be really helpful and appreciative. I know hoping for a converter to convert the SC file to a GS file is asking a bit much lol so this is the next best alternative :P
Many thanks in advance!
Cp
Sylph.Xodia
By Sylph.Xodia 2014-05-29 07:28:13
Hi all for some reason gear wont equip from my wardrobe ;/ and also nitro/SV isnt putting on the augment armor before it uses any help would be greatly appreciated. Can ignore the cycles I got this GS from a friend and adjusted it heh ya he dboxes.
New to gearswap not sure what way im to post the lua here so il use spoiler not to take up space.
function get_sets()
Cycle1 = 'OFF'
Cycle2 = 'OFF'
Cycle3 = 'OFF'
Cycle4 = 'OFF'
Cycle5 = 'OFF'
Cycle6 = 'OFF'
Cycle7 = 'OFF'
Cycle8 = 'OFF'
songcount = 3
sets.None = {}
sets.Idle = {main="Terra's Staff",sub="Mephitis Grip",
head="Umuthi Hat",neck="Twilight Torque",ear1="Loquac. Earring",ear2="Ethereal Earring",
body="Gendewitha Bilaut",hands="Serpentes Cuffs",ring1="Defending Ring",ring2="Dark Ring",
back="Cheviot Cape",waist="Flume Belt",legs="Nares Trews",feet="Aoidos' Cothrn. +2"}
sets.DT = {}
sets.DT.Mode = sets.None
sets.precast = {}
sets.precast.FC = {head="Nahtirah Hat",neck="Jeweled Collar",ear1="Loquac. Earring",
body="Anhur Robe",hands="Gendewitha Gages",ring1="Prolix Ring",
back="Swith Cape",waist="Witful Belt",legs="Orvail Pants +1",feet="Chelona Boots",}
sets.precast.Singing = set_combine(sets.precast.FC,
{main="Felibre's Dague",ammo="None",
head="Aoidos' Calot +2",neck="Aoidos' Matinee",body="Sha'ir Manteel",ear2="Aoidos' Earring",
legs="Gendewitha Spats",feet="Bihu Slippers"})
sets.precast.Cure = set_combine(sets.precast.FC,
{body="Heka's Kalasiris",
back="Pahtli Cape",
legs="Nabu's Shalwar",
feet="Gendewitha Galoshes"})
sets.precast.Enhancing = set_combine(sets.precast.FC,
{waist="Siegel Sash"})
sets.precast.Stoneskin = set_combine(sets.precast.Enhancing,
{hands="Carapacho Cuffs"})
sets.midcast = {}
sets.midcast.Singing = {main="Legato Dagger",ammo="None",
head="Aoidos' Calot +2",neck="Aoidos' Matinee",
body="Aoidos' Hngrln. +2",hands="Ad. Mnchtte. +2",
legs="Marduk's Shalwar +1",feet="Brioso Slippers +1"}
sets.midcast.Cure = {main="Chatoyant Staff",
head="Gende. Caubeen",neck="Colossus's Torque",ear1="Loquac. Earring",ear2="Lifestorm Earring",
body="Heka's Kalasiris",hands="Bokwus Gloves",ring1="Balrahn's Ring",ring2="Sangoma Ring",
back="Pahtli Cape",waist="Demonry Sash",legs="Nares Trews",feet="Gendewita Galoshes"}
sets.midcast.Enfeebling = {main="Lehbrailg +2",sub="Mephitis Grip",
head="Bihu Roundlet +1",neck="Barcarolle Medal",ear1="Gwati Earring",ear2="Musical Earring",
body="Brioso Just. +1",hands="Ad. Mnchtte. +2",ring1="Perception Ring",ring2="Sangoma Ring",
back="Rhapsode's Cape",waist="Demonry Sash",legs="Bihu Cannions +1",feet="Brioso Slippers +1"}
sets.midcast.Recast = {head="Gende. Caubeen",neck="jeweled Collar",ear1="Loquac. Earring",
body="Gendewitha Bilaut",hands="Genewitha Gages",ring1="Prolix Ring",
back="Swith Cape",waist="Witful Belt",legs="Gendewitha Spats",feet="Brioso Slippers +1"}
sets.JA = {}
sets.JA.Troubadour = {body="Bihu Justaucorps"}
sets.JA.Nightingale = {feet="Bihu Slippers"}
sets.JA['Soul Voice'] = {legs="Bihu Cannions +1"}
--Obis--
sets.Obi = {}
sets.Obi.Fire = {waist="Karin Obi"}
sets.Obi.Earth = {waist="Dorin Obi"}
sets.Obi.Water = {waist="Suirin Obi"}
sets.Obi.Wind = {waist="Furin Obi"}
sets.Obi.Ice = {waist="Hyorin Obi"}
sets.Obi.Thunder = {waist="Rairin Obi"}
sets.Obi.Light = {waist="Korin Obi"}
sets.Obi.Dark = {waist="Anrin Obi"}
Obi = {}
Obi.Fire = 'Karin Obi'
Obi.Earth = 'Dorin Obi'
Obi.Water = 'Suirin Obi'
Obi.Wind = 'Furin Obi'
Obi.Ice = 'Hyorin Obi'
Obi.Thunder = 'Rairin Obi'
Obi.Light = 'Korin Obi'
Obi.Dark = 'Anrin Obi'
end
function build_sets()
send_command('@gs c Update')
end
function pretarget(spell)
if buffactive['Pianissimo'] and
spell.skill == 'Singing' then
if spell.target.raw == '<me>' then
change_target('<t>')
end
end
end
function precast(spell)
if spell.english == 'Pianissimo' or
spell.english == 'Tenuto' then
return
end
if spell.action_type == 'Magic' then
equip(sets.precast.FC)
if buffactive['silence'] then
cancel_spell()
add_to_chat(158,'== Silenced! Unable to cast spells! ==')
end
end
if spell.skill == 'Singing' then
equip(sets.precast.Singing)
if spell.target.type == 'MONSTER' then
equip({main='Lehbrailg +2',sub='Mephitis Grip'})
end
if T{"Victory March","Advancing March"}:
contains(spell.english) then
equip({range="Gjallarhorn"})
elseif T{"Archer's Prelude","Hunter's Prelude","Blade Madrigal","Sword Madrigal"}:
contains(spell.english) then
equip({range="Gjallarhorn"})
elseif T{"Mage's Ballad","Mage's Ballad II","Mage's Ballad III"}:
contains(spell.english) then
equip({range="Gjallarhorn"})
elseif T{"Magic Finale","Foe Lullaby","Foe Lullaby II"}:
contains(spell.english) then
equip({range="Gjallarhorn"})
elseif T{"Valor Minuet","Valor Minuet II","Valor Minuet III","Valor Minuet IV","Valor Minuet V"}:
contains(spell.english) then
equip({range="Gjallarhorn"})
elseif T{"Army's Paeon","Army's Paeon II","Army's Paeon III","Army's Paeon IV","Army's Paeon V","Army's Paeon VI"}:
contains(spell.english) then
equip({range="Terpander"})
elseif T{"Horde Lullaby","Horde Lullaby II"}:
contains(spell.english) then
equip({range="Gjallarhorn",hands="Brioso Cuffs +1"})
elseif T{'Foe Requiem','Foe Requiem II','Foe Requiem III','Foe Requiem IV','Foe Requiem V','Foe Requiem VI','Foe Requiem VII',}:
contains(spell.english) then
equip({range="Gjallarhorn"})
else
equip({range="Terpander"})
end
end
if T{'Cure','Cure II','Cure III','Cure IV','Curaga','Curaga II','Cura'}:
contains(spell.english) then
equip(sets.precast.Cure)
end
if spell.skill == 'Enhancing Magic' then
equip(sets.precast.Enhancing)
if spell.english == 'Stoneskin' then
equip(sets.precast.Stoneskin)
end
end
if sets.JA[spell.english] then
equip(sets.JA[spell.english])
end
end
function midcast(spell,act)
if spell.skill == 'Singing' then
equip(sets.midcast.Singing)
if spell.target.type == 'MONSTER' then
equip(sets.midcast.Enfeebling)
end
end
if T{"Mage's Ballad","Mage's Ballad II","Mage's Ballad III","Chocobo Mazurka","Raptor Mazurka"}:
contains(spell.english) then
equip({neck="Aoidos' Matinee",feet="Brioso Slippers +1"})
end
if T{'Cure','Cure II','Cure III','Cure IV','Curaga','Curaga II','Cura'}:
contains(spell.english) then
equip(sets.midcast.Cure)
if T{world.day_element,world.weather_element}:
contains(spell.element) then
equip({main="Chatoyant Staff",back="Twilight Cape"})
if player.inventory[Obi[spell.element]] then
equip(sets.Obi[spell.element])
end
end
end
if T{'Haste','Raise','Paralyna','Silena','Blindna','Stona','Viruna','Poisona','Erase'}:
contains(spell.english) then
equip(sets.midcast.Recast)
end
if spell.english == 'Cursna' then
equip(sets.midcast.Cursna)
end
if spell.english == 'Stoneskin' then
equip(sets.midcast.Stoneskin)
end
end
function aftercast(spell)
if spell.english == 'Pianissimo' or
spell.english == 'Tenuto' then
return
end
if spell.english == 'Foe Lullaby' and
not spell.interrupted then
send_command('@timers c "'..spell.english..'['..spell.target.name..']" 39 down')
end
if spell.english == 'Foe Lullaby II' and
not spell.interrupted then
send_command('@timers c "'..spell.english..'['..spell.target.name..']" 78 down')
end
if spell.english == 'Horde Lullaby' and
not spell.interrupted then
send_command('@timers c "'..spell.english..'['..spell.target.name..']" 36 down')
end
if spell.english == 'Horde Lullaby II' and
not spell.interrupted then
send_command('@timers c "'..spell.english..'['..spell.target.name..']" 72 down')
end
if Cycle1 == 'ON' then
if spell.english == "Archer's Prelude" then
send_command('@wait 3;input /ma "Valor Minuet V" <me>')
end
if spell.english == 'Valor Minuet V' then
if buffactive['Clarion Call'] or
songcount == 4 then
send_command("@wait 3;input /ma Hunter's Prelude <me>")
else
send_command("@wait 3;input /ma Army's Paeon VI <me>")
end
end
if spell.english == "Hunter's Prelude" then
send_command("@wait 3;input /ma Army's Paeon VI <me>")
end
if spell.english == "Army's Paeon VI" then
send_command('@wait 3;input /ma "Valor Minuet IV" <me>')
end
if spell.english == 'Valor Minuet IV' then
Cycle1 = 'OFF'
add_to_chat(158,"Song Cycle 1: ["..Cycle1.."]")
end
end
if Cycle2 == 'ON' then
if spell.english == "Mage's Ballad III" then
send_command("@wait 3;input /ja Pianissimo <me>;wait 1.5;input /ma Mage's Ballad II Oshawott")
end
if spell.english == "Mage's Ballad II" then
if buffactive['Clarion Call'] or
songcount == 4 then
send_command("@wait 3;input /ja Pianissimo <me>;wait 1.5;input /ma Mage's Ballad Oshawott")
else
send_command("@wait 3;input /ja Pianissimo <me>;wait 1.5;input /ma Victory March Oshawott")
end
end
if spell.english == "Mage's Ballad" then
send_command("@wait 3;input /ja Pianissimo <me>;wait 1.5;input /ma Army's Paeon VI Oshawott")
end
if spell.english == "Army's Paeon VI" then
send_command("@wait 3;input /ja Pianissimo <me>;wait 1.5;input /ma Victory March Oshawott")
end
if spell.english == "Victory March" then
Cycle2 = 'OFF'
add_to_chat(158,"Song Cycle 2: ["..Cycle2.."]")
end
end
if Cycle3 == 'ON' then
if spell.english == "Valor Minuet V" then
send_command('@wait 3;input /ma "Advancing March" <me>')
end
if spell.english == 'Advancing March' then
if buffactive['Clarion Call'] or
songcount == 4 then
send_command('@wait 3;input /ma "Valor Minuet IV" <me>')
else
send_command("@wait 3;input /ma Army's Paeon VI <me>")
end
end
if spell.english == "Valor Minuet IV" then
send_command("@wait 3;input /ma Army's Paeon VI <me>")
end
if spell.english == "Army's Paeon VI" then
send_command('@wait 3;input /ma "Victory March" <me>')
end
if spell.english == 'Victory March' then
Cycle3 = 'OFF'
add_to_chat(158,"Song Cycle 3: ["..Cycle3.."]")
end
end
if Cycle4 == 'ON' then
if spell.english == "Mage's Ballad III" then
send_command("@wait 3;input /ma Mage's Ballad II <me>")
end
if spell.english == "Mage's Ballad II" then
if buffactive['Clarion Call'] or
songcount == 4 then
send_command('@wait 3;input /ma "Victory March" <me>')
else
send_command("@wait 3;input /ma Army's Paeon VI <me>")
end
end
if spell.english == "Victory March" then
send_command("@wait 3;input /ma Army's Paeon VI <me>")
end
if spell.english == "Army's Paeon VI" then
send_command("@wait 3;input /ma Mage's Ballad <me>")
end
if spell.english == "Mage's Ballad" then
Cycle4 = 'OFF'
add_to_chat(158,"Song Cycle 4: ["..Cycle4.."]")
end
end
if Cycle5 == 'ON' then
if spell.english == "Valor Minuet IV" then
send_command('@wait 3;input /ma "Valor Minuet III" <me>')
end
if spell.english == 'Valor Minuet III' then
if buffactive['Clarion Call'] or
songcount == 4 then
send_command('@wait 3;input /ma "Valor Minuet" <me>')
else
send_command("@wait 3;input /ma Army's Paeon VI <me>")
end
end
if spell.english == "Valor Minuet" then
send_command("@wait 3;input /ma Army's Paeon VI <me>")
end
if spell.english == "Army's Paeon VI" then
send_command('@wait 3;input /ma "Valor Minuet II" <me>')
end
if spell.english == 'Valor Minuet II' then
Cycle5 = 'OFF'
add_to_chat(158,"Song Cycle 5: ["..Cycle5.."]")
end
end
if Cycle6 == 'ON' then
if spell.english == "Archer's Prelude" then
send_command('@wait 3;input /ja Pianissimo <me>;wait 1.5;input /ma "Valor Minuet V" Zubrin')
end
if spell.english == 'Valor Minuet V' then
if buffactive['Clarion Call'] or
songcount == 4 then
send_command("@wait 3;input /ja Pianissimo <me>;wait 1.5;input /ma Hunter's Prelude Zubrin")
else
send_command("@wait 3;input /ja Pianissimo <me>;wait 1.5;input /ma Army's Paeon VI Zubrin")
end
end
if spell.english == "Hunter's Prelude" then
send_command("@wait 3;input /ja Pianissimo <me>;wait 1.5;input /ma Army's Paeon VI Zubrin")
end
if spell.english == "Army's Paeon VI" then
send_command('@wait 3;input /ja Pianissimo <me>;wait 1.5;input /ma "Valor Minuet IV" Zubrin')
end
if spell.english == 'Valor Minuet IV' then
Cycle6 = 'OFF'
add_to_chat(158,"Song Cycle 6: ["..Cycle6.."]")
end
end
if Cycle7 == 'ON' then
if spell.english == "Archer's Prelude" then
send_command("@wait 3;input /ma Hunter's Prelude <me>")
end
if spell.english == "Hunter's Prelude" then
if buffactive['Clarion Call'] or
songcount == 4 then
send_command("@wait 3;input /ma Valor Minuet IV <me>")
else
send_command("@wait 3;input /ma Army's Paeon VI <me>")
end
end
if spell.english == "Valor Minuet IV" then
send_command("@wait 3;input /ma Army's Paeon VI <me>")
end
if spell.english == "Army's Paeon VI" then
send_command('@wait 3;input /ma "Valor Minuet V" <me>')
end
if spell.english == 'Valor Minuet V' then
Cycle7 = 'OFF'
add_to_chat(158,"Song Cycle 7: ["..Cycle7.."]")
end
end
if Cycle8 == 'ON' then
if spell.english == "Mage's Ballad III" then
send_command("@wait 3;input /ja Pianissimo <me>;wait 1.5;input /ma Mage's Ballad II Oshawott")
end
if spell.english == "Mage's Ballad II" then
Cycle8 = 'OFF'
add_to_chat(158,"Song Cycle 8: ["..Cycle8.."]")
end
end
if player.status == 'Engaged' then
equip(set_combine(sets.TP.Final,sets.DT.Mode))
else
equip(set_combine(sets.Idle,sets.DT.Mode))
end
end
function status_change(new,old)
if new == 'Engaged' then
equip(set_combine(sets.TP.Final,sets.DT.Mode))
else
equip(set_combine(sets.Idle,sets.DT.Mode))
end
end
function self_command(command)
if command == 'Update' then
if player.status == 'Engaged' then
equip(set_combine(sets.TP.Final,sets.DT.Mode))
else
equip(set_combine(sets.Idle,sets.DT.Mode))
end
end
if command == 'SongCycle1' then
Cycle1 = 'ON'
add_to_chat(158,"Song Cycle 1: ["..Cycle1.."]")
send_command("@input /ma Archer's Prelude <me>")
end
if command == 'SongCycle2' then
Cycle2 = 'ON'
add_to_chat(158,"Song Cycle 2: ["..Cycle2.."]")
send_command("@input /ja Pianissimo <me>;wait 1.5;input /ma Mage's Ballad III Oshawott")
end
if command == 'SongCycle3' then
Cycle3 = 'ON'
add_to_chat(158,"Song Cycle 3: ["..Cycle3.."]")
send_command("@input /ma Valor Minuet V <me>")
end
if command == 'SongCycle4' then
Cycle4 = 'ON'
add_to_chat(158,"Song Cycle 4: ["..Cycle4.."]")
send_command("@input /ja Tenuto <me>;wait 1.5;input /ma Mage's Ballad III <me>")
end
if command == 'SongCycle5' then
Cycle5 = 'ON'
add_to_chat(158,"Song Cycle 5: ["..Cycle5.."]")
send_command("@input /ma Valor Minuet IV <me>")
end
if command == 'SongCycle6' then
Cycle6 = 'ON'
add_to_chat(158,"Song Cycle 6: ["..Cycle6.."]")
send_command("@input /ja Pianissimo <me>;wait 1.5;input /ma Archer's Prelude Zubrin")
end
if command == 'SongCycle7' then
Cycle7 = 'ON'
add_to_chat(158,"Song Cycle 7: ["..Cycle7.."]")
send_command("@input /ma Archer's Prelude <me>")
end
if command == 'SongCycle8' then
Cycle8 = 'ON'
add_to_chat(158,"Song Cycle 8: ["..Cycle8.."]")
send_command("@input /ja Pianissimo <me>;wait 1.5;input /ma Mage's Ballad III Oshawott")
end
if command == 'Vars' then
add_to_chat(158,"Prelude: "..Cycle1.." PB: "..Cycle2.." March: "..Cycle3.." TB: "..Cycle4.."")
end
if command == 'SongCount' then
if songcount == 3 then
songcount = 4
add_to_chat(158,'Song Count: '..songcount..'')
elseif songcount == 4 then
songcount = 3
add_to_chat(158,'Song Count: '..songcount..'')
end
end
end
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.
|
|