Item Search
     
BG-Wiki Search
Page 185 of 302 FirstFirst ... 135 175 183 184 185 186 187 195 235 ... LastLast
Results 3681 to 3700 of 6036

Thread: Gearswap Help Thread!     submit to reddit submit to twitter

  1. #3681
    Campaign
    Join Date
    Jul 2007
    Posts
    6,633
    BG Level
    8

    Quote Originally Posted by Orestes View Post
    I get you, but I still think it's reasonable to keep the same earring in the same slot across all sets.
    It is reasonable, it's what I always do when I can. Problem is that it's not possible in my situation.
    Let's make a simplified example

    Set1: X, A
    Set2: X, Z
    Set3: Y, Z
    Set4: Y, A
    ...

    They're actually much more, but the point is that the earrings are always in the same slot.
    Problem arrives next:

    Set5: X, Y

    I need to put them both in the same set, normally they stay on the "same side".
    There is no way to fix this for ALL of my sets. Sure I could fix it for Set5, but then I would have problems in Set3, and so on.
    This is what I was trying to say, I need to find another solution for this specific set.

  2. #3682
    Relic Shield
    Join Date
    Jan 2013
    Posts
    1,868
    BG Level
    6

    You cant ever move an item that can fit into two slots from one to the other without unequipping it (least not without issues). If you are goin from idle to midcast can you swap X out during the precast, even if you have to make it empty? Without knowing the exact situations these will be called (Is it magic with a precast, or a JA without one; or what the items do for what) might be difficult to solve. Depending on the chances of the sets that conflict comin in succession without any other coming up between, im sure it could be worked around.

    If there is a way to swap it without unequipping it that isnt entirely insane, please lemme know.

  3. #3683
    Campaign
    Join Date
    Jul 2007
    Posts
    6,633
    BG Level
    8

    Don't even need to equip something in precast, I could just use "ear1=empty" during precast and it could work.
    I mentioned this before, haven't tried it but this trick might work.
    Still it's kinda a way to circumvein the issue, not a way to avoid it.
    Guess there is no way to avoid it tho, in the end =/

    Gonna try it now I guess.


    Edit:
    No, alas it doesn't work. I put ear1=empty in the precast, this part works, but midcast still doesn't put the earring in the ear2 slot =/ which is strange, by the time Gearswap gets to the midcast part the earring is free, could this be a Gearswap bug? Byrth? Any idea?

  4. #3684
    Relic Horn
    Join Date
    Jul 2005
    Posts
    3,478
    BG Level
    7

    I made anrin obi work in my omniscience WS set with

    "gear.default.obi_waist = "Yamabuki-no-Obi""

    and

    "waist=gear.ElementalObi," in the actual set.


    Now how do I do the same with Twilight Cape as I seem to get 300 more dmg with it during dark weather compared to 5MND bookworm.




    EDIT: nvm figured it out: back=gear.ElementalCape




    EDIT2: Where do I exclude certain spells from Obi usage?

    Will adding to this work?

    Non_Obi_Spells = S{
    'Burn','Choke','Drown','Frost','Rasp','Shock','Imp act','Anemohelix','Cryohelix',
    'Geohelix','Hydrohelix','Ionohelix','Luminohelix', 'Noctohelix','Pyrohelix'}

  5. #3685
    Melee Summoner
    Join Date
    Jun 2007
    Posts
    23
    BG Level
    1

    This one truly has me stumped. And I thought I was pretty good at figuring out the errors.

    Using Mote's BRD gs, If i try to precast using an Impatiens for the quickcast, my midcast set will not equip Gjallarhorn

    sets.midcast.SongEffect = {main="Legato Dagger",range="Gjallarhorn",
    head="Aoidos' Calot +2",neck="Aoidos' Matinee",ear2="Loquacious Earring",
    body="Aoidos' Hongreline +2",hands="Aoidos' Manchettes +2",
    legs="Marduk's Shalwar +1",feet="Brioso Slippers +1"}

    But but if I change Gjallerhorn to say Daurdabla in that same set it works perfect everytime. If I type //gs equip sets.midcast.SongEffect it works just fine as well. If I sing with say Daudabla during precast instead of Impatiens it also works just fine.. only screws up when I want to use Impatiens and Gjallarhorn in precast/midcast.

    I understand it has something to do with packet lose but on a non quickcast spell it still suffers from this? Also it working 100% of the time with Daudabla makes no sense if packet lose is the issue.

  6. #3686
    Relic Shield
    Join Date
    Jan 2013
    Posts
    1,868
    BG Level
    6

    Malithar and I were discussing very similiar situation (on the previous page to this here), except it was geo not bard. Somewhere around here Check It. Switching between ammo and ranged slots almost always gives issues, but it sounded like he solved it.

  7. #3687
    Melee Summoner
    Join Date
    Jun 2007
    Posts
    23
    BG Level
    1

    I see his post but I've already got my sets completely laid out without a combine rule at all. Those are the only two sets that use either item and it wouldn't make sense that it works fine with another instrument..

    Makes my head hurt trying to figure out out seeing everything as right and it simply not working.

  8. #3688
    Puppetmaster
    Join Date
    Jan 2014
    Posts
    59
    BG Level
    2

    Quote Originally Posted by DisturbedMidget View Post
    This one truly has me stumped. And I thought I was pretty good at figuring out the errors.

    Using Mote's BRD gs, If i try to precast using an Impatiens for the quickcast, my midcast set will not equip Gjallarhorn

    sets.midcast.SongEffect = {main="Legato Dagger",range="Gjallarhorn",
    head="Aoidos' Calot +2",neck="Aoidos' Matinee",ear2="Loquacious Earring",
    body="Aoidos' Hongreline +2",hands="Aoidos' Manchettes +2",
    legs="Marduk's Shalwar +1",feet="Brioso Slippers +1"}

    But but if I change Gjallerhorn to say Daurdabla in that same set it works perfect everytime. If I type //gs equip sets.midcast.SongEffect it works just fine as well. If I sing with say Daudabla during precast instead of Impatiens it also works just fine.. only screws up when I want to use Impatiens and Gjallarhorn in precast/midcast.

    I understand it has something to do with packet lose but on a non quickcast spell it still suffers from this? Also it working 100% of the time with Daudabla makes no sense if packet lose is the issue.
    I'm not a Bard but it works exactly like Twilight Cloak or Respite Cloak. Try this:
    Code:
    sets.precast.FC = {range=Remove, ammo="Impatiens"}
    sets.midcast = {range="Gjallarhorn", ammo=Remove}
    
    -- Handle notifications of general user state change.
    function job_state_change(stateField, newValue, oldValue)
        if stateField == 'Offense Mode' then
            if newValue == 'None' then
                enable('main','sub','range')
            else
                disable('main','sub','range')
            end
        end
    end

  9. #3689
    Puppetmaster
    Join Date
    Jan 2014
    Posts
    59
    BG Level
    2

    Quote Originally Posted by Lyramion View Post
    EDIT: nvm figured it out: back=gear.ElementalCape




    EDIT2: Where do I exclude certain spells from Obi usage?

    Will adding to this work?

    Non_Obi_Spells = S{
    'Burn','Choke','Drown','Frost','Rasp','Shock','Imp act','Anemohelix','Cryohelix',
    'Geohelix','Hydrohelix','Ionohelix','Luminohelix', 'Noctohelix','Pyrohelix'}
    Code:
    -- Setup vars that are user-dependent.  Can override this function in a sidecar file.
    function user_setup()
        -- stuff
    
        Non_Obi_Spells = M{'Burn','Choke','Drown','Frost','Rasp','Shock','Imp act','Anemohelix','Cryohelix','Geohelix','Hydrohelix','Ionohelix','Luminohelix','Noctohelix','Pyrohelix'}
    
        gear.nuke_waist = "Sekhmet Corset"
    end
    
    -- Define sets and vars used by this job file.
    function init_gear_sets()
        sets.midcast['Elemental Magic'] = {back=gear.ElementalCape, waist=gear.ElementalObi}
    end
    
    function job_post_midcast(spell, action, spellMap, eventArgs)
        if spell.skill == ['Elemental Magic'] and Non_Obi_Spells:contains(spell.name) then
            equip(waist=gear.nuke_waist)
        end
    end

  10. #3690
    Sea Torques
    Join Date
    Aug 2006
    Posts
    518
    BG Level
    5
    FFXI Server
    Leviathan

    http://pastebin.com/bWWNxw5E

    Same problem still. Randomly after a sneak or trick attack it will stay in that gear. It will swap some of the gear(like neck/rings/earrings) but body etc will be stuck in SA/TA gear

  11. #3691
    Smells like Onions
    Join Date
    Jan 2015
    Posts
    1
    BG Level
    0

    Hey, everyone. I'm having a bit of trouble with this lua code. It doesn't seem to want to switch gear sets when Healing Breath is triggered. Is this due to the ready time being reduced to 1 second, or is it my code? Any help at all is appreciated!

    Code:
    -------------------------------------------------------------------------------------------------------------------
    -- Initialization function that defines sets and variables to be used.
    -------------------------------------------------------------------------------------------------------------------
    
    -- IMPORTANT: Make sure to also get the Mote-Include.lua file (and its supplementary files) to go with this.
    
    -- 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.
    function job_setup()
    	get_combat_form()
        include('Mote-TreasureHunter')
        state.TreasureMode:set('Tag')
        
        state.CapacityMode = M(false, 'Capacity Point Mantle')
    	
        -- list of weaponskills that make better use of otomi helm in low acc situations
        wsList = S{'Drakesbane'}
    
    	state.Buff = {}
    	-- JA IDs for actions that always have TH: Provoke, Animated Flourish
    	info.default_ja_ids = S{35, 204}
    	-- Unblinkable JA IDs for actions that always have TH: Quick/Box/Stutter Step, Desperate/Violent Flourish
    	info.default_u_ja_ids = S{201, 202, 203, 205, 207}
    end
    
    
    -- Setup vars that are user-dependent.  Can override this function in a sidecar file.
    function user_setup()
    	-- Options: Override default values
    	state.OffenseMode:options('Normal', 'Mid', 'Acc')
    	state.HybridMode:options('Normal', 'PDT', 'Reraise')
    	state.WeaponskillMode:options('Normal', 'Mid', 'Acc')
    	state.PhysicalDefenseMode:options('PDT', 'Reraise')
    	state.MagicalDefenseMode:options('MDT')
        
        war_sj = player.sub_job == 'WAR' or false
    
    	select_default_macro_book(1, 16)
        send_command('bind != gs c toggle CapacityMode')
    	send_command('bind ^= gs c cycle treasuremode')
        send_command('bind ^[ input /lockstyle on')
        send_command('bind ![ input /lockstyle off')
    end
    
    
    -- Called when this job file is unloaded (eg: job change)
    function file_unload()
    	send_command('unbind ^[')
    	send_command('unbind ![')
    	send_command('unbind ^=')
    	send_command('unbind !=')
    end
    
    
    -- Define sets and vars used by this job file.
    function init_gear_sets()
    --------------------------------------
    	-- Start defining the sets
    	--------------------------------------
    	
    	-- Precast Sets
    	-- Precast sets to enhance JAs
    	sets.precast.JA.Angon = {ammo="Angon",hands="Pteroslaver Finger Gauntlets"}
        sets.CapacityMantle = {back="Mecistopins Mantle"}
        sets.Berserker = {neck="Berserker's Torque"}
        sets.WSDayBonus     = { head="Gavialis Helm" }
    
    	sets.precast.JA.Jump = {
            ammo="Hagneia Stone",
    		head="Otomi Helm",neck="Asperity Necklace",ear1="Steelflash Earring",ear2="Bladeborn Earring",
    		body="Vishap Mail",hands="Cizin Mufflers",ring1="Rajas Ring",ring2="K'ayres Ring",
    		back="Atheling Mantle",waist="Windbuffet Belt",legs="Cizin Breeches",feet="Cizin Greaves"}
    
    	sets.precast.JA['Ancient Circle'] = { legs="Vishap Brais" }
    	sets.TreasureHunter = {waist="Chaac Belt"}
    
    	sets.precast.JA['High Jump'] = set_combine(sets.precast.JA.Jump, {
        }) 
    	sets.precast.JA['Soul Jump'] = set_combine(sets.precast.JA.Jump, {
            legs="Lancer's Cuissots +2",
    		body="Lancer's Plackart +2"
        })
    	sets.precast.JA['Spirit Jump'] = set_combine(sets.precast.JA.Jump, {
            legs="Lancer's Cuissots +2",
    		body="Lancer's Plackart +2",
            feet="Lancer's Schynbalds +2"})
    	sets.precast.JA['Super Jump'] = sets.precast.JA.Jump
    
    	sets.precast.JA['Spirit Link'] = {hands="Lancer's Vambraces +2", head="Vishap Armet +1"}
    	sets.precast.JA['Call Wyvern'] = {body="Wyrm Mail"}
    	sets.precast.JA['Deep Breathing'] = {head="Petroslaver Armet"}
        
    	sets.precast.JA['Spirit Surge'] = { --body="Wyrm Mail +2"
        }
    	
    	-- Healing Breath sets
    	sets.HB = {ammo="Hagneia Stone",
    		head="Pteroslaver Armet",neck="Lancer's Torque",ear1="Lancer's Earring",ear2="Bladeborn Earring",
    		body="Cizin Mail",hands="Cizin Mufflers",ring1="Rajas Ring",ring2="K'ayres Ring",
    		back="Updraft Mantle",waist="Glassblower's Belt",legs="Vishap Brais",feet="Wyrm Greaves +2"}
    
    	-- Waltz set (chr and vit)
    	sets.precast.Waltz = {
    		head="Yaoyotl Helm",
    		body="Mikinaak Breastplate",hands="Cizin Mufflers +1",ring1="Rajas Ring",
    		back="Bleating Mantle",legs="Xaddi Cuisses",feet="Whirlpool Greaves"}
    		
    	-- Don't need any special gear for Healing Waltz.
    	sets.precast.Waltz['Healing Waltz'] = {}
    
    	-- Fast cast sets for spells
    	sets.precast.FC = {
            ammo="Impatiens",
            head="Cizin Helm +1", 
            ear1="Loquacious Earring", 
            hands="Buremte Gloves",
            ring1="Prolix Ring"
        }
        
    	-- Midcast Sets
    	sets.midcast.FastRecast = {
    		head="Vishap Armet +1",
            neck="Lancer's Torque",
            hands="Cizin Mufflers +1",
            body="Xaddi Mail",
            ring1="Beeline Ring",
            ring2="K'ayres Ring",
            back="Updraft Mantle",
            waist="Glassblower's Belt",
    		legs="Cizin Breeches +1",
            feet="Ejekamal Boots",
        }	
    		
    	sets.midcast.Breath = set_combine(sets.midcast.FastRecast, { head="PteroslaverPteroslaver Armet" })
    	-- Weaponskill sets
    	-- Default set for any weaponskill that isn't any more specifically defined
    	sets.precast.WS = {}
    
    	sets.precast.WS = {
            ammo="Potestas Bomblet",
    		head="Otomi Helm",neck="Asperity Necklace",ear1="Brutal Earring",ear2="Flame Pearl",
    		body="Vishap Mail",hands="Mikinaak Gauntlets",ring1="Rajas Ring",ring2="Pyrosoul Ring",
    		back="Buquwik Cape",waist="Windbuffet Belt",legs="Cizin Breeches",feet="Mikinaak Greaves"}
        
    	sets.precast.WS.Acc = set_combine(sets.precast.WS, {
    		back="Updraft Mantle",
            head="Yaoyotl Helm",
            legs="Xaddi Cuisses"
        })
    	
    	-- Specific weaponskill sets.  Uses the base set if an appropriate WSMod version isn't found.
    	sets.precast.WS['Stardiver'] = set_combine(sets.precast.WS, {
            neck="Light Gorget",
            back="Buquwik Cape",
            waist="Light Belt"
        })
    	sets.precast.WS['Stardiver'].Mid = set_combine(sets.precast.WS['Stardiver'], {
            head="Yaoyotl Helm",
            hands="Mikinaak Gauntlets",
    		back="Updraft Mantle",
        })
    	sets.precast.WS['Stardiver'].Acc = set_combine(sets.precast.WS.Acc, {neck="Light Gorget",waist="Light Belt"})
    
        sets.precast.WS["Camlann's Torment"] = set_combine(sets.precast.WS, {
            neck="Breeze Gorget",
            body="Phorcys Korazin",
            back="Buquwik Cape",
            waist="Metalsinger Belt",
            feet="Whirlpool Greaves"
        })
    	sets.precast.WS["Camlann's Torment"].Mid = set_combine(sets.precast.WS["Camlann's Torment"], {
            head="Yaoyotl Helm", 
            ear1="Bladeborn Earring", 
            ear2="Steelflash Earring", 
            back="Updraft Mantle"
        })
    	sets.precast.WS["Camlann's Torment"].Acc = set_combine(sets.precast.WS["Camlann's Torment"].Mid, {})
    
    	sets.precast.WS['Drakesbane'] = set_combine(sets.precast.WS, {
            neck="Flame Gorget", 
            hands="Mikinaak Gauntlets",
            back="Rancorous Mantle",
            waist="Windbuffet Belt +1"
        })
    	sets.precast.WS['Drakesbane'].Mid = set_combine(sets.precast.WS['Drakesbane'], {
    		    back="Updraft Mantle",
                head="Yaoyotl Helm"
        })
    	sets.precast.WS['Drakesbane'].Acc = set_combine(sets.precast.WS['Drakesbane'].Mid, {hands="Mikinaak Gauntlets"})
    
    	
    	-- Sets to return to when not performing an action.
    	
    	-- Resting sets
    	sets.resting = {
            head="Twilight Helm",
            neck="Twilight Torque",
            ear1="Bladeborn Earring",
            ear2="Steelflash Earring",
    		body="Twilight Mail",
            hands="Cizin Mufflers +1",
            ring1="Dark Ring",
            ring2="Paguroidea Ring",
    		back="Repulse Mantle",
            legs="Crimson Cuisses",
            feet="Whirlpool Greaves"
        }
    	
    
    	-- Idle sets
    	sets.idle = {}
    
    	-- Idle sets (default idle set not needed since the other three are defined, but leaving for testing purposes)
    	sets.idle.Town = {
            ammo="Thew Bomblet",
    		head="Yaoyotl Helm",neck="Ganesha's Mala",ear1="Bladeborn Earring",ear2="Steelflash Earring",
    		body="Ares' cuirass +1",hands="Cizin Mufflers",ring1="Sheltered Ring",ring2="Paguroidea Ring",
    		back="Atheling Mantle",waist="Goading Belt",legs="Blood Cuisses",feet="Ejekamal Boots"}
    	
    	sets.idle.Field = set_combine(sets.idle.Town, { 
    		head="Twilight Helm",neck="Wiglen Gorget",ear1="Bladeborn Earring",ear2="Steelflash Earring",
    		body="Ares' cuirass +1",hands="Cizin Mufflers",ring1="Sheltered Ring",ring2="Paguroidea Ring",
    		back="Atheling Mantle",waist="Goading Belt",legs="Blood Cuisses",feet="Ejekamal Boots"})
    
        sets.idle.Regen = set_combine(sets.idle.Field, {
            head="Twilight Helm",
    		body="Ares' Cuirass +1"})
    
    	sets.idle.Weak = set_combine(sets.idle.Field, {
    		head="Twilight Helm",
    		body="Twilight Mail",
        })
    	
    	-- Defense sets
    	sets.defense.PDT = {
            ammo="Ginsen",
    		head="Ighwa Cap",
            neck="Twilight Torque",
            ear1="Bladeborn Earring",
            ear2="Steelflash Earring",
    		body="Cizin Mail +1",
            hands="Cizin Mufflers +1",
            ring1="Patricius Ring",
            ring2="Dark Ring",
    		back="Repulse Mantle",
            waist="Cetl Belt",
            legs="Cizin Breeches +1",
            feet="Cizin Greaves +1"
        }
    
    	sets.defense.Reraise = set_combine(sets.defense.PDT, {
    		head="Twilight Helm",
    		body="Twilight Mail"
        })
    
    	sets.defense.MDT = sets.defense.PDT
    
    	sets.Kiting = {legs="Crimson Cuisses"}
    
    	sets.Reraise = {head="Twilight Helm",body="Twilight Mail"}
    
    	-- 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 = {
            ammo="Hagneia Stone",
    		head="Otomi Helm",neck="Asperity Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
    		body="Xaddi Mail",hands="Cizin Mufflers",ring1="Rajas Ring",ring2="K'ayres Ring",
    		back="Atheling Mantle",waist="Windbuffet Belt",legs="Cizin Breeches",feet="Mikinaak Greaves"}
    
    	sets.engaged.Mid = set_combine(sets.engaged, {
            head="Yaoyotl Helm",
            ear1="Zennaroi Earring",
            ring2="Ramuh Ring +1"
        })
    
    	sets.engaged.Acc = set_combine(sets.engaged.Mid, {
            neck="Iqabi Necklace",
            hands="Buremte Gloves",
            waist="Olseni Belt",
            ring1="Mars's Ring",
            back="Updraft Mantle"
        })
    
        sets.engaged.PDT = set_combine(sets.engaged, {
            head="Ighwa Cap",
            neck="Twilight Torque",
            body="Cizin Mail +1",
            ring2="Patricius Ring",
            hands="Cizin Mufflers +1",
            back="Repulse Mantle",
            legs="Cizin Breeches +1",
            feet="Cizin Greaves +1"
        })
    	sets.engaged.Mid.PDT = set_combine(sets.engaged.Mid, {
            head="Ighwa Cap",
            ring2="Patricius Ring",
            body="Cizin Mail +1",
            hands="Cizin Mufflers +1",
            back="Repulse Mantle",
            legs="Cizin Breeches +1",
        })
    	sets.engaged.Acc.PDT = set_combine(sets.engaged.Acc, {
            head="Ighwa Cap",
            ring2="Patricius Ring",
            body="Cizin Mail +1",
            hands="Cizin Mufflers +1",
            back="Repulse Mantle",
            legs="Cizin Breeches +1",
        })
    
        sets.engaged.War = set_combine(sets.engaged, {
            --head="Yaoyotl Helm",
            feet="Mikinaak Greaves",
            ring2="K'ayres Ring"
        })
        sets.engaged.War.Mid = sets.engaged.Mid
    
    	sets.engaged.Reraise = set_combine(sets.engaged, {
    		head="Twilight Helm",
    		body="Twilight Mail"
        })
    
    	sets.engaged.Acc.Reraise = sets.engaged.Reraise
    	
    end
    
    -------------------------------------------------------------------------------------------------------------------
    -- Job-specific hooks that are called to process player actions at specific points in time.
    -------------------------------------------------------------------------------------------------------------------
    
    -- Set eventArgs.handled to true if we don't want any automatic target handling to be done.
    function job_pretarget(spell, action, spellMap, eventArgs)
        if spell.english == "Spirit Jump" then
            if not pet.isvalid then
                cancel_spell()
                send_command('Jump')
            end
        elseif spell.english == "Soul Jump" then
            if not pet.isvalid then
                cancel_spell()
                send_command("High Jump")
            end
        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)
    end
    
    -- Run after the default precast() is done.
    -- eventArgs is the same one used in job_precast, in case information needs to be persisted.
    function job_post_precast(spell, action, spellMap, eventArgs)
    	if player.hpp < 51 then
    		classes.CustomClass = "Breath" 
    	end
        
    end
    
    
    -- Set eventArgs.handled to true if we don't want any automatic gear equipping to be done.
    function job_midcast(spell, action, spellMap, eventArgs)
    	if spell.action_type == 'Magic' then
    	    equip(sets.midcast.FastRecast)
    	    if player.hpp < 51 then
    		    classes.CustomClass = "Breath" 
    	    end
    	end
    end
    
    -- 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)
    end
    
    function job_pet_precast(spell, action, spellMap, eventArgs)
    end
    -- Runs when a pet initiates an action.
    -- Set eventArgs.handled to true if we don't want any automatic gear equipping to be done.
    function job_pet_midcast(spell, action, spellMap, eventArgs)
        if spell.english:startswith('Healing Breath') or spell.english == 'Restoring Breath' or spell.english == 'Steady Wing' or spell.english == 'Smiting Breath' then
    		equip(sets.HB)
    	end
    end
    
    -- Run after the default pet midcast() is done.
    -- eventArgs is the same one used in job_pet_midcast, in case information needs to be persisted.
    function job_pet_post_midcast(spell, action, spellMap, eventArgs)
    	
    end
    
    -- Set eventArgs.handled to true if we don't want any automatic gear equipping to be done.
    function job_aftercast(spell, action, spellMap, eventArgs)
    	if state.HybridMode.value == 'Reraise' or
        (state.HybridMode.value == 'Physical' and state.PhysicalDefenseMode.value == 'Reraise') then
    		equip(sets.Reraise)
    	end
    end
    
    -- Run after the default aftercast() is done.
    -- eventArgs is the same one used in job_aftercast, in case information needs to be persisted.
    function job_post_aftercast(spell, action, spellMap, eventArgs)
    
    end
    
    -- Set eventArgs.handled to true if we don't want any automatic gear equipping to be done.
    function job_pet_aftercast(spell, action, spellMap, eventArgs)
    
    end
    
    -- Run after the default pet aftercast() is done.
    -- eventArgs is the same one used in job_pet_aftercast, in case information needs to be persisted.
    function job_pet_post_aftercast(spell, action, spellMap, eventArgs)
    
    end
    
    
    -------------------------------------------------------------------------------------------------------------------
    -- Customization hooks for idle and melee sets, after they've been automatically constructed.
    -------------------------------------------------------------------------------------------------------------------
    
    -- Called before the Include starts constructing melee/idle/resting sets.
    -- Can customize state or custom melee class values at this point.
    -- Set eventArgs.handled to true if we don't want any automatic gear equipping to be done.
    function job_handle_equipping_gear(status, eventArgs)
    
    end
    
    -- Return a customized weaponskill mode to use for weaponskill sets.
    -- Don't return anything if you're not overriding the default value.
    function get_custom_wsmode(spell, action, spellMap)
    
    end
    
    -- Modify the default idle set after it was constructed.
    function customize_idle_set(idleSet)
        if player.hpp < 90 then
            idleSet = set_combine(idleSet, sets.idle.Regen)
        end
    	return idleSet
    end
    
    -- Modify the default melee set after it was constructed.
    function customize_melee_set(meleeSet)
    	if state.TreasureMode.value == 'Fulltime' then
    		meleeSet = set_combine(meleeSet, sets.TreasureHunter)
    	end
        if state.CapacityMode.value then
            meleeSet = set_combine(meleeSet, sets.CapacityMantle)
        end
    	return meleeSet
    end
    
    -------------------------------------------------------------------------------------------------------------------
    -- General hooks for other events.
    -------------------------------------------------------------------------------------------------------------------
    
    -- Called when the player's status changes.
    function job_status_change(newStatus, oldStatus, eventArgs)
    
    end
    
    -- Called when the player's pet's status changes.
    function job_pet_status_change(newStatus, oldStatus, eventArgs)
    
    end
    
    -- Called when a player gains or loses a buff.
    -- buff == buff gained or lost
    -- gain == true if the buff was gained, false if it was lost.
    function job_buff_change(buff, gain)
        if string.lower(buff) == "sleep" and gain and player.hp > 200 then
            equip(sets.Berserker)
        else
            if not midaction() then
                handle_equipping_gear(player.status)
            end
        end
    end
    
    function job_update(cmdParams, eventArgs)
        war_sj = player.sub_job == 'WAR' or false
    	classes.CustomMeleeGroups:clear()
    	th_update(cmdParams, eventArgs)
    	get_combat_form()
    end
    -------------------------------------------------------------------------------------------------------------------
    -- User code that supplements self-commands.
    -------------------------------------------------------------------------------------------------------------------
    
    -- Called for custom player commands.
    function job_self_command(cmdParams, eventArgs)
    
    end
    
    function get_combat_form()
    	--if areas.Adoulin:contains(world.area) and buffactive.ionis then
    	--	state.CombatForm:set('Adoulin')
    	--end
    
        if war_sj then
            state.CombatForm:set("War")
        else
            state.CombatForm:reset()
        end
    end
    
    
    -- Job-specific toggles.
    function job_toggle(field)
    
    end
    
    -- Handle auto-targetting based on local setup.
    function job_auto_change_target(spell, action, spellMap, eventArgs)
    
    end
    
    -- Set eventArgs.handled to true if we don't want the automatic display to be run.
    function display_current_job_state(eventArgs)
    
    end
    
    -------------------------------------------------------------------------------------------------------------------
    -- Utility functions specific to this job.
    -------------------------------------------------------------------------------------------------------------------
    -- State buff checks that will equip buff gear and mark the event as handled.
    function check_buff(buff_name, eventArgs)
        if state.Buff[buff_name] then
                equip(sets.buff[buff_name] or {})
            if state.TreasureMode.value == 'SATA' or state.TreasureMode.value == 'Fulltime' then
                equip(sets.TreasureHunter)
            end
            eventArgs.handled = true
        end
    end
    -- Check for various actions that we've specified in user code as being used with TH gear.
    -- This will only ever be called if TreasureMode is not 'None'.
    -- Category and Param are as specified in the action event packet.
    function th_action_check(category, param)
    	if category == 2 or -- any ranged attack
    		--category == 4 or -- any magic action
    		(category == 3 and param == 30) or -- Aeolian Edge
    		(category == 6 and info.default_ja_ids:contains(param)) or -- Provoke, Animated Flourish
    		(category == 14 and info.default_u_ja_ids:contains(param)) -- Quick/Box/Stutter Step, Desperate/Violent Flourish
    		then return true
    	end
    end
    -- Select default macro book on initial load or subjob change.
    function select_default_macro_book()
        -- Default macro set/book
        if player.sub_job == 'WAR' then
        	set_macro_page(1, 10)
        elseif player.sub_job == 'WHM' then
        	set_macro_page(1, 10)
        else
        	set_macro_page(1, 10)
        end
    end

  12. #3692
    Relic Horn
    Join Date
    Jul 2005
    Posts
    3,478
    BG Level
    7

    Code:
    if spell.skill == ['Elemental Magic'] and Non_Obi_Spells:contains(spell.name) then
            equip(waist=gear.nuke_waist)
        end
    This gives me an unexpected symbol near '[' error somehow.

  13. #3693
    Sea Torques
    Join Date
    Aug 2006
    Posts
    518
    BG Level
    5
    FFXI Server
    Leviathan

    http://pastebin.com/heMzgfTY

    My DNC is not swapping for steps unless Presto is up. Not swapping back after a weaponskill. And tries to spam presto even if it is down

  14. #3694
    Blue Magic is Best Magic
    Join Date
    Jul 2007
    Posts
    8,215
    BG Level
    8

    Quote Originally Posted by DisturbedMidget View Post
    I see his post but I've already got my sets completely laid out without a combine rule at all. Those are the only two sets that use either item and it wouldn't make sense that it works fine with another instrument..

    Makes my head hurt trying to figure out out seeing everything as right and it simply not working.
    I'm having a similar issue with his GS and BRD. Sometimes it randomly casts in the impatiens or if I just take it out it still messes up somehow and either doesn't let me overwrite my dummy song or the dummy song doesnt get put on. I have no clue what it is but I recall a while back when Mote was still here, it had a similar error and he had to fix something or it was an error with GS. I don't remember which had to be adjusted.

  15. #3695
    Relic Shield
    Join Date
    Jan 2013
    Posts
    1,868
    BG Level
    6

    What ever happened to Mote anyways?

    @ Lyramion

    Sometimes errors like that can be from mistakes before the line it tells you (it only catches the error at that point, sometimes i will have an extra "," or missed an "else" or a "(, {, [, ), }, or a ]", but the error will tell me its 5 lines below it), but why do you have ['Elemental Magic'] instead of just 'Elemental Magic' ? this is from my working Geo lua so im pretty sure it works wihtout the []

    Code:
    if spell.skill == 'Elemental Magic' then
    end
    @Stamos

    Why not simplify in your pretarget function (also in your precast) by replacing
    if (spell.type:endswith('Magic') or spell.type == "Ninjutsu") and buffactive.silence then
    with
    if spell.action_type == 'Magic' and buffactive.silence then

    =================

    About your steps and the presto spammage:
    The Presto spamming could be because you try to use the step, cancel and put a command in to use presto then the step again, which tries to push the code again (it loops). Usually when i change a spell to something else via code i put a "return" after it. Putting a return on it, you still might see a "Time Left: (0:00:014) Unable to use job ability." (I get this in my bard.lua but it still works) with a small wait such as 2 but hopefully it wouldnt spam it anymore. So try

    Code:
    send_command('Presto;wait 2;//'..spell.name)
    return
    You will see "return' used alot in your refine_waltz function.

    In regards to the gear swaps, looking at your step code in precast if i read it right its (the if) step without presto up, (the elseif) step with presto up which has a gearset named for it, or (the else) any other step with presto up. You say its only changing gear with presto up so it must be the if statement. Ok so looking at that its (the if) a step without FM 3, 4, & 5 OR (the else) a step with FM 3, 4, & 5. Neither of these have a gearswap. What I would do to make sure it caught everything is switch things around. check for presto and do the step. if not presto do your cancelling stuff so it wont go thru it again if you have presto on. The only thing i am not sure is if it will gearswap on the step when there is no presto and it auto uses presto. Assuming on when it uses the step after popping presto it goes back thru the cycle it might equip the gear. You could simplify this even more if you made, in your get_sets function, an identical "sets.Step[spell.english]" for all the steps (that arent feather, you could use set_combine for ease) as well. Then you could dump the additional if/else and just use the "if sets.Step[spell.english]"

    Code:
    if buffactive.presto then
    	add_to_chat(158,'Current Step: ['..spell.english..']')
    	if sets.Step[spell.english] then
    		equip(sets.Step[spell.english])
    	else
    		equip(sets.Step)
    	end
    else
    	if buffactive['Finishing Move 3'] or buffactive['Finishing Move 4'] or buffactive['Finishing Move 5'] then
    		add_to_chat(158,'Skipping Presto.')
    		if sets.Step[spell.english then
    			equip(sets.Step[spell.english])
    		else
    			equip(sets.Step)
    		end
    	else
    		add_to_chat(158,'No Presto Up - Popping Presto!')
    		cancel_spell()
    		send_command('//Presto;wait 2;//'..spell.name..'')
    		return
    	end
    end
    I can show you what i have for steps on my dancer lua tho, if you would like. I found it alot easier than making Auto presto using code for my steps. For my Step macro on my macro bar, I have:

    Code:
    /ja "Presto" <me> <wait 1>
    /ja "Box Step" <t>
    In the get_ sets function

    Code:
    sets.JA = {}
    sets.JA.Trance = 
    	{head="Etoile Tiara +2"}
    sets.JA.Steps = set_combine(sets.TP.MeleeAccuracy, 
    	{head="Maxixi Tiara +1",rear="Choreia Earring",
    	hands="Dancer's Bangles +1",
    	feet="Etoile Shoes +2"})
    sets.JA["Feather Step"] = set_combine(sets.JA.Steps, 
    	{feet="Charis Shoes +2"})
    In the precast function

    Code:
    if sets.JA[spell.name] then
    	equip(sets.JA[spell.name])
    end
    if spell.name == 'Presto' and ( buffactive["Finishing Move 3"] or buffactive["Finishing Move 4"] or buffactive["Finishing Move 5"] ) then
    	cancel_spell()
    end
    if spell.type == "Step" then
    	if spell.name == 'Feather Step' then
    		equip(sets.JA["Feather Step"])
    	else
    		equip(sets.JA.Steps)
    	end
    end
    This way it will use presto whenever I dont have FM 3-5, and cancel it when I do. And my steps will equip the correct gear regardless of presto.

    ==============

    About gear not changin after a Weaponskill, in your aftercast: Is any of this an actual gearwap? I dont know exactly what Skillchain does and such but I dont see a single " equip(sets.Midcast.Haste) " type line here at all.

    Code:
    function aftercast(spell, action)
    	if spell.english == "Wild Flourish" and not spell.interrupted then
    		Skillchain = true
    		send_command('wait 7;gs c clear Skillchain')
    	elseif spell.type == "WeaponSkill" and not spell.interrupted then
    		Skillchain = not Skillchain
    		send_command('wait 0.2;gs c TP;wait 7;gs c clear Skillchain')
    	else
    		status_change(player.status)
    	end
    	if spell.english == 'Haste Samba' then
    		timer_haste_samba()
    	end
    end
    If " status_change(player.status) " is the gearswap then I dont think it is switching after WS cause you are saying if its (the if) wild flourish, (the elseif) weaponskill or (the else) everything else. Only (the else) everything else has a swap in it. Again, I dont really know what the following is doing, so if that is a gearswap i am not sure what's going on.

    Code:
    Skillchain = not Skillchain
    	send_command('wait 0.2;gs c TP;wait 7;gs c clear Skillchain')
    ===================
    Just curious about the last 3 functions you have in your gearswap: sub_job_change, set_macro_page, and select default_macro_book. I use in my luas for macro setting. in the get_sets function it sets the book i use, and the sub_job_change function it sets the macro set properly when i change my subjob:

    Code:
    function get_sets()
    send_command('input /macro book 10')
    end
    
    function sub_job_change(new,old)
    		if new == 'WHM' then send_command('input /macro set 1')
    	elseif new == 'SCH' then send_command('input /macro set 1')
    	elseif new == 'RDM' then send_command('input /macro set 1')
    	elseif new == 'DNC' then send_command('input /macro set 1')
    	elseif new == 'NIN' then send_command('input /macro set 1')
    	end
    end
    Seems to me you could put " send_command('input /macro set 1') " in place of " set_macro_page(1, 19) " in you select_default_macro_book " without the need for the other 2 functions that I dont really get the point of. Would you ever be entering a command for a book numbered under 1 and over 20 or a set under 1 and over 10? Do you use more than 1 book for one job's macros? If there is a point to it lemme know cause im always interested in something that could improve my code.

    ====================

    As for your THF lua It seems like you are using Variables to handle SA/TA which atm i cant wrap my head around. In my Luas i simply have it equip what I want when the buff wears

    Code:
    function buff_change(buff,gain)
    	if buff == 'Sneak Attack' and player.status == 'Engaged' and not gain then
    		equip(sets.TP[TP_Set_Names[TP_Index]])						== Put Whatever you use for TP sets here.
    	end
    	if buff == 'Trick Attack' and player.status == 'Engaged' and not gain then
    		equip(sets.TP[TP_Set_Names[TP_Index]])						== Put Whatever you use for TP sets here.
    	end
    	if buff == 'Encumbrance' and not gain then
    		if player.status == 'Engaged' then
    			equip(sets.TP[TP_Set_Names[TP_Index]], sets.Command[Weapon_Set_Names[Weapon_Index]])					== Put Whatever you use for TP sets here.
    		else
    			equip(sets.Idle[Idle_Set_Names[Idle_Index]], sets.Command[Weapon_Set_Names[Weapon_Index]])				== Put Whatever you use for Idle sets here.
    		end
    	end
    end

  16. #3696
    Nidhogg
    Join Date
    Aug 2007
    Posts
    3,756
    BG Level
    7
    FFXI Server
    Bahamut

    Quote Originally Posted by DisturbedMidget View Post
    Makes my head hurt trying to figure out out seeing everything as right and it simply not working.
    That's pretty much where I was at. I just gave in and created precast.Geomancy and went without Impatiens. Doesn't really solve the issue with Brd since you're swapping two different instruments and such.

  17. #3697
    Puppetmaster
    Join Date
    Jan 2014
    Posts
    59
    BG Level
    2

    Quote Originally Posted by Lyramion View Post
    Code:
    if spell.skill == ['Elemental Magic'] and Non_Obi_Spells:contains(spell.name) then
            equip(waist=gear.nuke_waist)
        end
    This gives me an unexpected symbol near '[' error somehow.
    Whoops I replied too fast before checking. It should be
    Code:
    if spell.skill == 'Elemental Magic' and Non_Obi_Spells:contains(spell.name) then
        equip(waist=gear.nuke_waist)
    end

  18. #3698
    Puppetmaster
    Join Date
    Jan 2014
    Posts
    59
    BG Level
    2

    Quote Originally Posted by DisturbedMidget View Post
    This one truly has me stumped. And I thought I was pretty good at figuring out the errors.

    Using Mote's BRD gs, If i try to precast using an Impatiens for the quickcast, my midcast set will not equip Gjallarhorn

    sets.midcast.SongEffect = {main="Legato Dagger",range="Gjallarhorn",
    head="Aoidos' Calot +2",neck="Aoidos' Matinee",ear2="Loquacious Earring",
    body="Aoidos' Hongreline +2",hands="Aoidos' Manchettes +2",
    legs="Marduk's Shalwar +1",feet="Brioso Slippers +1"}

    But but if I change Gjallerhorn to say Daurdabla in that same set it works perfect everytime. If I type //gs equip sets.midcast.SongEffect it works just fine as well. If I sing with say Daudabla during precast instead of Impatiens it also works just fine.. only screws up when I want to use Impatiens and Gjallarhorn in precast/midcast.

    I understand it has something to do with packet lose but on a non quickcast spell it still suffers from this? Also it working 100% of the time with Daudabla makes no sense if packet lose is the issue.
    Are you sure you don't have an /equip Daurdabla line written in your in-game macro? Sounds like that's what's going on.

  19. #3699
    Relic Horn
    Join Date
    Jul 2005
    Posts
    3,478
    BG Level
    7

    Quote Originally Posted by Quixacotl View Post
    Whoops I replied too fast before checking. It should be
    Code:
    function job_post_midcast(spell, action, spellMap, eventArgs)
          if spell.skill == 'Elemental Magic' and Non_Obi_Spells:contains(spell.name) then
             equip(waist=gear.nuke_waist)
          end
    end
    Starting to feel pretty stupid but getting a ')' expected before '=' error for this.

  20. #3700
    New Merits
    Join Date
    Aug 2007
    Posts
    248
    BG Level
    4
    FFXI Server
    Bismarck

    Anyone using Mote's MNK lua? For some reason it's not tracking impetus, which leads to af3+2 body not being equipped at all. Didn't change anything from this original file, just edited my sets in from a sidecar.

    Thanks

Page 185 of 302 FirstFirst ... 135 175 183 184 185 186 187 195 235 ... LastLast

Similar Threads

  1. Replies: 6547
    Last Post: 2014-07-08, 22:45