Gearswap Support Thread

Langues: JP EN DE FR
users online
Forum » Windower » Support » Gearswap Support Thread
Gearswap Support Thread
First Page 2 3 ... 121 122 123 ... 181 182 183
Offline
Posts: 9
By RebornedHero 2017-05-28 21:29:53
Link | Citer | R
 
Thanks for the response. I wouldn't mind taking a look at yours. I also might try kinematics instead. The one I was using is from the bluemage tagged post on this forum.
 Asura.Byrne
Offline
Serveur: Asura
Game: FFXI
By Asura.Byrne 2017-05-29 11:52:51
Link | Citer | R
 
Ok cool, when I get home I'll put mine up on github and send you a link.

It's based off the same lua that yours is, but I've made many changes to it, such as a few additional sets, and some cleaning up of some of the arguments, extensions of some functionalities, and added rules for specific spells.

In addition to most of those things that should seem fairly self explanatory, there are a few things to go over before I post it.

Pressing F12 will disable swapping of main and sub slots, which if you would like I can actually reverse it to where the lua starts off with the slots disabled by default.

Secondly the way that nukes are handled in mine is different to yours, Instead of putting your nuking gear into the BlueMagic.INT set, it will be in the BlueMagic.SUB set, with the exception of the Tenebral Crush set, which is it's own set due to pixie hairpin +1 and Archon ring.

Additionally, any function sets that contain gear that you do not have, you should put something you do have in it's place, or replace the portion after the equal such that it looks like "sets.BlahBlah.Whatever = {}"
 Asura.Byrne
Offline
Serveur: Asura
Game: FFXI
By Asura.Byrne 2017-05-29 18:31:17
Link | Citer | R
 
All right, revised lua here:


https://pastebin.com/UzQr8pC3


Free game for anyone that wants a more meticulously formatted and up-to-date version of the lua on The-Beast-Within Guide.
Offline
Posts: 116
By Feanorsof 2017-06-04 06:31:35
Link | Citer | R
 
If I was to do something like this for an AM3 set and a JA:
Code
						if buffactive["Aftermath: Lv.3"] and equipSet['AM3'] then
								equipSet = equipSet['AM3']
						end
						if buffactive["Double Shot"] and equipSet['Doubleshot'] then
								equipSet = equipSet['Doubleshot']
						end


Which would take precedence? Would it just be in the order of the code or possibly JA use?
 Asura.Frod
Offline
Serveur: Asura
Game: FFXI
Posts: 1199
By Asura.Frod 2017-06-10 21:55:17
Link | Citer | R
 
So i'm running into a pretty *** annoying bug with smn that i think is more an issue with gearswap itself, but here's my lua below anyway.

What happens: Thunderspark is really really *** prone to missing the midcast gearswap for BP damage. I'm talking like a 30-50% chance to happen, especially in higher lag situations like cleaving.


There's two suspicious issues with it:
1: something is causing GS to swap to something else.
2: it's lagging and it's swapping to post cast before pact lands.
Code
-- Initialization function for this job file.
function get_sets()
    mote_include_version = 2

    -- 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["Avatar's Favor"] = buffactive["Avatar's Favor"] or false
    state.Buff["Astral Conduit"] = buffactive["Astral Conduit"] or false
    state.Moving  = M(false, "moving")
	
    spirits = S{"LightSpirit", "DarkSpirit", "FireSpirit", "EarthSpirit", "WaterSpirit", "AirSpirit", "IceSpirit", "ThunderSpirit"}
    avatars = S{"Carbuncle", "Fenrir", "Diabolos", "Ifrit", "Titan", "Leviathan", "Garuda", "Shiva", "Ramuh", "Odin", "Alexander", "Cait Sith"}
-- Any spells placed in magicalRagePacts will force weapons and ammo
    magicalRagePacts = S{
        'Inferno','Earthen Fury','Tidal Wave','Aerial Blast','Diamond Dust','Judgment Bolt','Searing Light','Howling Moon','Ruinous Omen',
        'Fire II','Stone II','Water II','Aero II','Blizzard II','Thunder II',
        'Fire IV','Stone IV','Water IV','Aero IV','Blizzard IV','Thunder IV',
        'Thunderspark','Burning Strike','Meteorite','Nether Blast','Flaming Crush',
        'Meteor Strike','Heavenly Strike','Wind Blade','Geocrush','Grand Fall','Thunderstorm',
        'Holy Mist','Lunar Bay','Night Terror','Level ? Holy'}


    pacts = {}
    pacts.cure = {['Carbuncle']='Healing Ruby'}
    pacts.curaga = {['Carbuncle']='Healing Ruby II', ['Garuda']='Whispering Wind', ['Leviathan']='Spring Water'}
    pacts.buffoffense = {['Carbuncle']='Glittering Ruby', ['Ifrit']='Crimson Howl', ['Garuda']='Hastega', ['Ramuh']='Rolling Thunder',
        ['Fenrir']='Ecliptic Growl'}
    pacts.buffdefense = {['Carbuncle']='Shining Ruby', ['Shiva']='Frost Armor', ['Garuda']='Aerial Armor', ['Titan']='Earthen Ward',
        ['Ramuh']='Lightning Armor', ['Fenrir']='Ecliptic Howl', ['Diabolos']='Noctoshield', ['Cait Sith']='Reraise II'}
    pacts.buffspecial = {['Ifrit']='Inferno Howl', ['Garuda']='Fleet Wind', ['Titan']='Earthen Armor', ['Diabolos']='Dream Shroud',
        ['Carbuncle']='Soothing Ruby', ['Fenrir']='Heavenward Howl', ['Cait Sith']='Raise II'}
    pacts.debuff1 = {['Shiva']='Diamond Storm', ['Ramuh']='Shock Squall', ['Leviathan']='Tidal Roar', ['Fenrir']='Lunar Cry',
        ['Diabolos']='Pavor Nocturnus', ['Cait Sith']='Eerie Eye'}
    pacts.debuff2 = {['Shiva']='Sleepga', ['Leviathan']='Slowga', ['Fenrir']='Lunar Roar', ['Diabolos']='Somnolence'}
    pacts.sleep = {['Shiva']='Sleepga', ['Diabolos']='Nightmare', ['Cait Sith']='Mewing Lullaby'}
    pacts.nuke2 = {['Ifrit']='Fire II', ['Shiva']='Blizzard II', ['Garuda']='Aero II', ['Titan']='Stone II',
        ['Ramuh']='Thunder II', ['Leviathan']='Water II'}
    pacts.nuke4 = {['Ifrit']='Fire IV', ['Shiva']='Blizzard IV', ['Garuda']='Aero IV', ['Titan']='Stone IV',
        ['Ramuh']='Thunder IV', ['Leviathan']='Water IV'}
    pacts.bp70 = {['Ifrit']='Flaming Crush', ['Shiva']='Rush', ['Garuda']='Predator Claws', ['Titan']='Mountain Buster',
        ['Ramuh']='Chaotic Strike', ['Leviathan']='Spinning Dive', ['Carbuncle']='Meteorite', ['Fenrir']='Eclipse Bite',
        ['Diabolos']='Nether Blast',['Cait Sith']='Regal Scratch'}
    pacts.bp75 = {['Ifrit']='Meteor Strike', ['Shiva']='Heavenly Strike', ['Garuda']='Wind Blade', ['Titan']='Geocrush',
        ['Ramuh']='Thunderstorm', ['Leviathan']='Grand Fall', ['Carbuncle']='Holy Mist', ['Fenrir']='Lunar Bay',
        ['Diabolos']='Night Terror', ['Cait Sith']='Level ? Holy'}
    pacts.astralflow = {['Ifrit']='Inferno', ['Shiva']='Diamond Dust', ['Garuda']='Aerial Blast', ['Titan']='Earthen Fury',
        ['Ramuh']='Judgment Bolt', ['Leviathan']='Tidal Wave', ['Carbuncle']='Searing Light', ['Fenrir']='Howling Moon',
        ['Diabolos']='Ruinous Omen', ['Cait Sith']="Altana's Favor"}

    -- Wards table for creating custom timers   
    wards = {}
    -- Base duration for ward pacts.
    wards.durations = {
        ['Crimson Howl'] = 60, ['Earthen Armor'] = 60, ['Inferno Howl'] = 60, ['Heavenward Howl'] = 60,
        ['Rolling Thunder'] = 120, ['Fleet Wind'] = 120,
        ['Shining Ruby'] = 180, ['Frost Armor'] = 180, ['Lightning Armor'] = 180, ['Ecliptic Growl'] = 180,
        ['Glittering Ruby'] = 180, ['Hastega'] = 180, ['Noctoshield'] = 180, ['Ecliptic Howl'] = 180,
        ['Dream Shroud'] = 180,
        ['Reraise II'] = 3600
    }
    -- Icons to use when creating the custom timer.
    wards.icons = {
        ['Earthen Armor']   = 'spells/00299.png', -- 00299 for Titan
        ['Shining Ruby']    = 'spells/00043.png', -- 00043 for Protect
        ['Dream Shroud']    = 'spells/00304.png', -- 00304 for Diabolos
        ['Noctoshield']     = 'spells/00106.png', -- 00106 for Phalanx
        ['Inferno Howl']    = 'spells/00298.png', -- 00298 for Ifrit
        ['Hastega']         = 'spells/00358.png', -- 00358 for Hastega
        ['Rolling Thunder'] = 'spells/00104.png', -- 00358 for Enthunder
        ['Frost Armor']     = 'spells/00250.png', -- 00250 for Ice Spikes
        ['Lightning Armor'] = 'spells/00251.png', -- 00251 for Shock Spikes
        ['Reraise II']      = 'spells/00135.png', -- 00135 for Reraise
        ['Fleet Wind']      = 'abilities/00074.png', -- 
    }
    -- Flags for code to get around the issue of slow skill updates.
    wards.flag = false
    wards.spell = ''
    
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()
    state.OffenseMode:options('None', 'Normal', 'Acc','Locked')--press f9 to change, normal will be standard midcast acc is midcast.acc for BP
    state.CastingMode:options('Normal', 'Resistant')
    state.IdleMode:options('none', 'Normal', 'PDT', 'MDT')
    gear.perp_staff = {name=""}

	
    select_default_macro_book()
