|
Gearswap Support Thread
By Selindrile 2014-09-05 04:41:53
Motenten's lua keeps cancelling my Utsusemi when I get an instacast ichi, I changed Line47 of Mote-Utility.lua from:
Code elseif spell.english == 'Utsusemi: Ichi' then send_command('@wait 1.7;cancel copy image*')
To:
Code elseif spell.english == 'Utsusemi: Ichi' then send_command('@wait 1.5;cancel 66;cancel 444')
Thinking that would fix it, but, it still cancels it, but oddly, cancel 66 and 444 not cancelling it from console in game.
I searched all the files in the data folder and couldn't find any other hits for "cancel copy image" etc, and found nothing, not sure what it could be, don't think it could be another plugin, but, maybe?
VIP
Serveur: Fenrir
Game: FFXI
Posts: 764
By Fenrir.Motenten 2014-09-05 06:55:49
General notice: Dev branch, with the new mode var usage, is going to be merged to live soon. Please be ready to update your files for jobs based on my libraries.
Note that your job files will still work fine without updating them; they'll use the last library update from the older version. You'll just get the notice when you first load a non-updated file as a reminder.
VIP
Serveur: Fenrir
Game: FFXI
Posts: 764
By Fenrir.Motenten 2014-09-05 07:01:45
Motenten's lua keeps cancelling my Utsusemi when I get an instacast ichi, I changed Line47 of Mote-Utility.lua from:
Code elseif spell.english == 'Utsusemi: Ichi' then send_command('@wait 1.7;cancel copy image*')
To:
Code elseif spell.english == 'Utsusemi: Ichi' then send_command('@wait 1.5;cancel 66;cancel 444')
Thinking that would fix it, but, it still cancels it, but oddly, cancel 66 and 444 not cancelling it from console in game.
I searched all the files in the data folder and couldn't find any other hits for "cancel copy image" etc, and found nothing, not sure what it could be, don't think it could be another plugin, but, maybe?
That's a good point, and needing to adjust for insta-cast. I think yours doesn't work because of how you've constructed your cancel command. I'm rewriting the utility function to use:
Code
send_command('@wait 1.7;cancel copy image,copy image (2)')
since you can give it a list of buffs to choose from to cancel in a comma-separated list. This will prevent it from cancelling 3+ shadows.
By Selindrile 2014-09-05 07:11:32
Thanks, as always, I'll try that!
Update: I'm a moron, I was editing a copy of that file elsewhere, not the file that's actually used.
Serveur: Phoenix
Game: FFXI
Posts: 90
By Phoenix.Mudrunner 2014-09-05 07:20:42
Turnt off itemizer and shadows no longer an issue. Now I'm using the mnk file on the forums but it's set up for my sets to be manually commanded (//GS c "acc") and so on. How do I turn this off so I can be using the hot keys? Thanks
Edit: sorry. Going about my daily RL and missed the typo on my phone.
VIP
Serveur: Fenrir
Game: FFXI
Posts: 764
By Fenrir.Motenten 2014-09-05 07:41:08
Phoenix.Mudrunner said: »Turnt of iLife used and shadows no longer an issue. Now I'm using the mnk file on the forums but it's set up for my sets to be manually commanded (//GS c "acc") and so on. How do I turn this off so I can be using the hot keys? Thanks
That's... a whole lot of gibberish that doesn't make much sense. Trying to make a guess...
Something called "iLife" was causing the issue mentioned on the previous page, with infinitely-recasting Utsusemi? Never heard of "iLife" before.
You're using a mnk lua acquired from the forums? Though you don't specify which one; there's a half-dozen floating around, and you don't give us any hint as to which one you're referring to.
Whichever new lua file you're using for mnk uses self-commands for changing which gear it's using, but those commands aren't the ones you're used to (which are some unspecified "hot keys"). And you want the new mnk file to stop using the commands that it's coded to handle, and start using some other random commands, even though it probably doesn't have any clue how to handle them. And the "hot keys" aren't working (could maybe be referring to the default F-keys I define in my libraries? note that those are explicitly undefined when you unload one of my job files so as not to interfere with whatever the next loaded file defines).
If I'm interpreting your statement correctly (which is half guesswork), then what you're asking isn't possible without completely rewriting your new mnk file.
Leviathan.Syagin
Serveur: Leviathan
Game: FFXI
Posts: 999
By Leviathan.Syagin 2014-09-05 08:00:35
Hello, I'm trying to add a line in GS for ***. charge and having a bit of trouble. Is there anything at eyes glance that anyone can see that i'm doing incorrectly?
sets.precast.JA['Assassin's charge'] = {feet="Plunderer's Poulaines +1"}
I appear to be getting a error:
User file problem: C:Program Files (86x)Windower4/addons/GearSwap/data/THF.lua:101: '}' expected near 's'
any idea what im doing wrong?
Bismarck.Inference
Serveur: Bismarck
Game: FFXI
Posts: 417
By Bismarck.Inference 2014-09-05 08:03:18
Use double quotes on Assassin's Charge like you did with Plunderer's, the apostrophe in the name is closing it early.
Serveur: Phoenix
Game: FFXI
Posts: 90
By Phoenix.Mudrunner 2014-09-05 08:49:47
Phoenix.Mudrunner said: »Turnt of iLife used and shadows no longer an issue. Now I'm using the mnk file on the forums but it's set up for my sets to be manually commanded (//GS c "acc") and so on. How do I turn this off so I can be using the hot keys? Thanks
That's... a whole lot of gibberish that doesn't make much sense. Trying to make a guess...
Something called "iLife" was causing the issue mentioned on the previous page, with infinitely-recasting Utsusemi? Never heard of "iLife" before.
You're using a mnk lua acquired from the forums? Though you don't specify which one; there's a half-dozen floating around, and you don't give us any hint as to which one you're referring to.
Whichever new lua file you're using for mnk uses self-commands for changing which gear it's using, but those commands aren't the ones you're used to (which are some unspecified "hot keys"). And you want the new mnk file to stop using the commands that it's coded to handle, and start using some other random commands, even though it probably doesn't have any clue how to handle them. And the "hot keys" aren't working (could maybe be referring to the default F-keys I define in my libraries? note that those are explicitly undefined when you unload one of my job files so as not to interfere with whatever the next loaded file defines).
If I'm interpreting your statement correctly (which is half guesswork), then what you're asking isn't possible without completely rewriting your new mnk file.
Edit previous post as I was on my phone and missed my typo. The file I'm using is from the top page of the gear swap forum and the mnk one by JSH. http://pastebin.com/6ZcDwYXH after looking into the other mnk sets I do see how the writing is different for equipping sets. I guess tonight I'll have to pull one of the other files and work on adjusting those ones. Thank you.
Serveur: Odin
Game: FFXI
Posts: 84
By Odin.Celoria 2014-09-05 14:33:38
Can anyone help me add rule to not change main/sub when engaged on rdm please?
I don't know how to write it or where to put it, this was a copy paste.
-------------------------------------------------------------------------------------------------------------------
-- Setup functions for this job. Generally should not be modified.
-------------------------------------------------------------------------------------------------------------------
-- 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. state.Buff vars initialized here will automatically be tracked.
function job_setup()
state.Buff.Saboteur = buffactive.saboteur or false
end
-------------------------------------------------------------------------------------------------------------------
-- User setup functions for this job. Recommend that these be overridden in a sidecar file.
-------------------------------------------------------------------------------------------------------------------
-- Setup vars that are user-dependent. Can override this function in a sidecar file.
function user_setup()
-- Options: Override default values
options.OffenseModes = {'None', 'Melee'}
options.DefenseModes = {'Normal', 'Defense'}
options.WeaponskillModes = {'Normal'}
options.CastingModes = {'Normal'}
options.IdleModes = {'Normal'}
options.RestingModes = {'Normal'}
options.PhysicalDefenseModes = {'PDT'}
options.MagicalDefenseModes = {'MDT'}
state.Defense.PhysicalMode = 'PDT'
state.OffenseMode = 'None'
gear.default.obi_waist = "Sekhmet Corset"
select_default_macro_book()
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['Chainspell'] = {body="Vitivation Tabard"}
-- Waltz set (chr and vit)
sets.precast.Waltz = {
head="Buremte hat",
body="Gendewitha Bliaut",hands="Yaoyotl Gloves",
back="Refraction Cape",legs="Orvail Pants +1",feet="Uk'uxkaj boots"}
-- Don't need any special gear for Healing Waltz.
sets.precast.Waltz['Healing Waltz'] = {}
-- Fast cast sets for spells
-- 80% Fast Cast (including trait) for all spells, plus 5% quick cast
-- No other FC sets necessary.
sets.precast.FC = {ammo="Impatiens",
head="Atrophy Chapeau",ear2="Loquacious Earring",ear1="Estoqueur's Earring",
body="Vitivation Tabard",hands="Gendewitha Gages",back="Swith Cape",
waist="Witful Belt",legs="Orvail Pants +1",feet="Chelona Boots"}
sets.precast.FC.Impact = set_combine(sets.precast.FC, {head=empty,body="Twilight Cloak"})
-- Weaponskill sets
-- Default set for any weaponskill that isn't any more specifically defined
sets.precast.WS = {
head="Atrophy Chapeau",neck="Asperity Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
body="Atrophy Tabard",hands="Yaoyotl Gloves",ring1="Rajas Ring",ring2="K'ayres Ring",
back="Atheling Mantle",waist="Caudata Belt",legs="Hagondes Pants",feet="Hagondes Sabots"}
-- Specific weaponskill sets. Uses the base set if an appropriate WSMod version isn't found.
sets.precast.WS['Requiescat'] = set_combine(sets.precast.WS,
{neck="Soil Gorget",ear1="Brutal Earring",ear2="Moonshade Earring",
ring1="Aquasoul Ring",ring2="Aquasoul Ring",waist="Soil Belt"})
sets.precast.WS['Sanguine Blade'] = {ammo="Witchstone",
head="Hagondes Hat",neck="Eddy Necklace",ear1="Friomisi Earring",ear2="Hecate's Earring",
body="Hagondes Coat",hands="Yaoyotl Gloves",ring1="Strendu Ring",ring2="Acumen Ring",
back="Toro Cape",legs="Hagondes Pants",feet="Hagondes Sabots"}
-- Midcast Sets
sets.midcast.FastRecast = {ammo="Impatiens",
head="Atrophy Chapeau",ear2="Loquacious Earring",ear1="Estoqueur's Earring",
body="Vitivation Tabard",hands="Gendewitha Gages",back="Swith Cape",
waist="Witful Belt",legs="Orvail Pants +1",feet="Chelona Boots"}
sets.midcast.Cure = {main="Tamaxchi",sub="Genbu's Shield",
head="Gendewitha Caubeen",neck="Weike Torque",ear1="Estoqueur's Earring",ear2="Loquacious Earring",
body="Vitivation tabard",hands="Serpentes cuffs",ring1="Ephedra Ring",ring2="Sirona's Ring",
back="Ghostfyre cape",waist="Witful Belt",legs="Atrophy Tights",feet="Serpentes Sabots"}
sets.midcast.Curaga = sets.midcast.Cure
sets.midcast.CureSelf = {ring1="Kunaji Ring",ring2="Asklepian Ring",hands="Buremte Gloves"}
sets.midcast['Enhancing Magic'] = {main="Tamaxchi",sub="Matamata Shield +1",
head="Atrophy Chapeau",neck="Weike Torque",
body="Vitivation Tabard",hands="Duelist's gloves",ring1="Prolix Ring",
back="Estoqueur's Cape",waist="Siegal Sash",legs="Atrophy Tights",feet="Estoqueur's Houseaux +2"}
sets.midcast.Refresh = {legs="Estoqueur's Fuseau +2"}
sets.midcast.Stoneskin = {waist="Siegel Sash"}
sets.midcast['Enfeebling Magic'] = {main="Claidheamh Soluis",sub="Matamata Shield +1",range="Aureole",
head="Vitivation Chapeau",neck="Weike Torque",ear1="Lifestorm Earring",ear2="Psystorm Earring",
body="Atrophy Tabard",hands="Yaoyotl Gloves",ring1="Aquasoul Ring",ring2="Sangoma Ring",
back="Refraction Cape",waist="Aswang Sash",legs="Portent pants",feet="Uk'uxkaj Boots"}
sets.midcast['Dia III'] = set_combine(sets.midcast['Enfeebling Magic'], {head="Vitivation Chapeau"})
sets.midcast['Slow II'] = set_combine(sets.midcast['Enfeebling Magic'], {head="Vitivation Chapeau"})
sets.midcast['Elemental Magic'] = {main="Baqil staff",sub="Mephitis Grip",ammo="Dosis Tathlum",
head="Buremte Hat",neck="Quanpur Necklace",ear1="Psystorm Earring",ear2="Hecate's Earring",
body="Bokwus robe",hands="Yaoyotl Gloves",ring1="Sangoma Ring",ring2="Angha Ring",
back="Toro Cape",waist=gear.ElementalObi,legs="Hagondes Pants",feet="Vitivation boots"}
sets.midcast.Impact = set_combine(sets.midcast['Elemental Magic'], {head=empty,body="Twilight Cloak"})
sets.midcast['Dark Magic'] = {main="Claidheamh Soluis",sub="Matamata Shield +1",eange="Aureole",
head="Kaabnax hat",neck="Weike Torque",ear1="Lifestorm Earring",ear2="Psystorm Earring",
body="Atrophy tabard",hands="Hagondes Cuffs",ring1="Angha Ring",ring2="Sangoma Ring",
back="Refraction Cape",waist="Witful Belt",legs="Orvail pants +1",feet="Vitivation Boots"}
--sets.midcast.Stun = set_combine(sets.midcast['Dark Magic'], {})
sets.midcast.Drain = set_combine(sets.midcast['Dark Magic'], {ring1="Excelsis Ring", waist="Fucho-no-Obi"})
sets.midcast.Aspir = sets.midcast.Drain
-- Sets for special buff conditions on spells.
sets.midcast.EnhancingDuration = {hands="Atrophy Gloves",back="Estoqueur's Cape",feet="Estoqueur's Houseaux +2"}
sets.buff.ComposureOther = {head="Estoqueur's Chappel +2",
body="Estoqueur's Sayon +2",hands="Estoqueur's Gantherots +2",
legs="Estoqueur's Fuseau +2",feet="Estoqueur's Houseaux +2"}
sets.buff.Saboteur = {hands="Estoqueur's Gantherots +2"}
-- Sets to return to when not performing an action.
-- Resting sets
sets.resting = {main="Claidheamh Soluis",sub="Beautific Shield",ammo="Impatiens",
head="Vitivation Chapeau",neck="Wiglen Gorget",
body="Atrophy Tabard",hands="Serpentes Cuffs",ring1="Sheltered Ring",ring2="Paguroidea Ring",
waist="Witful Belt",back="Shadow Mantle",legs="Nares Trews",feet="Serpentes Sabots"}
-- Idle sets
sets.idle = {main="Bolelabunga",sub="Genbu's Shield",ammo="Impatiens",
head="Vitivation Chapeau",neck="Wiglen Gorget",ear1="Bloodgem Earring",ear2="Loquacious Earring",
body="Atrophy Tabard",hands="Serpentes Cuffs",ring1="Sheltered Ring",ring2="Paguroidea Ring",
back="Shadow Mantle",waist="Flume Belt",legs="Nares Trews",feet="Serpentes Sabots"}
sets.idle.Town = {main="Bolelabunga",sub="Genbu's Shield",ammo="Impatiens",
head="Vitivation Chapeau",neck="Wiglen Gorget",ear1="Bloodgem Earring",ear2="Loquacious Earring",
body="Atrophy Tabard",hands="Serpentes Cuffs",ring1="Sheltered Ring",ring2="Paguroidea Ring",
back="Shadow Mantle",waist="Flume Belt",legs="Nares Trews",feet="Serpentes Sabots"}
sets.idle.Weak = {main="Bolelabunga",sub="Genbu's Shield",ammo="Impatiens",
head="Vitivation Chapeau",neck="Wiglen Gorget",ear1="Bloodgem Earring",ear2="Loquacious Earring",
body="Atrophy Tabard",hands="Serpentes Cuffs",ring1="Sheltered Ring",ring2="Paguroidea Ring",
back="Shadow Mantle",waist="Flume Belt",legs="Nares Trews",feet="Serpentes Sabots"}
-- Defense sets
sets.defense.PDT = {
head="Atrophy Chapeau",neck="Twilight Torque",ear1="Bloodgem Earring",ear2="Loquacious Earring",
body="Hagondes Coat",hands="Gendewitha Gages",ring1="Defending Ring",ring2=gear.DarkRing.physical,
back="Shadow Mantle",waist="Flume Belt",legs="Hagondes Pants",feet="Gendewitha Galoshes"}
sets.defense.MDT = {ammo="Demonry Stone",
head="Atrophy Chapeau",neck="Twilight Torque",ear1="Bloodgem Earring",ear2="Loquacious Earring",
body="Atrophy Tabard",hands="Yaoyotl Gloves",ring1="Defending Ring",ring2="Shadow Ring",
back="Engulfer Cape",waist="Flume Belt",legs="Bokwus Slops",feet="Gendewitha Galoshes"}
sets.Kiting = {legs="Crimson Cuisses"}
sets.latent_refresh = {waist="Fucho-no-obi"}
-- 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 = {main="Claidheamh Soluis",sub="Beautific Shield",ammo="Hagneia Stone",
head="Atrophy Chapeau",neck="Asperity Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
body="Atrophy Tabard",hands="Atrophy Gloves",ring1="Rajas Ring",ring2="K'ayres Ring",
back="Atheling Mantle",waist="Goading Belt",legs="Atrophy tights",feet="Atrophy Boots"}
sets.engaged.Defense = {main="Claidheamh Soluis",sub="Beautific Shield",ammo="Hagneia Stone",
head="Atrophy Chapeau",neck="Asperity Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
body="Atrophy Tabard",hands="Atrophy Gloves",ring1="Rajas Ring",ring2="K'ayres Ring",
back="Atheling Mantle",waist="Goading Belt",legs="Atrophy tights",feet="Atrophy Boots"}
end
-------------------------------------------------------------------------------------------------------------------
-- Job-specific hooks for standard casting events.
-------------------------------------------------------------------------------------------------------------------
-- Run after the default midcast() is done.
-- eventArgs is the same one used in job_midcast, in case information needs to be persisted.
function job_post_midcast(spell, action, spellMap, eventArgs)
if spell.skill == 'Enfeebling Magic' and state.Buff.Saboteur then
equip(sets.buff.Saboteur)
elseif spell.skill == 'Enhancing Magic' then
equip(sets.midcast.EnhancingDuration)
if buffactive.composure and spell.target.type == 'PLAYER' then
equip(sets.buff.ComposureOther)
end
elseif spellMap == 'Cure' and spell.target.type == 'SELF' then
equip(sets.midcast.CureSelf)
end
end
-------------------------------------------------------------------------------------------------------------------
-- Job-specific hooks for non-casting events.
-------------------------------------------------------------------------------------------------------------------
-- Handle notifications of general user state change.
function job_state_change(stateField, newValue, oldValue)
if stateField == 'OffenseMode' then
if newValue == 'None' then
enable('main','sub')
else
disable('main','sub')
end
elseif stateField == 'Reset' then
if state.OffenseMode == 'None' then
enable('main','sub')
end
end
end
-------------------------------------------------------------------------------------------------------------------
-- User code that supplements standard library decisions.
-------------------------------------------------------------------------------------------------------------------
-- Modify the default idle set after it was constructed.
function customize_idle_set(idleSet)
if player.mpp < 51 then
idleSet = set_combine(idleSet, sets.latent_refresh)
end
return idleSet
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 meleeString = ''
if state.OffenseMode == 'Melee' then
meleeString = 'Offense: Melee, '
end
add_to_chat(122,'Casting ['..state.CastingMode..'], '..meleeString..'Idle ['..state.IdleMode..'], '..defenseString..
'Kiting: '..on_off_names[state.Kiting])
eventArgs.handled = true
end
-------------------------------------------------------------------------------------------------------------------
-- Utility functions specific to this job.
-------------------------------------------------------------------------------------------------------------------
-- Select default macro book on initial load or subjob change.
function select_default_macro_book()
-- Default macro set/book
set_macro_page(3, 4)
-- Default macro set/book
if player.sub_job == 'DNC' then
set_macro_page(2, 4)
elseif player.sub_job == 'NIN' then
set_macro_page(3, 4)
elseif player.sub_job == 'THF' then
set_macro_page(4, 4)
else
set_macro_page(1, 4)
end
end
Got it, ty.
Serveur: Phoenix
Game: FFXI
Posts: 90
By Phoenix.Mudrunner 2014-09-05 14:54:43
So excuse my noobness. Pulled the Kinematics GS for mnk and right away I am getting errors. Says i am getting an error "attempt to call global 'M' (a nil value)
function job_setup()
state.Buff.Footwork = buffactive.Footwork or false
state.Buff.Impetus = buffactive.Impetus or false
state.FootworkWS = M(false, 'Footwork on WS')
info.impetus_hit_count = 0
windower.raw_register_event('action', on_action_for_impetus)
end
Im unsure how to post my actual Lua file.
I recently, about 3 days ago, updtated my "Includes" and all such trying to fix my shadow problem, so i would think those files would be up to date
VIP
Serveur: Fenrir
Game: FFXI
Posts: 764
By Fenrir.Motenten 2014-09-05 15:56:09
Ah, that's because I just updated stuff today to match the expected merge from dev to live, but the merge hasn't happened yet. Looks like I jumped the gun on that a bit.
To get a version that's still valid for current live, go to the repository, click on Mnk.lua, then go down to the July 25 commit and browse at that point (click the <> arrows at the far right of that line).
This is only a temporary thing, though.
[+]
Leviathan.Syagin
Serveur: Leviathan
Game: FFXI
Posts: 999
By Leviathan.Syagin 2014-09-05 16:04:31
Bismarck.Inference said: »Use double quotes on Assassin's Charge like you did with Plunderer's, the apostrophe in the name is closing it early. Thank you good sir that certainly worked since this is my first time making additions to GS should I be adding anything else to this also to ensure that gear is switching? or should that suffice?
Serveur: Phoenix
Game: FFXI
Posts: 90
By Phoenix.Mudrunner 2014-09-05 16:33:25
Ah, that's because I just updated stuff today to match the expected merge from dev to live, but the merge hasn't happened yet. Looks like I jumped the gun on that a bit.
To get a version that's still valid for current live, go to the repository, click on Mnk.lua, then go down to the July 25 commit and browse at that point (click the <> arrows at the far right of that line).
This is only a temporary thing, though.
Damn, just changed my Globals and now my PUP gs defense sets aren't working XD. I decide to update and get things working smooth and everything is midupdate itself. Nothing a little "Edit > Undo" cant fix
Leviathan.Syagin
Serveur: Leviathan
Game: FFXI
Posts: 999
By Leviathan.Syagin 2014-09-05 19:04:59
Okay so after making the correction the error has gone away but now the equipment peice is not switching in when I use assas. charge anything i should be doing differently?
Ragnarok.Liteholt
Serveur: Ragnarok
Game: FFXI
Posts: 70
By Ragnarok.Liteholt 2014-09-05 20:32:13
@Motenten, I saw you updated the DNC lua files with the Qaaxo gear, which augment path did you use? I've got legs A path R15, was looking at body A path and feet C path.
Serveur: Asura
Game: FFXI
Posts: 363
By Asura.Vafruvant 2014-09-05 23:39:30
I'm not sure if this has been posted ever, as it's probably a fairly uncommon request, but...
I'm looking to automate Lunge/Swipe and rune replacement.
I figured out a method to reapply them when I lose the buff, and to put another one on when I regain aforementioned buff, but it always re-applies the rune one extra time after putting on the 2nd (as /RUN), though it does stop after that since it's no longer gaining a buff.
Also, it re-applies them if I had them on and zoned.
Perhaps somebody with more knowledge on this could assist. If there's a cleaner way to set up the file, that would be helpful too, thanks!
http://pastebin.com/vVQWKbxZ
By Selindrile 2014-09-06 03:21:29
Will set_combine allow me to combine more than two sets?
If so, is the priority rightmost to leftmost, for example will this work:
Code sets.precast.example = set_combine(sets.precast.one, sets.precast.tw, {head="Example Head",neck="Example Neck})
By gdiShun 2014-09-06 03:23:10
Yes.
http://wiki.windower.net/doku.php?id=addons:gearswap:documentation:gearswap-specific_functions:start
Quote: set_combine(set1,set2,…) Combines an arbitrary number of sets and returns the resulting set, giving right-most sets slot priority.
By Selindrile 2014-09-06 03:24:34
I'd guessed it would, thanks much, and thank you for the link!
Leviathan.Syagin
Serveur: Leviathan
Game: FFXI
Posts: 999
By Leviathan.Syagin 2014-09-06 08:41:45
So i have basically tried ever combination I can think of to close this command out and it's still not switching the slot item: sets.precast.JA["Assassin's charge"] = {feet="Plunderer's Poulaines +1"} I can not help bot think that the (') in the actually item and Ja name is what is throwing it off?
Any assistance will be much appreciated.
Leviathan.Syagin
Serveur: Leviathan
Game: FFXI
Posts: 999
By Leviathan.Syagin 2014-09-06 09:09:20
sets.buff["Assassin's charge"] = {feet="Plunderer's Poulaines +1"}
Am i replacing my current w/ this? if so still doesn't appear to work
Leviathan.Syagin
Serveur: Leviathan
Game: FFXI
Posts: 999
By Leviathan.Syagin 2014-09-06 09:34:24
try putting a capital C for charge, this might affect the read input; also, turn off gear filters so you see what is equipping.
in mote's gs the buffs are put all the down at the bottom of your equip sets. ... it was the "c" in Charge... you where right I changed it to upper case and worked perfectly thank you.
VIP
Serveur: Fenrir
Game: FFXI
Posts: 764
By Fenrir.Motenten 2014-09-06 10:16:08
Ragnarok.Liteholt said: »@Motenten, I saw you updated the DNC lua files with the Qaaxo gear, which augment path did you use? I've got legs A path R15, was looking at body A path and feet C path.
Mine are path A body, path B legs, path B feet.
Serveur: Asura
Game: FFXI
Posts: 363
By Asura.Vafruvant 2014-09-07 06:38:26
I'm not sure if this has been posted ever, as it's probably a fairly uncommon request, but...
I'm looking to automate Lunge/Swipe and rune replacement.
I figured out a method to reapply them when I lose the buff, and to put another one on when I regain aforementioned buff, but it always re-applies the rune one extra time after putting on the 2nd (as /RUN), though it does stop after that since it's no longer gaining a buff.
Also, it re-applies them if I had them on and zoned.
Perhaps somebody with more knowledge on this could assist. If there's a cleaner way to set up the file, that would be helpful too, thanks!
http://pastebin.com/vVQWKbxZQuoting less to bump and more to amend another question to it.
If you have, say Code state.LungeMode:options('RUN','PLD') could you use something like Code state.LungeMode:set(player.main_job) or is that not possible?
By Zubis 2014-09-07 13:23:45
Anyone encounter this issue with Mot's new SMN set using mote_include_version = 2?
1. Have an avatar out.
2. Reload GearSwap (//lua r gearswap).
3. Cast a cure spell on you.
The avatar idle set doesn't equip after the cure, but the regular idle set does.
You can fix it by manually setting the Idle mode (/console gs c cycle IdleMode).
I do like the new IdleModes though, gonna be using that a lot on PLD.
VIP
Serveur: Fenrir
Game: FFXI
Posts: 764
By Fenrir.Motenten 2014-09-07 17:47:15
I'm not sure if this has been posted ever, as it's probably a fairly uncommon request, but...
I'm looking to automate Lunge/Swipe and rune replacement.
I figured out a method to reapply them when I lose the buff, and to put another one on when I regain aforementioned buff, but it always re-applies the rune one extra time after putting on the 2nd (as /RUN), though it does stop after that since it's no longer gaining a buff.
Also, it re-applies them if I had them on and zoned.
Perhaps somebody with more knowledge on this could assist. If there's a cleaner way to set up the file, that would be helpful too, thanks!
http://pastebin.com/vVQWKbxZQuoting less to bump and more to amend another question to it.
If you have, say Code state.LungeMode:options('RUN','PLD') could you use something like Code state.LungeMode:set(player.main_job) or is that not possible?
There's a lot of things wrong.
1) When you replaced Lunge with Swipe, you didn't actually look up the ability recasts, so that comparison is meaningless.
Code
if spell.english == 'Lunge' then
if abil_recasts[spell.recast_id] > 0 then
Code
if spell.english == 'Lunge' then
local abil_recasts = windower.ffxi.get_ability_recasts()
if abil_recasts[spell.recast_id] > 0 then
2) When you replaced Lunge with Swipe, you didn't cancel Lunge, nor did you cancel out of any further code in the function.
Code
if spell.english == 'Lunge' then
local abil_recasts = windower.ffxi.get_ability_recasts()
if abil_recasts[spell.recast_id] > 0 then
send_command('input /jobability 'Swipe' <t>')
end
end
Code
if spell.english == 'Lunge' then
local abil_recasts = windower.ffxi.get_ability_recasts()
if abil_recasts[spell.recast_id] > 0 then
send_command('input /jobability 'Swipe' <t>')
eventArgs.cancel = true
return
end
end
3) When you equipped gear at the end of the precast function, it was partly unnecessary and redundant.
Code
if spell.english == 'Lunge' or spell.english == 'Swipe' then
equip(sets.precast.JA['Lunge'])
end
You forced a manual equip here, but didn't set eventArgs.handled to true, so the main lib is just going to do exactly the same thing again, with Lunge. Swipe gets the same set here, but really should have been constructed as its own set in the first place.
Code
sets.precast.JA.Lunge = {stuff}
sets.precast.JA.Swipe = sets.precast.JA.Lunge
At that point you remove that equip code entirely, as it's unnecessary, and the main lib will handle both Lunge and Swipe properly, the way it's designed to.
4) Redundant code, redundant code, redundant code. If you're writing what is essentially the exact same code over and over, you're doing something wrong.
The entire job_buff_change function could be reduced to:
Code
function job_buff_change(buff, gain)
if runes:contains(buff) then
local delay = gain and 5.1 or 1.1
send_command('wait ' .. tostring(delay) .. ';input /ja "' .. buff .. '" <me>')
end
end
Though, as you point out, that has problems with using the same rune even after you hit the rune limit.
5)
Code state.LungeMode:options('RUN','PLD')
state.LungeMode:set(player.main_job)
That's perfectly valid. I assume this is going to be code that will be included by both jobs, though, or it wouldn't mean much.
However, for its probable purpose (guessing based on your earlier question), it might be simpler to work it this way:
Code
info.max_runes = {['RUN']=3, ['PLD']=2}
function job_buff_change(buff, gain)
if runes:contains(buff) then
if not buffactive[buff] or buffactive[buff] < info.max_runes[player.main_job] then
local delay = gain and 5.1 or 1.1
send_command('wait ' .. tostring(delay) .. ';input /ja "' .. buff .. '" <me>')
end
end
end
6) The above doesn't fix the problem of losing them on zone. I'm also not sure how well it will work with Lunge, since Lunge removes all runes, and if you lose 3 runes, buff_change gets called 3 times. I'm not really interested in getting deep into automating stuff like that, though. Anything further, you'll have to figure out yourself.
VIP
Serveur: Fenrir
Game: FFXI
Posts: 764
By Fenrir.Motenten 2014-09-07 21:44:35
Anyone encounter this issue with Mot's new SMN set using mote_include_version = 2?
1. Have an avatar out.
2. Reload GearSwap (//lua r gearswap).
3. Cast a cure spell on you.
The avatar idle set doesn't equip after the cure, but the regular idle set does.
You can fix it by manually setting the Idle mode (/console gs c cycle IdleMode).
I do like the new IdleModes though, gonna be using that a lot on PLD.
Sorry, I'm unable to duplicate this, either with a simple reload (//gs r), or a full addon reload (//lua r gearswap).
I should note that you should almost never be using //lua r gearswap unless you're actually editing/debugging the addon, and if you're doing that, I'd expect you to know enough to debug things on your own.
However if you -are- reloading that way, there's a slight chance that when you cast Cure, you've done so before GearSwap has had a chance to update pet information after the initial reload. You should never have that problem with the simple reload (//gs r).
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.
|
|