Item Search
     
BG-Wiki Search
Page 108 of 302 FirstFirst ... 58 98 106 107 108 109 110 118 158 ... LastLast
Results 2141 to 2160 of 6036

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

  1. #2141
    RIDE ARMOR
    Join Date
    Jul 2013
    Posts
    22
    BG Level
    1
    FFXI Server
    Siren

    Quote Originally Posted by dlsmd View Post
    its line 482 equip(sets.TP[sets.TP.index[TP_ind]])
    it should be equip(sets.MeleeTP[sets.TP.index[TP_ind]])
    Fixed that and reloaded and still getting same message.

  2. #2142
    RIDE ARMOR
    Join Date
    Jul 2013
    Posts
    22
    BG Level
    1
    FFXI Server
    Siren

    Quote Originally Posted by dlsmd View Post
    its line 482 equip(sets.TP[sets.TP.index[TP_ind]])
    it should be equip(sets.MeleeTP[sets.TP.index[TP_ind]])
    Made the change and reloaded Gearswap, still getting the error.

  3. #2143
    RIDE ARMOR
    Join Date
    Mar 2014
    Posts
    18
    BG Level
    1

    another noob question here:
    - what is the command to equip a specific set and make it stay like that. For example, I want to be equiped with my waltz set so i can compare if a new piece of gear will be better than one I have. In spellcast the command would be //sc set waltz. What about Gearswap?

  4. #2144
    Bagel
    Join Date
    Dec 2012
    Posts
    1,488
    BG Level
    6

    Quote Originally Posted by Fall View Post
    Made the change and reloaded Gearswap, still getting the error.
    sorry i forgot to fix the rest
    equip(sets.MeleeTP[sets.MeleeTP.index[MeleeTP_ind]])

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

    Quote Originally Posted by vtenorio View Post
    another noob question here:
    - what is the command to equip a specific set and make it stay like that. For example, I want to be equiped with my waltz set so i can compare if a new piece of gear will be better than one I have. In spellcast the command would be //sc set waltz. What about Gearswap?
    //gs equip <setname>

  6. #2146
    RIDE ARMOR
    Join Date
    Mar 2014
    Posts
    18
    BG Level
    1

    Thanks a lot.

    Yhe only thing missing to consider it a full SC > GS migration is setting up auto-presto.

  7. #2147
    New Spam Forum
    Join Date
    Dec 2007
    Posts
    186
    BG Level
    3
    FFXI Server
    Quetzalcoatl

    As a note to anyone using Augment declarations for your gear (i.e. Dark Rings) using the in game text of "Spell interruption rate down 5%" will NOT work. You have to use "...rate down -5%"

    If you don't see the difference, you will have to include a - before your X%. This threw me off for so long. And afterward I felt so stupid. But then I didn't, because it doesn't match with what's in game.

  8. #2148
    BG Content
    Join Date
    Jul 2007
    Posts
    22,350
    BG Level
    10
    FFXI Server
    Lakshmi
    Blog Entries
    1

    That is just an error in the extdata library. I will fix it later.

  9. #2149
    Bagel
    Join Date
    Dec 2012
    Posts
    1,488
    BG Level
    6

    is there a way to save select variables to another file so that when i reload the job or if i get kicked it will put those variables back to what they were the last time i logged out??

    it would be useful for codes like this for my Molva Maul because the server remembers how many ws's you do even if you log out or are dc'd
    Code:
    	molvamaulwscount = 0
    	if player.equipment.main == "Molva Maul" then
    		if spell.type == "WeaponSkill" then
    			if molvamaulwscount < 13
    				molvamaulwscount = molvamaulwscount +1
    			elseif molvamaulwscount == 13 then
    				cancel_spell()
    				send_command('input /ja "Randgrith" <t>')
    				molvamaulwscount = 0
    			end
    		end
    	end

  10. #2150
    New Merits
    Join Date
    Sep 2010
    Posts
    223
    BG Level
    4
    FFXI Server
    Ifrit

    I was told by linkshell members who shall not be named in case of embarrassment that insta-casted spells still have the correct gear on for midcast. Is this true?

  11. #2151
    Sea Torques
    Join Date
    Sep 2012
    Posts
    736
    BG Level
    5
    FFXI Server
    Leviathan

    Quote Originally Posted by Warusha View Post
    I was told by linkshell members who shall not be named in case of embarrassment that insta-casted spells still have the correct gear on for midcast. Is this true?
    It is.

  12. #2152
    New Merits
    Join Date
    Sep 2010
    Posts
    223
    BG Level
    4
    FFXI Server
    Ifrit

    You're blowing my mind. HOW DOES IT WORK?!

    sets.Precast['Stoneskin'] = set_combine(sets.Precast.FastCast,{waist="Siegel Sash"}, {head="Umuthi Hat"})
    sets.Precast['Elemental Magic'] = set_combine(sets.Precast.FastCast,{head="Goetia Petasos +2"})
    sets.Precast['Freeze II'] = set_combine(sets.Precast.FastCast,{head="Goetia Petasos +2"}, {hands="Archmage's Gloves +1"})
    sets.Precast['Burst II'] = set_combine(sets.Precast.FastCast,{head="Goetia Petasos +2"}, {hands="Archmage's Gloves +1"})

    I'm using Bokura's BLM lua for a template. It appears that a nahtirah hat is still equipping when I spam stoneskin. When reading through his rules at the bottom it looked like that shouldn't be an issue with the above defined sets. I assume the same issue will occur when I try to cast the listed ancient magic.

  13. #2153
    Smells like Onions
    Join Date
    Jun 2014
    Posts
    2
    BG Level
    0

    BRD GearSwap Help~

    I've been racking my brain for the last day and can not figure out why my Midcast is only equiping sets.Midcast. It's supposed to be equiping sets.Midcast.Wind or sets.Midcast.WindBuff based on if it's a buffing song or debuffing song. It's also not equiping sets.precast.Terpander when Terpander is set [ON]. I'm using Bokura_BRD.lua with everything related to Gjallarhorn, Carnwenhan, and Daurdabla changed to Eminent Flute, Legato Dagger, and Terpander respectively. One person over on the Windower forums suggested I change my equip(sets.Midcast.whatever) to equipSet = sets.Midcast.whatever in the function equip_song_gear(spell) portion. It still didn't fix anything. Just to add, all spells work as intended. I'm only having problems getting the bard songs to work correctly.

    So, basically with //gs show_swaps() it's swapping from: sets.Precast.SongCast -> sets.Midcast -> sets.Idle.Movement It doesn't matter if Terpander is [ON]. It doesn't matter if it's a buffing song or debuffing song. It doesn't matter if I'm targeting a MONSTER or a PC. It will only cycle through those 3 sets. I've tried leaving sets.Midcast empty but then it doesn't do a midcast swap. Which is odd because out of all of my GearSwap files this is the only one where sets.Midcast needs gear specified to use it. All of my other files have sets.Midcast blank and they move on to sets.Midcast.something.

    Code:
    -- *** Credit goes to Flippant for helping me with Gearswap *** --
    -- ** I Use Byrth & Motenten's Functions ** --
    -- Last Updated: 05/05/14 12:00 AM *Added Terpander Toggle* --
    
    function get_sets()
    	AccIndex = 1
    	AccArray = {"LowACC","MidACC","HighACC"} -- 3 Levels Of Accuracy Sets For TP/WS. First Set Is LowACC. Add More ACC Sets If Needed Then Create Your New ACC Below --
    	IdleIndex = 1
    	IdleArray = {"Movement","PDT"} -- Default Idle Set Is Movement --
    	timer_reg = {}
    	pianissimo_cycle = false
    	Terpander = 'OFF' -- Set Default Terpander ON or OFF Here --
    	ElementalStaff = 'OFF' -- Set Default Precast Elemental Staff ON or OFF Here --
    	Main = 'OFF' -- Set Default Main Weapon ON or OFF Here --
    	target_distance = 5 -- Set Default Distance Here --
    	select_default_macro_book() -- Change Default Macro Book At The End --
    
    	-- Terpander Trigger Songs --
    	TerpaSongs = S{"Army's Paeon","Army's Paeon II","Shining Fantasia","Herb Pastoral","Goblin Gavotte"}
    
    	Cure_Spells = {"Cure","Cure II","Cure III","Cure IV"} -- Cure Degradation --
    	Curaga_Spells = {"Curaga","Curaga II"} -- Curaga Degradation --
    	sc_map = {SC1 = "ChocoboMazurka", SC2 = "HerbPastoral", SC3 = "GoblinGavotte"} -- 3 Additional Binds. Can Change Whatever JA/WS/Spells You Like Here. Remember Not To Use Spaces. --
    
    	sets.Idle = {}
    	-- Idle Sets --
    	sets.Idle.Movement = {
    			main="Legato Dagger",
    			sub="Genbu's Shield",
    			range="Eminent Flute",
    			head="Gende. Caubeen",
    			neck="Twilight Torque",
    			ear1="Loquac. Earring",
    			ear2="Aoidos' Earring",
    			body="Artsieq Jubbah",
    			hands="Serpentes Cuffs",
    			ring1="Balrahn's Ring",
    			ring2="Tamas Ring",
    			back="Rhapsode's Cape",
    			waist="Witful Belt",
    			legs="Nares Trews",
    			feet="Serpentes Sabots"}
    	sets.Idle.PDT = set_combine(sets.Idle.Movement,{})
    	sets.Resting = set_combine(sets.Idle.Movement,{})
    
    	sets.Precast = {}
    	-- Song Precast Set --
    	sets.Precast.SongCast = {
    			main="Legato Dagger",
    			sub="Genbu's Shield",
    			range=empty,
    			ammo="Impatiens",
    			head="Aoidos' Calot +2",
    			neck="Aoidos' Matinee",
    			ear1="Loquac. Earring",
    			ear2="Aoidos' Earring",
    			body="Hedera Cotehardie",
    			hands="Gende. Gages +1",
    			ring1="Prolix Ring",
    			ring2="Tamas Ring",
    			back="Swith Cape",
    			waist="Witful Belt",
    			legs="Gendewitha Spats",
    			feet="Bokwus Boots"}
    
    	-- Elemental Staves --
    	sets.Precast.Thunder = {}
    	sets.Precast.Water = {}
    	sets.Precast.Fire = {}
    	sets.Precast.Ice = {}
    	sets.Precast.Wind = {}
    	sets.Precast.Earth = {}
    	sets.Precast.Light = {}
    	sets.Precast.Dark = {}
    
    	-- Precast Terpander Set --
    	sets.Precast.Terpander = {
    			main="Legato Dagger",
    			sub="Genbu's Shield",
    			range="Terpander",
    			ammo=empty,
    			head="Aoidos' Calot +2",
    			neck="Aoidos' Matinee",
    			ear1="Loquac. Earring",
    			ear2="Aoidos' Earring",
    			body="Hedera Cotehardie",
    			hands="Gende. Gages +1",
    			ring1="Prolix Ring",
    			ring2="Tamas Ring",
    			back="Swith Cape",
    			waist="Witful Belt",
    			legs="Gendewitha Spats",
    			feet="Bokwus Boots"}
    
    	-- Fastcast Set --
    	sets.Precast.FastCast = {
    			main="Ngqoqwanb",
    			sub="Arbuda Grip",
    			ammo="Impatiens",
    			head="Nahtirah Hat",
    			ear1="Loquac. Earring",
    			ear2="Aoidos' Earring",
    			body="Hedera Cotehardie",
    			hands="Gende. Gages +1",
    			ring1="Prolix Ring",
    			ring2="Tamas Ring",
    			back="Swith Cape",
    			waist="Witful Belt",
    			legs="Artsieq Hose",
    			feet="Chelona Boots"}
    
    	-- Cure Precast Set --
    	sets.Precast.Cure = {
    			main="Arka IV",
    			sub="Arbuda Grip",
    			ammo="Impatiens",
    			head="Nahtirah Hat",
    			ear1="Loquac. Earring",
    			body="Hedera Cotehardie",
    			hands="Gende. Gages +1",
    			ring1="Prolix Ring",
    			ring2="Tamas Ring",
    			back="Pahtli Cape",
    			waist="Witful Belt";
    			legs="Artsieq Hose",
    			feet="Chelona Boots"}
    
    	-- Midcast Base Set --
    	sets.Midcast = {
    			head="Nahtirah Hat",
    			ear1="Loquac. Earring",
    			body="Hedera Cotehardie",
    			hands="Otomi Gloves",
    			ring1="Prolix Ring",
    			ring2="Tamas Ring",
    			back="Swith Cape",
    			waist="Witful Belt",
    			legs="Artsieq Hose",
    			feet="Bokwus Boots"}
    	
    	-- Song Debuff Set --
    	sets.Midcast.Wind = {
    			main="Ngqoqwanb",
    			sub="Mephitis Grip",
    			range="Eminent Flute",
    			ammo=empty,
    			head="Buremte Hat",
    			neck="Weike Torque",
    			ear1="Psystorm Earring",
    			ear2="Lifestorm Earring",
    			body="Ischemia Chasu.",
    			ring1="Balrahn's Ring",
    			ring2="Perception Ring",
    			back="Rhapsode's Cape",
    			waist="Demonry Sash",
    			legs="Aoidos' Rhing. +2",
    			feet="Bokwus Boots"}
    
    	-- Song Buff Set --
    	sets.Midcast.WindBuff = {
    			main="Legato Dagger",
    			sub="Genbu's Shield",
    			range="Eminet Flute",
    			ammo=empty,
    			head="Aoidos' Calot +2",
    			neck="Aoidos' Matinee",
    			ear1="Loquac. Earring",
    			ear2="Aoidos' Earring",
    			body="Aoidos' Hngrln. +2",
    			hands="Ad. Mnchtte. +2",
    			ring1="Prolix Ring",
    			ring2="Tamas Ring",
    			back="Rhapsode's Cape",
    			waist="Witful Belt",
    			legs="Aoidos' Rhing. +2",
    			feet="Aoidos' Cothrn. +2"}
    
    	sets.Midcast.March = {hands="Ad. Mnchtte. +2"}
    	sets.Midcast.Minuet = {body="Aoidos' Hngrln. +2"}
    	sets.Midcast.Madrigal = {head="Aoidos' Calot +2"}
    	sets.Midcast.Ballad = {legs="Aoidos' Rhing. +2"}
    	sets.Midcast.Scherzo = {feet="Aoidos' Cothrn. +2"}
    	sets.Midcast.Mazurka = {head="Nahtirah Hat"}
    	sets.Midcast.Paeon = {head="Brioso Roundlet"}
    	sets.Midcast.Finale = {}
    	sets.Midcast.Lullaby = {}
    
    	-- Cure Set --
    	sets.Midcast.Cure = {
    			main="Arka IV",
    			sub="Curatio Grip",
    			head="Gende. Caubeen",
    			neck="Colossus's Torque",
    			ear1="Healing Earring",
    			ear2="Beatific Earring",
    			body="Gende. Bilaut +1",
    			hands="Bokwus Gloves",
    			ring1="Sirona's Ring",
    			ring2="Haoma's Ring",
    			back="Tempered Cape",
    			waist="Bishop's Sash",
    			legs="Artsieq Hose",
    			feet="Manabyss Pigaches"}
    
    	-- Curaga Set --
    	sets.Midcast.Curaga = set_combine(sets.Midcast.Cure,{})
    
    	-- Haste Set --
    	sets.Midcast.Haste = set_combine(sets.Precast.FastCast,{
    			hands="Otomi Gloves",
    			feet="Manabyss Pigaches"})
    
    	-- Cursna Set --
    	sets.Midcast.Cursna = set_combine(sets.Midcast.Haste,{
    			neck="Malison Medallion",
    			ear1="Healing Earring",
    			ear2="Beatific Earring",
    			hands="Ayao's Gages",
    			ring1="Haoma's Ring",
    			ring2="Ephedra Ring",
    			back="Tempered Cape",
    			waist="Bishop's Sash"})
    
    	-- Stoneskin Set --
    	sets.Midcast.Stoneskin = set_combine(sets.Midcast.Haste)
    
    	-- JA Sets --
    	sets.JA = {}
    	sets.JA.Nightingale = {feet="Bihu Slippers"}
    	sets.JA.Troubadour = {body="Bihu Justaucorps"}
    	sets.JA["Soul Voice"] = {legs="Bihu Cannions"}
    
    	-- Melee Sets --
    	sets.Melee = {}
    	sets.Melee.MidACC = set_combine(sets.Melee,{})
    	sets.Melee.HighACC = set_combine(sets.Melee.MidACC,{})
    
    	-- WS Base Set --
    	sets.WS = {}
    
    	sets.WS.Exenterator = {}
    	sets.WS.Exenterator.MidACC = set_combine(sets.WS.Exenterator,{})
    	sets.WS.Exenterator.HighACC = set_combine(sets.WS.Exenterator.MidACC,{})
    
    	sets.WS.Evisceration = {}
    	sets.WS.Evisceration.MidACC = set_combine(sets.WS.Evisceration,{})
    	sets.WS.Evisceration.HighACC = set_combine(sets.WS.Evisceration.MidACC,{})
    
    	sets.WS["Mercy Stroke"] = {}
    	sets.WS["Mercy Stroke"].MidACC = set_combine(sets.WS["Mercy Stroke"],{})
    	sets.WS["Mercy Stroke"].HighACC = set_combine(sets.WS["Mercy Stroke"].MidACC,{})
    
    	sets.WS["Rudra's Storm"] = {}
    	sets.WS["Rudra's Storm"].MidACC = set_combine(sets.WS["Rudra's Storm"],{})
    	sets.WS["Rudra's Storm"].HighACC = set_combine(sets.WS["Rudra's Storm"].MidACC,{})
    
    	sets.WS["Mordant Rime"] = {}
    
    	-- Lock Main Weapon --
    	sets.MainWeapon = {
    			main="Legato Dagger",
    			sub="Genbu's Shield"}
    end
    
    function pretarget(spell,action)
    	if spell.action_type == 'Magic' and buffactive.silence then -- Auto Use Echo Drops If You Are Silenced --
    		cancel_spell()
    		send_command('input /item "Echo Drops" <me>')
    	elseif spell.type == "BardSong" and spell.target.name == player.name and buffactive.Pianissimo then -- Change Target From <me> To <t> When Pianissimo Is Active --
    		change_target('<t>')
    	elseif spell.type == 'BardSong' and spell.target.type and spell.target.type == 'PLAYER' and not buffactive.Pianissimo and not spell.target.charmed and not pianissimo_cycle then -- Auto Pianoissimo When You Cast A Song On A Player --
    		cancel_spell()
    		pianissimo_cycle = true
    		send_command('input /ja "Pianissimo" <me>;wait 1.5;input /ma "'..spell.name..'" '..spell.target.name..';')
    		return
    	elseif spell.english:ifind("Cure") and player.mp<actualCost(spell.mp_cost) then
    		degrade_spell(spell,Cure_Spells)
    	elseif spell.english:ifind("Curaga") and player.mp<actualCost(spell.mp_cost) then
    		degrade_spell(spell,Curaga_Spells)
    	end
    	if spell.name ~= 'Pianissimo' then
    		pianissimo_cycle = false
    	end
    end
    
    function precast(spell,action)
    	if spell.action_type == 'Magic' then
    		if buffactive.silence or spell.target.distance > 16+target_distance then -- Cancel Magic or Ninjutsu or BardSong If You Are Silenced or Out of Range --
    			cancel_spell()
    			add_to_chat(123, spell.name..' Canceled: [Silenced or Out of Casting Range]')
    			return
    		else
    			if spell.type == 'BardSong' then
    				if buffactive.Nightingale then
    					equip_song_gear(spell)
    					return
    				else
    					equip_song_gear(spell)
    					equip(sets.Precast.SongCast)
    				end
    			elseif string.find(spell.english,'Cur') and spell.english ~= "Cursna" then
    				equip(sets.Precast.Cure)
    			elseif string.find(spell.english,'Utsusemi') then
    				if buffactive['Copy Image (3)'] or buffactive['Copy Image (4)'] then
    					cancel_spell()
    					add_to_chat(123, spell.english .. ' Canceled: [3+ Images]')
    					return
    				else
    					equip(sets.Precast.FastCast)
    				end
    			else
    				equip(sets.Precast.FastCast)
    			end
    		end
    	elseif spell.type == "WeaponSkill" then
    		if player.status ~= 'Engaged' then -- Cancel WS If You Are Not Engaged. Can Delete It If You Don't Need It --
    			cancel_spell()
    			add_to_chat(123,'Unable To Use WeaponSkill: [Disengaged]')
    			return
    		else
    			equipSet = sets.WS
    			if equipSet[spell.english] then
    				equipSet = equipSet[spell.english]
    			end
    			if equipSet[AccArray[AccIndex]] then
    				equipSet = equipSet[AccArray[AccIndex]]
    			end
    			if spell.english == "Evisceration" and player.tp > 299 then
    				equipSet = set_combine(equipSet,{ear1="Jupiter's Pearl"})
    			end
    			equip(equipSet)
    		end
    	elseif spell.type == "JobAbility" then
    		if sets.JA[spell.english] then
    			equip(sets.JA[spell.english])
    		end
    	elseif spell.english == 'Spectral Jig' and buffactive.Sneak then
    		cast_delay(0.2)
    		send_command('cancel Sneak')
    	end
    	if sets.Precast[spell.element] and not buffactive.Nightingale and ElementalStaff == 'ON' then
    		equip(sets.Precast[spell.element])
    	end
    	if Main == 'ON' then
    		equip(sets.MainWeapon)
    	end
    end
    
    function midcast(spell,action)
    	equipSet = {}
    	if spell.action_type == 'Magic' then
    		equipSet = sets.Midcast
    		if equipSet[spell.english] then
    			equipSet = equipSet[spell.english]
    		elseif string.find(spell.english,'Cure') then
    			equipSet = equipSet.Cure
    		elseif string.find(spell.english,'Cura') then
    			equipSet = equipSet.Curaga
    		elseif spell.english == "Stoneskin" then
    			if buffactive.Stoneskin then
    				send_command('@wait 2.8;cancel stoneskin')
    			end
    			equipSet = equipSet.Stoneskin
    		elseif spell.english == "Sneak" then
    			if spell.target.name == player.name and buffactive['Sneak'] then
    				send_command('cancel sneak')
    			end
    			equipSet = equipSet.Haste
    		elseif string.find(spell.english,'Utsusemi') then
    			if spell.english == 'Utsusemi: Ichi' and (buffactive['Copy Image'] or buffactive['Copy Image (2)']) then
    				send_command('@wait 1.7;cancel Copy Image*')
    			end
    			equipSet = equipSet.Haste
    		elseif spell.english == 'Monomi: Ichi' then
    			if buffactive['Sneak'] then
    				send_command('@wait 1.7;cancel sneak')
    			end
    			equipSet = equipSet.Haste
    		end
    	elseif spell.type == 'BardSong' then
    			equip_song_gear(spell)
    	end
    	equip(equipSet)
    	if Main == 'ON' then
    		equip(sets.MainWeapon)
    	end
    end
    
    function aftercast(spell,action)
    	if spell.type and spell.type == 'BardSong' and spell.target and spell.target.name == player.name and not spell.interrupted then
    		local t = os.time()
    
    		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)
    		if timer_reg[spell.name] then
    			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
    			local maxsongs = 2
    			if player.equipment.range == 'Terpander' then
    				maxsongs = maxsongs+1
    			end
    			if buffactive['Clarion Call'] then
    				maxsongs = maxsongs+1
    			end
    			if maxsongs < table.length(timer_reg) then
    				maxsongs = table.length(timer_reg)
    			end
    			
    			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
    	status_change(player.status)
    end
    
    function status_change(new,old)
    	if new == 'Engaged' then
    		equipSet = sets.Melee
    		if equipSet[AccArray[AccIndex]] then
    			equipSet = equipSet[AccArray[AccIndex]]
    		end
    		equip(equipSet)
    	elseif new == 'Idle' then
    		equip(sets.Idle[IdleArray[IdleIndex]])
    	elseif new == 'Resting' then
    		equip(sets.Resting)
    	end
    	if Main == 'ON' then
    		equip(sets.MainWeapon)
    	end
    end
    
    function buff_change(buff,gain)
    	buff = string.lower(buff)
    	if buff == "aftermath: lv.3" then -- AM3 Timer --
    		if gain then
    			send_command('timers create "Aftermath: Lv.3" 180 down;wait 120;input /echo Aftermath: Lv.3 [WEARING OFF IN 60 SEC.];wait 30;input /echo Aftermath: Lv.3 [WEARING OFF IN 30 SEC.];wait 20;input /echo Aftermath: Lv.3 [WEARING OFF IN 10 SEC.]')
    		else
    			send_command('timers delete "Aftermath: Lv.3"')
    			add_to_chat(123,'AM3: [OFF]')
    		end
    	elseif buff == 'weakness' then -- Weakness Timer --
    		if gain then
    			send_command('timers create "Weakness" 300 up')
    		else
    			send_command('timers delete "Weakness"')
    		end
    	end
    	if not midaction() then
    		status_change(player.status)
    	end
    end
    
    --Macros--
    send_command('bind f9 gs c C1') --March II--
    send_command('bind f8 gs c C2') --March I--
    send_command('bind f7 gs c C3') --ATK V--
    send_command('bind f6 gs c C5') --ATK IV--
    send_command('bind f5 gs c C18') --3rd Song--
    
    function file_unload()
        if binds_on_unload then
            binds_on_unload()
        end
    
        send_command('unbind f9')
        send_command('unbind f8')
    	send_command('unbind f7')
    	send_command('unbind f6')
    	send_command('unbind f5')
    end
    
    -- In Game: //gs c (command), Macro: /console gs c (command), Bind: gs c (command) --
    function self_command(command)
    	if command == 'C1' then
    		send_command('input /ma "Victory March" <me>')
    		add_to_chat(158,'Melee Speed II: [Victory March]')
    	elseif command == 'C2' then
    		send_command('input /ma "Advancing March" <me>')
    		add_to_chat(158,'Melee Speed: [Advancing March]')
    	elseif command == 'C3' then
    		send_command('input /ma "Valor Minuet V" <me>')
    		add_to_chat(158,'Melee Attack: [Valor Minuet V]')
    	elseif command == 'C5' then
    		send_command('input /ma "Valor Minuet IV" <me>')
    		add_to_chat(158,'Melee Attack: [Valor Minuet IV]')
    	elseif command == 'C7' then
    		send_command('input /ma "Hunter\'s Prelude" <me>')
    		add_to_chat(158,'Ranged Accuracy: [Hunter\'s Prelude]')
    	elseif command == 'C15' then
    		send_command('input /ma "Archer\'s Prelude" <me>')
    		add_to_chat(158,'Ranged Accuracy II: [Archer\'s Prelude]')
    	elseif command == 'C9' then
    		send_command('input /ma "Blade Madrigal" <me>')
    		add_to_chat(158,'Melee Accuracy II: [Blade Madrigal]')
    	elseif command == 'C10' then
    		send_command('input /ma "Sword Madrigal" <me>')
    		add_to_chat(158,'Melee Accuracy: [Sword Madrigal]')
    	elseif command == 'C12' then
    		send_command('input /ma "Valor Minuet III" <me>')
    		add_to_chat(158,'Melee Attack: [Valor Minuet III]')
    	elseif command == 'C8' then -- Distance Toggle --
    		if player.target.distance then
    			target_distance = math.floor(player.target.distance*10)/10
    			add_to_chat(158,'Distance: '..target_distance)
    		else
    			add_to_chat(123,'No Target Selected')
    		end
    	elseif command == 'C16' then -- Main Weapon Toggle --
    		if Main == 'ON' then
    			Main = 'OFF'
    			add_to_chat(123,'Main Weapon: [Unlocked]')
    		else
    			Main = 'ON'
    			add_to_chat(158,'Main Weapon: [Locked]')
    		end
    		status_change(player.status)
    	elseif command == 'C18' then -- Terpander Toggle --
    		if Terpander == 'ON' then
    			Terpander = 'OFF'
    			add_to_chat(123,'Terpander: [OFF]')
    		else
    			Terpander = 'ON'
    			add_to_chat(158,'Terpander: [ON]')
    		end
    		status_change(player.status)
    	elseif command == 'C17' then -- Accuracy Level Toggle --
    		AccIndex = (AccIndex % #AccArray) + 1
    		status_change(player.status)
    		add_to_chat(158,'Accuracy Level: ' .. AccArray[AccIndex])
    	elseif command == 'C6' then -- Idle Toggle --
    		IdleIndex = (IdleIndex % #IdleArray) + 1
    		add_to_chat(158,'Idle Set: '..IdleArray[IdleIndex])
    		status_change(player.status)
    	elseif command:match('^SC%d$') then
    		send_command('//' .. sc_map[command])
    	end
    end
    
    function equip_song_gear(spell)
    	if Terpander == 'ON' then
    		equip(sets.Precast.Terpander)
    	else
    		if TerpaSongs:contains(spell.english) then
    			equip(sets.Precast.Terpander)
    			add_to_chat(158,'Terpander: [ON]')
    		else
    			if spell.target.type == 'MONSTER' then
    				equip(sets.Midcast.Wind)
    				if string.find(spell.english,'Finale') then equip(sets.Midcast.Finale) end
    				if string.find(spell.english,'Lullaby') then equip(sets.Midcast.Lullaby) end
    			else
    				equip(sets.Midcast.WindBuff)
    				if string.find(spell.english,'March') then equip(sets.Midcast.March) end
    				if string.find(spell.english,'Minuet') then equip(sets.Midcast.Minuet) end
    				if string.find(spell.english,'Madrigal') then equip(sets.Midcast.Madrigal) end
    				if string.find(spell.english,'Ballad') then equip(sets.Midcast.Ballad) end
    				if string.find(spell.english,'Scherzo') then equip(sets.Midcast.Scherzo) end
    				if string.find(spell.english,'Mazurka') then equip(sets.Midcast.Mazurka) end
    				if string.find(spell.english,'Paeon') then equip(sets.Midcast.Paeon) end
    			end
    		end
    	end
    end
    
    function calculate_duration(name)
    	local mult = 1
    	if player.equipment.main == "Legato Dagger" then mult = mult + 0.1 end
    	if player.equipment.range == 'Daurdabla' then mult = mult + 0.3 end
    	if player.equipment.range == "Eminent Flute" then mult = mult + 0.2 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" then mult = mult + 0.1 end
    
    	if string.find(name,'Paeon') and player.equipment.head == 'Brioso Roundlet' then mult = mult + 0.1 end
    	if string.find(name,'March') and player.equipment.hands == 'Ad. Mnchtte. +2' then mult = mult + 0.1 end
    	if string.find(name,'Minuet') and player.equipment.body == "Aoidos' Hngrln. +2" then mult = mult + 0.1 end
    	if string.find(name,'Madrigal') and player.equipment.head == "Aoidos' Calot +2" then mult = mult + 0.1 end
    	if string.find(name,'Ballad') and player.equipment.legs == "Aoidos' Rhing. +2" then mult = mult + 0.1 end
    	if string.find(name,'Scherzo') and player.equipment.feet == "Aoidos' Cothrn. +2" then mult = mult + 0.1 end
    
    	if buffactive.Troubadour then
    		mult = mult*2
    	end
    	if string.find(name,'Scherzo') then
    		if buffactive['Soul Voice'] then
    			mult = mult*2
    		elseif buffactive['Marcato'] then
    			mult = mult*1.5
    		end
    	end
    
    	mult = mult - 0.05
    
    	local totalDuration = mult*120
    
    	return totalDuration
    end
    
    function actualCost(originalCost)
    	if buffactive["Penury"] then
    		return originalCost*.5
    	elseif buffactive["Light Arts"] then
    		return originalCost*.9
    	else
    		return originalCost
    	end
    end
    
    function degrade_spell(spell,degrade_array)
    	spell_index = table.find(degrade_array,spell.name)
    	if spell_index>1 then
    		new_spell = degrade_array[spell_index - 1]
    		change_spell(new_spell,spell.target.raw)
    		add_to_chat(8,spell.name..' Canceled: ['..player.mp..'/'..player.max_mp..'MP::'..player.mpp..'%] Casting '..new_spell..' instead.')
    	end
    end
    
    function change_spell(spell_name,target)
    	cancel_spell()
    	send_command('//'..spell_name..' '..target)
    end
    
    function sub_job_change(newSubjob, oldSubjob)
    	select_default_macro_book()
    end
    
    function set_macro_page(set,book)
    	if not tonumber(set) then
    		add_to_chat(123,'Error setting macro page: Set is not a valid number ('..tostring(set)..').')
    		return
    	end
    	if set < 1 or set > 10 then
    		add_to_chat(123,'Error setting macro page: Macro set ('..tostring(set)..') must be between 1 and 10.')
    		return
    	end
    
    	if book then
    		if not tonumber(book) then
    			add_to_chat(123,'Error setting macro page: book is not a valid number ('..tostring(book)..').')
    			return
    		end
    		if book < 1 or book > 20 then
    			add_to_chat(123,'Error setting macro page: Macro book ('..tostring(book)..') must be between 1 and 20.')
    			return
    		end
    		send_command('@input /macro book '..tostring(book)..';wait .1;input /macro set '..tostring(set))
    	else
    		send_command('@input /macro set '..tostring(set))
    	end
    end
    
    function select_default_macro_book()
    	-- Default macro set/book
    	if player.sub_job == 'WHM' then
    		set_macro_page(1, 10)
    	elseif player.sub_job == 'BLM' then
    		set_macro_page(1, 10)
    	elseif player.sub_job == 'DNC' then
    		set_macro_page(1, 10)
    	elseif player.sub_job == 'NIN' then
    		set_macro_page(1, 10)
    	elseif player.sub_job == 'WAR' then
    		set_macro_page(1, 10)
    	else
    		set_macro_page(1, 10)
    	end
    end

  14. #2154
    Bagel
    Join Date
    Dec 2012
    Posts
    1,488
    BG Level
    6

    Quote Originally Posted by Zigbar View Post
    I've been racking my brain for the last day and can not figure out why my Midcast is only equiping sets.Midcast. It's supposed to be equiping sets.Midcast.Wind or sets.Midcast.WindBuff based on if it's a buffing song or debuffing song. It's also not equiping sets.precast.Terpander when Terpander is set [ON]. I'm using Bokura_BRD.lua with everything related to Gjallarhorn, Carnwenhan, and Daurdabla changed to Eminent Flute, Legato Dagger, and Terpander respectively. One person over on the Windower forums suggested I change my equip(sets.Midcast.whatever) to equipSet = sets.Midcast.whatever in the function equip_song_gear(spell) portion. It still didn't fix anything. Just to add, all spells work as intended. I'm only having problems getting the bard songs to work correctly.

    So, basically with //gs show_swaps() it's swapping from: sets.Precast.SongCast -> sets.Midcast -> sets.Idle.Movement It doesn't matter if Terpander is [ON]. It doesn't matter if it's a buffing song or debuffing song. It doesn't matter if I'm targeting a MONSTER or a PC. It will only cycle through those 3 sets. I've tried leaving sets.Midcast empty but then it doesn't do a midcast swap. Which is odd because out of all of my GearSwap files this is the only one where sets.Midcast needs gear specified to use it. All of my other files have sets.Midcast blank and they move on to sets.Midcast.something.
    try changing
    if spell.action_type == 'Magic' then
    to
    if spell.action_type == 'Magic' and spell.type ~= 'BardSong' then

    this is because bard songs are still magic

  15. #2155
    Smells like Onions
    Join Date
    Jun 2014
    Posts
    2
    BG Level
    0

    Quote Originally Posted by dlsmd View Post
    try changing
    if spell.action_type == 'Magic' then
    to
    if spell.action_type == 'Magic' and spell.type ~= 'BardSong' then

    this is because bard songs are still magic
    Wow, that appears to have fixed my problem. So simple. Thanks a bunch!

  16. #2156
    New Merits
    Join Date
    Sep 2010
    Posts
    223
    BG Level
    4
    FFXI Server
    Ifrit

    Figured it out on my own!

  17. #2157
    RIDE ARMOR
    Join Date
    Jan 2010
    Posts
    24
    BG Level
    1
    FFXI Server
    Leviathan

    so question for Mote but anyone can help would be awesome. I have tried on multiple chars (diff side car's and globals) and whenever I try to use pianissimo when the timer is not ready it sends the lua into an infinite loop of spamming pianissimo over and over. This happened after I came back from a week of AFK, i did update all files etc. but can't seem to figure out wtf. I just reload gear swap to force the loop to stop. Thoughts? I never noticed this before, and for now I am just extra careful on my macro smashing :D

  18. #2158
    BG Content
    Join Date
    Jul 2007
    Posts
    22,350
    BG Level
    10
    FFXI Server
    Lakshmi
    Blog Entries
    1

    I have made a lot of changes to GearSwap over the last two months. As far as I know, it has only one remaining bug (https://github.com/Byrth/Lua/issues/257). If you have any bugs that you've experienced recently (within the last week), please open issues for them so that I can address them before it comes out of beta next week.

    After GearSwap comes out of beta I will no longer be removing or renaming things in the API. I may add things if people ask for them and I can figure out how to do it, but it will (for the most part) be frozen and I am likely to defer new function requests to the library system.

    Here is a link to my tracker: https://github.com/Byrth/Lua/issues

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

    Quote Originally Posted by wigmasterflex View Post
    so question for Mote but anyone can help would be awesome. I have tried on multiple chars (diff side car's and globals) and whenever I try to use pianissimo when the timer is not ready it sends the lua into an infinite loop of spamming pianissimo over and over. This happened after I came back from a week of AFK, i did update all files etc. but can't seem to figure out wtf. I just reload gear swap to force the loop to stop. Thoughts? I never noticed this before, and for now I am just extra careful on my macro smashing :D
    Took a bit to work out what might be happening, but I think I figured it out. Fixed and pushed a new version.

  20. #2160
    Bagel
    Join Date
    Dec 2012
    Posts
    1,488
    BG Level
    6

    does ant body know how player.nation maps out to your nation
    im guessing
    Windurst = 0
    Bastok = ?
    San d'Oria = ?

    currently when i do these i always get a 0
    add_to_chat(123,"player.nation="..tostring(player. nation))
    add_to_chat(123,"player.nation="..player.nation)
    add_to_chat(123,"player.nation="..tonumber(player. nation))

    can someone from bastok and someone from sandy try the above and let me know what you get

    if you get a 0 and your from bastok or sandy please tell your current Conquest rank

Page 108 of 302 FirstFirst ... 58 98 106 107 108 109 110 118 158 ... LastLast

Similar Threads

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