end


-- Define sets and vars used by this job file.
function init_gear_sets()
    --------------------------------------
    -- Precast Sets
    --------------------------------------
    
    -- Precast sets to enhance JAs
    sets.precast.JA['Astral Flow'] = {head="Glyphic Horn +1"}
    
    sets.precast.JA['Elemental Siphon'] = {
    main={ name="Keraunos", augments={'Pet: Mag. Acc.+15','"Elemental Siphon"+25',}},
    sub="Vox Grip",
    ammo="Esper Stone +1",
    head={ name="Telchine Cap", augments={'"Elemental Siphon"+35',}},
    body={ name="Telchine Chas.", augments={'"Elemental Siphon"+35',}},
    hands={ name="Telchine Gloves", augments={'"Elemental Siphon"+35',}},
    legs={ name="Telchine Braconi", augments={'"Elemental Siphon"+35',}},
    feet="Beck. Pigaches +1",
    neck="Incanter's Torque",
    waist="Kobo Obi",
    left_ear="Andoaa Earring",
    right_ear="Smn. Earring",
    left_ring="Zodiac Ring",
    right_ring="Evoker's Ring",
    back={ name="Conveyance Cape", augments={'Summoning magic skill +5','Pet: Enmity+7','Blood Pact Dmg.+1','Blood Pact ab. del. II -1',}},
}

    sets.precast.JA['Mana Cede'] = {hands="Beck. Bracers +1"}

    -- Pact delay reduction gear
    sets.precast.BloodPactWard = {    
	main="Nirvana",
    ammo="Sancus Sachet +1",
    body="Con. Doublet +3",}

    sets.precast.BloodPactRage = sets.precast.BloodPactWard

    -- Fast cast sets for spells
    
    sets.precast.FC = {
    main="Oranyan",
    sub="Clerisy Strap +1",
    ammo="Impatiens",
    head={ name="Merlinic Hood", augments={'"Mag.Atk.Bns."+27','"Fast Cast"+7','CHR+10','Mag. Acc.+11',}},
    body="Inyanga Jubbah +1",
    hands={ name="Merlinic Dastanas", augments={'Mag. Acc.+27','"Fast Cast"+6','MND+6','"Mag.Atk.Bns."+4',}},
    legs={ name="Psycloth Lappas", augments={'MP+80','Mag. Acc.+15','"Fast Cast"+7',}},
    feet={ name="Merlinic Crackows", augments={'Mag. Acc.+4','"Fast Cast"+7','"Mag.Atk.Bns."+7',}},
    neck="Voltsurge Torque",
    waist="Witful Belt",
    left_ear="Etiolation Earring",
    right_ear="Loquac. Earring",
    left_ring="Kishar Ring",
    right_ring="Veneficium Ring",
    back="Perimede Cape",
}

    sets.precast.FC['Enhancing Magic'] = set_combine(sets.precast.FC, {waist="Siegel Sash"})

       
    -- Weaponskill sets
    -- Default set for any weaponskill that isn't any more specifically defined
    sets.precast.WS = {body="twilight cloak"}

    -- Specific weaponskill sets.  Uses the base set if an appropriate WSMod version isn't found.
    sets.precast.WS['Myrkr'] = {body="witching robe"}

    
    --------------------------------------
    -- Midcast sets
    --------------------------------------

    sets.midcast.FastRecast = {
    main="Oranyan",
    sub="Clerisy Strap +1",
    ammo="Impatiens",
    head={ name="Merlinic Hood", augments={'"Mag.Atk.Bns."+27','"Fast Cast"+7','CHR+10','Mag. Acc.+11',}},
    body="Inyanga Jubbah +1",
    hands={ name="Merlinic Dastanas", augments={'Mag. Acc.+27','"Fast Cast"+6','MND+6','"Mag.Atk.Bns."+4',}},
    legs={ name="Psycloth Lappas", augments={'MP+80','Mag. Acc.+15','"Fast Cast"+7',}},
    feet={ name="Merlinic Crackows", augments={'Mag. Acc.+4','"Fast Cast"+7','"Mag.Atk.Bns."+7',}},
    neck="Voltsurge Torque",
    waist="Witful Belt",
    left_ear="Etiolation Earring",
    right_ear="Loquac. Earring",
    left_ring="Kishar Ring",
    right_ring="Veneficium Ring",
    back="Perimede Cape",
}

    sets.midcast.Cure = {main="iridal staff"}

    sets.midcast.Stoneskin = {neck="twilight torque"}

    sets.midcast['Elemental Magic'] = {main="marin staff"}

    sets.midcast['Dark Magic'] = {main="serenity"}


    -- Avatar pact sets.  All pacts are Ability type.
    
    sets.midcast.Pet.BloodPactWard = {
    main={ name="Espiritus", augments={'Summoning magic skill +15','Pet: Mag. Acc.+30','Pet: Damage taken -4%',}},
    sub="Vox Grip",
    ammo="Sancus Sachet +1",
    head="Beckoner's Horn +1",
    body="Beck. Doublet +1",
    hands="Beck. Bracers +1",
    legs="Beck. Spats +1",
    feet="Beck. Pigaches +1",
    neck="Incanter's Torque",
    waist="Kobo Obi",
    left_ear="Andoaa Earring",
    right_ear="Smn. Earring",
    left_ring="Evoker's Ring",
    right_ring="Globidonta Ring",
    back={ name="Conveyance Cape", augments={'Summoning magic skill +5','Pet: Enmity+7','Blood Pact Dmg.+1','Blood Pact ab. del. II -1',}},
}

    sets.midcast.Pet.DebuffBloodPactWard = {
    main={ name="Grioavolr", augments={'Blood Pact Dmg.+5','Pet: INT+11','Pet: Mag. Acc.+29','Pet: "Mag.Atk.Bns."+28','DMG:+13',}},
    sub="Vox Grip",
    ammo="Sancus Sachet +1",
    head="Convoker's Horn +3",
    body="Con. Doublet +3",
    hands="Convo. Bracers +3",
    legs="Convo. Spats +3",
    feet="Convo. Pigaches +3",
    neck="Adad Amulet",
    waist="Regal Belt",
    left_ear="Lugalbanda Earring",
    right_ear="Andoaa Earring",
    left_ring="Globidonta Ring",
    right_ring="Defending Ring",
    back={ name="Campestres's Cape", augments={'Pet: M.Acc.+20 Pet: M.Dmg.+20','Pet: Magic Damage+10','Pet: "Regen"+10',}},
}
        
    sets.midcast.Pet.DebuffBloodPactWard.Acc = {
    main={ name="Grioavolr", augments={'Blood Pact Dmg.+5','Pet: INT+11','Pet: Mag. Acc.+29','Pet: "Mag.Atk.Bns."+28','DMG:+13',}},
    sub="Vox Grip",
    ammo="Sancus Sachet +1",
    head="Convoker's Horn +3",
    body="Con. Doublet +3",
    hands="Convo. Bracers +3",
    legs="Convo. Spats +3",
    feet="Convo. Pigaches +3",
    neck="Adad Amulet",
    waist="Regal Belt",
    left_ear="Lugalbanda Earring",
    right_ear="Andoaa Earring",
    left_ring="Globidonta Ring",
    right_ring="Defending Ring",
    back={ name="Campestres's Cape", augments={'Pet: M.Acc.+20 Pet: M.Dmg.+20','Pet: Magic Damage+10','Pet: "Regen"+10',}},
}
    
    sets.midcast.Pet.PhysicalBloodPactRage = {
    main="Nirvana",
    sub="Elan Strap +1",
    ammo="Sancus Sachet +1",
    head={ name="Helios Band", augments={'Pet: Attack+30 Pet: Rng.Atk.+30','Pet: "Dbl. Atk."+8','Blood Pact Dmg.+7',}},
    body="Con. Doublet +3",
    hands={ name="Merlinic Dastanas", augments={'Pet: Mag. Acc.+21 Pet: "Mag.Atk.Bns."+21','Blood Pact Dmg.+8','Pet: DEX+8','Pet: Mag. Acc.+8','Pet: "Mag.Atk.Bns."+8',}},
    legs={ name="Apogee Slacks +1", augments={'Pet: STR+20','Blood Pact Dmg.+14','Pet: "Dbl. Atk."+4',}},
    feet={ name="Apogee Pumps +1", augments={'MP+80','Pet: Attack+35','Blood Pact Dmg.+8',}},
    neck="Shulmanu Collar",
    waist="Incarnation Sash",
    left_ear="Gelos Earring",
    right_ear="Lugalbanda Earring",
    left_ring="Varar Ring +1",
    right_ring="Varar Ring +1",
    back={ name="Campestres's Cape", augments={'Pet: Acc.+20 Pet: R.Acc.+20 Pet: Atk.+20 Pet: R.Atk.+20','Pet: Attack+10 Pet: Rng.Atk.+10','Pet: Haste+10',}},
}

    sets.midcast.Pet.PhysicalBloodPactRage.Acc = set_combine(sets.midcast.Pet.PhysicalBloodPactRage, {waist="Incarnation Sash"})

    sets.midcast.Pet.MagicalBloodPactRage = {
    main={ name="Grioavolr", augments={'Blood Pact Dmg.+8','Pet: AGI+6','Pet: Mag. Acc.+5','Pet: "Mag.Atk.Bns."+28',}},
    sub="Elan Strap +1",
    ammo="Sancus Sachet +1",
    head={ name="Apogee Crown +1", augments={'MP+80','Pet: "Mag.Atk.Bns."+35','Blood Pact Dmg.+8',}},
    body={ name="Apo. Dalmatica +1", augments={'MP+80','Pet: "Mag.Atk.Bns."+35','Blood Pact Dmg.+8',}},
    hands={ name="Merlinic Dastanas", augments={'Pet: Mag. Acc.+21 Pet: "Mag.Atk.Bns."+21','Blood Pact Dmg.+8','Pet: DEX+8','Pet: Mag. Acc.+8','Pet: "Mag.Atk.Bns."+8',}},
    legs={ name="Apogee Slacks +1", augments={'MP+80','Pet: "Mag.Atk.Bns."+35','Blood Pact Dmg.+8',}},
    feet={ name="Apogee Pumps +1", augments={'MP+80','Pet: "Mag.Atk.Bns."+35','Blood Pact Dmg.+8',}},
    neck="Adad Amulet",
    waist="Regal Belt",
    left_ear="Lugalbanda Earring",
    right_ear="Gelos Earring",
    left_ring="Varar Ring +1",
    right_ring="Varar Ring +1",
    back={ name="Campestres's Cape", augments={'Pet: M.Acc.+20 Pet: M.Dmg.+20','Pet: Magic Damage+10','Pet: "Regen"+10',}},
}

    sets.midcast.Pet.MagicalBloodPactRage.Acc = set_combine(sets.midcast.Pet.MagicalBloodPactRage, {waist="Incarnation Sash"})


    -- Spirits cast magic spells, which can be identified in standard ways.
    
    sets.midcast.Pet.WhiteMagic = {ear1="loquacious earring"}
    
    sets.midcast.Pet['Elemental Magic'] = {neck="henic torque"}

    sets.midcast.Pet['Elemental Magic'].Resistant = {"Mizu. Kubikazari"}
    

    --------------------------------------
    -- Idle/resting/defense/etc sets
    --------------------------------------
    
    -- Resting sets
    sets.resting = {neck="stone gorget"}
    
    -- Idle sets
    sets.idle = {
    main={ name="Keraunos", augments={'"Refresh"+1',}},
    sub="Oneiros Grip",
    ammo="Sancus Sachet +1",
    head="Convoker's Horn +3",
    body={ name="Apo. Dalmatica +1", augments={'Summoning magic skill +20','Enmity-6','Pet: Damage taken -4%',}},
    hands="Asteria Mitts +1",
    legs="Assid. Pants +1",
    feet={ name="Merlinic Crackows", augments={'INT+7','DEX+10','"Refresh"+2','Accuracy+6 Attack+6','Mag. Acc.+19 "Mag.Atk.Bns."+19',}},
    neck="Loricate Torque +1",
    waist="Fucho-no-Obi",
    left_ear={ name="Moonshade Earring", augments={'Mag. Acc.+4','Latent effect: "Refresh"+1',}},
    right_ear="Etiolation Earring",
    left_ring="Evoker's Ring",
    right_ring="Defending Ring",
    back={ name="Campestres's Cape", augments={'Pet: Acc.+20 Pet: R.Acc.+20 Pet: Atk.+20 Pet: R.Atk.+20','Pet: Attack+10 Pet: Rng.Atk.+10','Pet: Haste+10',}},
}

    sets.idle.PDT = set_combine(sets.idle, {waist="Fucho-no-Obi"})

    --sets.idle.avatar is over wrote by sets.idle.avatar.favor if you have avatar favor up it will over write.
    sets.idle.Avatar = {
    main="Nirvana",
    sub="Oneiros Grip",
    ammo="Sancus Sachet +1",
    head="Convoker's Horn +3",
    body={ name="Apo. Dalmatica +1", augments={'Summoning magic skill +20','Enmity-6','Pet: Damage taken -4%',}},
    hands="Asteria Mitts +1",
    legs="Assid. Pants +1",
    feet={ name="Merlinic Crackows", augments={'INT+7','DEX+10','"Refresh"+2','Accuracy+6 Attack+6','Mag. Acc.+19 "Mag.Atk.Bns."+19',}},
    neck="Caller's Pendant",
    waist="Fucho-no-Obi",
    left_ear={ name="Moonshade Earring", augments={'Mag. Acc.+4','Latent effect: "Refresh"+1',}},
    right_ear="Evans Earring",
    left_ring="Evoker's Ring",
    right_ring="Defending Ring",
    back={ name="Campestres's Cape", augments={'Pet: Acc.+20 Pet: R.Acc.+20 Pet: Atk.+20 Pet: R.Atk.+20','Pet: Attack+10 Pet: Rng.Atk.+10','Pet: Haste+10',}},
}

    sets.idle.PDT.Avatar = set_combine(sets.idle.Avatar, {waist="Fucho-no-Obi"})

    sets.idle.Spirit = set_combine(sets.idle.Avatar, {waist="Fucho-no-Obi"})
	--gear automatically equiped when walking in adoulin areas is sets.Adoulin and sets.Movespeed is eqiped always when moving is detected.
	sets.Adoulin = {
        body="Councilor's Garb",
    }
	
	sets.MoveSpeed = {
		feet = "Herald's Gaiters",
	}
    sets.idle.Town = {neck="Wiglen gorget"}

    sets.idle.Avatar.Favor = set_combine(sets.idle.Avatar, {head="Beckoner's Horn +1"})
    sets.idle.Avatar.Melee = {neck="smithy's torque"}
        
    sets.perp = {legs="Hagondes Pants +1"}
    sets.perp.Day = {legs="psycloth lappas"}
    sets.perp.Weather = {legs="Gyve trousers"}
    sets.perp.Carbuncle = {legs="nares trews"}
    sets.perp.Alexander = sets.midcast.Pet.BloodPactWard

    sets.perp.staff_and_grip = {main=gear.perp_staff,sub="Achaq Grip"}
    
    -- Defense sets
    sets.defense.PDT = {legs="portent pants"}

    sets.defense.MDT = {legs="haven hose"}

    sets.Kiting = {feet="Herald's gaiters"}
    
    sets.latent_refresh = {waist="Fucho-no-obi"}
    

    --------------------------------------
    -- Engaged sets
    --------------------------------------
    
    -- Normal melee group
    sets.engaged = {feet="regal pumps"}
