Item Search
     
BG-Wiki Search
Closed Thread
Page 53 of 302 FirstFirst ... 3 43 51 52 53 54 55 63 103 ... LastLast
Results 1041 to 1060 of 6036

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

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

    I keep going with my typical clueless questions.
    Is there in GS a correspondant function to what "baseset=" "" was in Spellcast?

    I.e. I have a predefined set "X" and I want to make another one called "Y" which uses X as base sets but changes a few slots.
    In spellcast I would define the set Y with baseset="X" and then before the </set> line I would specify only those few slots I wanted to be different from the original set X.

    How can I do this with GS?



    Slightly OT, which software do you use to edit lua files offline? The one I used for my XML doesn't seem to work very well for luas.

  2. #1042
    Sea Torques
    Join Date
    Aug 2007
    Posts
    725
    BG Level
    5
    FFXI Server
    Ramuh

    You can use the set_combine function: set_combine(set1, set2) set2 can also be gear: set_combine(sets.idle, {main="Terra's Staff"})

  3. #1043
    Pandemonium
    Join Date
    Jul 2008
    Posts
    4,875
    BG Level
    7
    FFXI Server
    Bismarck

    Quote Originally Posted by Sechs View Post
    Slightly OT, which software do you use to edit lua files offline? The one I used for my XML doesn't seem to work very well for luas.
    Do you use Notepad++ for XMLs? If so, open the file in that program, click on the "Language" menu, and then select "Lua" from the L sub-menu.

    If you don't use Notepad++, get that.

    http://notepad-plus-plus.org/

  4. #1044
    Campaign
    Join Date
    Jul 2007
    Posts
    6,633
    BG Level
    8

    Used N++ ages ago, atm I was using PSPad, guess I'll give a try to N++ once more.


    @arshesney
    Neat, thanks!

  5. #1045
    Sea Torques
    Join Date
    Jun 2012
    Posts
    570
    BG Level
    5
    FFXI Server
    Asura
    WoW Realm
    The Scryers

    Quote Originally Posted by |Heretic| View Post
    hurrr



    Thanks, that worked. Although I don't think I've had this problem in the past going from Incantor Stone (precast) to Aureole (midcast enfeebling). Has slot=empty always been needed?
    Yea, and same thing happens if use 1hand/shield > 2h weapon, every 2 cast won't end with shield equipped. (Just saw that in the example did put "<<<<<<" to the Wrong empty... But you got the idea

  6. #1046
    Smells like Onions
    Join Date
    Mar 2014
    Posts
    5
    BG Level
    0

    For Ranger, I was wondering if it was possible to equip different sets depending on if Decoy was up or not. If so, how would I go about doing it? I'm currently using this GS by KBeezie which is based off of Motes work:
    ht tp: //pastebin.com /m8yND DLh

  7. #1047
    Hydra
    Join Date
    Feb 2014
    Posts
    131
    BG Level
    3
    FFXI Server
    Quetzalcoatl

    Quote Originally Posted by Ios View Post
    For Ranger, I was wondering if it was possible to equip different sets depending on if Decoy was up or not. If so, how would I go about doing it? I'm currently using this GS by KBeezie which is based off of Motes work:
    ht tp: //pastebin.com /m8yND DLh
    I'm not sure if you'd rather gear for decoy being up or down. I'll assume you want to stack -enmity in your standard set, and take a few pieces off while decoy is up.

    This goes in your job_buff_change() function.

    Code:
            
    if classes.CustomRangedGroups:length() ~= 0 then
        classes.CustomRangedGroups:clear()
    end
    if state.Buff['Decoy Shot'] == gain then
        classes.CustomRangedGroups:append('Enmity')
    end
    CustomRangedGroups can be appended to your sets.midcast.RangedAttack and sets.precast.RangedAttack tables. (enmity doesn't make sense in precast, but it would work there)

    i.e.

    Code:
    sets.midcast.RangedAttack.Enmity = set_combine(sets.midcast.RangedAttack, {
    legs="Nahtirah Trousers",
    feet="Orion Socks +1"
    })
    If you wanted to create a custom group for sets.engaged.Enmity, then you'd need to use classes.CustomMeleeGroups:append('Enmity'). Just make sure you clear it, otherwise it will append onto the table every single time you use said ability.

  8. #1048
    Smells like Onions
    Join Date
    Jan 2010
    Posts
    3
    BG Level
    0
    FFXI Server
    Sylph

    Quote Originally Posted by Foldypaws View Post
    So I cannot get impact to cast. I'm using mote's files, and I've got sets.precast.FC.Impact and sets.midcast.Impact defined appropriately, and the precast and midcast functions correctly recognize that I'm casting it, but if I don't manually equip the cloak before trying to cast it, I get an error.

    Any idea why?

    Edit: Byrth helped me out, for anyone else with the same problem, you need to edit line 345 of helper_functions.lua to read : "if not available_spells[spell_id] and not (spell_id == 503 ) then"
    I still no getting work "Impact" with mote's files
    It worked only if i put cloak on, and take off from inventory the other bodys and heads.

  9. #1049
    Smells like Onions
    Join Date
    Mar 2014
    Posts
    5
    BG Level
    0

    Quote Originally Posted by Orestes View Post
    I'm not sure if you'd rather gear for decoy being up or down. I'll assume you want to stack -enmity in your standard set, and take a few pieces off while decoy is up.

    This goes in your job_buff_change() function.

    Code:
            
    if classes.CustomRangedGroups:length() ~= 0 then
        classes.CustomRangedGroups:clear()
    end
    if state.Buff['Decoy Shot'] == gain then
        classes.CustomRangedGroups:append('Enmity')
    end
    CustomRangedGroups can be appended to your sets.midcast.RangedAttack and sets.precast.RangedAttack tables. (enmity doesn't make sense in precast, but it would work there)

    i.e.

    Code:
    sets.midcast.RangedAttack.Enmity = set_combine(sets.midcast.RangedAttack, {
    legs="Nahtirah Trousers",
    feet="Orion Socks +1"
    })
    If you wanted to create a custom group for sets.engaged.Enmity, then you'd need to use classes.CustomMeleeGroups:append('Enmity'). Just make sure you clear it, otherwise it will append onto the table every single time you use said ability.
    That's exactly what I'd like to do, set max DMG during decoy and then bring in max enmity- while it is off in a standard TP set, I'll give it a try. Thanks a lot.

  10. #1050
    Impossiblu
    Join Date
    Mar 2010
    Posts
    10,384
    BG Level
    9
    FFXIV Character
    Prothescar Centursa
    FFXIV Server
    Balmung
    FFXI Server
    Valefor

    anyone have a simple bit of code for Daurdabla/Terpaderp that doesn't require extra files and whatnot? Just wanna add it to my mule's BRD lua since I don't really like complexity.

    Spoiler: show

    Code:
    function get_sets()
    
    		--Idle Sets--
    		sets.Idle = {}
    		
    		sets.Idle.Standard = {main="Baqil staff",
    							  head="Aoidos' calot +2",neck="Twilight torque",ear1="Moonshade earring",ear2="Ethereal earring",
    							  body="Sha'ir manteel",hands="Serpentes cuffs",ring1="Tamas ring",ring2="Maquette ring",
    							  back="Umbra cape",waist="Flume belt",legs="Aoidos' rhing. +2",feet="Aoidos' Cothrn. +2"}
    							
    
    		
    		
    		
    		
    		--Precast Sets--
    		sets.precast = {}
    		
    		sets.precast.JA = {}
    		
    		sets.precast.JA.Nightingale = {feet="Brd. Slippers +2"}
    	
    		sets.precast.JA.Troubadour = {body="Bard's Justaucorps +2"}
    	
    		sets.precast.JA.SoulVoice = {legs="Brd. Cannions +2"}
    	
    		sets.precast.FC = {}
    	
    		sets.precast.FC.Song = {main="Felibre's dague",
    								head="Aoidos' Calot +2",neck="Orunmila's Torque",ear1="Loquac. Earring",ear2="Aoidos' Earring",
    								body="Sha'ir manteel",hands="Gendewitha Gages",ring1="Prolix ring",
    								back="Swith Cape",waist="Witful Belt",legs="Orvail pants +1",feet="Bokwus Boots"}
    		
    		sets.precast.FC.Normal = {head="Nahtirah Hat",neck="Orunmila's Torque",ear1="Loquac. Earring",
    								  hands="Gendewitha Gages",ring1="Prolix Ring",
    								  back="Swith Cape",waist="Witful belt",legs="Orvail Pants +1",feet="Chelona Boots"}
    		
    		sets.precast.Cure = {head="Nahtirah hat",neck="Orunmila's torque",ear1="Loquac. earring",
    							 body="Nefer Kalasiris",hands="Gendewitha gages",ring1="Prolix ring",
    							 back="Pahtli cape",waist="Witful belt",legs="Orvail pants +1",feet="Chelona boots"}
    							 
    							 
    							 
    							 
    							 
    							 
    		--Midcast Sets--
    		sets.midcast = {}
    		
    		sets.midcast.Cures = {main='Chatoyant Staff',sub='Verse strap +1',ammo='Clarus stone',
    							  head='Gende. caubeen', neck="Colossus's torque",ear1='Aredan earring',ear2='Beatific earring',
    							  body='Nefer kalasiris',hands='Bokwus gloves',ring1='Ephedra ring',ring2="Sirona's ring",
    							  back="Pahtli cape",waist='Cascade belt',legs="Magavan slops",feet='Orvail souliers +1'}
    
    		sets.midcast.SongAcc = {main="Baqil staff",sub="Mephitis grip",
    							    head="Buremte hat",neck="Noetic torque",ear1="Psystorm earring",ear2="Lifestorm earring",
    								body="Aoidos' hngrln. +2",hands="Ad. Mnchtte. +2",ring1="Maquette ring",ring2="Balrahn's ring",
    								back="Swith cape",waist="Witful belt",legs="Aoidos' rhing. +2",feet="Bokwus boots"}
    								
    		sets.midcast.Enhancing = {neck="Colossus's torque",
    								  back="Merciful cape",waist="Cascade belt"}
    		
    		sets.midcast.Enfeebling = {main="Baqil staff",sub="Mephitis grip",
    								   head="Buremte hat",neck="Spider torque",ear1="Psystorm earring",ear2="Lifestorm earring",
    								   body="Orvail robe +1",hands="Gendewitha gages",ring1="Maquette ring",ring2="Balrahn's ring",
    								   back="Swith cape",waist="Cascade belt",legs="Orvail pants +1",feet="Orvail souliers +1"}
    								   
    		sets.midcast.Stoneskin = {head="Nahtirah hat",neck="Stone gorget",ear1="Earthcry earring",ear2="Loquac. earring",
    								  hands="Stone mufflers",ring1="Prolix ring",
    								  back="Swith cape",waist="Siegel sash",legs="Haven hose",feet="Chelona boots"}
    								  
    		
    		
    
    
    
    		--Song Sets--	
    		sets.Songs = {}
    		
    		sets.Songs.March = {main="Legato dagger",range="Faerie piccolo",
    							head="Aoidos' calot +2",neck="Aoidos' matinee",
    							body="Aoidos' hngrln. +2",hands="Ad. mnchtte. +2",
    							legs="Mdk. shalwar +1",feet="Brioso slippers"}
    							
    		sets.Songs.Minuet = {main="Legato dagger",range="Apollo's flute",
    							 head="Aoidos' calot +2",neck="Aoidos' matinee",
    							 body="Aoidos' hngrln. +2",hands="Ad. mnchtte. +2",
    							 legs="Mdk. shalwar +1",feet="Brioso slippers"}
    							 
    		sets.Songs.Madrigal = {main="Legato dagger",range="Cantabank's horn",
    							   head="Aoidos' calot +2",neck="Aoidos' matinee",
    							   body="Aoidos' hngrln. +2",hands="Ad. mnchtte. +2",
    							   legs="Mdk. shalwar +1",feet="Brioso slippers"}
    							   
    		sets.Songs.Minne = {main="Legato dagger",range="Syrinx",
    					    	head="Aoidos' calot +2",neck="Aoidos' matinee",
    							body="Aoidos' hngrln. +2",hands="Ad. mnchtte. +2",
    							legs="Mdk. shalwar +1",feet="Brioso slippers"}
    							
    		sets.Songs.Scherzo = {main="Legato dagger",range="Syrinx",
    					    	  head="Aoidos' calot +2",neck="Aoidos' matinee",
    							  body="Aoidos' hngrln. +2",hands="Ad. mnchtte. +2",
    							  legs="Mdk. shalwar +1",feet="Aoidos' Cothrn. +2"}
    							
    		sets.Songs.Ballad = {main="Legato dagger",range="Crooner's cithara",
    					    	 head="Aoidos' calot +2",neck="Aoidos' matinee",
    							 body="Aoidos' hngrln. +2",hands="Ad. mnchtte. +2",
    							 legs="Aoidos' rhing. +2",feet="Brioso slippers"}
    							 
    		sets.Songs.Prelude = {main="Legato dagger",range="Cantabank's horn",
    					    	  head="Aoidos' calot +2",neck="Aoidos' matinee",
    							  body="Aoidos' hngrln. +2",hands="Ad. mnchtte. +2",
    							  legs="Mdk. shalwar +1",feet="Brioso slippers"}
    							  
    		sets.Songs.Mambo = {main="Legato dagger",range="Vihuela",
    					    	head="Aoidos' calot +2",neck="Aoidos' matinee",
    							body="Aoidos' hngrln. +2",hands="Ad. mnchtte. +2",
    							legs="Mdk. shalwar +1",feet="Brioso slippers"}
    							
    		sets.Songs.Mazurka = {main="Legato dagger",range="Vihuela",
    					    	  head="Aoidos' calot +2",neck="Aoidos' matinee",
    							  body="Aoidos' hngrln. +2",hands="Ad. mnchtte. +2",
    							  legs="Mdk. shalwar +1",feet="Brioso slippers"}
    							  
    		sets.Songs.Paeon = {main="Legato dagger",range="Pan's horn",
    					    	head="Aoidos' calot +2",neck="Aoidos' matinee",
    							body="Aoidos' hngrln. +2",hands="Ad. mnchtte. +2",
    							legs="Mdk. shalwar +1",feet="Brioso slippers"}
    							
    		sets.Songs.Etude = {main="Legato dagger",range="Pan's horn",
    					    	head="Aoidos' calot +2",neck="Aoidos' matinee",
    							body="Aoidos' hngrln. +2",hands="Ad. mnchtte. +2",
    							legs="Mdk. shalwar +1",feet="Brioso slippers"}
    							
    		sets.Songs.Carol = {main="Legato dagger",range="Vihuela",
    					    	head="Aoidos' calot +2",neck="Aoidos' matinee",
    							body="Aoidos' hngrln. +2",hands="Ad. mnchtte. +2",
    							legs="Mdk. shalwar +1",feet="Brioso slippers"}
    							  
    		sets.Songs.Finale = {main="Soothsayer staff",sub="Mephitis grip",range="Pan's horn",
    							 head="Buremte hat",neck="Noetic torque",ear1="Psystorm earring",ear2="Lifestorm earring",
    						     body="Aoidos' hngrln. +2",hands="Ad. Mnchtte. +2",ring1="Maquette ring",ring2="Balrahn's ring",
    							 back="Swith cape",waist="Witful belt",legs="Aoidos' rhing. +2",feet="Bokwus boots"}
    							 
    		sets.Songs.Lullaby = {main="Soothsayer staff",sub="Mephitis grip",range="Crooner's Cithara",
    							  head="Buremte hat",neck="Noetic torque",ear1="Psystorm earring",ear2="Lifestorm earring",
    						      body="Aoidos' hngrln. +2",hands="Ad. Mnchtte. +2",ring1="Maquette ring",ring2="Balrahn's ring",
    							  back="Swith cape",waist="Witful belt",legs="Aoidos' rhing. +2",feet="Bokwus boots"}
    							  
    		sets.Songs.Elegy = {main="Soothsayer staff",sub="Mephitis grip",range="Syrinx",
    							head="Buremte hat",neck="Noetic torque",ear1="Psystorm earring",ear2="Lifestorm earring",
    						    body="Aoidos' hngrln. +2",hands="Ad. Mnchtte. +2",ring1="Maquette ring",ring2="Balrahn's ring",
    							back="Swith cape",waist="Witful belt",legs="Aoidos' rhing. +2",feet="Bokwus boots"}
    							
    		sets.Songs.Threnody = {main="Soothsayer staff",sub="Mephitis grip",range="Sorrowful Harp",
    							   head="Buremte hat",neck="Noetic torque",ear1="Psystorm earring",ear2="Lifestorm earring",
    						       body="Aoidos' hngrln. +2",hands="Ad. Mnchtte. +2",ring1="Maquette19 ring",ring2="Balrahn's ring",
    							   back="Swith cape",waist="Witful belt",legs="Aoidos' rhing. +2",feet="Bokwus boots"}
    							   
    		timer_reg = {}
    		pianissimo_cycle = false
    end
    
    function pretarget(spell)
    	if 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
    		cancel_spell()
    		pianissimo_cycle = true
    		send_command('input /ja "Pianissimo" <me>;wait 1.5;input /ma "'..spell.name..'" '..spell.target.name..';')
    		return
    	end
    	if spell.name ~= 'Pianissimo' then
    		pianissimo_cycle = false
    	end
    end
    
    function precast(spell)
    	if spell.type == 'BardSong' then
    		equip(sets.precast.FC.Song)
    	
    	elseif spell.action_type == 'Magic' then
    		equip(sets.precast.FC.Normal)
    		if string.find(spell.english,'Cur') and spell.name ~= 'Cursna' then
    			equip(sets.precast.Cure)
    		end
    	end
    	
    	if spell.english == 'Nightingale' then
    		equip(sets.precast.JA.Nightingale)
    	end
    	
    	if spell.english == 'Troubadour' then
    		equip(sets.precast.JA.Troubadour)
    	end
    	
    	if spell.english == 'Soul Voice' then
    		equip(sets.precast.JA.SoulVoice)
    	end
    end
    
    function midcast(spell)
    	if spell.english == 'Advancing March' or spell.english == 'Victory March' then
    		equip(sets.Songs.March)
    	end
    	
    	if spell.english == 'Valor Minuet' or spell.english == 'Valor Minuet II' or spell.english == 'Valor Minuet III' or spell.english == 'Valor Minuet IV' then
    		equip(sets.Songs.Minuet)
    	end
    	
    	if spell.english == 'Blade Madrigal' or spell.english == 'Sword Madrigal' then
    		equip(sets.Songs.Madrigal)
    	end
    	
    	if spell.english == "Knight's Minne" or spell.english == "Knight's Minne II" or spell.english == "Knight's Minne III" or spell.english == "Knight's Minne IV" or spell.english == "Knight's Minne V" then
    		equip(sets.Songs.Minne)
    	end
    	
    	if spell.english == "Sentinel's Scherzo" then
    		equip(sets.Songs.Scherzo)
    	end
    	
    	if spell.english == "Mage's Ballad" or spell.english == "Mage's Ballad II" or spell.english == "Mage's Ballad III" then
    		equip(sets.Songs.Ballad)
    	end
    	
    	if spell.english == 'Sheepfoe Mambo' or spell.english == 'Dragonfoe Mambo' then
    		equip(sets.Songs.Mambo)
    	end
    	
    	if spell.english == "Hunter's Prelude" or spell.english == "Archer's Prelude" then
    		equip(sets.Songs.Prelude)
    	end
    	
    	if spell.english == "Army's Paeon" or spell.english == "Army's Paeon II" or spell.english == "Army's Paeon III" or spell.english == "Army's Paeon IV" or spell.english == "Army's Paeon V" or spell.english == "Army's Paeon VI" or spell.english == "Army's Paeon VII" then
    		equip(sets.Songs.Paeon)
    	end
    	
    	if spell.english == 'Enchanting Etude' or spell.english == 'Spirited Etude' or spell.english == 'Learned Etude' or spell.english == 'Quick Etude' or spell.english == 'Vivacious etude' or spell.english == 'Dextrous etude' or spell.english == 'Sinewy etude' or spell.english == 'Bewitching etude' or spell.english == 'Logical etude' or spell.english == 'Sage etude' or spell.english == 'Swift etude' or spell.english == 'Vital etude' or spell.english == 'Uncanny etude' or spell.english == 'Herculean etude' then
    		equip(sets.Songs.Etude)
    	end
    	
    	if spell.english == 'Light carol' or spell.english == 'Dark carol' or spell.english == 'Fire carol' or spell.english == 'Ice carol' or spell.english == 'Wind carol' or spell.english == 'Earth carol' or spell.english == 'Lightning carol' or spell.english == 'Water carol' or spell.english == 'Light carol II' or spell.english == 'Dark carol II' or spell.english == 'Fire carol II' or spell.english == 'Ice carol II' or spell.english == 'Wind carol II' or spell.english == 'Earth carol II' or spell.english == 'Lightning carol II' or spell.english == 'Water carol II' then
    		equip(sets.Songs.Carol)
    	end
    	
    	if spell.english == 'Raptor Mazurka' or spell.english == 'Chocobo Mazurka' then
    		equip(sets.Songs.Mazurka)
    	end
    	
    	if spell.english == 'Foe Lullaby' or spell.english == 'Foe Lullaby II' or spell.english == 'Horde Lullaby' or spell.english == 'Horde Lullaby II' then
    		equip(sets.Songs.Lullaby)
    	end
    	
    	if spell.english == 'Magic Finale' then
    		equip(sets.Songs.Finale)
    	end
    	
    	if spell.english == 'Carnage Elegy' or spell.english == 'Battlefield Elegy' then
    		equip(sets.Songs.Elegy)
    	end
    	
    	if spell.english == 'Light Threnody' or spell.english == 'Dark Threnody' or spell.english == 'Fire Threnody' or spell.english == 'Ice Threnody' or spell.english == 'Wind Threnody' or spell.english == 'Earth Threnody' or spell.english == 'Lightning threnody' or spell.english == 'Water threnody' then
    		equip(sets.Songs.Threnody)
    	end
    	
    	if spell.english == 'Cure' or spell.english == 'Cure II' or spell.english == 'Cure III' or spell.english == 'Cure IV' then
    		equip(sets.midcast.Cures)
    	end
    	
    	if spell.english == 'Stoneskin' then
    		equip(sets.midcast.Stoneskin)
    	end
    	
    	if spell.english == 'Phalanx' or spell.english == 'Barfira' or spell.english == 'Barfire' or spell.english == 'Barblizzara' or spell.english == 'Barblizzard' or spell.english == 'Baraera' or spell.english == 'Baraero' or spell.english == 'Barstonra' or spell.english == 'Barstone' or spell.english == 'Barthundara' or spell.english == 'Barthunder' or spell.english == 'Barwatera' or spell.english == 'Barwater' then
    		equip(sets.midcast.Enhancing)
    	end
    	
    	if spell.english == 'Slow' or spell.english == 'Paralyze' or spell.english == 'Blind' then
    		equip(sets.midcast.Enfeebling)
    	end
    end
    
    function aftercast(spell)
    		equip(sets.Idle.Standard)
    	end
    end

  11. #1051
    RIDE ARMOR
    Join Date
    Jun 2011
    Posts
    11
    BG Level
    1
    FFXI Server
    Sylph

    ranger doubleshot

    im trying to work in doubleshot for my ranged attack to double shot if its not up and ready when i hit ranged attack now i got it to work but when i lose doubleshot and the timer is still up i get a timer in the chat log saying i have to wait then it fires my shot i understand why its doing that but mabe some one more knowledgeable can help me fix this heres waht i have

    -- if (spell.name == 'Ranged' and not buffactive['Double Shot'] and not buffactive.Amnesia and not buffactive.Obliviscence and not buffactive.Paralysis and windower.ffxi.get_ability_recasts()[1] < 1 ) then
    -- windower.send_command('Double Shot; wait 1; '..spell.name..' '..spell.target.raw)
    -- cancel_spell()
    -- return
    -- end
    elseif spell.name == 'Ranged' then
    equip(sets.precast.PreShot)

  12. #1052
    Campaign
    Join Date
    Jul 2007
    Posts
    6,633
    BG Level
    8

    Can anybody explain how exactely do the following lines work?

    Code:
    function status_change(new,old)
            if new == 'Engaged' then
                    equip(sets.TP[sets.TP.index[TP_ind]])
            else
                    equip(sets.Idle.Standard)
            end
    end

    Also, what is the difference in using == in some lines in place of a single =?
    Furthermore, what is the difference between these two following lines?

    Code:
    	sets.precast.JA['Trance'] = {head="Horos Tiara"}
    	
    	sets.precast.Samba = {head="Maxixi Tiara +1"}
    The first is a specific set with the name of the JA already included between those []
    Does this mean that this line automatically performs the precast action without me defining it with a specific "if spell.english == ... then equip ..." line?
    Also how can I specify wildcards?
    For instance if I want an action to work for all tiers of Drain Samba, could I put a "spell.english == 'Drain Samba*'" or something like that? Or even further "spell.english == '*samba*'" for it to work on all tiers of all types of Sambas?

  13. #1053
    Sea Torques
    Join Date
    Jun 2012
    Posts
    570
    BG Level
    5
    FFXI Server
    Asura
    WoW Realm
    The Scryers

    Hmmm
    1. Whenever your status change(iirc status are engaged, idle, resting) if its engaged will equip your tp gear, else your idle gear.

    2. When you use "=" you are assigning to that variable, the value that if after the "="

    When you have "==" you are comparing them.

    About using "*", guess is not possible, but there is some code that can help with that, ATM don't recall it(and not in my PC), but it can check if the spell contains some word, something like "if spell.name contains "drain" then...."

  14. #1054
    Campaign
    Join Date
    Jul 2007
    Posts
    6,633
    BG Level
    8

    Ok, I understand a bit better now the first code I pasted, altough I don't get where the "new" and "old" status fields are defined. Are they pre-defined Gearswap options?
    Thanks for the rest.

    As for the "contains" thing, I found it used in some of Motenten's spreadsheets for (areachecks to equip certain sets and the haste buffs checks for DNC and NIN). I'm not sure if it can be used the way you were mentioning.
    In the other mage Lua I checked all of them were using "spellmaps", predefined in the same lua or in another included lua file.
    This is a very powerful instrument, but also a bit unnecessarily complicated when you have to do simple things. Sounds strange to me there is no other way to have something similar to what the "*" wildcard was in spellcast's XMLs.
    I'm sure there's gotta be something.


    Also any chance you or anybody else can help me understand the syntax differences/consequences of those 2 lines I pasted in the second code tag?
    I've seen it used in a few GS luas but I don't understand how it works.
    I got an idea (which I wrote above) but I wanted to make sure if I got it right or if I was off track.

  15. #1055
    Smells like Onions
    Join Date
    Jan 2013
    Posts
    4
    BG Level
    0

    Recently I have change my FFXI to JP version, using Moten lua in english version was amazing. But can't swap equipment in JP version.

    Do I need to edit all items, ws, spells and ja name to japanese in lua file?

  16. #1056
    An exploitable mess of a card game
    Join Date
    Sep 2008
    Posts
    13,258
    BG Level
    9
    FFXIV Character
    Gouka Mekkyaku
    FFXIV Server
    Gilgamesh
    FFXI Server
    Diabolos

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

    Quote Originally Posted by Sechs View Post
    Ok, I understand a bit better now the first code I pasted, altough I don't get where the "new" and "old" status fields are defined. Are they pre-defined Gearswap options?
    Thanks for the rest.

    As for the "contains" thing, I found it used in some of Motenten's spreadsheets for (areachecks to equip certain sets and the haste buffs checks for DNC and NIN). I'm not sure if it can be used the way you were mentioning.
    In the other mage Lua I checked all of them were using "spellmaps", predefined in the same lua or in another included lua file.
    This is a very powerful instrument, but also a bit unnecessarily complicated when you have to do simple things. Sounds strange to me there is no other way to have something similar to what the "*" wildcard was in spellcast's XMLs.
    I'm sure there's gotta be something.


    Also any chance you or anybody else can help me understand the syntax differences/consequences of those 2 lines I pasted in the second code tag?
    I've seen it used in a few GS luas but I don't understand how it works.
    I got an idea (which I wrote above) but I wanted to make sure if I got it right or if I was off track.
    The new and old status's are arguments that gearswap passes in when it calls the status_change function. They're both strings that contain "Engaged", "Idle" and I assume "Resting". As a user of the function, that's all that matters.

    For matching patterns, you can use string.find(). Maybe something like this, in job_buff_change
    Code:
    if string.find(buff:lower(), 'samba') then
      -- do something
    end
    For your last question. Mote has precast() setup to look for different sets, ranging from very specific, to general, with specific ability sets taking precedence over general "spell.type" sets.

    For example, When you use Drain Samba, gearswap will try to find a sets.precast.JA['Drain Samba'] set, and if it doesn't find it, then it will fall back on sets.precast.Samba IF it exists.

    You can find out more by reading Mote's get_default_precast_set() function inside Mote-Include.lua

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

    Quote Originally Posted by Sechs View Post
    Ok, I understand a bit better now the first code I pasted, altough I don't get where the "new" and "old" status fields are defined. Are they pre-defined Gearswap options?
    Yes. If you read the spreadsheet containing the list of Gearswap functions, you'll find status_change there, along with what variables are passed in.

    Quote Originally Posted by Sechs View Post
    As for the "contains" thing, I found it used in some of Motenten's spreadsheets for (areachecks to equip certain sets and the haste buffs checks for DNC and NIN). I'm not sure if it can be used the way you were mentioning.
    "contains" is a function that is available for lists/sets/tables (I just talked about them a few pages back, and is what I use the function for), as well as strings (which I have never found a need to use, so won't be an example you find in my files).

    For example:
    Code:
    local tmp1 = S{"a", "set", "of", "strings"}
    if tmp1:contains("set") then
        -- this is true
    end
    
    
    local tmp2 = "Drain Samba II"
    if tmp2:contains("Samba") then
        -- this is true
    end
    
    
    -- note: not a set, just an ordinary table
    local tmp3 = {"a", "set", "of", "strings"}
    if tmp3:contains("set") then
        -- this will fail because tmp3 doesn't define the function :contains().
    end
    Quote Originally Posted by Sechs View Post
    In the other mage Lua I checked all of them were using "spellmaps", predefined in the same lua or in another included lua file.
    This is a very powerful instrument, but also a bit unnecessarily complicated when you have to do simple things. Sounds strange to me there is no other way to have something similar to what the "*" wildcard was in spellcast's XMLs.
    I'm sure there's gotta be something.
    Yes, my code uses spellmaps, because the mapping isn't always simple, and the spells mapped are comparisons that will be done frequently across all jobs. Plus, it makes it an extremely trivial gear set lookup. EG: "Cure II"/etc maps to "Cure", which means I can simply define sets.midcast.Cure and it will work for any of Cure/Cure II/Cure III/Cure IV/Cure V/Cure VI automatically, without me having to manually check for each one within each job file and assign it a specific set.

    However, yes, there are simpler ways for quick minor checks that fall outside the normal mappings. If you want to check for all forms of Drain Samba, you can use spell.english:startswith("Drain Samba") -- this is much faster than :contains(). If you want to check for all forms of Samba, you can check that spell.type == "Samba".


    Quote Originally Posted by Sechs View Post
    Also any chance you or anybody else can help me understand the syntax differences/consequences of those 2 lines I pasted in the second code tag?
    I've seen it used in a few GS luas but I don't understand how it works.
    I got an idea (which I wrote above) but I wanted to make sure if I got it right or if I was off track.
    Quote Originally Posted by Sechs
    Code:
    	sets.precast.JA['Trance'] = {head="Horos Tiara"}
    	
    	sets.precast.Samba = {head="Maxixi Tiara +1"}
    The first is a specific set with the name of the JA already included between those []
    Does this mean that this line automatically performs the precast action without me defining it with a specific "if spell.english == ... then equip ..." line?
    Also how can I specify wildcards?
    For instance if I want an action to work for all tiers of Drain Samba, could I put a "spell.english == 'Drain Samba*'" or something like that? Or even further "spell.english == '*samba*'" for it to work on all tiers of all types of Sambas?
    First, this only works if you're using my includes, because I've already written all the back-end code to support its use. If you just slap it into a brand new lua file, it won't do anything.

    As Orestes notes, it works because of the order of checks that I do to try to find a set that matches the current spell.

    In the case of Trance, it checks that spell.action_type is Ability, that spell.type is JobAbility (which is then used to specify the base table of sets.precast.JA), and whether the 'Trance' subtable of sets.precast.JA is defined. If so, it uses that table.

    In the case of sambas, it would check that spell.action_type is Ability just like with Trance. However, spell.type is -not- JobAbility, but rather Samba. So it won't use sets.precast.JA, but rather sets.precast.Samba. It will then check if the specific samba is defined (eg: if using Haste Samba, it would look for sets.precast.Samba['Haste Samba']). If it doesn't find anything there, it just falls back on the most recently defined set: sets.precast.Samba.

    There are several other things it checks for, such as custom classes or custom groups, as well as other particular tables such as FC for fast cast and WS for weaponskill. However it's all specific to how my includes work. If you're not using my includes then you need to do all those checks and set naming stuff yourself.

  19. #1059
    RIDE ARMOR
    Join Date
    Jun 2011
    Posts
    11
    BG Level
    1
    FFXI Server
    Sylph

    is that a link i should be looking at cause feel free to call me noobish but i see nothing in there that would help me with the recast issue

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

    That's the thread where you ask for help. This is the thread where you post gearswap files that you're sharing.

Closed Thread
Page 53 of 302 FirstFirst ... 3 43 51 52 53 54 55 63 103 ... LastLast

Similar Threads

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