|
Gearswap Support Thread
Ragnarok.Flippant
サーバ: Ragnarok
Game: FFXI
Posts: 660
By Ragnarok.Flippant 2016-01-21 22:10:44
Pastebin
Having issues with the Deathaspir set. The rest is working fine, but it still casts in regular aspir set
Needs to be IdleIndex, not Idle_Index on line 838.
Cleaning up your tabs a bit, it's also apparent that your BLM AF body will never equip unless you move those three lines AFTER line 885.
Also, you will never equip your aja sets if MB is set to true (not sure if you care).
Lastly, you will never equip obi for Death.
Carbuncle.Akivatoo
サーバ: Carbuncle
Game: FFXI
Posts: 263
By Carbuncle.Akivatoo 2016-01-22 05:03:46
Carbuncle.Akivatoo said: »Carbuncle.Akivatoo said: »Bismarck.Speedyjim said: »Carbuncle.Akivatoo said: »Hi everyone,
i'm still looking for fix this two fonction.
-first fonction is for equip different cure set depend on target (self or other) Code ]function precast(spell,action)
if spell.english:startswith('Cure') and spell.target.name == player.name then
equip(sets.midcast.Cure.Self)
end
end Code sets.midcast.Cure =
{
ammo="Impatiens",
head="Rev. Coronet +1",
body={ name="Jumalik Mail", augments={'HP+50','Attack+15','Enmity+9','"Refresh"+2',}},
hands="Macabre Gaunt. +1",
legs={ name="Founder's Hose", augments={'MND+7','Mag. Acc.+10','Attack+10',}},
feet={ name="Odyssean Greaves", augments={'Potency of "Cure" effect received+6%','MND+2','Mag. Acc.+8','"Mag.Atk.Bns."+3',}},
neck="Incanter's Torque",
waist="Hachirin-no-obi",
left_ear="Nourish. Earring +1",
right_ear="Mendi. Earring",
left_ring="Vocane Ring",
right_ring="Evanescence Ring",
back="Solemnity Cape",
}
sets.midcast.Cure.Self = set_combine(sets.midcast.Cure, {waist="Gishdubar Sash", right_ear="Oneiros Earring", neck="Phalaina Locket"}) -Second fonction allow me to do only cure4 macro (cast 3 if 4 is in recast and 2 if 4 and 3 are on recast)
i don't see what is wrong
Code
function refine_various_spells(spell, action, spellMap, eventArgs)
cures = S{'Cure II','Cure III','Cure IV'}
if not cures:contains(spell.english) then
return
end
local newSpell = spell.english
local spell_recasts = windower.ffxi.get_spell_recasts()
local cancelling = 'All '..spell.english..' spells are on cooldown. Cancelling spell casting.'
if spell_recasts[spell.recast_id] > 0 then
if cures:contains(spell.english) then
if spell.english == 'Cure' then
add_to_chat(122,cancelling)
eventArgs.cancel = true
return
elseif spell.english == 'Cure IV' then
newSpell = 'Cure III'
elseif spell.english == 'Cure III' then
newSpell = 'Cure II'
end
end
end
if newSpell ~= spell.english then
send_command('@input /ma "'..newSpell..'" '..tostring(spell.target.raw))
eventArgs.cancel = true
return
end
end
btw i give this fonction very usefull for BLM to save macro space (this one work) Code -------------------------------------Aspir,Sleep/ga Nuke's refine rules (thanks Asura.Vafruvant for this code)-----------------------------------
function refine_various_spells(spell, action, spellMap, eventArgs)
aspirs = S{'Aspir','Aspir II','Aspir III'}
sleeps = S{'Sleep','Sleep II'}
sleepgas = S{'Sleepga','Sleepga II'}
nukes = S{'Fire', 'Blizzard', 'Aero', 'Stone', 'Thunder', 'Water',
'Fire II', 'Blizzard II', 'Aero II', 'Stone II', 'Thunder II', 'Water II',
'Fire III', 'Blizzard III', 'Aero III', 'Stone III', 'Thunder III', 'Water III',
'Fire IV', 'Blizzard IV', 'Aero IV', 'Stone IV', 'Thunder IV', 'Water IV',
'Fire V', 'Blizzard V', 'Aero V', 'Stone V', 'Thunder V', 'Water V',
'Fire VI', 'Blizzard VI', 'Aero VI', 'Stone VI', 'Thunder VI', 'Water VI',
'Firaga', 'Blizzaga', 'Aeroga', 'Stonega', 'Thundaga', 'Waterga',
'Firaga II', 'Blizzaga II', 'Aeroga II', 'Stonega II', 'Thundaga II', 'Waterga II',
'Firaga III', 'Blizzaga III', 'Aeroga III', 'Stonega III', 'Thundaga III', 'Waterga III',
'Firaja', 'Blizzaja', 'Aeroja', 'Stoneja', 'Thundaja', 'Waterja',
}
if not sleepgas:contains(spell.english) and not sleeps:contains(spell.english) and not aspirs:contains(spell.english) and not nukes:contains(spell.english)then
return
end
local newSpell = spell.english
local spell_recasts = windower.ffxi.get_spell_recasts()
local cancelling = 'All '..spell.english..' spells are on cooldown. Cancelling spell casting.'
if spell_recasts[spell.recast_id] > 0 then
if aspirs:contains(spell.english) then
if spell.english == 'Aspir' then
add_to_chat(122,cancelling)
eventArgs.cancel = true
return
elseif spell.english == 'Aspir II' then
newSpell = 'Aspir'
elseif spell.english == 'Aspir III' then
newSpell = 'Aspir II'
end
elseif sleeps:contains(spell.english) then
if spell.english == 'Sleep' then
add_to_chat(122,cancelling)
eventArgs.cancel = true
return
elseif spell.english == 'Sleep II' then
newSpell = 'Sleep'
end
elseif sleepgas:contains(spell.english) then
if spell.english == 'Sleepga II' then
add_to_chat(122,cancelling)
eventArgs.cancel = true
return
elseif spell.english == 'Sleepga' then
newSpell = 'Sleepga II'
end
elseif nukes:contains(spell.english) then
if spell.english == 'Fire' then
eventArgs.cancel = true
return
elseif spell.english == 'Fire VI' then
newSpell = 'Fire V'
elseif spell.english == 'Fire IV' then
newSpell = 'Fire III'
elseif spell.english == 'Fire II' then
newSpell = 'Fire'
elseif spell.english == 'Firaja' then
newSpell = 'Firaga III'
elseif spell.english == 'Firaga II' then
newSpell = 'Firaga'
end
if spell.english == 'Blizzard' then
eventArgs.cancel = true
return
elseif spell.english == 'Blizzard VI' then
newSpell = 'Blizzard V'
elseif spell.english == 'Blizzard IV' then
newSpell = 'Blizzard III'
elseif spell.english == 'Blizzard II' then
newSpell = 'Blizzard'
elseif spell.english == 'Blizzaja' then
newSpell = 'Blizzaga III'
elseif spell.english == 'Blizzaga II' then
newSpell = 'Blizzaga'
end
if spell.english == 'Aero' then
eventArgs.cancel = true
return
elseif spell.english == 'Aero VI' then
newSpell = 'Aero V'
elseif spell.english == 'Aero IV' then
newSpell = 'Aero III'
elseif spell.english == 'Aero II' then
newSpell = 'Aero'
elseif spell.english == 'Aeroja' then
newSpell = 'Aeroga III'
elseif spell.english == 'Aeroga II' then
newSpell = 'Aeroga'
end
if spell.english == 'Stone' then
eventArgs.cancel = true
return
elseif spell.english == 'Stone VI' then
newSpell = 'Stone V'
elseif spell.english == 'Stone IV' then
newSpell = 'Stone III'
elseif spell.english == 'Stone II' then
newSpell = 'Stone'
elseif spell.english == 'Stoneja' then
newSpell = 'Stonega III'
elseif spell.english == 'Stonega II' then
newSpell = 'Stonega'
end
if spell.english == 'Thunder' then
eventArgs.cancel = true
return
elseif spell.english == 'Thunder VI' then
newSpell = 'Thunder V'
elseif spell.english == 'Thunder IV' then
newSpell = 'Thunder III'
elseif spell.english == 'Thunder II' then
newSpell = 'Thunder'
elseif spell.english == 'Thundaja' then
newSpell = 'Thundaga III'
elseif spell.english == 'Thundaga II' then
newSpell = 'Thundaga'
end
if spell.english == 'Water' then
eventArgs.cancel = true
return
elseif spell.english == 'Water VI' then
newSpell = 'Water V'
elseif spell.english == 'Water IV' then
newSpell = 'Water III'
elseif spell.english == 'Water II' then
newSpell = 'Water'
elseif spell.english == 'Waterja' then
newSpell = 'Waterga III'
elseif spell.english == 'Waterga II' then
newSpell = 'Waterga'
end
end
end
if newSpell ~= spell.english then
send_command('@input /ma "'..newSpell..'" '..tostring(spell.target.raw))
eventArgs.cancel = true
return
end
end
Can you help me ? If it helps, this is how my healing set is written in my BLU lua.
Code if spellMap == 'Healing' and spell.target.type == 'SELF' and sets.self_healing then
equip(sets.self_healing)
end Code sets.self_healing = {ring1="Kunaji Ring",ring2="Asklepian Ring",waist="Gishdubar Sash"} thx for hellp, i'm gonna try it asap
ok that didn't work ><
i share my PLD.Lua if you see something can block this fonction
Ragnarok.Flippant
サーバ: Ragnarok
Game: FFXI
Posts: 660
By Ragnarok.Flippant 2016-01-22 05:15:11
Carbuncle.Akivatoo said: »i share my PLD.Lua if you see something can block this fonction
You have the function, but you are never using it. You have to "call" it by writing refine_various_spells(spell, action, spellMap, eventArgs) in the section that you want this to be used (i.e. midcast).
You've also got two logical errors. It should be: Code
function refine_various_spells(spell, action, spellMap, eventArgs)
cures = S{'Cure II','Cure III','Cure IV'}
if not cures:contains(spell.english) then
return
end
local newSpell = spell.english
local spell_recasts = windower.ffxi.get_spell_recasts()
local cancelling = 'All '..spell.english..' spells are on cooldown. Cancelling spell casting.'
if spell_recasts[spell.recast_id] > 0 then
if cures:contains(spell.english) then
if spell.english == 'Cure' then
add_to_chat(122,cancelling)
eventArgs.cancel = true
return
elseif spell.english == 'Cure IV' then
newSpell = 'Cure III'
elseif spell.english == 'Cure III' then
newSpell = 'Cure II'
end
end
end
if newSpell ~= spell.english then
send_command('@input /ma "'..newSpell..'" '..tostring(spell.target.raw))
eventArgs.cancel = true
return
end
if spellMap == 'Healing' and spell.target.type == 'SELF' and sets.self_healing then
equip(sets.self_healing)
end
end
Leviathan.Stamos
サーバ: Leviathan
Game: FFXI
Posts: 1239
By Leviathan.Stamos 2016-01-22 05:25:30
Thanks!
Nvm fixed the Obi issue
Asura.Cair
VIP
サーバ: Asura
Game: FFXI
Posts: 246
By Asura.Cair 2016-01-22 05:45:14
Look at line 6/15/17. What are you trying to do? Cast the lowest available cure?
Ragnarok.Flippant said: »Carbuncle.Akivatoo said: »i share my PLD.Lua if you see something can block this fonction
You have the function, but you are never using it. You have to "call" it by writing refine_various_spells(spell, action, spellMap, eventArgs) in the section that you want this to be used (i.e. midcast).
You've also got two logical errors. It should be: Code
function refine_various_spells(spell, action, spellMap, eventArgs)
cures = S{'Cure II','Cure III','Cure IV'}
if not cures:contains(spell.english) then
-- Cair: Any spell that is not Cure II, Cure III, or Cure IV will not make it past this line
return
end
local newSpell = spell.english
local spell_recasts = windower.ffxi.get_spell_recasts()
local cancelling = 'All '..spell.english..' spells are on cooldown. Cancelling spell casting.'
if spell_recasts[spell.recast_id] > 0 then
--Cair: The following line is redundant. You did this already.
if cures:contains(spell.english) then
--Cair: This isn't possible, 'Cure' is not an element in 'cures'
if spell.english == 'Cure' then
add_to_chat(122,cancelling)
eventArgs.cancel = true
return
elseif spell.english == 'Cure IV' then
newSpell = 'Cure III'
elseif spell.english == 'Cure III' then
newSpell = 'Cure II'
end
end
end
if newSpell ~= spell.english then
send_command('@input /ma "'..newSpell..'" '..tostring(spell.target.raw))
eventArgs.cancel = true
return
end
if spellMap == 'Healing' and spell.target.type == 'SELF' and sets.self_healing then
equip(sets.self_healing)
end
end
Carbuncle.Akivatoo
サーバ: Carbuncle
Game: FFXI
Posts: 263
By Carbuncle.Akivatoo 2016-01-22 05:45:37
Ragnarok.Flippant said: »function refine_various_spells(spell, action, spellMap, eventArgs)
cures = S{'Cure II','Cure III','Cure IV'}
if not cures:contains(spell.english) then
return
end
local newSpell = spell.english
local spell_recasts = windower.ffxi.get_spell_recasts()
local cancelling = 'All '..spell.english..' spells are on cooldown. Cancelling spell casting.'
if spell_recasts[spell.recast_id] > 0 then
if cures:contains(spell.english) then
if spell.english == 'Cure' then
add_to_chat(122,cancelling)
eventArgs.cancel = true
return
elseif spell.english == 'Cure IV' then
newSpell = 'Cure III'
elseif spell.english == 'Cure III' then
newSpell = 'Cure II'
end
end
end
if newSpell ~= spell.english then
send_command('@input /ma "'..newSpell..'" '..tostring(spell.target.raw))
eventArgs.cancel = true
return
end
if spellMap == 'Healing' and spell.target.type == 'SELF' and sets.self_healing then
equip(sets.self_healing)
end
end @Asura.Cair yeah fonction i'm looking for is :
- Cast cure 3 if 4 if in recast or mp too low (kind of -1 tier logic)
- Use different cureset if i'm tageting self
i'm look for that :
if "cure 4" is in recast of not enough mp then
newspell "cure 3"
if taget self use > set.midcast.cure.self
that still not work
Asura.Cair
VIP
サーバ: Asura
Game: FFXI
Posts: 246
By Asura.Cair 2016-01-22 06:36:11
Just preempting this with.. I don't use Motenten's GearSwaps. To my understanding, you should be canceling a spell by setting event_arts.cancel every time the recast for the given spell isn't up for what you're trying to do.
I imagine you're not too familiar with Lua, but all the playing around with local string variables is probably confusing you more than it's helping. If you were going for conciseness, you can do it much better with some library functions, but for clarity you may just want something like this:
Code
function refine_various_spells(spell,action,spell_map,event_args)
local cures = S{'Cure','Cure II','Cure III','Cure IV'}
if cures:contains(spell.english) then
local spell_recasts = windower.ffxi.get_spell_recasts()
if spell_recasts[spell.recast_id] > 0 then
event_args.cancel = true
if spell.english == 'Cure IV' then
send_command('@input /ma "Cure III" '..tostring(spell.target.raw))
return
elseif spell.english == 'Cure III' then
send_command('@input /ma "Cure II" '..tostring(spell.target.raw))
return
elseif spell.english == 'Cure II' then
send_command('@input /ma "Cure" '..tostring(spell.target.raw))
return
else
add_to_chat(122,'All Cure spells are on cooldown. Canceling the cast.')
return
end
end
if spell_map == 'Healing' and spell.target.type == 'SELF' and sets.self_healing then
equip(sets.self_healing)
end
end
end
For future reference, I'd recommend sticking to one capitalization style, too. That way you're not wondering if you need to check the value of, for example, spell_recasts, spellRecasts, or SpellRecasts every time. Also remember to declare new variables 'local' within a function because you have no way of knowing if you're going to accidentally modify some global variable named 'cures'. Hopefully that doesn't happen, but you never know.
Carbuncle.Akivatoo
サーバ: Carbuncle
Game: FFXI
Posts: 263
By Carbuncle.Akivatoo 2016-01-22 06:47:42
i just try, this fix didn't work too ;-;
both fonction didn't work
"function refine_various_spells Local(spell,action,spell_map,event_args)"
that's the way to stay in local modification ?
Asura.Cair
VIP
サーバ: Asura
Game: FFXI
Posts: 246
By Asura.Cair 2016-01-22 07:14:51
You don't need the function declaration to be local, just the variables inside the function.
Code
x = 5
function foo()
-- You usually dont wanna do this
x = 4
print(x)
end
function bar()
local x = 6
print(x)
end
print(x) -- prints 5
foo() -- prints 4
print(x) -- prints 4
bar() -- prints 6
print(x) -- prints 4
Quetzalcoatl.Kyrial
サーバ: Quetzalcoatl
Game: FFXI
Posts: 332
By Quetzalcoatl.Kyrial 2016-01-22 12:18:46
Has the syntax for game time changed? Lately my NIN feet aren't swapping correctly... This is what I've been using, which used to work (though it was a few game minutes inaccurate), but now it seems like it almost always tries to use my Night feet.
Code function select_movement_feet()
if world.time >= 17*60 or world.time < 7*60 then
gear.MovementFeet.name = gear.NightFeet
else
gear.MovementFeet.name = gear.DayFeet
end
end
サーバ: Asura
Game: FFXI
Posts: 127
By Asura.Brennski 2016-01-26 04:45:34
Is there a way to for gear swap to pick up your going to MBing? Atm I toggle between standard nuke and MB set depending on which I am doing.
Also does GearSwap still work if I do /console exec <script_name>.txt?
Bismarck.Dunigs
サーバ: Bismarck
Game: FFXI
Posts: 83
By Bismarck.Dunigs 2016-01-26 09:42:19
Is there a way to for gear swap to pick up your going to MBing? Atm I toggle between standard nuke and MB set depending on which I am doing.
Also does GearSwap still work if I do /console exec <script_name>.txt?
This question comes up a lot recently. The answer is no. You can write a standalone add on that parses actions or even just chat log if you're lazy, but there's nothing built into gearswas that detects that for you.
Macro scripts are fine, you may get some weird results if the script itself has gear changes in it but I'm assuming it's just a bunch of abilities you want chained into one macro.
サーバ: Asura
Game: FFXI
Posts: 127
By Asura.Brennski 2016-01-26 09:43:44
Is there a way to for gear swap to pick up your going to MBing? Atm I toggle between standard nuke and MB set depending on which I am doing.
Also does GearSwap still work if I do /console exec <script_name>.txt?
This question comes up a lot recently. The answer is no. You can write a standalone add on that parses actions or even just chat log if you're lazy, but there's nothing built into gearswas that detects that for you.
Macro scripts are fine, you may get some weird results if the script itself has gear changes in it but I'm assuming it's just a bunch of abilities you want chained into one macro.
Thank you.
Yes the scripts are just SCH Spell SCs allowing me to press 1 macro to fire the SC,
By likard 2016-01-27 19:13:34
Hey all,
IM trying to set up my caster's with Hachirin no obi and twilight cape. I have the sets made, I have code for if weather matches spell, but it doesnt equip the weather set when weath = spell. I had gs show swaps and it is just equipping the default elemental magic sets. I can tell gs to equip the weather set and it will, so I think there might be an issue with it detecting the weather.
The section for the weather/day check is
function weathercheck(spell_element,set)
if spell_element == world.weather_element or spell_element == world.day_element then
equip(sets.midcast['Elemental Magic'], sets.weather)
end
end
Any advice would be appreciated. Thanks
Bismarck.Speedyjim
サーバ: Bismarck
Game: FFXI
Posts: 516
By Bismarck.Speedyjim 2016-01-27 19:41:24
Try this maybe?
Code equip(sets.midcast['Elemental Magic'], {back="Twilight Cape",waist="Hachirin-no-Obi"})
Looking at my lua, this code is in function job_post_midcast. Try that too.
By likard 2016-01-27 19:58:59
Just tried both changes, neither works. Do you need anything else in the lua to chck the weather or does that get handled behind the scenes?
And this does work with sch storm spells right?
I was hoping to just add a simple section for it. Bah
Ragnarok.Flippant
サーバ: Ragnarok
Game: FFXI
Posts: 660
By Ragnarok.Flippant 2016-01-27 21:29:27
Just tried both changes, neither works. Do you need anything else in the lua to chck the weather or does that get handled behind the scenes?
And this does work with sch storm spells right?
I was hoping to just add a simple section for it. Bah
Yes, it works with storms.
Can you also paste the part where this function is being called? There should be another part in your rules that has "weathercheck" that is passing spell.element (and possibly one other variable).
サーバ: Phoenix
Game: FFXI
Posts: 1245
By Phoenix.Gaiarorshack 2016-01-27 21:37:04
can you define a variable inside gearswap from the console
e.g.
GS sets variablename value
so you can have ythe following in your gearswap script
if variablename == Value then blah blah blah
Leviathan.Stamos
サーバ: Leviathan
Game: FFXI
Posts: 1239
By Leviathan.Stamos 2016-01-28 03:30:27
This may be a stupid question; but here goes:
Mostly avoided Mote's luas for a long time, because I have my binds in my init. Every time I use his I am stuck with his binds, and have no idea besides relogging to get them off. Have the unloadbinds for all the commands in the BST lua, but it still does not revert them back. Any idea how to fix this?
Asura.Cair
VIP
サーバ: Asura
Game: FFXI
Posts: 246
By Asura.Cair 2016-01-28 04:56:25
In your Mote-Globals file just comment out the entire global_on_load() and global_on_unload() body.
Even better, put your binds there.
Leviathan.Stamos
サーバ: Leviathan
Game: FFXI
Posts: 1239
By Leviathan.Stamos 2016-01-28 06:27:29
Thanks Jinjo
By Feanorsof 2016-01-30 18:57:27
Is it possible to add a third set to this:
elseif str == 'TPMode' then
if TPMode == 'Normal' then
TPMode = 'Accuracy'
else
TPMode = 'Normal'
end
windower.add_to_chat(8,'Engaged melee set mode: '..TPMode)
gear_modes()
end
end
I tried a few things but couldn't get it to work
Thanks
Carbuncle.Akivatoo
サーバ: Carbuncle
Game: FFXI
Posts: 263
By Carbuncle.Akivatoo 2016-01-31 08:25:16
ok i have fixed my curs self problem but i still have this fonction not workin
fonction i'm looking for is :
- Cast cure 3 if 4 if in recast or mp too low (kind of -1 tier logic)
- Use different cureset if i'm tageting self
i'm look for that :
if "cure 4" is in recast of not enough mp then
newspell "cure 3" Code -- Curing rules not working ><
function refine_various_spells(spell,action,spell_map,event_args)
local cures = S{'Cure','Cure II','Cure III','Cure IV'}
if cures:contains(spell.english) then
local spell_recasts = windower.ffxi.get_spell_recasts()
if spell_recasts[spell.recast_id] > 0 then
event_args.cancel = true
if spell.english == 'Cure IV' then
send_command('@input /ma "Cure III" '..tostring(spell.target.raw))
return
elseif spell.english == 'Cure III' then
send_command('@input /ma "Cure II" '..tostring(spell.target.raw))
return
elseif spell.english == 'Cure II' then
send_command('@input /ma "Cure" '..tostring(spell.target.raw))
return
else
add_to_chat(122,'All Cure spells are on cooldown. Canceling the cast.')
return
end
end
end
end
Carbuncle.Akivatoo
サーバ: Carbuncle
Game: FFXI
Posts: 263
By Carbuncle.Akivatoo 2016-02-04 05:26:28
i' looking also to change bind on F12 to activate my BDT like the F10 one work for PDT
so i change:
in my PLD.lua:
options.BreathDefenseModes = {'BDT'}
in Mote-Globals.lua:
send_command('bind f12 gs c activate BreathDefense')
Mote-Include.lua:
options.BreathDefenseModes = {'BDT'}
and when i activate F10, then F11, then F12 i get this error on F12:
What did i miss ?
i find this on Mote-include:
Code function apply_defense(baseSet)
if state.Defense.Active then
local defenseSet = sets.defense
if state.Defense.Type == 'Physical' then
defenseSet = sets.defense[state.Defense.PhysicalMode] or defenseSet
else
defenseSet = sets.defense[state.Defense.MagicalMode] or defenseSet
-- MDB here ?
end
for _,group in ipairs(classes.CustomDefenseGroups) do
defenseSet = defenseSet[group] or defenseSet
end
baseSet = set_combine(baseSet, defenseSet)
end
return baseSet
end .
i changed it like : Code function apply_defense(baseSet)
if state.Defense.Active then
local defenseSet = sets.defense
if state.Defense.Type == 'Physical' then
defenseSet = sets.defense[state.Defense.PhysicalMode] or defenseSet
elseif state.Defense.Type == 'Magical' then
defenseSet = sets.defense[state.Defense.MagicalMode] or defenseSet
elseif state.Defense.Type == 'Breath' then
defenseSet = sets.defense[state.Defense.BreathMode] or defenseSet
end
for _,group in ipairs(classes.CustomDefenseGroups) do
defenseSet = defenseSet[group] or defenseSet
end
baseSet = set_combine(baseSet, defenseSet)
end
return baseSet
end but that didn't fix anything ><
By Sonicrich05 2016-02-05 09:41:55
Hello!
I was wondering if someone could help me figure out why my pet_midcast isn't changing to my Pet WS set. I pretty much copied it from someone else, kind of confused here.
Here's where I define the moves: Code function job_setup()
state.JugMode = M{['description']='Jug Mode', 'ScissorlegXerin','BlackbeardRandy','ThreestarLynn'}
state.RewardMode = M{['description']='Reward Mode', 'Theta', 'Zeta', 'Eta'}
ready_moves_to_check = S{'Sic','Whirl Claws','Dust Cloud','Foot Kick','Sheep Song','Sheep Charge','Lamb Chop',
'Rage','Head Butt','Scream','Dream Flower','Wild Oats','Leaf Dagger','Claw Cyclone','Razor Fang',
'Roar','Gloeosuccus','Palsy Pollen','Soporific','Cursed Sphere','Venom','Geist Wall','Toxic Spit',
'Numbing Noise','Nimble Snap','Cyclotail','Spoil','Rhino Guard','Rhino Attack','Power Attack',
'Hi-Freq Field','Sandpit','Sandblast','Venom Spray','Mandibular Bite','Metallic Body','Bubble Shower',
'Bubble Curtain','Scissor Guard','Big Scissors','Grapple','Spinning Top','Double Claw','Filamented Hold',
'Frog Kick','Queasyshroom','Silence Gas','Numbshroom','Spore','Dark Spore','Shakeshroom','Blockhead',
'Secretion','Fireball','Tail Blow','Plague Breath','Brain Crush','Infrasonics','??? Needles',
'Needleshot','Chaotic Eye','Blaster','Scythe Tail','Ripper Fang','Chomp Rush','Intimidate','Recoil Dive',
'Water Wall','Snow Cloud','Wild Carrot','Sudden Lunge','Spiral Spin','Noisome Powder','Wing Slap',
'Beak Lunge','Suction','Drainkiss','Acid Mist','TP Drainkiss','Back Heel','Jettatura','Choke Breath',
'Fantod','Charged Whisker','Purulent Ooze','Corrosive Ooze','Tortoise Stomp','Harden Shell','Aqua Breath',
'Sensilla Blades','Tegmina Buffet','Molting Plumage','Swooping Frenzy','Pentapeck','Sweeping Gouge',
'Zealous Snort','Somersault ','Tickling Tendrils','Stink Bomb','Nectarous Deluge','Nepenthic Plunge',
'Pecking Flurry','Pestilent Plume','Foul Waters','Spider Web','Sickle Slash','Frogkick','Ripper Fang','Scythe Tail','Chomp Rush'}
mab_ready_moves = S{
'Cursed Sphere','Venom','Toxic Spit',
'Venom Spray','Bubble Shower',
'Fireball','Plague Breath',
'Snow Cloud','Acid Spray','Silence Gas','Dark Spore',
'Charged Whisker','Purulent Ooze','Aqua Breath','Stink Bomb',
'Nectarous Deluge','Nepenthic Plunge','Foul Waters','Dust Cloud','Sheep Song','Scream','Dream Flower','Roar','Gloeosuccus','Palsy Pollen',
'Soporific','Geist Wall','Numbing Noise','Spoil','Hi-Freq Field',
'Sandpit','Sandblast','Filamented Hold',
'Spore','Infrasonics','Chaotic Eye',
'Blaster','Intimidate','Noisome Powder','TP Drainkiss','Jettatura','Spider Web',
'Corrosive Ooze','Molting Plumage','Swooping Frenzy',
'Pestilent Plume',}
end
And here's the midcast funciton: Code function pet_midcast(spell, action, spellMap, eventArgs)
-- Equip monster correlation gear, as appropriate
if ready_moves_to_check:contains(spell.english) and pet.status == 'Engaged' then
equip(sets.midcast.Pet.WS)
end
end
Thanks in advance!
Seraph.Jacaut
サーバ: Seraph
Game: FFXI
Posts: 383
By Seraph.Jacaut 2016-02-07 19:30:01
Can anyone tell me whats wrong with this? error i get is ')' expected near '=' and i know its in this section cause i cut it and it works fine now. thanks in advance im so bad at this stuff! Code -- Idle set that equips when you have a pet out and ARE fighting an enemy.
sets.idle.Pet.Engaged = set_combine(sets.idle, main={ name="Kumbhakarna", augments={'Pet: Accuracy+14 Pet: Rng. Acc.+14','Pet: Damage taken -2%','Pet: TP Bonus+180',}},
sub={ name="Astolfo", augments={'VIT+11','Pet: Phys. dmg. taken -11%',}},
ammo="Demonry Core",
head={ name="Anwig Salade", augments={'Attack+3','Pet: Damage taken -10%','Accuracy+3','Pet: Haste+5',}},
body={ name="Taeon Tabard", augments={'Pet: Accuracy+14 Pet: Rng. Acc.+14','Pet: "Dbl. Atk."+5','Pet: Damage taken -4%',}},
hands={ name="Taeon Gloves", augments={'Pet: DEF+12','Pet: "Regen"+2','Pet: Damage taken -2%',}},
legs={ name="Taeon Tights", augments={'Pet: Accuracy+23 Pet: Rng. Acc.+23','Pet: "Regen"+2','Pet: Damage taken -4%',}},
feet={ name="Taeon Boots", augments={'Pet: DEF+11','Pet: "Regen"+1','Pet: Damage taken -3%',}},
neck="Peacock Amulet",
waist="Hurch'lan Sash",
left_ear="Handler's Earring",
right_ear="Handler's Earring +1",
left_ring="Vocane Ring",
right_ring="Defending Ring",
back={ name="Pastoralist's Mantle", augments={'STR+5 DEX+5','Accuracy+5','Pet: Accuracy+17 Pet: Rng. Acc.+17','Pet: Damage taken -3%',}}})
Bismarck.Dunigs
サーバ: Bismarck
Game: FFXI
Posts: 83
By Bismarck.Dunigs 2016-02-07 19:55:49
Can anyone tell me whats wrong with this? error i get is ')' expected near '=' and i know its in this section cause i cut it and it works fine now. thanks in advance im so bad at this stuff! Code -- Idle set that equips when you have a pet out and ARE fighting an enemy.
sets.idle.Pet.Engaged = set_combine(sets.idle, main={ name="Kumbhakarna", augments={'Pet: Accuracy+14 Pet: Rng. Acc.+14','Pet: Damage taken -2%','Pet: TP Bonus+180',}},
sub={ name="Astolfo", augments={'VIT+11','Pet: Phys. dmg. taken -11%',}},
ammo="Demonry Core",
head={ name="Anwig Salade", augments={'Attack+3','Pet: Damage taken -10%','Accuracy+3','Pet: Haste+5',}},
body={ name="Taeon Tabard", augments={'Pet: Accuracy+14 Pet: Rng. Acc.+14','Pet: "Dbl. Atk."+5','Pet: Damage taken -4%',}},
hands={ name="Taeon Gloves", augments={'Pet: DEF+12','Pet: "Regen"+2','Pet: Damage taken -2%',}},
legs={ name="Taeon Tights", augments={'Pet: Accuracy+23 Pet: Rng. Acc.+23','Pet: "Regen"+2','Pet: Damage taken -4%',}},
feet={ name="Taeon Boots", augments={'Pet: DEF+11','Pet: "Regen"+1','Pet: Damage taken -3%',}},
neck="Peacock Amulet",
waist="Hurch'lan Sash",
left_ear="Handler's Earring",
right_ear="Handler's Earring +1",
left_ring="Vocane Ring",
right_ring="Defending Ring",
back={ name="Pastoralist's Mantle", augments={'STR+5 DEX+5','Accuracy+5','Pet: Accuracy+17 Pet: Rng. Acc.+17','Pet: Damage taken -3%',}}})
You need to surround the second argument in set_combine with an opening curly bracket(you already have the proper closing one at the end). In other words, change Code
= set_combine(sets.idle, main={....}}})
To: Code
= set_combine(sets.idle, {main = everything else as you have it}}})
Seraph.Jacaut
サーバ: Seraph
Game: FFXI
Posts: 383
By Seraph.Jacaut 2016-02-07 20:10:04
Can anyone tell me whats wrong with this? error i get is ')' expected near '=' and i know its in this section cause i cut it and it works fine now. thanks in advance im so bad at this stuff! Code -- Idle set that equips when you have a pet out and ARE fighting an enemy.
sets.idle.Pet.Engaged = set_combine(sets.idle, main={ name="Kumbhakarna", augments={'Pet: Accuracy+14 Pet: Rng. Acc.+14','Pet: Damage taken -2%','Pet: TP Bonus+180',}},
sub={ name="Astolfo", augments={'VIT+11','Pet: Phys. dmg. taken -11%',}},
ammo="Demonry Core",
head={ name="Anwig Salade", augments={'Attack+3','Pet: Damage taken -10%','Accuracy+3','Pet: Haste+5',}},
body={ name="Taeon Tabard", augments={'Pet: Accuracy+14 Pet: Rng. Acc.+14','Pet: "Dbl. Atk."+5','Pet: Damage taken -4%',}},
hands={ name="Taeon Gloves", augments={'Pet: DEF+12','Pet: "Regen"+2','Pet: Damage taken -2%',}},
legs={ name="Taeon Tights", augments={'Pet: Accuracy+23 Pet: Rng. Acc.+23','Pet: "Regen"+2','Pet: Damage taken -4%',}},
feet={ name="Taeon Boots", augments={'Pet: DEF+11','Pet: "Regen"+1','Pet: Damage taken -3%',}},
neck="Peacock Amulet",
waist="Hurch'lan Sash",
left_ear="Handler's Earring",
right_ear="Handler's Earring +1",
left_ring="Vocane Ring",
right_ring="Defending Ring",
back={ name="Pastoralist's Mantle", augments={'STR+5 DEX+5','Accuracy+5','Pet: Accuracy+17 Pet: Rng. Acc.+17','Pet: Damage taken -3%',}}})
You need to surround the second argument in set_combine with an opening curly bracket(you already have the proper closing one at the end). In other words, change Code
= set_combine(sets.idle, main={....}}})
To: Code
= set_combine(sets.idle, {main = everything else as you have it}}})
got it thanks ^^
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.
|
|