end

-------------------------------------------------------------------------------------------------------------------
-- Job-specific hooks for standard casting events.
-------------------------------------------------------------------------------------------------------------------
			
mov = {counter=0}
if player and player.index and windower.ffxi.get_mob_by_index(player.index) then
    mov.x = windower.ffxi.get_mob_by_index(player.index).x
    mov.y = windower.ffxi.get_mob_by_index(player.index).y
    mov.z = windower.ffxi.get_mob_by_index(player.index).z
end

moving = false
windower.raw_register_event('prerender',function()
    mov.counter = mov.counter + 1;
    if mov.counter>15 then
        local pl = windower.ffxi.get_mob_by_index(player.index)
        if pl and pl.x and mov.x then
            dist = math.sqrt( (pl.x-mov.x)^2 + (pl.y-mov.y)^2 + (pl.z-mov.z)^2 )
            if dist > 1 and not moving then
                state.Moving.value = true
                send_command('gs equip sets.MoveSpeed')
                moving = true
				
            elseif dist < 1 and moving then
                state.Moving.value = false
                send_command('gs c update')
                moving = false
            end
        end
        if pl and pl.x then
            mov.x = pl.x
            mov.y = pl.y
            mov.z = pl.z
        end
        mov.counter = 0
    end
end)


-- Set eventArgs.handled to true if we don't want any automatic gear equipping to be done.
-- Set eventArgs.useMidcastGear to true if we want midcast gear equipped on precast.
function job_precast(spell, action, spellMap, eventArgs)
    if state.Buff['Astral Conduit'] and pet_midaction() then
        eventArgs.handled = true
    end
