Item Search
     
BG-Wiki Search
Page 95 of 302 FirstFirst ... 45 85 93 94 95 96 97 105 145 ... LastLast
Results 1881 to 1900 of 6036

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

  1. #1881
    BG Content
    Join Date
    Jul 2007
    Posts
    22,368
    BG Level
    10
    FFXI Server
    Lakshmi
    Blog Entries
    1

    I don't play ranged attacking jobs (and neither does anyone else on -dev, apparently), so we didn't find it. It isn't like just not pushing updates forever is a viable strategy.

    Edit: Okay, now it's fixed

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

    Something is happening with my avatar, GS isn't detecting pets at all. I had a spam of targets.lua error, now something is wrong that it will not detect pets.

  3. #1883
    BG Content
    Join Date
    Jul 2007
    Posts
    22,368
    BG Level
    10
    FFXI Server
    Lakshmi
    Blog Entries
    1

    Rerun launcher and it will. I guess we don't play pet jobs either.

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

    Ah awesome, thanks lol

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

    Another issue after updating, some reason my harp is staying equipped when my GS only has it on for paeons. My other songs are suppose to be cast in Ghorn.

  6. #1886
    New Merits
    Join Date
    Sep 2008
    Posts
    232
    BG Level
    4
    FFXI Server
    Lakshmi

    Can you still use skill up scripts with gearswap, like with Spellcast? If so, are there any for BRD?

  7. #1887
    Bagel
    Join Date
    Dec 2012
    Posts
    1,488
    BG Level
    6

    Quote Originally Posted by Veikuri View Post
    Can you still use skill up scripts with gearswap, like with Spellcast? If so, are there any for BRD?
    yes but there is none made yet

  8. #1888
    Cerberus
    Join Date
    Jun 2010
    Posts
    461
    BG Level
    4

    Was wondering if anyone had a empy aftermath snippet that creates custom timers with the timers plugin

    hoping to keep track of aftermath 1 2 and 3.
    Thanks in advance

  9. #1889
    Cerberus
    Join Date
    May 2009
    Posts
    437
    BG Level
    4
    FFXI Server
    Gilgamesh

    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.
    
    --[[
    	Custom commands:
    	
    	Terpander has a set of modes: None, Dummy, Terpander
    	
    	You can set these via the standard 'set' and 'cycle' self-commands.  EG:
    	gs c cycle Terpander
    	gs c set Terpander Dummy
    	
    	The Dummy state will equip the Terpander and ensure non-duration gear is equipped.
    	The Terpander state will simply equip the Terpander on top of standard gear.
    	
    	Use the Dummy version to put up dummy songs that can be overwritten by full-potency songs.
    	
    	Use the Terpander version to simply put up additional songs without worrying about dummy songs.
    	
    	
    	Simple macro to cast a dummy Terpander song:
    	/console gs c set Terpander Dummy
    	/ma "Shining Fantasia" <me>
    	
    	
    	There is also an auto-handling of Terpander songs, via the state.AutoTerpander flag:
    	
    	If state.TerpanderMode is None, and if currently tracked songs (via timers) is less
    	than the max we could sing while using the Terpander, and if the song is cast on
    	self (rather than Pianissimo on another player), then it will equip the Terpander on
    	top of standard duration gear.
    
    --]]
    
    -- Initialization function for this job file.
    function get_sets()
    	-- Load and initialize the include file.
    	include('Mote-Include.lua')
    end
    
    
    -- Setup vars that are user-independent.
    function job_setup()
    	state.Buff['Pianissimo'] = buffactive['pianissimo'] or false
    
    	options.TerpanderModes = {'None','Dummy','Terpander'}
    	state.TerpanderMode = 'None'
    
    	-- For tracking current recast timers via the Timers plugin.
    	timer_reg = {}
    end
    
    
    -- Setup vars that are user-dependent.  Can override this function in a sidecar file.
    function user_setup()
    	-- Options: Override default values
    	options.CastingModes = {'Normal', 'Resistant'}
    	options.OffenseModes = {'None', 'Normal'}
    	options.DefenseModes = {'Normal'}
    	options.WeaponskillModes = {'Normal'}
    	options.IdleModes = {'Normal', 'PDT', 'MP'}
    	options.RestingModes = {'Normal'}
    	options.PhysicalDefenseModes = {'PDT'}
    	options.MagicalDefenseModes = {'MDT'}
    
    	state.Defense.PhysicalMode = 'PDT'
    	state.OffenseMode = 'None'
    
    	brd_daggers = S{'Izhiikoh', 'Vanir Knife', 'Atoyac', 'Aphotic Kukri'}
    	pick_tp_weapon()
    	
    	-- Adjust this if using the Terpander (new +song instrument)
    	info.TerpanderInstrument = 'Terpander'
    	-- How many extra songs we can keep from Terpander/Terpander
    	info.TerpanderSongs = 1
    	-- Whether to try to automatically use Terpander when an appropriate gap in current vs potential
    	-- songs appears, and you haven't specifically changed state.TerpanderMode.
    	state.AutoTerpander = false
    	
    	-- Additional local binds
    	send_command('bind ^` input /ma "Herculean Etude" <me>')
    
    	-- Default macro set/book
    	set_macro_page(2, 18)
    end
    
    
    -- Called when this job file is unloaded (eg: job change)
    function file_unload()
    	if binds_on_unload then
    		binds_on_unload()
    	end
    
    	send_command('unbind ^`')
    end
    
    
    -- Define sets and vars used by this job file.
    function init_gear_sets()
    	--------------------------------------
    	-- Start defining the sets
    	--------------------------------------
    	
    	-- Precast Sets
    
    	-- Fast cast sets for spells
    	sets.precast.FC = {body="Anhur Robe",Main="Lehbrailg +2",sub="Arbuda Grip",head="Nahtirah Hat",ear2="Loquac. Earring",
    		hands="Gendewitha Gages +1",ring1="Prolix Ring",
    		back="Swith Cape",waist="Witful Belt",legs="Artsieq Hose",feet="Chelona Boots"}
    
    	sets.precast.FC.Cure = {body="Nefer Kalasiris",Main="Apaisante",sub="Genbu's Shield",head="Nahtirah Hat",ear2="Loquac. Earring",
    		hands="Gendewitha Gages +1",ring1="Prolix Ring",
    		back="Swith Cape",waist="Witful Belt",legs="Artsieq Hose",feet="Chelona Boots"}
    
    	sets.precast.FC['Enhancing Magic'] = set_combine(sets.precast.FC, {waist="Siegel Sash"})
    
    	sets.precast.FC.BardSong = {main="Lehbrailg +2",sub="Mephitis Grip",range="Gjallarhorn",
    		head="Aoidos' Calot +2",neck="Aoidos' Matinee",ear1="Novia Earring",ear2="Loquacious Earring",
    		body="Sha'ir Manteel",hands="Gendewitha Gages",ring1="Prolix Ring",ring2="Minstrel's Ring",
    		back="Swith Cape",waist="Witful Belt",legs="Gendewitha Spats +1",feet="Bokwus Boots"}
    
    	sets.precast.FC.Terpander = set_combine(sets.precast.FC.BardSong, {range=info.TerpanderInstrument})
    		
    	
    	-- Precast sets to enhance JAs
    	
    	sets.precast.JA.Nightingale = {feet="Bihu Slippers"}
    	sets.precast.JA.Troubadour = {body="Bihu Justaucorps +1"}
    	sets.precast.JA['Soul Voice'] = {legs="Bihu Cannions"}
    
    	-- Waltz set (chr and vit)
    	sets.precast.Waltz = {range="Gjallarhorn",
    		head="Nahtirah Hat",
    		body="Gendewitha Bilaut",hands="Buremte Gloves",
    		back="Refraction Cape",legs="Gendewitha Spats",feet="Gendewitha Galoshes"}
    	
           
    	-- Weaponskill sets
    	-- Default set for any weaponskill that isn't any more specifically defined
    	sets.precast.WS = {range="Gjallarhorn",
    		head="Nahtirah Hat",neck="Asperity Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
    		body="Bard's Justaucorps +2",hands="Buremte Gloves",ring1="Rajas Ring",ring2="K'ayres Ring",
    		back="Atheling Mantle",waist="Caudata Belt",legs="Gendewitha Spats",feet="Gendewitha Galoshes"}
    	
    	-- Specific weaponskill sets.  Uses the base set if an appropriate WSMod version isn't found.
    	sets.precast.WS['Evisceration'] = {
    		head="Nahtirah Hat",neck="Asperity Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
    		body="Bard's Justaucorps +2",hands="Buremte Gloves",ring1="Rajas Ring",ring2="K'ayres Ring",
    		back="Atheling Mantle",waist="Caudata Belt",legs="Gendewitha Spats",feet="Gendewitha Galoshes"}
    
    	sets.precast.WS['Exenterator'] = {
    		head="Nahtirah Hat",neck="Asperity Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
    		body="Bard's Justaucorps +2",hands="Buremte Gloves",ring1="Rajas Ring",ring2="K'ayres Ring",
    		back="Atheling Mantle",waist="Caudata Belt",legs="Gendewitha Spats",feet="Gendewitha Galoshes"}
    
    	sets.precast.WS['Mordant Rime'] = {range="Gjallarhorn",
    		head="Nahtirah Hat",neck="Asperity Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
    		body="Bard's Justaucorps +2",hands="Buremte Gloves",ring1="Rajas Ring",ring2="K'ayres Ring",
    		back="Atheling Mantle",waist="Caudata Belt",legs="Gendewitha Spats",feet="Gendewitha Galoshes"}
    	
    	
    	-- Midcast Sets
    
    	-- General set for recast times.
    	sets.midcast.FastRecast = {range="Lehbrailg +2",sub="Arbuda Grip",
    		head="Nahtirah Hat",ear2="Loquacious Earring",ear1="Gwati Earring",neck="Phrenic Torque",
    		body="Hedera Cotehardie",hands="Gendewitha Gages +1",ring1="Prolix Ring",ring2="Sangoma Ring",
    		back="Swith Cape",waist="Goading Belt",legs="Artsieq Hose",feet="Gendewitha Galoshes +1"}
    		
    	-- Gear to enhance certain classes of songs.  No instruments added here since Gjallarhorn is being used.
    	sets.midcast.Ballad = {legs="Aoidos' Rhing. +1"}
    	sets.midcast.Lullaby = {hands="Brioso Cuffs"}
    	sets.midcast.Madrigal = {head="Aoidos' Calot +2"}
    	sets.midcast.March = {hands="Aoidos' Manchettes +2"}
    	sets.midcast.Minuet = {body="Aoidos' Hongreline +2"}
    	sets.midcast.Minne = {}
    	sets.midcast.Carol = {head="Aoidos' Calot +2",
    		body="Aoidos' Hongreline +2",hands="Aoidos' Manchettes +2",
    		legs="Aoidos' Rhing. +1",feet="Aoidos' Cothrn. +1"}
    	sets.midcast["Sentinel's Scherzo"] = {feet="Aoidos' Cothrn. +1"}
    	sets.midcast['Magic Finale'] = {neck="Barcarolle Medal",waist="Corvax Sash",legs="Aoidos' Rhing. +2"}
    
    	sets.midcast.Etude = {range=info.TerpanderInstrument}
    	
    
    	-- For song buffs (duration and AF3 set bonus)
    	sets.midcast.SongEffect = {main="Legato Dagger",sub="Genbu's Shield",range="Gjallarhorn",
    		head="Bihu Roundlet +1",neck="Aoidos' Matinee",ear1="Musical Earring", ear2="Loquacious Earring",
    		body="Aoidos' Hongreline +2",hands="Aoidos' Manchettes +2",ring1="Prolix Ring",ring2="Sangoma Ring",
    		back="Balladeer's Cape",waist="Witful Belt",legs="Aoidos' Rhing. +1",feet="Brioso Slippers +1"}
    
    	-- For song defbuffs (duration primary, accuracy secondary)
    	sets.midcast.SongDebuff = {main="Lebrailg +2",sub='Mephitis Grip',range="Gjallarhorn",
    		head="Bihu Roundlet +1",neck="Barcarolle Medal",ear1="Musical Earring",ear2="Gwati Earring",
    		body="Bihu Justaucorps +1",hands="Aoidos' Manchettes +2",ring1="Omega Ring",ring2="Sangoma Ring",
    		back="Balladeer's Cape",waist="Demonry Sash",legs="Bihu Cannions",feet="Brioso Slippers +1"}
    
    	-- For song defbuffs (accuracy primary, duration secondary)
    	sets.midcast.ResistantSongDebuff = {main="Lebrailg +2",sub='Mephitis Grip',range="Gjallarhorn",
    		head="Bihu Roundlet +1",neck="Barcarolle Torque",ear1="Musical Earring",ear2="Gwati Earring",
    		body="Aoidos' Hongreline +2",hands="Aoidos' Manchettes +2",ring1="Prolix Ring",ring2="Sangoma Ring",
    		back="Balladeer's Cape",waist="Demonry Sash",legs="Bihu Cannions",feet="Brioso Slippers +1"}
    
    	sets.midcast.Stun = {main="Lebrailg +2",sub='Mephitis Grip',range="Gjallarhorn",
    		head="Bihu Roundlet +1",neck="Dark Torque",ear1="Psystorm Earring",ear2="Lifestorm Earring",
    		body="Bihu Justaucorps +1",hands="Gendewitha Gages +1",ring1="Prolix Ring",ring2="Sangoma Ring",
    		back="Refraction Cape",waist="Witful Belt",legs="Bihu Cannions",feet="Gendewitha Galoshes +1"}		
    
    	sets.midcast.Sleep = {main="Lebrailg +2",sub='Mephitis Grip',range="Gjallarhorn",
    		head="Bihu Roundlet +1",neck="Dark Torque",ear1="Psystorm Earring",ear2="Lifestorm Earring",
    		body="Bihu Justaucorps +1",hands="Gendewitha Gages +1",ring1="Prolix Ring",ring2="Sangoma Ring",
    		back="Refraction Cape",waist="Witful Belt",legs="Bihu Cannions",feet="Gendewitha Galoshes +1"}			
    
    	sets.midcast['Sleep II'] = {main="Lebrailg +2",sub='Mephitis Grip',range="Gjallarhorn",
    		head="Bihu Roundlet +1",neck="Dark Torque",ear1="Psystorm Earring",ear2="Lifestorm Earring",
    		body="Bihu Justaucorps +1",hands="Gendewitha Gages +1",ring1="Prolix Ring",ring2="Sangoma Ring",
    		back="Refraction Cape",waist="Witful Belt",legs="Bihu Cannions",feet="Gendewitha Galoshes +1"}	
    		
    		sets.midcast.Sleepga = {main="Lebrailg +2",sub='Mephitis Grip',range="Gjallarhorn",
    		head="Bihu Roundlet +1",neck="Dark Torque",ear1="Psystorm Earring",ear2="Lifestorm Earring",
    		body="Bihu Justaucorps +1",hands="Gendewitha Gages +1",ring1="Prolix Ring",ring2="Sangoma Ring",
    		back="Refraction Cape",waist="Witful Belt",legs="Bihu Cannions",feet="Gendewitha Galoshes +1"}	
    		
    	sets.midcast.Cursna =  {main="Lebrailg +2",sub='Mephitis Grip',ammo="Incantor Stone",head="Orison Cap +1",neck="Malison Medallion",ear1="Gwati Earring",ear2="Gifted Earring",
    		body="Orison Bliaud +2",hands="Dynasty Mitts",ring1="Ephedra Ring",ring2="Ephedra Ring",
    		back="Mending Cape",waist="Bishop's Sash",legs="Artsieq Hose",feet="Gendewitha Galoshes +1"}
    		
    		
    	-- Song-specific recast reduction
    	sets.midcast.SongRecast = {ear2="Loquacious Earring",
    		ring1="Prolix Ring",
    		back="",waist="",legs="Aoidos' Rhing. +1"}
    
    	--sets.midcast.Terpander = set_combine(sets.midcast.FastRecast, sets.midcast.SongRecast, {range=info.TerpanderInstrument})
    
    	-- Cast spell with normal gear, except using Terpander instead
    	sets.midcast.Terpander = {range=info.TerpanderInstrument}
    
    	-- Dummy song with Terpander; minimize duration to make it easy to overwrite.
    	sets.midcast.TerpanderDummy = {main="Legato Dagger",sub="Genbu's Shield",range=info.TerpanderInstrument,
    		head="Bihu Roundlet +1",neck="Barcarolle Medal",ear1="Musical Earring",ear2="Loquacious Earring",
    		body="Aoidos' Hongreline +2",hands="Aoidos' Manchettes +2",ring1="Prolix Ring",ring2="Sangoma Ring",
    		back="Swith Cape",waist="Witful Belt",legs="Aoidos' Rhing. +1",feet="Bokwus Boots"}
    
    	-- Other general spells and classes.
    	sets.midcast.Cure = {main="Galenus",sub="Genbu's Shield",
    		head="Gendewitha Caubeen +1",neck="Phrenic Torque",Ear1="Novia Earring",Ear2="Gifted Earring",
    		body="Gendewitha Bilaut +1",hands="Buremte Gloves",ring1="Prolix Ring",ring2="Sangoma Ring",
    		legs="Nares Trews",feet="Gendewitha Galoshes +1",back="Errant Cape",waist="Penitent's Rope"}
    		
    	sets.midcast.Curaga = sets.midcast.Cure
    		
    	sets.midcast.Stoneskin = {
    		head="Nahtirah Hat",
    		body="Gendewitha Bilaut +1",hands="Gendewitha Gages +1",
    		legs="Artsieq Hose",feet="Gendewitha Galoshes +1"}
    		
    	sets.midcast.Cursna = {
    		neck="Malison Medallion",
    		hands="Hieros Mittens",ring1="Ephedra Ring",ring2="Ephedra Ring"}
    
    	
    	-- Sets to return to when not performing an action.
    	
    	-- Resting sets
    	sets.resting = {main=gear.Staff.HMP, 
    		body="Gendewitha Bilaut",
    		legs="Nares Trews",feet="Chelona Boots"}
    	
    	
    	-- Idle sets (default idle set not needed since the other three are defined, but leaving for testing purposes)
    	sets.idle = {main="Terra's Staff",sub="Volos Strap",range="Gjallarhorn",
    		head="Bihu Roundlet +1",neck="Twilight Torque",ear1="Merman's Earring",ear2="Dawn Earring",
    		body="Gendewitha Bilaut +1",hands="Gendewitha Gages +1",ring1="Dark Ring",ring2="Dark Ring",
    		back="Umbra Cape",waist="Fucho-No-Obi",legs="Nares Trews",feet="Aoidos' Cothurnes +1"}
    
    	sets.idle.Town = {main="Terra's Staff",sub="Volos Strap",range="Gjallarhorn",
    		head="Bihu Roundlet +1",neck="Twilight Torque",ear1="Merman's Earring",ear2="Dawn Earring",
    		body="Bihu Justaucorps +1",hands="Gendewitha Gages +1",ring1="Dark Ring",ring2="Dark Ring",
    		back="Umbra Cape",waist="Fucho-No-Obi",legs="Nares Trews",feet="Aoidos' Cothurnes +1"}
    	
    	sets.idle.Weak = {main="Terra's Staff",sub="Volos Strap",range="Gjallarhorn",
    		head="Bihu Roundlet +1",neck="Twilight Torque",ear1="Merman's Earring",ear2="Dawn Earring",
    		body="Bihu Justaucorps +1",hands="Gendewitha Gages +1",ring1="Dark Ring",ring2="Dark Ring",
    		back="Umbra Cape",waist="Fucho-No-Obi",legs="Nares Trews",feet="Aoidos' Cothurnes +1"}
    	
    	
    	-- Defense sets
    
    	sets.defense.PDT = {main="Terra's Staff",sub="Volos Strap",range="Gjallarhorn",
    		head="Bihu Roundlet +1",neck="Twilight Torque",ear1="Merman's Earring",ear2="Dawn Earring",
    		body="Bihu Justaucorps +1",hands="Gendewitha Gages +1",ring1="Dark Ring",ring2="Dark Ring",
    		back="Shadow Mantle",waist="Flume Belt",legs="Gendewitha Spats +1",feet="Gendewitha Galoshes +1"}
    
    			sets.idle.MP = {main="Galenus",sub="Genbu's shield6",range="Gjallarhorn",
    		head="Nahtirah Hat",neck="Phrenic Torque",ear1="Gifted Earring",ear2="Loquacious Earring",
    		body="Gendewitha Bilaut +1",hands="Otomi Gloves",ring1="Dark Ring",ring2="Sangoma Ring",
    		back="Errant Cape",waist="Fucho-No-Obi",legs="Nares Trews",feet="Brioso Slippers +1"}
    	sets.defense.MDT = {main="Terra's Staff",sub="Volos Strap",range="Gjallarhorn",
    		head="Bihu Roundlet +1",neck="Twilight Torque",ear1="Merman's Earring",ear2="Dawn Earring",
    		body="Gendewitha Bilaut +1",hands="Gendewitha Gages +1",ring1="Dark Ring",ring2="Dark Ring",
    		back="Umbra Cape",waist="Fucho-no-Obi",legs="Nares Trews",feet="Aoidos' Cothurnes +1"}
    
    	sets.Kiting = {feet="Aoidos' Cothurnes +1"}
    
    	-- 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
    	
    	-- Basic set for if no TP weapon is defined.
    	sets.engaged = {range="Angel Lyre",
    		head="Nahtirah Hat",neck="Asperity Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
    		body="Vanir Cotehardie",hands="Buremte Gloves",ring1="Rajas Ring",ring2="K'ayres Ring",
    		back="Atheling Mantle",waist="Goading Belt",legs="Gendewitha Spats",feet="Gendewitha Galoshes"}
    
    	-- Sets with weapons defined.
    	sets.engaged.Dagger = {range="Angel Lyre",
    		head="Nahtirah Hat",neck="Asperity Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
    		body="Vanir Cotehardie",hands="Buremte Gloves",ring1="Rajas Ring",ring2="K'ayres Ring",
    		back="Atheling Mantle",waist="Goading Belt",legs="Gendewitha Spats",feet="Gendewitha Galoshes"}
    
    	-- Set if dual-wielding
    	sets.engaged.DualWield = {range="Angel Lyre",
    		head="Nahtirah Hat",neck="Asperity Necklace",ear1="Dudgeon Earring",ear2="Heartseeker Earring",
    		body="Vanir Cotehardie",hands="Buremte Gloves",ring1="Rajas Ring",ring2="K'ayres Ring",
    		back="Atheling Mantle",waist="Goading Belt",legs="Gendewitha Spats",feet="Gendewitha Galoshes"}
    end
    
    
    -------------------------------------------------------------------------------------------------------------------
    -- Job- versions of event handlers, allowing overriding default handling.
    -------------------------------------------------------------------------------------------------------------------
    
    -- 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 spell.type == 'BardSong' then
    		-- Auto-Pianissimo
    		if spell.target.type == 'PLAYER' and not spell.target.charmed and not state.Buff['Pianissimo'] then
    			cancel_spell()
    			send_command('@input /ja "Pianissimo" <me>; wait 1.25; input /ma "'..spell.name..'" '..spell.target.name)
    			eventArgs.cancel = true
    			return
    		end
    	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
    		-- Default base equipment layer of fast recast.
    		equip(sets.midcast.FastRecast)
    
    		if spell.type == 'BardSong' then
    			-- layer general gear on first, then let default handler add song-specific gear.
    			local generalClass = get_song_class(spell)
    			if generalClass and sets.midcast[generalClass] then
    				equip(sets.midcast[generalClass])
    			end
    		end
    	end
    end
    
    
    function job_post_midcast(spell, action, spellMap, eventArgs)
    	if spell.type == 'BardSong' then
    		if state.TerpanderMode == 'Terpander' then
    			equip(sets.midcast.Terpander)
    		elseif state.TerpanderMode == 'None' and spell.target.type == 'SELF' and state.AutoTerpander and daur_song_gap() then
    			equip(sets.midcast.Terpander)
    		end
    
    		state.TerpanderMode = 'None'
    	end
    end
    
    
    -- Set eventArgs.handled to true if we don't want automatic gear equipping to be done.
    function job_aftercast(spell, action, spellMap, eventArgs)
    	if not spell.interrupted then
    		if state.Buff[spell.name] ~= nil then
    			state.Buff[spell.name] = true
    		end
    
    		if spell.type == 'BardSong' then
    			if spell.target then
    				if spell.target.type and spell.target.type:upper() == 'SELF' then
    					adjust_Timers(spell, action, spellMap)
    				end
    			end
    		end
    	end
    end
    
    -------------------------------------------------------------------------------------------------------------------
    -- Hooks for other events that aren't handled by the include file.
    -------------------------------------------------------------------------------------------------------------------
    
    function job_buff_change(buff, gain)
    	if state.Buff[buff] ~= nil then
    		state.Buff[buff] = gain
    	end
    end
    
    -------------------------------------------------------------------------------------------------------------------
    -- Hooks for Terpander mode handling.
    -------------------------------------------------------------------------------------------------------------------
    
    -- Request job-specific mode tables.
    -- Return true on the third returned value to indicate an error: that we didn't recognize the requested field.
    function job_get_mode_list(field)
    	if field == 'Terpander' then
    		if player.inventory[info.TerpanderInstrument] then
    			return options.TerpanderModes, state.TerpanderMode
    		else
    			add_to_chat(123, info.TerpanderInstrument..' is not in player inventory.')
    		end
    	end
    end
    
    -- Set job-specific mode values.
    -- Return true if we recognize and set the requested field.
    function job_set_mode(field, val)
    	if field == 'Terpander' then
    		state.TerpanderMode = val
    		return true
    	end
    end
    
    -------------------------------------------------------------------------------------------------------------------
    -- User code that supplements self-commands.
    -------------------------------------------------------------------------------------------------------------------
    
    -- Called by the 'update' self-command.
    function job_update(cmdParams, eventArgs)
    	pick_tp_weapon()
    end
    
    
    -- Handle notifications of general user state change.
    function job_state_change(stateField, newValue)
    	if stateField == 'OffenseMode' then
    		if newValue == 'Normal' then
    			disable('main','sub')
    		else
    			enable('main','sub')
    		end
    	elseif stateField == 'Reset' then
    		if state.OffenseMode == 'None' then
    			enable('main','sub')
    		end
    	end
    end
    
    -- Function to display the current relevant user state when doing an update.
    -- Return true if display was handled, and you don't want the default info shown.
    function display_current_job_state(eventArgs)
    	local defenseString = ''
    	if state.Defense.Active then
    		local defMode = state.Defense.PhysicalMode
    		if state.Defense.Type == 'Magical' then
    			defMode = state.Defense.MagicalMode
    		end
    
    		defenseString = 'Defense: '..state.Defense.Type..' '..defMode..', '
    	end
    	
    	local meleeString = ''
    	if state.OffenseMode == 'Normal' then
    		if state.CombatForm then
    			meleeString = 'Melee: Dual-wield, '
    		else
    			meleeString = 'Melee: Single-wield, '
    		end
    	end
    
    	add_to_chat(122,'Casting ['..state.CastingMode..'], '..meleeString..'Idle ['..state.IdleMode..'], '..defenseString..
    		'Kiting: '..on_off_names[state.Kiting])
    
    	eventArgs.handled = true
    end
    
    -------------------------------------------------------------------------------------------------------------------
    -- Utility functions specific to this job.
    -------------------------------------------------------------------------------------------------------------------
    
    -- Determine the custom class to use for the given song.
    function get_song_class(spell)
    	-- Can't use spell.targets:contains() because this is being pulled from resources
    	if set.contains(spell.targets, 'Enemy') then
    		if state.CastingMode == 'Resistant' then
    			return 'ResistantSongDebuff'
    		else
    			return 'SongDebuff'
    		end
    	elseif state.TerpanderMode == 'Dummy' then
    		return 'TerpanderDummy'
    	else
    		return 'SongEffect'
    	end
    end
    
    
    -- Function to create custom buff-remaining timers with the Timers plugin,
    -- keeping only the actual valid songs rather than spamming the default
    -- buff remaining timers.
    function adjust_Timers(spell, action, spellMap)
    	local t = os.time()
    	
    	-- Eliminate songs that have already expired from our local list.
    	local tempreg = {}
    	for i,v in pairs(timer_reg) do
    		if v < t then tempreg[i] = true end
    	end
    	for i,v in pairs(tempreg) do
    		timer_reg[i] = nil
    	end
    	
    	local dur = calculate_duration(spell.name, spellMap)
    	if timer_reg[spell.name] then
    		-- Can delete timers that have less than 120 seconds remaining, since
    		-- the new version of the song will overwrite the old one.
    		-- Otherwise create a new timer counting down til we can overwrite.
    		--if (timer_reg[spell.name] - t) <= 120 then
    			send_command('timers delete "'..spell.name..'"')
    			timer_reg[spell.name] = t + dur
    			send_command('timers create "'..spell.name..'" '..dur..' down')
    		--end
    	else
    		-- Figure out how many songs we can maintain.
    		local maxsongs = 2
    		if player.equipment.range == info.TerpanderInstrument then
    			maxsongs = maxsongs + info.TerpanderSongs
    		end
    		if buffactive['Clarion Call'] then
    			maxsongs = maxsongs+1
    		end
    		-- If we have more songs active than is currently apparent, we can still overwrite
    		-- them while they're active, even if not using appropriate gear bonuses (ie: Daur).
    		if maxsongs < table.length(timer_reg) then
    			maxsongs = table.length(timer_reg)
    		end
    		
    		-- Create or update new song timers.
    		if table.length(timer_reg) < maxsongs then
    			timer_reg[spell.name] = t+dur
    			send_command('timers create "'..spell.name..'" '..dur..' down')
    		else
    			local rep,repsong
    			for i,v in pairs(timer_reg) do
    				if t+dur > v then
    					if not rep or rep > v then
    						rep = v
    						repsong = i
    					end
    				end
    			end
    			if repsong then
    				timer_reg[repsong] = nil
    				send_command('timers delete "'..repsong..'"')
    				timer_reg[spell.name] = t+dur
    				send_command('timers create "'..spell.name..'" '..dur..' down')
    			end
    		end
    	end
    end
    
    -- Function to calculate the duration of a song based on the equipment used to cast it.
    -- Called from adjust_Timers(), which is only called on aftercast().
    function calculate_duration(spellName, spellMap)
    	local mult = 1
    	if player.equipment.range == 'Terpander' then mult = mult + 0.3 end -- change to 0.25 with 90 Daur
    	if player.equipment.range == "Gjallarhorn" then mult = mult + 0.4 end -- change to 0.3 with 95 Gjall
    	
    	if player.equipment.main == "Carnwenhan" then mult = mult + 0.1 end -- 0.1 for 75, 0.4 for 95, 0.5 for 99/119
    	if player.equipment.main == "Legato Dagger" then mult = mult + 0.1 end
    	if player.equipment.neck == "Aoidos' Matinee" then mult = mult + 0.1 end
    	if player.equipment.body == "Aoidos' Hngrln. +2" then mult = mult + 0.1 end
    	if player.equipment.legs == "Mdk. Shalwar +1" then mult = mult + 0.1 end
    	if player.equipment.feet == "Brioso Slippers +1" then mult = mult + 0.1 end
    	if player.equipment.feet == "Brioso Slippers +1 +1" then mult = mult + 0.11 end
    	
    	if spellMap == 'Paeon' and player.equipment.head == "Brioso Roundlet" then mult = mult + 0.1 end
    	if spellMap == 'Paeon' and player.equipment.head == "Brioso Roundlet +1" then mult = mult + 0.1 end
    	if spellMap == 'Madrigal' and player.equipment.head == "Aoidos' Calot +2" then mult = mult + 0.1 end
    	if spellMap == 'Minuet' and player.equipment.body == "Aoidos' Hngrln. +2" then mult = mult + 0.1 end
    	if spellMap == 'March' and player.equipment.hands == 'Ad. Mnchtte. +2' then mult = mult + 0.1 end
    	if spellMap == 'Ballad' and player.equipment.legs == "Aoidos' Rhing. +2" then mult = mult + 0.1 end
    	if spellName == "Sentinel's Scherzo" and player.equipment.feet == "Aoidos' Cothrn. +2" then mult = mult + 0.1 end
    	
    	if buffactive.Troubadour then
    		mult = mult*2
    	end
    	if spellName == "Sentinel's Scherzo" then
    		if buffactive['Soul Voice'] then
    			mult = mult*2
    		elseif buffactive['Marcato'] then
    			mult = mult*1.5
    		end
    	end
    	
    	-- Tweak for inaccuracies in cast vs aftercast timing
    	mult = mult - 0.05
    	
    	local totalDuration = mult*120
    
    	return totalDuration
    end
    
    
    function daur_song_gap()
    	if player.inventory.Terpander then
    		-- Figure out how many songs we can maintain.
    		local maxsongs = 1 + info.TerpanderSongs
    		
    		local activesongs = table.length(timer_reg)
    		
    		-- If we already have at least 2 songs on, but not enough to max out
    		-- on possible Daur songs, flag us as Daur-ready.
    		if activesongs >= 2 and activesongs < maxsongs then
    			return true
    		end
    	end
    	
    	return false
    end
    
    
    
    -- Examine equipment to determine what our current TP weapon is.
    function pick_tp_weapon()
    	if brd_daggers:contains(player.equipment.main) then
    		state.CombatWeapon = 'Dagger'
    		
    		if S{'NIN','DNC'}:contains(player.sub_job) and brd_daggers:contains(player.equipment.sub) then
    			state.CombatForm = "DualWield"
    		else
    			state.CombatForm = nil
    		end
    	else
    		state.CombatWeapon = nil
    		state.CombatForm = nil
    	end
    end
    anyone know why terpander no longer macros out? gjal doesnt even register anymore

  10. #1890
    Chram
    Join Date
    Sep 2007
    Posts
    2,526
    BG Level
    7
    FFXI Server
    Fenrir

    anyone know why terpander no longer macros out? gjal doesnt even register anymore
    Could be an issue of if you keep gjallar in your wardrobe. Someone else was having that same problem. No idea on the cause or fix for it yet, though.

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

    I'm having the same issue but with harp, using a GS similar to one Mote has for BRD.

  12. #1892
    RIDE ARMOR
    Join Date
    May 2014
    Posts
    14
    BG Level
    1
    FFXI Server
    Fenrir
    WoW Realm
    Antonidas

    i am trying to have gear swap equip my legs while fient is active what would be the best way of doing that so it does it automatic here is my lua file so far
    http://pastebin.com/T8h0zPuG

  13. #1893
    Bagel
    Join Date
    Dec 2012
    Posts
    1,488
    BG Level
    6

    try this
    (this will lock legs to Plun. Culottes +1 until Feint falls off)

    Code:
    function buff_change(name,gain)
    	if name == "Feint" then
    		if gain then
    			enable("legs")
    			equip({legs="Plun. Culottes +1"})
    			disable("legs")
    		else
    			enable("legs")
    			equip(sets.Idle[Idle_Set_Names[Idle_Index]]) -- put you preferred gear set her for when Feint falls off or just remove this line if you dont want a specific gear set
    		end
    	end
    end

  14. #1894
    BG Content
    Join Date
    Jul 2007
    Posts
    22,368
    BG Level
    10
    FFXI Server
    Lakshmi
    Blog Entries
    1

    I can't replicate any of the failure to swap problems >:/

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

    The brd gs I'm using is motes, so maybe something from your recent updaTes messed up something with the additional files he has. My frIend who uses his is experiencing the same.

  16. #1896
    Chram
    Join Date
    Sep 2007
    Posts
    2,526
    BG Level
    7
    FFXI Server
    Fenrir

    Since it's limited to certain individuals, I'm wondering if it's some sort of conflict with another addon(s) that only some people are using. Try disabling all other addons and see if the problem persists? Also, list all other addons that you had in use when the problem occurred, particularly if disabling all other addons fixes the problem.

  17. #1897
    Hydra
    Join Date
    Feb 2014
    Posts
    131
    BG Level
    3
    FFXI Server
    Quetzalcoatl

    Quote Originally Posted by Byrthnoth View Post
    Well, I'm currently making a massive extdata library that should (hopefully) work better than the bastardization I have right now.




    GearSwap v0.851 is out!
    1) Most of you probably won't care, but Japanese support has been pushed. I would call this something like "super alpha version" of it, because there are probably many problems that I can't anticipate because I can't speak, write, or read Japanese.

    Anyway, to activate japanese mode put:
    Code:
    set_language('japanese')
    in get_sets(). This will change spell.name to japanese and GearSwap will use japanese equipment names. There might be other changes as well, but those are the two I can guarantee. We are translating the last 4 resources files that might be useful this weekend.


    2) Load command has been added (//gs l <complete file name>). It will check whether the file exists, and if it exists then it will load it.


    3)
    I have added a gearswap/libs search path to GearSwap that takes priority over all other folders. This folder is designed to be used for libraries that can be submitted to the github repository. The idea is that people like Motenten that make commonly used library files (like his includes) can submit their includes to the Lua repository. Once the files are in the repository, they will be downloaded and updated automatically when people log in. This folder could also be used to share event-adding files, as I have described in the past.

    There is one downside to it, though. If you have a file in gearswap/libs and another file with the same name in gearswap/data, gearswap/data will never load. If I don't do this, priority-wise, people with includes already in gearswap/data will not benefit from the system until they delete their old includes. It would be a problem that lurks around for ages, and I shan't tolerate such a thing!




    Known bugs:
    * GearSwap fails to fire the pet_aftercast phase of Mewing Lullaby. - Will be fixed in the next resources push.
    * GearSwap fails to trigger for Unbridled Learning spells - Still figuring out how the server tells the client they're available.
    * Augments suck - I have an extdata.lua library that I'm working on. Currently it's 3 massive tables of augments (oldest system, evoliths, new system) and a few functions. When I get it to the point where I can reliably convert extdata to/from human readable strings, I'll implement this and hopefully it'll be more durable than the current system.
    Any idea when Mote's includes will find their way into the "libs" folder, and onto the main branch?

    It will be extremely nice when these are updated with launcher.

    Thanks

  18. #1898
    RIDE ARMOR
    Join Date
    May 2014
    Posts
    10
    BG Level
    1

    I'm sorry in advance if someone has asked this. I looked back over the last couple days and didn't see it. I have a couple new errors popping up that I didn't have 2 days ago. Since I'm super unfamiliar with GS still, figured I would ask about them.

    Gearswap: Lua error (runtime) - ........ Addons/Gearswap/Gearswap.Lua: 228: attempt to index field 'vitals' (a nil value)

    also,

    Gearswap: Lua error (runtime) - ........ addons/Gearswap/Gearswap.Lua: 294: attempt to index field '?' (a nil value)

    I keep having a line saying: "inventory 0" above each error.

    I haven't made any changes to any files and I'm curious why I'm getting errors now when I didn't before.

    Any help would be much appreciated.

    *Going to try disabling other addons to see if that helps, as per Mote's suggestion*
    ** also getting errors popping up when I sell to vendors, Gearswap.Lua: 285 and 273: attempt to index field '?' (a nil value)

  19. #1899
    D. Ring
    Join Date
    Jul 2008
    Posts
    4,529
    BG Level
    7
    FFXI Server
    Phoenix

    Since updating launcher yesterday, my gearswap will no longer swap out of daurdabla after doing dummy songs and I'm getting a lot of runtime errors. http://pastebin.com/TuFmqY1F
    Also getting a runtime error every time I use my pdt or mdt lock for any of my gearswaps.

  20. #1900
    BG Content
    Join Date
    Jul 2007
    Posts
    22,368
    BG Level
    10
    FFXI Server
    Lakshmi
    Blog Entries
    1

    The instrument issue has been identified and will be fixed in the next resources push. The vitals error and 294 error will probably be fixed with a push this afternoon. Mote's most updated library files will also automatically download at that point as well.

    What runtime errors are your PDT and MDT swaps giving you?

Page 95 of 302 FirstFirst ... 45 85 93 94 95 96 97 105 145 ... LastLast

Similar Threads

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