Item Search
     
BG-Wiki Search
Closed Thread
Page 299 of 302 FirstFirst ... 249 289 297 298 299 300 301 ... LastLast
Results 5961 to 5980 of 6036

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

  1. #5961
    Radsourceful

    Join Date
    Jul 2007
    Posts
    1,964
    BG Level
    6
    FFXI Server
    Bismarck

    Quote Originally Posted by dlsmd View Post
    unless gearswap started using the long names for gear then yes you need to use the short names
    Gearswap/equip_processing.lua, line 62. Returns a match for either log name (long name) or name (short name)

    Quote Originally Posted by Ferro View Post
    Thanks for replying - per your suggestion - I should add those gears into the midcast equipment?
    The lua I copied from hadnt done that - instead the person has them written out and placed as I have them in mine -
    Another query: is it even worth it to add this gear to the midcast equipment since there are other pieces that may have better benefits/augments?
    Probably not at +1, but the +20 skill for enhancing might be worthwhile sometimes in light arts, and they both end up as extreme MAcc pieces once +2/+3

  2. #5962
    Smells like Onions
    Join Date
    Oct 2017
    Posts
    9
    BG Level
    0

    Quote Originally Posted by Radec View Post
    Gearswap/equip_processing.lua, line 62. Returns a match for either log name (long name) or name (short name)



    Probably not at +1, but the +20 skill for enhancing might be worthwhile sometimes in light arts, and they both end up as extreme MAcc pieces once +2/+3
    Thanks for the great suggestions - I'm gonna add the Academic Pants +1 to the midcast Enhancing gear set then since that would seem the most beneficial use - I think have enough Paragon cards now to make the pants +2 - Maybe the Academic Gown +1 for dark arts into the Stun Midcast gear set - Then I'll test to see if they activate - Funny the other Lua's that I copied the rules from have it written out just like this :

    -- Precast sets to enhance JAs

    sets.precast.JA['Tabula Rasa'] = {legs="Pedagogy Pants"}
    sets.precast.JA['Dark Arts'] = {"Acad. Gown +1"}
    sets.precast.JA['Light Arts'] = {"Acad. Pants +1"}

    organizer_items = {agown="Acad. Gown +1"}

    But when you examine the coding further there are no other rules / code that support triggering the equipping of the gear (and he hadnt included in his mid-cast sets) when you use your light or dark arts abilities. Not a coder at all so I may have overlooked something - I'm going to follow all of the suggestions and use the gear in the midcast equipment sets.

  3. #5963

    Quote Originally Posted by Ferro View Post
    Thanks for the great suggestions - I'm gonna add the Academic Pants +1 to the midcast Enhancing gear set then since that would seem the most beneficial use - I think have enough Paragon cards now to make the pants +2 - Maybe the Academic Gown +1 for dark arts into the Stun Midcast gear set - Then I'll test to see if they activate - Funny the other Lua's that I copied the rules from have it written out just like this :

    -- Precast sets to enhance JAs

    sets.precast.JA['Tabula Rasa'] = {legs="Pedagogy Pants"}
    sets.precast.JA['Dark Arts'] = {"Acad. Gown +1"}
    sets.precast.JA['Light Arts'] = {"Acad. Pants +1"}

    organizer_items = {agown="Acad. Gown +1"}

    But when you examine the coding further there are no other rules / code that support triggering the equipping of the gear (and he hadnt included in his mid-cast sets) when you use your light or dark arts abilities. Not a coder at all so I may have overlooked something - I'm going to follow all of the suggestions and use the gear in the midcast equipment sets.
    i can infer from the way that they name it, it is used one of two ways
    1. the gear is equiped at precast when you use Dark/Light Arts
    2. that when Dark/Light Arts is active they lock on the specific gear
    how ever im not sure as i cant test the Academic's set because i dont have it

    but i do know that
    Academic's Gown gives Refresh and Dark Arts+
    Academic's Pants gives Light Arts+
    but how you need to equip it i do not know and you need to figure it out your self
    like this
    1. activate Dark/Light Arts with out these gears equiped check all your stats (most importantly magic skill)
    2. equip your gear and run the test again see if there is a change to your stats
    3. if there is a change to your stats unequip your gear to see if it gets lowered
    4. if it does get lowered then you know you need to have the gear equiped when you cast a spell, if not then you only need it equiped when you us the ja
    5. some aspects might require you to have the gear equiped when you use a spell but the only way you can tell when you need it equiped is by testing it out
    -you need to do this several times and then average all of them together(use the same spell on the same mob type), the more you do this the more accurate things will be
    --if you get an average difference of less then 1-3% you can say that no change has accrued as that is the mathematical realm of insignificance
    example: if you do 100 tests for each and the average for them are
    average equiped from precast to aftercast=611 damage
    average equiped from midcast to aftercast=600 damage
    -with the results above i would say there is no difference and you can equip them only for midcast
    however
    average equiped from precast to aftercast=615 damage
    average equiped from midcast to aftercast=600 damage
    -with the results above i would say there is a difference and you need to equip them for precast and midcast
    (the math says that 1% of 600 is 6 so 6X3=12 anything greater then +11 means that it changed significantly)
    -this is simplified
    --the more tests you do the more accurate your results will be

  4. #5964
    RIDE ARMOR
    Join Date
    Jun 2012
    Posts
    21
    BG Level
    1
    FFXI Server
    Asura

    So I changed up that code dlsmd gave me a while back, and added it to my new DRK.lua, and it doesn't seem to work.
    Spoiler: show

    HTML Code:
    function filtered_action(spell)
    	if spell.english == 'Torcleaver' then
    		if player.equipment.main == 'Apocalypse' then
    			cancel_spell()
    			send_command('input /ws "Catastrophe" <t>')
    		elseif  player.equipment.main == 'Anguta' then
    			cancel_spell()
    			send_command('input /ws "Entropy" <t>')
    		elseif player.equipment.main == 'Liberator' then
    			cancel_spell ()
    			send_command('input /ws "Insurgency" <t>')
    		end
    	end
    end
    
    function filtered_action(spell)
    	if spell.english == 'Resolution' then
    		if player.equipment.main == 'Apocalypse|Anguta|Liberator|Redemption' then
    			cancel_spell()
    			send_command('input /ws "Cross Reaper" <t>')
    		end
    	end
    end
    
    function filtered_action(spell)
    	if spell.english == 'Shockwave' then
    		if player.equipment.main == 'Apocalypse|Anguta|Liberator|Redemption' then
    			cancel_spell()
    			send_command('input /ws "Spinning Scythe" <t>')
    		end
    	end
    end


    Here's the entire lua, the code starts at line 685.
    Spoiler: show

    HTML Code:
    -------------------------------------------------------------------------------------------------------------------
    -- Setup functions for this job. Generally should not be modified.
    -------------------------------------------------------------------------------------------------------------------
     
    -- Initialization function for this job file.
    function get_sets()
        mote_include_version = 2
     
    -- Load and initialize the include file.
        include('Mote-Include.lua')
    end
     
    
     
    -------------------------------------------------------------------------------------------------------------------
    -- User setup functions for this job. Recommend that these be overridden in a sidecar file.
    -------------------------------------------------------------------------------------------------------------------
     
    -- Setup vars that are user-dependent. Can override this function in a sidecar file.
    function user_setup()
        state.OffenseMode:options('Rag', 'RagMdef', 'Apoc', 'ApocACC', "DW", "DWACC")
        state.HybridMode:options ('Reraise')
        state.WeaponskillMode:options('Normal', 'Acc')
        state.CastingMode:options('Normal', 'Resistant')
        state.PhysicalDefenseMode:options('PDT')
        state.MagicalDefenseMode:options('MDT')
     
        select_default_macro_book()
    end
     
    -- Elements for skillchain names
        skillchain_elements = {}
        skillchain_elements.Light = S{'Light','Fire','Wind','Lightning'}
        skillchain_elements.Darkness = S{'Dark','Ice','Earth','Water'}
        skillchain_elements.Fusion = S{'Light','Fire'}
        skillchain_elements.Fragmentation = S{'Wind','Lightning'}
        skillchain_elements.Distortion = S{'Ice','Water'}
        skillchain_elements.Gravitation = S{'Dark','Earth'}
        skillchain_elements.Transfixion = S{'Light'}
        skillchain_elements.Compression = S{'Dark'}
        skillchain_elements.Liquification = S{'Fire'}
        skillchain_elements.Induration = S{'Ice'}
        skillchain_elements.Detonation = S{'Wind'}
        skillchain_elements.Scission = S{'Earth'}
        skillchain_elements.Impaction = S{'Lightning'}
        skillchain_elements.Reverberation = S{'Water'}
     
    -- Define sets and vars used by this job file.
    function init_gear_sets()
    --------------------------------------
    -- Start defining the sets
    --------------------------------------
    -- Precast Sets
        sets.WSDayBonus = {head="Gavialis Helm"}
     
    -- add here to the ws list those you want moonshade on when less than 3000tp
        moonshade_WS = S{"Resolution", "Torcleaver", "Cross Reaper", "Quietus", "Entropy", "Insurgency", "Savage Blade", "Vorpal Blade", "Requiescat", "Sanguine Blade"}
     
    -- Precast sets to enhance JAs
        sets.precast.JA['Diabolic Eye'] = {hands="Fallen's finger gauntlets +1"}
        sets.precast.JA['Arcane Circle'] = {feet="Ignominy Sollerets +3"}
        sets.precast.JA['Nether Void'] = {legs="Heathens Flanchard +1"}
        sets.precast.JA['Souleater'] = {head="Ignominy Burgeonet +3"}
        sets.precast.JA['Weapon Bash'] = {hands="Ignominy Gauntlets +3"}
        sets.precast.JA['Last Resort'] = {back="Ankou's Mantle",feet="Fallen's Sollerets +1"}
        sets.precast.JA['Dark Seal'] = {head="Fallen's Burgeonet +1"}
        sets.precast.JA['Blood Weapon'] = {body="Fallen's Cuirass +1"}
     
        sets.buff.Doom = {waist="Gishdubar sash",ring1="Saida Ring",ring2="Saida Ring"}
     
        Ankou={}
        Ankou.WSDSTR=   { name="Ankou's Mantle", augments={'STR+20','Accuracy+20 Attack+20','STR+10','Weapon skill damage +10%',}}
        Ankou.DA=       { name="Ankou's Mantle", augments={'STR+20','Accuracy+20 Attack+20','STR+10','"Dbl.Atk."+10',}}
        Ankou.WSDVIT=   { name="Ankou's Mantle", augments={'VIT+20','Accuracy+20 Attack+20','VIT+10','Weapon skill damage +10%',}}
        Ankou.ACC=      { name="Ankou's Mantle", augments={'DEX+20','Accuracy+20 Attack+20','Accuracy+10','"Dbl.Atk."+10',}}
     
    -- Precast Sets
        sets.precast.FC = {
            ammo="",
            head="Carmine Mask",
            neck="Willpower Torque",
            ear1="Loquacious Earring",
            ear2="Etiolation Earring",
            body="Nuevo Coselete",
            hands="",
            ring1="Prolix Ring",
            ring2="Kishar Ring",
            back="",
            waist="Sailfi Belt",
            legs="Eschite cuisses",
            feet="Carmine Greaves",}
     
    -- Specific spells
        sets.midcast.Utsusemi = set_combine(sets.precast.FC,{
            ammo="",
            neck="Willpower Torque",
            ring2="Evanescence Ring",})
     
        sets.midcast.Endark = {
            head="Carmine mask",
            neck="Erra Pendant",
            ear1="",
            body="Carmine Scale Mail",
            hands="Fallen's finger gauntlets +1",
            left_ring="Stikini Ring",
            right_ring="Evanescence Ring",
            waist="",
            legs="Eschite cuisses",
            feet="Ratri Sollerets",
            back="Niht Mantle",}
     
        sets.midcast['Endark II'] = set_combine(sets.midcast.Endark, {})
     
        sets.midcast['Dread Spikes'] = {
            ammo="Egoist's Tathlum",
            head="Odyssean Helm",
            body="Heathen's Cuirass +1",
            hands="Emicho guantlets",
            legs="Carmine Cuisses +1",
            feet="Ratri Sollerets",
            neck="Sanctity Necklace",
            waist="Oneiros Belt",
            left_ear="Etiolation Earring",
            right_ear="Cryptic Earring",
            left_ring="K'ayres Ring",
            right_ring="Meridian Ring",
            back="Aenoth. Mantle +1",}
     
        sets.midcast['Elemental Magic'] = {
            ammo="Hydrocera",
            head="Jumalik Helm",
            body="Carmine Scale Mail",
            hands="Odyssean Gauntlets",
            legs="Eschite Cuisses",
            feet="Ig. Sollerets +3",
            neck="Sanctity necklace",
            waist="Eschan Stone",
            left_ear="Hecate's Earring",
            right_ear="Friomisi Earring",
            left_ring="Locus Ring",
            right_ring="Mujin Band",
            back="Toro Cape",}
     
        sets.midcast['Enfeebling Magic'] = {
            ammo="Quartz Tathlum +1",
            head="Befouled Crown",
            body="Ignominy Cuirass +3",
            hands="Flamma Manopolas +1",
            legs="Flamma Dirs +1",
            feet="Ig. Sollerets +3",
            neck="Henic Torque",
            waist="Eschan Stone",
            left_ear="Hermetic Earring",
            right_ear="Gwati Earring",
            left_ring="Stikini Ring",
            right_ring="Stikini Ring",
            back="Chuparrosa Mantle",}
     
        sets.midcast.DarkMagic = {
            ammo="Hydrocera",
            head="Ig. Burgonet +3",
            body="Carmine Scale Mail",
            hands="Fallen's finger gauntlets +1",
            legs="Eschite cuisses",
            feet="Ratri Sollerets",
            neck="Erra Pendant",
            waist="Eschan Stone",
            left_ear="Hermetic Earring",
            right_ear="Gwati Earring",
            left_ring="Stikini Ring",
            right_ring="Evanescence Ring",
            back="Niht Mantle",}
             
        sets.midcast.Stun = set_combine(sets.midcast.DarkMagic, {
            body="",
            hands="",
            waist="",
            legs="",
            feet="",})
     
        sets.midcast.Absorb = set_combine(sets.midcast.DarkMagic, {
            back="Chuparrosa Mantle",})
     
        sets.midcast.Drain = {
            ammo="Hydrocera",
    		head="Fall. Burgeonet +1",
            neck="Erra Pendant",
            left_ear="Hirudinea Earring",
            right_ear="Gwati Earring",
            body="Carmine Scale Mail",
            hands="Fallen's finger gauntlets +1",
            left_ring="Stikini Ring",
            right_ring="Evanescence Ring",
            back="Niht Mantle",
            waist="Eschan Stone",
            legs="Eschite cuisses",
            feet="Ig. Sollerets +1"}
     
        sets.midcast.Aspir = set_combine(sets.midcast.Drain, {})
     
    -- Weaponskill sets
    -- FOR ANY WS NOT DEFINED WILL USE BELOW
    sets.precast.WS ={
            ammo="Knobkierrie",
            head="Argosy Celata +1",
            body="Ignominy Cuirass +3",
            hands="Argosy Mufflers +1",
            legs="Ignominy Flanchard +3",
            feet="Argosy Sollerets +1",
            neck="Fotia Gorget",
            waist="Fotia Belt",
            right_ear="Brutal Earring",
            left_ear="Cessance earring",
            left_ring="Niqmaddu Ring",
            right_ring="Regal ring",
            back=Ankou.DA}
             
    -------------------------------------------------------------- SCYTHE -----------------------------------------------------------------------
    -- Stat Modifier:   40% STR / 40% INT   fTP:    2.75
    --Relic Aftermath: 10% Equipment Haste (+102/1024) AG 10% Ability
        sets.precast.WS['Catastrophe'] = {
            ammo="Knobkierrie",
            head="Ratri Sallet",
            body="Ig. Cuirass +3",
            hands="Ratri Gadlings",
            legs="Ratri Cuisses",
            feet="Sulevia's Leggings +2",
            neck="Fotia Gorget",
            waist="Fotia Belt",
            right_ear="Brutal Earring",
            left_ear="Cessance earring",
            left_ring="Niqmaddu Ring",
            right_ring="Regal ring",
            back=Ankou.DA}
     
        sets.precast.WS['Catastrophe'].Acc = set_combine(sets.precast.WS['Catastrophe'], {
            head="",
            hands="",
            right_ear="",
            left_ring="",
            right_ring="",
            back="", })
     
    -- Delivers a two-hit attack. Damage varies with TP.
    -- Stat Modifier:   60% STR / 60% MND fTP:  2.0 4.0 7.0
        sets.precast.WS['Cross Reaper'] = {
            ammo="Knobkierrie",
            head="Ratri Sallet",
            body="Ig. Cuirass +3",
            hands="Ratri Gadlings",
            legs="Ratri Cuisses",
            feet="Sulevia's Leggings +2",
            neck="Fotia Gorget",
            waist="Fotia Belt",
            right_ear="Brutal Earring",
            left_ear="Cessance earring",
            left_ring="Niqmaddu Ring",
            right_ring="Regal Ring",
            back=Ankou.DA}
     
        sets.precast.WS['Cross Reaper'].Acc = set_combine(sets.precast.WS['Cross Reaper'], {
            right_ear="",
            left_ring="",})
     
    -- Delivers a triple damage attack that ignores target's defense. Amount ignored varies with TP.
    --Stat Modifier:    60% STR / 60% MND Defense ignored:  10% 30% 50% fTP:    3.0
        sets.precast.WS['Quietus'] = {
           ammo="Knobkierrie",
            head="Ratri Sallet",
            body="Ig. Cuirass +3",
            hands="Ratri Gadlings",
            legs="Ratri Cuisses",
            feet="Sulevia's Leggings +2",
            neck="Fotia Gorget",
            waist="Fotia Belt",
            right_ear="Brutal Earring",
            left_ear="Cessance earring",
            left_ring="Niqmaddu Ring",
            right_ring="Regal Ring",
            back=Ankou.DA}
     
        sets.precast.WS['Quietus'].Acc = set_combine(sets.precast.WS['Quietus'], {})
     
    -- Delivers a fourfold attack. Converts some of the damage into MP. Damage varies with TP.
    -- Stat Modifier:   73~85% INT fTP: 0.75    1.25    2.0
    -- This weaponskill has its fTP transferred across all hits, making Elemental 
    -- Gorgets and Elemental Belts excellent neck and waist gear options.
        sets.precast.WS['Entropy'] = {
            ammo="Knobkierrie",
            head="Ig. Burgonet +3",
            body="Ig. Cuirass +3",
            hands="Ig. Gauntlets +3",
            legs="Ig. Flanchard +3",
            feet="Sulevia's Leggings +2",
            neck="Fotia Gorget",
            waist="Fotia Belt",
            right_ear="Brutal Earring",
            left_ear="Cessance earring",
            left_ring="Shiva Ring",
            right_ring="Shiva ring",
            back=Ankou.DA}
     
        sets.precast.WS['Entropy'].Acc = set_combine(sets.precast.WS['Entropy'], {})
     
    --Delivers a fourfold attack. Damage varies with TP.
    -- Stat Modifier:   20% STR / 20% INT fTP:  0.5 3.25    6.0
        sets.precast.WS['Insurgency'] = {
            ammo="Knobkierrie",
            head="Ratri Sallet",
            body="Ig. Cuirass +3",
            hands="Argosy Mufflers +1",
            legs="Ig. Flanchard +3",
            feet="Argosy Sollerets +1",
            neck="Fotia Gorget",
            waist="Fotia Belt",
            right_ear="Brutal Earring",
            left_ear="Cessance earring",
            left_ring="Niqmaddu Ring",
            right_ring="Regal Ring",
            back=Ankou.DA}
     
        sets.precast.WS['Insurgency'].Acc = set_combine(sets.precast.WS['Insurgency'], {
            right_ear="",
            left_ring="",})
     
    -------------------------------------------------------------------- SWORD ---------------------------------------------------------------------------------
    -- Stat Modifier:   50% MND / 30% STR   fTP:    2.75
    -- dSTAT:   (pINT-mINT)*2
        sets.precast.WS['Sanguine Blade'] = {   
            ammo="Pemphredo Tathlum",
            head="Pixie Hairpin +1",
            body="Found. Breastplate",
            hands="Leyline gloves",
            legs="",
            feet="Founder's greaves",
            neck="Sanctity necklace",
            waist="Eschan Stone",
            left_ear="Hecate's Earring",
            right_ear="Friomisi Earring",
            left_ring="Ifrit Ring +1",
            right_ring="Ifrit ring +1",
            back=Ankou.WSDSTR}
     
    -- Delivers an aerial attack comprised of two hits. Damage varies with TP.
    -- Stat Modifier:   50% MND / 50% STR          fTP: 4.0 10.25   13.75
        sets.precast.WS['Savage Blade'] = {
            ammo="Amar Cluster",
            head="",
            body="",
            hands="",
            legs="",
            feet="Sulev. Leggings +1",
            neck="Fotia Gorget",
            waist="Prosilio Belt +1",
            right_ear="Brutal Earring",
            left_ear="Cessance earring",
            left_ring="Ifrit Ring +1",
            right_ring="Ifrit Ring +1",
            back=Ankou.WSDSTR}
             
    -- Delivers a fivefold attack, non-elemental damage. Attack power varies with TP.
    -- Stat Modifier:   73~85% MND
        sets.precast.WS['Requiescat'] = {
            ammo="Knobkierrie",
            head="Argosy Celata +1",
            body="Ignominy Cuirass +3",
            hands="Argosy Mufflers +1",
            legs="Ignominy Flanchard +3",
            feet="Argosy Sollerets +1",
            neck="Fotia Gorget",
            waist="Fotia Belt",
            right_ear="Brutal Earring",
            left_ear="Cessance earring",
            left_ring="Niqmaddu Ring",
            right_ring="Regal Ring",
            back=Ankou.DA}
     
    -- Delivers a fourfold attack. Chance of critical hit varies with TP.
    -- Stat Modifier:   60% STR fTP:    1.375
    -- This weaponskill has its fTP transferred across all hits, making Elemental Gorgets 
    -- and Elemental Belts excellent neck and waist gear options. 
        sets.precast.WS['Vorpal Blade'] = {
            ammo="Knobkierrie",
            head="Argosy Celata +1",
            body="Argosy Hauberk",
            hands="Argosy Mufflers +1",
            legs="Argosy Breeches",
            feet="Thereoid greaves",
            neck="Fotia Gorget",
            waist="Thunder Belt",
            left_ear="Cessance earring",
            right_ear="Telos earring",
            left_ring="Regal Ring",
            right_ring="Begrudging Ring",
            back=Ankou.DA}
     
    ----------------------------------------------------------------- GREAT SWORD ---------------------------------------------------------------------------
    -- Description: Deals triple damage. Damage varies with TP.
    -- Stat Modifier:   80% VIT fTP:    4.75    7.5 10
        sets.precast.WS['Torcleaver'] = {
            ammo="Knobkierrie",
            head="Sulevia's Mask +1",
            body="Ignominy Cuirass +3",
            hands="Sulevia's Gauntlets +1",
            legs="Ignominy Flanchard +3",
            feet="Sulev. Leggings +1",
            neck="Fotia Gorget",
            waist="Fotia belt",
            right_ear="Brutal Earring",
            left_ear="Cessance earring",
            right_ring="Regal Ring",
            left_ring="Niqmaddu Ring",
            back=Ankou.WSDVIT}
     
        sets.precast.WS['Torcleaver'].Acc = set_combine(sets.precast.WS['Torcleaver'], {
            ammo="Seething bomblet +1",
            hands="",
            left_ear="Cessance earring",
            right_ear="",})
     
    --Relic Aftermath: +5% Critical Hit Rate
    -- Stat Modifier:   40% STR / 40% VIT   fTP:    3.0
        sets.precast.WS['Scourge'] = {
           ammo="Knobkierrie",
            head="Sulevia's Mask +1",
            body="Ignominy Cuirass +3",
            hands="Sulevia's Gauntlets +1",
            legs="Ignominy Flanchard +3",
            feet="Sulev. Leggings +1",
            neck="Fotia Gorget",
            waist="Fotia belt",
            right_ear="Brutal Earring",
            left_ear="Cessance earring",
            right_ring="Regal Ring",
            left_ring="Niqmaddu Ring",
            back=Ankou.WSDVIT}
     
        sets.precast.WS['Scourge'].Acc = set_combine(sets.precast.WS['Scourge'], {
            head="",
            hands="",
            left_ear="",
            right_ear="",
            left_ring="",
            right_ring="",})
             
    --Description:  Delivers a fivefold attack. Damage varies with TP.
    --Stat Modifier:    73~85% STR fTP: 0.71875 1.5 2.25
    -- This weaponskill has its fTP transferred across all hits, making
    -- Elemental Gorgets and Elemental Belts excellent neck and waist gear options.
        sets.precast.WS['Resolution'] = {
            ammo="Knobkierrie",
            head="Argosy Celata +1",
            body="Ignominy Cuirass +3",
            hands="Argosy Mufflers +1",
            legs="Ignominy Flanchard +3",
            feet="Argosy Sollerets +1",
            neck="Fotia Gorget",
            waist="Fotia belt",
            right_ear="Brutal Earring",
            left_ear="Cessance earring",
            left_ring="Niqmaddu Ring",
            right_ring="Regal Ring",
            back=Ankou.DA}
     
        sets.precast.WS['Resolution'].Acc = set_combine(sets.precast.WS['Resolution'], {
            head="",
            hands="",
            left_ear="",
            right_ear="",
            left_ring="",
            right_ring="",
            back=Ankou.DA})
     
    -- Idle sets 
        sets.idle = {
            neck="Sanctity Necklace",
            ammo="Staunch Tathlum",
            ear1="Etiolation Earring",
            ear2="Infused Earring",
    		head="Valorous Mask",
            body="Sulevia's Platemail +2",
            hands="Sulevia's gauntlets +1",
            ring1="Defending Ring",
            ring2="Dark Ring",
            back="Repulse Mantle",
            waist="Flume Belt +1",
            legs={ name="Carmine Cuisses +1", augments={'HP+80','STR+12','INT+12',}},
            feet="Sulevia's Leggings +2"}
             
        sets.enmity = {
            neck="Sanctity necklace",
            ammo="Staunch Tathlum",
            ear1="Infused Earring",
            ear2="Genmei Earring",
            body="Lugra cloak +1",
            hands="Sulevia's gauntlets +1",
            ring1="Defending Ring",
            ring2="Shneddick Ring",
            back="Agema cape",
            waist="Flume belt",
            legs="Sulevia's cuisses +1",
            feet="Amm greaves"}
     
        sets.resting = set_combine(sets.idle, {})
         
    -- Defense sets
        sets.defense.PDT = {
            ammo="Staunch Tathlum",
            head="Sulevia's Mask +1",
            body="Sulevia's Plate. +2",
            hands="Sulev. Gauntlets +1",
            legs="Sulevi. Cuisses +1",
            feet="Sulevia's Leggings +2",
            neck="Loricate Torque",
            waist="Flume Belt +1",
            right_ear="Cessance Earring",
            left_ear="Brutal earring",
            left_ring="Defending Ring",
            right_ring="Dark Ring",
            back="Solemnity Cape",}
     
        sets.defense.Reraise = set_combine(sets.defense.PDT,{head="Twilight Helm",body="Twilight Mail",})
     
        sets.defense.MDT = set_combine(sets.defense.PDT,{
            right_ring="Fortified Ring",
    		neck="Warder's Charm +1",})
     
    -- Engaged sets
    -- rag with 20 stp on ws, need 57 stp on tp /sam for 5 hit
    -- 20 / 23 stp tp will give 6 hit
    -- 1112 acc 56 stp
        sets.engaged.Rag = {
            ammo="Ginsen",
            head="Argosy Celata +1",
            hands="Argosy Mufflers +1",
            legs={ name="Odyssean Cuisses", augments={'Accuracy+19 Attack+19','"Store TP"+6','AGI+10','Accuracy+15',}},
            feet="Flamma Gambieras +1",
            neck="Lissome necklace",
            body={ name="Valorous Mail", augments={'Accuracy+21 Attack+21','"Store TP"+5','VIT+2','Attack+13',}},
            waist="Ioskeha belt",
            right_ear="Brutal Earring",
            left_ear="Cessance earring",
            left_ring="Rajas Ring",
            right_ring="Petrov Ring",
            back=Ankou.ACC}
     
    --1163 acc 52 stp
        sets.engaged.RagMdef = set_combine(sets.engaged.Rag, {
            ammo="Seething Bomblet +1",
            head="Sulevia's Mask +1",
            body={ name="Valorous Mail", augments={'Accuracy+21 Attack+21','"Store TP"+5','VIT+2','Attack+13',}},
            hands="Sulevia's Gauntlets +1",
            legs={ name="Odyssean Cuisses", augments={'Accuracy+19 Attack+19','"Store TP"+6','AGI+10','Accuracy+15',}},
            feet="Flamma Gambieras +1",
            neck="Warder's Charm +1",
            waist="Ioskeha belt",
            left_ring="Fortified Ring",
            right_ring="Defending Ring",
    		right_ear="Etiolation Earring",
            left_ear="Cessance earring",
            back=Ankou.ACC})
     
    -- 4 hit if ws with 21 stp /sam requires 75 stp in tp gear, only 28stp if 5 hit w/ 21 on ws
    -- 16 / 77  14/78
    --currently have 78 stp 
        sets.engaged.Apoc = {
            ammo="Seething Bomblet +1",
            head="Argosy Celata +1",
            hands="Argosy Mufflers +1",
            legs={ name="Odyssean Cuisses", augments={'Accuracy+19 Attack+19','"Store TP"+6','AGI+10','Accuracy+15',}},
            feet="Flamma Gambieras +1",
            neck="Lissome necklace",
            body={ name="Valorous Mail", augments={'Accuracy+21 Attack+21','"Store TP"+5','VIT+2','Attack+13',}},
            waist="Ioskeha belt",
            right_ear="Brutal Earring",
            left_ear="Cessance earring",
            left_ring="Rajas Ring",
            right_ring="Petrov Ring",
            back=Ankou.ACC}
     
     
    --1196 acc (using rag) 31 stp
        sets.engaged.ApocACC = set_combine(sets.engaged.Apoc, {
            ammo="Seething Bomblet +1",
            head="Valorous Mask",
            body={ name="Valorous Mail", augments={'Accuracy+21 Attack+21','"Store TP"+5','VIT+2','Attack+13',}},
            hands="Emicho Gauntlets",
            legs={ name="Odyssean Cuisses", augments={'Accuracy+19 Attack+19','"Store TP"+6','AGI+10','Accuracy+15',}},
            feet="Flamma Gambieras +1",
            neck="Lissome Necklace",
            waist="Ioskeha belt",
            left_ring="Rajas Ring",
            right_ring="Petrov Ring",
            back=Ankou.ACC})
     
        sets.engaged.DW = {
            ammo="Ginsen",
            head="",
            hands="Sulev. Guantlets +1",
            legs="",
            feet="",
            neck="Lissome Necklace",
            body="Emicho haubert",
            waist="Ioskeha belt",
            right_ear="Suppanomimi",
            left_ear="Eabani earring",
            left_ring="Petrov Ring",
            right_ring="Rajas Ring",
            back=Ankou.ACC}
     
        sets.engaged.DWACC = set_combine(sets.engaged.DW, {
            ammo="Seething bomblet",
            head="",
            hands="Emicho Gauntlets",
            neck="Subtlety Spec.",
            back=Ankou.ACC})
    end
     
    -- Run after the default midcast() is done.
    -- eventArgs is the same one used in job_midcast, in case information needs to be persisted.
    function job_post_midcast(spell, action, spellMap, eventArgs)
        if spell.skill == 'Elemental Magic' then
            if spell.element == world.day_element or spell.element == world.weather_element then
                equip(sets.midcast['Elemental Magic'], {waist="Hachirin-no-Obi"})
            end
        end
        if S{"Torcleaver","Resolution","Catastrophe","Scourge","Cross Reaper"}:contains(spell.english) and (spell.element==world.day_element or spell.element==world.weather_element) then
            equip({head="Gavialis Helm"})
        end
        if S{"Drain","Drain II","Drain III", "Aspir", "Aspir II", "Aspir III"}:contains(spell.english) and (spell.element==world.day_element or spell.element==world.weather_element) then
            equip({waist="Hachirin-no-obi"})
        end
    end
     
    function job_post_precast(spell, action, spellMap, eventArgs)
        if spell.type == 'WeaponSkill' then
            if world.time >= 17*60 or world.time < 7*60 then -- Dusk to Dawn time.
                equip({ear1="Lugra Earring +1", ear2="Lugra Earring"})
            end
        end
        if spell.action_type=="Magic" and buffactive.Silence then
            eventArgs.cancel = true
            send_command('input /item "Echo Drops" <me>')
        end
        if spell.type=='WeaponSkill' then
            if moonshade_WS:contains(spell.english) and player.tp<2850 then
                equip({ear2="Moonshade Earring"})
            end
        end
    end
     
    -------------------------------------------------------------------------------------------------------------------
    -- Utility functions specific to this job.
    -------------------------------------------------------------------------------------------------------------------
    -- Called when a player gains or loses a buff.
    -- buff == buff gained or lost
    -- gain == true if the buff was gained, false if it was lost.
    function job_buff_change(buff, gain)
        if buff:lower()=='terror' or buff:lower()=='petrification' or buff:lower()=='sleep' or buff:lower()=='stun' then
            if gain then
                equip(sets.defense.PDT)
            elseif not gain then 
                handle_equipping_gear(player.status)
            end
        end
        if state.Buff[buff] ~= nil then
            state.Buff[buff] = gain
        end
        if buff:lower()=='sleep' then
            if gain and player.hp > 120 and player.status == "Engaged" then -- Equip Berserker's Torque When You Are Asleep
                equip({neck="Berserker's Torque"})
            elseif not gain then -- Take Berserker's off
                handle_equipping_gear(player.status)
            end
        end
            if buff:lower()=='Reive Mark' then
            if gain then 
                equip({neck="Adoulin's Refuge +1"}) disable('neck')
            else 
                enable('neck') 
            end
        end
    end
    
    function filtered_action(spell)
    	if spell.english == 'Torcleaver' then
    		if player.equipment.main == 'Apocalypse' then
    			cancel_spell()
    			send_command('input /ws "Catastrophe" <t>')
    		elseif  player.equipment.main == 'Anguta' then
    			cancel_spell()
    			send_command('input /ws "Entropy" <t>')
    		elseif player.equipment.main == 'Liberator' then
    			cancel_spell ()
    			send_command('input /ws "Insurgency" <t>')
    		end
    	end
    end
    
    function filtered_action(spell)
    	if spell.english == 'Resolution' then
    		if player.equipment.main == 'Apocalypse|Anguta|Liberator|Redemption' then
    			cancel_spell()
    			send_command('input /ws "Cross Reaper" <t>')
    		end
    	end
    end
    
    function filtered_action(spell)
    	if spell.english == 'Shockwave' then
    		if player.equipment.main == 'Apocalypse|Anguta|Liberator|Redemption' then
    			cancel_spell()
    			send_command('input /ws "Spinning Scythe" <t>')
    		end
    	end
    end
    
    ninjaTools = {
            Utsusemi = S{"Shihei",},--"Shikanofuda" 
            Hojo = S{"Kaginawa",},--"Chonofuda"
            Migawari = S{"Mokujin",},
            Kakka = S{"Ryuno",},
            Tonko = S{"Shinobi-tabi",},
            Kurayami = S{"Sairui-Ran",},
            Raiton = S{"Hiraishin",},
            Hyoton = S{"Tsurara",},
            Monomi = S{"Sanjaku",},
        }
      
    function job_precast(spell, action, spellMap, eventArgs)
        if spell.type=="Ninjutsu" then check_tools(spell) end
    end
    function check_tools(spell)
        for prefix,tools in pairs(ninjaTools) do
            if spell.english:startswith(prefix) then
                for tool in tools:it() do
                    if not player.inventory[tool] then
                        add_to_chat(100,'WARNING: You are out of '..tool..'.')
                    elseif player.inventory[tool].count < 10 then
                        add_to_chat(100,'WARNING: You are low on '..tool..'. '..player.inventory[tool].count..' remaining.')
                    end
                end
            end
        end
    end
     
    function customize_melee_set(meleeSet)
        if state.Buff.Sleep and player.hp > 120 and player.status == "Engaged" then -- Equip Berserker's Torque When You Are Asleep
            meleeSet = set_combine(meleeSet,{neck="Berserker's Torque"})
        end
        if state.Buff.Doom then
            meleeSet = set_combine(meleeSet, sets.buff.Doom)
        end
        return meleeSet
    end
     
    function customize_idle_set(idleSet)
        if state.Buff.Doom then
            idleSet = set_combine(idleSet, sets.buff.Doom)
        end
        if S{"Eastern Adoulin","Western Adoulin"}:contains(world.area) then
            idleSet = set_combine(idleSet,{body="Councilor's Garb", head="Jumalik helm"})
        end
        return idleSet
    end
     
    -- Select default macro book on initial load or subjob change.
    function select_default_macro_book()
    set_macro_page(2, 7)
    end


    Anyone got an idea what's wrong?

  5. #5965

    Quote Originally Posted by Balrahn View Post
    So I changed up that code dlsmd gave me a while back, and added it to my new DRK.lua, and it doesn't seem to work.
    ...

    Here's the entire lua, the code starts at line 685.
    ...

    Anyone got an idea what's wrong?
    you cant name multiple functions the same because the later ones just over-wright the former ones

    aka do it like this
    Code:
    function filtered_action(spell)
        if spell.english == 'Torcleaver' then
            if player.equipment.main == 'Apocalypse' then
                cancel_spell()
                send_command('input /ws "Catastrophe" <t>')
            elseif  player.equipment.main == 'Anguta' then
                cancel_spell()
                send_command('input /ws "Entropy" <t>')
            elseif player.equipment.main == 'Liberator' then
                cancel_spell ()
                send_command('input /ws "Insurgency" <t>')
            end
        elseif spell.english == 'Resolution' then
            if player.equipment.main == 'Apocalypse|Anguta|Liberator|Redemption' then
                cancel_spell()
                send_command('input /ws "Cross Reaper" <t>')
            end
        elseif spell.english == 'Shockwave' then
            if player.equipment.main == 'Apocalypse|Anguta|Liberator|Redemption' then
                cancel_spell()
                send_command('input /ws "Spinning Scythe" <t>')
            end
        end
    end

  6. #5966
    RIDE ARMOR
    Join Date
    Jun 2012
    Posts
    21
    BG Level
    1
    FFXI Server
    Asura

    Quote Originally Posted by dlsmd View Post
    you cant name multiple functions the same because the later ones just over-wright the former ones

    aka do it like this
    Code:
    function filtered_action(spell)
        if spell.english == 'Torcleaver' then
            if player.equipment.main == 'Apocalypse' then
                cancel_spell()
                send_command('input /ws "Catastrophe" <t>')
            elseif  player.equipment.main == 'Anguta' then
                cancel_spell()
                send_command('input /ws "Entropy" <t>')
            elseif player.equipment.main == 'Liberator' then
                cancel_spell ()
                send_command('input /ws "Insurgency" <t>')
            end
        elseif spell.english == 'Resolution' then
            if player.equipment.main == 'Apocalypse|Anguta|Liberator|Redemption' then
                cancel_spell()
                send_command('input /ws "Cross Reaper" <t>')
            end
        elseif spell.english == 'Shockwave' then
            if player.equipment.main == 'Apocalypse|Anguta|Liberator|Redemption' then
                cancel_spell()
                send_command('input /ws "Spinning Scythe" <t>')
            end
        end
    end
    Thank you, the first part works.
    Cross Reaper and Spinning Scythe isn't though.
    Any idea why?

  7. #5967
    RIDE ARMOR
    Join Date
    Jun 2012
    Posts
    21
    BG Level
    1
    FFXI Server
    Asura

    Seems to be the Apocalypse|Anguta|Liberator|Redemption
    Changed it to only Apocalypse and it works

  8. #5968
    RIDE ARMOR
    Join Date
    Jun 2012
    Posts
    21
    BG Level
    1
    FFXI Server
    Asura

    Ok works now, thanks for the help

    HTML Code:
    function filtered_action(spell)
        if spell.english == 'Torcleaver' then
            if player.equipment.main == 'Apocalypse' then
                cancel_spell()
                send_command('input /ws "Catastrophe" <t>')
            elseif  player.equipment.main == 'Anguta' then
                cancel_spell()
                send_command('input /ws "Entropy" <t>')
            elseif player.equipment.main == 'Liberator' then
                cancel_spell ()
                send_command('input /ws "Insurgency" <t>')
            end
        elseif spell.english == 'Resolution' then
            if player.equipment.main == 'Apocalypse' then
                cancel_spell()
                send_command('input /ws "Cross Reaper" <t>')
    		elseif  player.equipment.main == 'Anguta' then
                cancel_spell()
                send_command('input /ws "Cross Reaper" <t>')
            elseif player.equipment.main == 'Liberator' then
                cancel_spell ()
                send_command('input /ws "Cross Reaper" <t>')
            end
        elseif spell.english == 'Shockwave' then
            if player.equipment.main == 'Apocalypse' then
                cancel_spell()
                send_command('input /ws "Spinning Scythe" <t>')
    		elseif  player.equipment.main == 'Anguta' then
                cancel_spell()
                send_command('input /ws "Spinning Scythe" <t>')
            elseif player.equipment.main == 'Liberator' then
                cancel_spell ()
                send_command('input /ws "Spinning Scythe" <t>')
            end
        end
    end

  9. #5969

    Quote Originally Posted by Balrahn View Post
    Ok works now, thanks for the help

    ...
    sorry i missed it
    its because in lua and most programing languages you cant check for multiple things with ==, =<, =>, !=
    you have to do things like
    S{'Apocalypse','Anguta','Liberator','Redemption'}: contains(player.equipment.main)

  10. #5970
    Campaign
    Join Date
    Jul 2007
    Posts
    6,633
    BG Level
    8

    Is there a lua command/function that allows me to take the first "X" characters of a text variable?

    Let's say I have a variable "A" set to the "this is a text" value.
    I want a function that allows me to take the first, say, 4 characters of that value.
    Let's say this function is called "truncate".
    B = truncate(4,A)
    This would assign B the value "this" because those are the first 4 characters of the "A" variable.


    Is there something like this? If not how would I have to go to create a function performing such a task?

  11. #5971
    Radsourceful

    Join Date
    Jul 2007
    Posts
    1,964
    BG Level
    6
    FFXI Server
    Bismarck

    From http://lua-users.org/wiki/StringLibraryTutorial
    string.sub(s, i [, j])

    s:sub(i [,j])

    Return a substring of the string passed. The substring starts at i. If the third argument j is not given, the substring will end at the end of the string. If the third argument is given, the substring ends at and includes j.

    > = string.sub("Hello Lua user", 7) -- from character 7 including 7 until the end
    Lua user
    > = string.sub("Hello Lua user", 7, 9) -- from character 7 until and including 9
    Lua
    > = string.sub("Hello Lua user", -8) -- 8 from the end until the end
    Lua user
    > = string.sub("Hello Lua user", -8, 9) -- 8 from the end until 9 from the start
    Lua
    > = string.sub("Hello Lua user", -8, -6) -- 8 from the end until 6 from the end
    Lua
    For your case above, it'd be B = string.sub(A, 1, 4) or B = A:sub(1,4)

  12. #5972

    Quote Originally Posted by Sechs View Post
    Is there a lua command/function that allows me to take the first "X" characters of a text variable?

    Let's say I have a variable "A" set to the "this is a text" value.
    I want a function that allows me to take the first, say, 4 characters of that value.
    Let's say this function is called "truncate".
    B = truncate(4,A)
    This would assign B the value "this" because those are the first 4 characters of the "A" variable.


    Is there something like this? If not how would I have to go to create a function performing such a task?
    try these http://lua-users.org/wiki/StringLibraryTutorial
    but to just get the first 4 chars of a string it best to do something like this
    Code:
    A = "this is a text"
    
    B = string.sub(A, 1, 4)
    
    or
    
    B = A:sub(1, 4)
    
    -sometimes you cane only use one or the other
    here is a quick a dirty function the returns your shortened string using the string and the desired length
    Code:
    function SetStringLength(str,length)
        return string.sub(A, 1, 4)
    end
    
    --Example in use:
    B = SetStringLength(A,4)

  13. #5973
    Campaign
    Join Date
    Jul 2007
    Posts
    6,633
    BG Level
    8

    Will try those later, thanks guys!

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

    It works flawlessly! Thanks you two

  15. #5975

    Hi there! I've not (for the life of me) been able to get any auto presto functions to work. The current one that I use makes me just presto every time it's up. However, I would like to work in this way: Presto for Finishing Moves below 6 and when there are no Finishing moves.

    The following bits of code are what I've found on the interwebs and they pretty much do the same thing. They both -always- presto when it's up.

    https://pastebin.com/P9d8KyhS

    https://pastebin.com/psX4xGHH

    Any help would be appreciated! Thank you for your time!

  16. #5976

    Quote Originally Posted by Rikimarueye View Post
    Hi there! I've not (for the life of me) been able to get any auto presto functions to work. The current one that I use makes me just presto every time it's up. However, I would like to work in this way: Presto for Finishing Moves below 6 and when there are no Finishing moves.

    The following bits of code are what I've found on the interwebs and they pretty much do the same thing. They both -always- presto when it's up.

    https://pastebin.com/P9d8KyhS

    https://pastebin.com/psX4xGHH

    Any help would be appreciated! Thank you for your time!
    try this
    Code:
    --put this in pretarget
        fm_count = 0
        for i, v in pairs(buffactive) do
            if tostring(i):startswith('finishing move') or tostring(i):startswith('フィニシングムーブ') then
                fm_count = tonumber(string.match(i, '%d+')) or 1
            end
        end
        if spell.type == 'Step' and fm_count < 6 then
            prst_recst = windower.ffxi.get_ability_recasts()[236]
            if windower.ffxi.get_ability_recasts()[236] < 1 then
                cast_delay(1.1)
                send_command('input /ja "Presto" <me>')
            end
        end

  17. #5977

    Quote Originally Posted by dlsmd View Post
    try this
    Code:
    --put this in pretarget
        fm_count = 0
        for i, v in pairs(buffactive) do
            if tostring(i):startswith('finishing move') or tostring(i):startswith('フィニシングムーブ') then
                fm_count = tonumber(string.match(i, '%d+')) or 1
            end
        end
        if spell.type == 'Step' and fm_count < 6 then
            prst_recst = windower.ffxi.get_ability_recasts()[236]
            if windower.ffxi.get_ability_recasts()[236] < 1 then
                cast_delay(1.1)
                send_command('input /ja "Presto" <me>')
            end
        end

    It works! oooo eemm ggee! Thank you so much! Do you mind helping me understand how it functions and gets the desired result? :> I like to learn!

  18. #5978

    Quote Originally Posted by Rikimarueye View Post
    It works! oooo eemm ggee! Thank you so much! Do you mind helping me understand how it functions and gets the desired result? :> I like to learn!
    Code:
    fm_count = 0
    is the variable for how many finishing move that we want to build
    Code:
        for i, v in pairs(buffactive) do
            ---
            ---
            ---
        end
    pareses through the buffactive table to get the iterator[i] and the variable[v]
    Code:
            if tostring(i):startswith('finishing move') or tostring(i):startswith('フィニシングムーブ') then
                fm_count = tonumber(string.match(i, '%d+')) or 1
            end
    looks to see if any of the returned iterators[i] of the table contain 'finishing move' at the start
    if so it grabs the number from the iterators[i] putting it in the variable we want fm_count
    Code:
        if spell.type == 'Step' and fm_count < 6 then
            ---
            ---
            ---
        end
    checks to see if the spell.type is 'Step' if it is it looks at the number in fm_count to see if it is less then 6
    Code:
            if windower.ffxi.get_ability_recasts()[236] < 1 then
                cast_delay(1.1)
                send_command('input /ja "Presto" <me>')
            end
    checks to see if Presto's recast timer[236] is up if it is it delays the current step by 1.1 seconds and casts Presto before the step automatically gets used again

    i did make an error in my first post here it is fixed
    Code:
        local fm_count = 0
        for i, v in pairs(buffactive) do
            if tostring(i):startswith('finishing move') or tostring(i):startswith('フィニシングムーブ') then
                fm_count = tonumber(string.match(i, '%d+')) or 1
            end
        end
        if spell.type == 'Step' and fm_count < 6 then
            if windower.ffxi.get_ability_recasts()[236] < 1 then
                cast_delay(1.1)
                send_command('input /ja "Presto" <me>')
            end
        end
    the cool part of the above code is if SE ever adds more buffs for finishing moves it will still grab those as well
    -even if SE decides to rename "Finishing Move 1" to "Finishing Move" it will still work
    --the current names are Finishing Move 1/2/3/4/5/(6+)
    -it is also bilingual eng/jap

    the only issue that could arise is if SE changes the recast id for Presto or removes the number from all of the buff names

    here is more info on lua
    https://pastebin.com/GLdhjSuR
    https://pastebin.com/UGhM0PQc

  19. #5979

    Quote Originally Posted by dlsmd View Post
    A whole lot of awesome sauce
    Wow! Thank you so much for your explanation and guidance through the years to making my DNC better than before! :> You said you made a mistake in which you did not add local before fm_count? Is that because that variable is not defined anywhere else (outside the file)? It is located locally inside the file? I am still reading through your resource :> I see I have so much to learn.

  20. #5980

    Quote Originally Posted by Rikimarueye View Post
    Wow! Thank you so much for your explanation and guidance through the years to making my DNC better than before! :> You said you made a mistake in which you did not add local before fm_count? Is that because that variable is not defined anywhere else (outside the file)? It is located locally inside the file? I am still reading through your resource :> I see I have so much to learn.
    this line was in the original and it was not needed as well
    Code:
    prst_recst = windower.ffxi.get_ability_recasts()[236]
    you can also look hear to see my gearswap
    Include:https://github.com/smd111/Gearswap
    Skill-Up:https://github.com/smd111/Gearswap-Skillup

Similar Threads

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