end

function job_precast(spell, action, spellMap, eventArgs)
	if spell.type == 'BloodPactRage' and
		magicalRagePacts:contains(spell.english) then
			enable('main', 'sub', 'range', 'ammo')
				add_to_chat(122,'Weapons Unlocked due to magical BloodPactRage.')
		elseif buffactive["Aftermath: Lv.1"] or buffactive["Aftermath: Lv.2"] or player.tp > 1000 then 
			disable('main', 'sub', 'range', 'ammo') 
				add_to_chat(122,'Weapon locked Aftermath engaged MagicalBloodPactRage not detected.')
		elseif not buffactive["Aftermath: Lv.1"] or buffactive["Aftermath: Lv.2"] and player.tp < 1000 then 
			enable('main', 'sub', 'range', 'ammo')
				add_to_chat(122,'Weapons free')
	end
end
function job_midcast(spell, action, spellMap, eventArgs)
    if state.Buff['Astral Conduit'] and pet_midaction() then
        eventArgs.handled = true
    end
end

-- Runs when pet completes an action.
function job_pet_aftercast(spell, action, spellMap, eventArgs)
    if not spell.interrupted and spell.type == 'BloodPactWard' and spellMap ~= 'DebuffBloodPactWard' then
        wards.flag = true
        wards.spell = spell.english
        send_command('wait 4; gs c reset_ward_flag')
    end
end

-------------------------------------------------------------------------------------------------------------------
-- Job-specific hooks for non-casting events.
-------------------------------------------------------------------------------------------------------------------

-- Called when a player gains or loses a buff.
-- buff == buff gained or lost
-- gain == true if the buff was gained, false if it was lost.
function job_buff_change(buff, gain)
    if state.Buff[buff] ~= nil then
        handle_equipping_gear(player.status)
    elseif storms:contains(buff) then
        handle_equipping_gear(player.status)
    end
end


-- Called when the player's pet's status changes.
-- This is also called after pet_change after a pet is released.  Check for pet validity.
function job_pet_status_change(newStatus, oldStatus, eventArgs)
    if pet.isvalid and not midaction() and not pet_midaction() and (newStatus == 'Engaged' or oldStatus == 'Engaged') then
        handle_equipping_gear(player.status, newStatus)
    end
end


-- Called when a player gains or loses a pet.
-- pet == pet structure
-- gain == true if the pet was gained, false if it was lost.
function job_pet_change(petparam, gain)
    classes.CustomIdleGroups:clear()
    if gain then
        if avatars:contains(pet.name) then
            classes.CustomIdleGroups:append('Avatar')
        elseif spirits:contains(pet.name) then
            classes.CustomIdleGroups:append('Spirit')
        end
    else
        select_default_macro_book('reset')
    end
end

-------------------------------------------------------------------------------------------------------------------
-- User code that supplements standard library decisions.
-------------------------------------------------------------------------------------------------------------------

-- Custom spell mapping.
function job_get_spell_map(spell)
    if spell.type == 'BloodPactRage' then
        if magicalRagePacts:contains(spell.english) then
            return 'MagicalBloodPactRage'
        else
            return 'PhysicalBloodPactRage'
        end
    elseif spell.type == 'BloodPactWard' and spell.target.type == 'MONSTER' then
        return 'DebuffBloodPactWard'
    end
end

-- Modify the default idle set after it was constructed.
function customize_idle_set(idleSet)
    if pet.isvalid then
        if pet.element == world.day_element then
            idleSet = set_combine(idleSet, sets.perp.Day)
        end
        if pet.element == world.weather_element then
            idleSet = set_combine(idleSet, sets.perp.Weather)
        end
        if sets.perp[pet.name] then
            idleSet = set_combine(idleSet, sets.perp[pet.name])
        end
        gear.perp_staff.name = elements.perpetuance_staff_of[pet.element]
        if gear.perp_staff.name and (player.inventory[gear.perp_staff.name] or player.wardrobe[gear.perp_staff.name]) then
            idleSet = set_combine(idleSet, sets.perp.staff_and_grip)
        end
        if state.Buff["Avatar's Favor"] and avatars:contains(pet.name) then
            idleSet = set_combine(idleSet, sets.idle.Avatar.Favor)
        end
        if pet.status == 'Engaged' then
            idleSet = set_combine(idleSet, sets.idle.Avatar.Melee)
        end
    end
    
    if player.mpp < 51 then
        idleSet = set_combine(idleSet, sets.latent_refresh)
    end
    
    return idleSet
end

-- Called by the 'update' self-command, for common needs.
-- Set eventArgs.handled to true if we don't want automatic equipping of gear.
function job_update(cmdParams, eventArgs)
    classes.CustomIdleGroups:clear()
    if pet.isvalid then
        if avatars:contains(pet.name) then
            classes.CustomIdleGroups:append('Avatar')
        elseif spirits:contains(pet.name) then
            classes.CustomIdleGroups:append('Spirit')
        end
    end
end

-- Set eventArgs.handled to true if we don't want the automatic display to be run.
function display_current_job_state(eventArgs)

end


-------------------------------------------------------------------------------------------------------------------
-- User self-commands.
-------------------------------------------------------------------------------------------------------------------

-- Called for custom player commands.
function job_self_command(cmdParams, eventArgs)
    if cmdParams[1]:lower() == 'petweather' then
        handle_petweather()
        eventArgs.handled = true
    elseif cmdParams[1]:lower() == 'siphon' then
        handle_siphoning()
        eventArgs.handled = true
    elseif cmdParams[1]:lower() == 'pact' then
        handle_pacts(cmdParams)
        eventArgs.handled = true
    elseif cmdParams[1] == 'reset_ward_flag' then
        wards.flag = false
        wards.spell = ''
        eventArgs.handled = true
    end
end


-------------------------------------------------------------------------------------------------------------------
-- Utility functions specific to this job.
-------------------------------------------------------------------------------------------------------------------

-- Cast the appopriate storm for the currently summoned avatar, if possible.
function handle_petweather()
    if player.sub_job ~= 'SCH' then
        add_to_chat(122, "You can not cast storm spells")
        return
    end
        
    if not pet.isvalid then
        add_to_chat(122, "You do not have an active avatar.")
        return
    end
    
    local element = pet.element
    if element == 'Thunder' then
        element = 'Lightning'
    end
    
    if S{'Light','Dark','Lightning'}:contains(element) then
        add_to_chat(122, 'You do not have access to '..elements.storm_of[element]..'.')
        return
    end 
    
    local storm = elements.storm_of[element]
    
    if storm then
        send_command('@input /ma "'..elements.storm_of[element]..'" <me>')
    else
        add_to_chat(123, 'Error: Unknown element ('..tostring(element)..')')
    end
end


-- Custom uber-handling of Elemental Siphon
function handle_siphoning()
    if areas.Cities:contains(world.area) then
        add_to_chat(122, 'Cannot use Elemental Siphon in a city area.')
        return
    end

    local siphonElement
    local stormElementToUse
    local releasedAvatar
    local dontRelease
    
    -- If we already have a spirit out, just use that.
    if pet.isvalid and spirits:contains(pet.name) then
        siphonElement = pet.element
        dontRelease = true
        -- If current weather doesn't match the spirit, but the spirit matches the day, try to cast the storm.
        if player.sub_job == 'SCH' and pet.element == world.day_element and pet.element ~= world.weather_element then
            if not S{'Light','Dark','Lightning'}:contains(pet.element) then
                stormElementToUse = pet.element
            end
        end
    -- If we're subbing /sch, there are some conditions where we want to make sure specific weather is up.
    -- If current (single) weather is opposed by the current day, we want to change the weather to match
    -- the current day, if possible.
    elseif player.sub_job == 'SCH' and world.weather_element ~= 'None' then
        -- We can override single-intensity weather; leave double weather alone, since even if
        -- it's partially countered by the day, it's not worth changing.
        if get_weather_intensity() == 1 then
            -- If current weather is weak to the current day, it cancels the benefits for
            -- siphon.  Change it to the day's weather if possible (+0 to +20%), or any non-weak
            -- weather if not.
            -- If the current weather matches the current avatar's element (being used to reduce
            -- perpetuation), don't change it; just accept the penalty on Siphon.
            if world.weather_element == elements.weak_to[world.day_element] and
                (not pet.isvalid or world.weather_element ~= pet.element) then
                -- We can't cast lightning/dark/light weather, so use a neutral element
                if S{'Light','Dark','Lightning'}:contains(world.day_element) then
                    stormElementToUse = 'Wind'
                else
                    stormElementToUse = world.day_element
                end
            end
        end
    end
    
    -- If we decided to use a storm, set that as the spirit element to cast.
    if stormElementToUse then
        siphonElement = stormElementToUse
    elseif world.weather_element ~= 'None' and (get_weather_intensity() == 2 or world.weather_element ~= elements.weak_to[world.day_element]) then
        siphonElement = world.weather_element
    else
        siphonElement = world.day_element
    end
    
    local command = ''
    local releaseWait = 0
    
    if pet.isvalid and avatars:contains(pet.name) then
        command = command..'input /pet "Release" <me>;wait 1.1;'
        releasedAvatar = pet.name
        releaseWait = 10
    end
    
    if stormElementToUse then
        command = command..'input /ma "'..elements.storm_of[stormElementToUse]..'" <me>;wait 4;'
        releaseWait = releaseWait - 4
    end
    
    if not (pet.isvalid and spirits:contains(pet.name)) then
        command = command..'input /ma "'..elements.spirit_of[siphonElement]..'" <me>;wait 4;'
        releaseWait = releaseWait - 4
    end
    
    command = command..'input /ja "Elemental Siphon" <me>;'
    releaseWait = releaseWait - 1
    releaseWait = releaseWait + 0.1
    
    if not dontRelease then
        if releaseWait > 0 then
            command = command..'wait '..tostring(releaseWait)..';'
        else
            command = command..'wait 1.1;'
        end
        
        command = command..'input /pet "Release" <me>;'
    end
    
    if releasedAvatar then
        command = command..'wait 1.1;input /ma "'..releasedAvatar..'" <me>'
    end
    
    send_command(command)
end


-- Handles executing blood pacts in a generic, avatar-agnostic way.
-- cmdParams is the split of the self-command.
-- gs c [pact] [pacttype]
function handle_pacts(cmdParams)
    if areas.Cities:contains(world.area) then
        add_to_chat(122, 'You cannot use pacts in town.')
        return
    end

    if not pet.isvalid then
        add_to_chat(122,'No avatar currently available. Returning to default macro set.')
        select_default_macro_book('reset')
        return
    end

    if spirits:contains(pet.name) then
        add_to_chat(122,'Cannot use pacts with spirits.')
        return
    end

    if not cmdParams[2] then
        add_to_chat(123,'No pact type given.')
        return
    end
    
    local pact = cmdParams[2]:lower()
    
    if not pacts[pact] then
        add_to_chat(123,'Unknown pact type: '..tostring(pact))
        return
    end
    
    if pacts[pact][pet.name] then
        if pact == 'astralflow' and not buffactive['astral flow'] then
            add_to_chat(122,'Cannot use Astral Flow pacts at this time.')
            return
        end
        
        -- Leave out target; let Shortcuts auto-determine it.
        send_command('@input /pet "'..pacts[pact][pet.name]..'"')
    else
        add_to_chat(122,pet.name..' does not have a pact of type ['..pact..'].')
    end
end


-- Event handler for updates to player skill, since we can't rely on skill being
-- correct at pet_aftercast for the creation of custom timers.
windower.raw_register_event('incoming chunk',
    function (id)
        if id == 0x62 then
            if wards.flag then
                create_pact_timer(wards.spell)
                wards.flag = false
                wards.spell = ''
            end
        end
    end)

-- Function to create custom timers using the Timers addon.  Calculates ward duration
-- based on player skill and base pact duration (defined in job_setup).
function create_pact_timer(spell_name)
    -- Create custom timers for ward pacts.
    if wards.durations[spell_name] then
        local ward_duration = wards.durations[spell_name]
        if ward_duration < 181 then
            local skill = player.skills.summoning_magic
            if skill > 300 then
                skill = skill - 300
                if skill > 200 then skill = 200 end
                ward_duration = ward_duration + skill
            end
        end
        
        local timer_cmd = 'timers c "'..spell_name..'" '..tostring(ward_duration)..' down'
        
        if wards.icons[spell_name] then
            timer_cmd = timer_cmd..' '..wards.icons[spell_name]
        end

        send_command(timer_cmd)
    end
end



-- Select default macro book on initial load or subjob change.
function select_default_macro_book(reset)
    if reset == 'reset' then
        -- lost pet, or tried to use pact when pet is gone
    end
    
    -- Default macro set/book
    set_macro_page(4, 16)
end
 Fenrir.Caiir
VIP
Offline
Serveur: Fenrir
Game: FFXI
user: Minjo
Posts: 199
By Fenrir.Caiir 2017-06-10 22:24:07
Link | Citer | R
 
You need to not equip aftercast gear if you're using a bloodpact ability. It's entirely possible the JA completion packet comes in after the avatar JA start packet.

You use JA : Precast event equips gear
Pet starts ability : Pet midcast event equips gear
Your JA has finished: Aftercast event equips gear (your pet is now casting with your aftercast gear)
Pets JA has finished: Pet aftercast event equips gear
 Leviathan.Celebrindal
Offline
Serveur: Leviathan
Game: FFXI
Posts: 3753
By Leviathan.Celebrindal 2017-06-11 00:15:38
Link | Citer | R
 
Issue with some updates to my RNG lua...

Cele's RNG lua

Firstly, I added in a rule for double shot(line 536), in the hopes that it will combine my Oshosi Mask(and future Oshosi pieces,likely) with my currently active midshot set. It isn't fully working as intended.

Second, it gets really messed up if both Double Shot and Camouflage are active...since I have defined sets for Camouflage I would like it to default to my Camouflage set.

Any help is appreciated!
 Shiva.Hiep
Offline
Serveur: Shiva
Game: FFXI
user: Hiepo
Posts: 669
By Shiva.Hiep 2017-06-11 20:47:10
Link | Citer | R
 
I can't figure out why my refoccilation stone isn't equipping for any of my elemental nukes outside of weather-based ones. Any ideas?
https://pastebin.com/CdkJdTS7
 Asura.Chiaia
VIP
Offline
Serveur: Asura
Game: FFXI
user: Demmis
Posts: 1652
By Asura.Chiaia 2017-06-11 22:12:55
Link | Citer | R
 
Shiva.Hiep said: »
I can't figure out why my refoccilation stone isn't equipping for any of my elemental nukes outside of weather-based ones. Any ideas?
https://pastebin.com/CdkJdTS7

You have it named gear.obi_waist = "Refoccilation Stone" but then try to call it in most sets with gear.ElementalObi
 Sylph.Subadai
Offline
Serveur: Sylph
Game: FFXI
user: Subadai
Posts: 184
By Sylph.Subadai 2017-06-11 22:47:18
Link | Citer | R
 
Asura.Chiaia said: »
Shiva.Hiep said: »
I can't figure out why my refoccilation stone isn't equipping for any of my elemental nukes outside of weather-based ones. Any ideas?
https://pastebin.com/CdkJdTS7

You have it named gear.obi_waist = "Refoccilation Stone" but then try to call it in most sets with gear.ElementalObi
No, gear.ElementalObi works; Mote-libs will equip the proper obi if you have one and day/weather bonus applies. I believe you need to use gear.default.obi_waist instead of gear.obi_waist to define the waist piece to equip when day/weather does not apply.
Offline
Posts: 78
By Rainemard 2017-06-16 10:59:49
Link | Citer | R
 
https://pastebin.com/93GbgPSg

Could someone help me out? I've been struggling with getting sets.midcast.Stoneskin and sets.midcast.Refresh to work; I can load them using //gs equip sets.midcast.Stoneskin, but if I actually cast stoneskin, it equips my sets.midcast['Enhancing Magic'] set. I tried switching the order around to no avail, I've used set_combine in stoneskin to combine the sets.midcast['Enhancing Magic'] with the Stoneskin potency items and I've tried adding Stoneskin to the list of spells in GearSwap/libs/Mote-Mappings.lua. The one thing that has made it work so far is blatantly deleting the sets.midcast['Enhancing Magic'], which I don't want to do obviously since it'd affect my other enhancing spells. I figured it must be a priority problem of some sorts, but I don't know how to fix this. Also, I've added all enspells in GearSwap/libs/Mote-Mappings.lua under the group 'Enspell', one by one. Does this mean I can use them as sets.midcast.Enspell in my RDM lua? Thanks in advance for helping out! :)
 Ragnarok.Martel
Offline
Serveur: Ragnarok
Game: FFXI
Posts: 2899
By Ragnarok.Martel 2017-06-16 11:09:38
Link | Citer | R
 
I can't tell from looking at your lua, because it's a motenten lua and has includes that aren't shown in that pastebin, but presumably the sets.midcast.spellname rule occurs in the midcast rules in the include, and then is overwritten by your enhancing magic rule in the job_post_midcast function.

To avoid this you'd either need to add some kind of exception to prevent the job_post_midcast enhancing magic rule from activating on select spells, or you'd need a sets.midcast.spellname rule duplicate in your job_post_midcast.
Offline
Posts: 78
By Rainemard 2017-06-16 11:33:04
Link | Citer | R
 
Is there a better standardized RDM lua I can adjust that has it's priorities right? If there isn't, which of these would you reckon has the priority description in it?

libs/Modes.lua
libs/Mote-Globals.lua
libs/Mote-Include.lua
libs/Mote-Mappings.lua
libs/Mote-SelfCommands.lua
libs/Mote-TreasureHunter.lua
libs/Mote-Utility.lua
libs/organizer-lib.lua

I have a feeling it's Mote-Include, which is this one:

https://pastebin.com/qUVZJZu8

I've been trying to find where the ['Enhancing Magic'] spell list is, but I can't find it in any of the files. That would be the easiest fix for me, just removing stoneskin from that list. I can't find it anywhere though. Thanks for helping out btw!
 Ragnarok.Martel
Offline
Serveur: Ragnarok
Game: FFXI
Posts: 2899
By Ragnarok.Martel 2017-06-16 12:25:41
Link | Citer | R
 
The skill a spell uses is part of the resources, so it's not going to be listed in a job lua, cause there's no need to do so.(DON'T edit your resources.)

It looks like the midcast call, and the functions it calls are in mote include, but I have trouble making sense of some of mote's stuff, and editing it would probably be a really bad idea.

Let's go for the simple solution.

On line 262 where you have,

elseif spell.skill == 'Enhancing Magic' then

Do this instead.

elseif spell.skill == 'Enhancing Magic' not sets.midcast[spell.english] then

The, not sets.midcast[spell.english] portion added to this rule checks to see if a gear set matching set.midcast.exactspellname exists. If you're casting stoneskin then it would look for sets.midcast.Stoneskin. If it finds such a set in your get_sets then the rule fails, and the enhancing section is skipped.
Offline
Posts: 78
By Rainemard 2017-06-16 12:44:58
Link | Citer | R
 
It should work, but when I reload GS it gives an error message saying "then" is expected near "not", even though it's right behind the argument. I feel stupid for asking, but what is GS on about?

Edit: Fixed it by making it say "and not [arg] then"
Offline
Posts: 78
By Rainemard 2017-06-16 12:51:27
Link | Citer | R
 
At least it works for individual spells now, do you also know a sets.midcast[arg] for groups of spells like Cure or Status removal (in my case enspells)? Thanks a lot for the help btw, learning a lot! :)

Edit: For clarification, I've added 6 T1 enspells in this list:

https://pastebin.com/nzmeL1gy

Made the group name "Enspell", but I'm not quite sure how to utilize it in the job lua yet. How do I refer to this list, or is this done automatically?

Edit 2: Nvm, asked a little too soon! Managed to make another "and not [arg]" behind the first one using [spellMap]! :) Thanks again for your help, it's been a valuable evening!
 Ragnarok.Martel
Offline
Serveur: Ragnarok
Game: FFXI
Posts: 2899
By Ragnarok.Martel 2017-06-16 13:27:15
Link | Citer | R
 
Rainemard said: »
It should work, but when I reload GS it gives an error message saying "then" is expected near "not", even though it's right behind the argument. I feel stupid for asking, but what is GS on about?

Edit: Fixed it by making it say "and not [arg] then"
Yeah, I forgot an and there. Helps to be able to test things. But you got the idea.
 Asura.Wyrd
Offline
Serveur: Asura
Game: FFXI
user: kylericks
By Asura.Wyrd 2017-06-18 23:08:13
Link | Citer | R
 
Asura.Byrne said: »
Asura.Ladyofhonor said: »
So what's the best way to get the same ring to equip in both slots? Best I've seen just says to have ring1 at the start of a gearset and ring2 at the end, is that the best that can be done?

I'm not entirely sure what you mean by this, would you mind clarifying?

Do you mean equipping two of the same ring name, or equipping the exact same ring to two different slots?
I suspect this is the same as I am trying to do. I am trying to equip a mache earring in each ear slot (ear1 and ear2) and it sends an error message "Failed to equip the mache earring."
 Asura.Wyrd
Offline
Serveur: Asura
Game: FFXI
user: kylericks
By Asura.Wyrd 2017-06-18 23:29:28
Link | Citer | R
 
Asura.Wyrd said: »
Asura.Byrne said: »
Asura.Ladyofhonor said: »
So what's the best way to get the same ring to equip in both slots? Best I've seen just says to have ring1 at the start of a gearset and ring2 at the end, is that the best that can be done?

I'm not entirely sure what you mean by this, would you mind clarifying?

Do you mean equipping two of the same ring name, or equipping the exact same ring to two different slots?
I suspect this is the same as I am trying to do. I am trying to equip a mache earring in each ear slot (ear1 and ear2) and it sends an error message "Failed to equip the mache earring."

Discovered this is only seemingly an issue if if both earrings are in the same place (ie wardrobe2, inventory, etc). Putting each in a different container seems to circumvent the issue.

Edit: Next day with both Mache Earrings in different wardrobes the trouble began again. The behavior seems rather inconsistent.
 Asura.Bloodkitten
Offline
Serveur: Asura
Game: FFXI
user: Redx13
Posts: 4
By Asura.Bloodkitten 2017-06-23 02:11:55
Link | Citer | R
 
Can anyone please explain to me how to get gearswap to use a specific augmented equipment.
 Leviathan.Celebrindal
Offline
Serveur: Leviathan
Game: FFXI
Posts: 3753
By Leviathan.Celebrindal 2017-06-23 03:03:09
Link | Citer | R
 
Asura.Bloodkitten said: »
Can anyone please explain to me how to get gearswap to use a specific augmented equipment.

1. equip the piece of gear in question.

2. use //gs export

3. in notepad++ look in the "data" folder of Gearswap, and you'll see a folder titled "export". When you did the previous command, it created a file with the naming convention of <character> <timestamp>.

4. Open file.

5. See the piece of gear in question with all the proper augments already there.

6. Copy/Paste into the lua you need it in.
[+]
 Asura.Bloodkitten
Offline
Serveur: Asura
Game: FFXI
user: Redx13
Posts: 4
By Asura.Bloodkitten 2017-06-23 07:19:24
Link | Citer | R
 
thank you
 Lakshmi.Reddwarf
Offline
Serveur: Lakshmi
Game: FFXI
user: Reddwarf
Posts: 160
By Lakshmi.Reddwarf 2017-06-23 23:59:45
Link | Citer | R
 
so.. i dont know why buy as long as i can remember, my gearswap does NOT allow me to use "gs" as a shortcut, EVERY command i use has to be "gearswap" gearswap c, gs c DOES NOT WORK. any solution?
 Fenrir.Dracosam
Offline
Serveur: Fenrir
Game: FFXI
user: dracosam
Posts: 9
By Fenrir.Dracosam 2017-06-24 10:32:20
Link | Citer | R
 
Hello, don't know if anyone can help me but my doom equipement dosen't equip. it seem like that it dosen't reconise buffactive['Doom'] buffactive['doom'] or buffactive.Doom
but when i try it with buffactive['Protect'] it seem to work :(
Code
function job_setup()
	state.Buff.Doom =  buffactive['Doom'] or false

	-- /BLU Spell Maps
	blue_magic_maps = {}

	blue_magic_maps.Enmity = S{'Blank Gaze', 'Geist Wall', 'Jettatura', 'Soporific',
		'Poison Breath', 'Blitzstrahl', 'Sheep Song', 'Chaotic Eye'}
	blue_magic_maps.Cure = S{'Wild Carrot'}
	blue_magic_maps.Buffs = S{'Cocoon', 'Refueling'}

	rayke_duration = 50
	gambit_duration = 98

end

Code
function job_buff_change(buff,gain)
	if buffactive['Doom'] and gain then
		handle_equipping_gear(player.status)
	end
	-- If we gain or lose any haste buffs, adjust which gear set we target.
	if buffactive['Reive Mark'] then
		equip(sets.Reive)
		disable('neck')
	else
		enable('neck')
	end
end
 Sylph.Subadai
Offline
Serveur: Sylph
Game: FFXI
user: Subadai
Posts: 184
By Sylph.Subadai 2017-06-26 16:54:14
Link | Citer | R
 
Lakshmi.Reddwarf said: »
so.. i dont know why buy as long as i can remember, my gearswap does NOT allow me to use "gs" as a shortcut, EVERY command i use has to be "gearswap" gearswap c, gs c DOES NOT WORK. any solution?
Maybe gs is aliased to something different? Worst case, you can always add alias gs gearswap to your init.txt.
 Sylph.Subadai
Offline
Serveur: Sylph
Game: FFXI
user: Subadai
Posts: 184
By Sylph.Subadai 2017-06-26 16:56:32
Link | Citer | R
 
Fenrir.Dracosam said: »
Hello, don't know if anyone can help me but my doom equipement dosen't equip. it seem like that it dosen't reconise buffactive['Doom'] buffactive['doom'] or buffactive.Doom
but when i try it with buffactive['Protect'] it seem to work :(
See here for a solution, assuming you're using Mote-libs.
 Lakshmi.Reddwarf
Offline
Serveur: Lakshmi
Game: FFXI
user: Reddwarf
Posts: 160
By Lakshmi.Reddwarf 2017-06-26 20:49:39
Link | Citer | R
 
Sylph.Subadai said: »
Lakshmi.Reddwarf said: »
so.. i dont know why buy as long as i can remember, my gearswap does NOT allow me to use "gs" as a shortcut, EVERY command i use has to be "gearswap" gearswap c, gs c DOES NOT WORK. any solution?
Maybe gs is aliased to something different? Worst case, you can always add alias gs gearswap to your init.txt.

OMG i think you're right, i have it set for my DRK to switch to Greatsword. i'll try removing that to see what happens.
 Fenrir.Dracosam
Offline
Serveur: Fenrir
Game: FFXI
user: dracosam
Posts: 9
By Fenrir.Dracosam 2017-06-26 21:33:45
Link | Citer | R
 
Sylph.Subadai said: »
Fenrir.Dracosam said: »
Hello, don't know if anyone can help me but my doom equipement dosen't equip. it seem like that it dosen't reconise buffactive['Doom'] buffactive['doom'] or buffactive.Doom
but when i try it with buffactive['Protect'] it seem to work :(
See here for a solution, assuming you're using Mote-libs.
thanks i will try and test it. but i don't understand why it work when i try 'protect' and when i go test it for doom it's not working :( i will come back to you tommorow night ;)
 Fenrir.Dracosam
Offline
Serveur: Fenrir
Game: FFXI
user: dracosam
Posts: 9
By Fenrir.Dracosam 2017-06-27 21:18:45
Link | Citer | R
 
Fenrir.Dracosam said: »
 
Sylph.Subadai said: »
Fenrir.Dracosam said: »
Hello, don't know if anyone can help me but my doom equipement dosen't equip. it seem like that it dosen't reconise buffactive['Doom'] buffactive['doom'] or buffactive.Doom
but when i try it with buffactive['Protect'] it seem to work :(
See here for a solution, assuming you're using Mote-libs.
thanks i will try and test it. but i don't understand why it work when i try 'protect' and when i go test it for doom it's not working :( i will come back to you tommorow night ;)

still not working ... maybe i missed something in my code here it is if you have 2 sec to take a look
https://pastebin.com/mpJG4NTF
 Shiva.Arislan
Offline
Serveur: Shiva
Game: FFXI
user: Arislan
Posts: 1052
By Shiva.Arislan 2017-06-27 21:40:46
Link | Citer | R
 
Is there a reason you decided to change the original doom function in my lua? The way you're trying to do it seems over-complicated.

Try one of these, maybe it'll help:
Code
state.Buff.Doom =  buffactive['doom'] or false
Code
state.Buff.Doom =  buffactive['doomed'] or false
First Page 2 3 ... 121 122 123 ... 181 182 183
Log in to post.