Gearswap Support Thread

Language: JP EN DE FR
New Items
2023-11-19
users online
Forum » Windower » Support » Gearswap Support Thread
Gearswap Support Thread
First Page 2 3 ... 57 58 59 ... 181 182 183
 Cerberus.Conagh
Offline
Server: Cerberus
Game: FFXI
user: onagh
Posts: 3189
By Cerberus.Conagh 2015-03-17 16:07:02
Link | Quote | Reply
 
HI,

A friend of mine with teamviewer10 has an issue with gearswap, unfortunately the resolution from this is so bad it's hard to read.

Version: US
Windower Run as Admin: Yes
Error: Re Gearswap
Nature: Refresh.lua runtime error on line 647, which is appdata, has anyone else come across this?

I have deleted the entire Addons folder, and rebooted Windower, which then point blank refused to update the libs folder, it has then refused to update or repair Gearswap when I deleted the refresh file only.
I have File Transferred everything in my Windower Folder and it came up with the error, now as the files are identicle to mine, I can't see this not working, the issue is regarding :
Code
    local gearswap_data = windower.addon_path .. 'data/'
    local gearswap_appdata = os.getenv('APPDATA') .. '/Windower/GearSwap/'


Section of the Refresh Lua, it appears to be having an issue with this section.

Has anyone else encountered this issue lately and if so how did you get around it?

Quote:
Gearswap: Lua Runtime Error: . . .m Files (x86)/windower4//addons/gearswap/refresh.lua647: attempt to concatenate a nil value
 Cerberus.Reiden
Offline
Server: Cerberus
Game: FFXI
user: Reiden
Posts: 322
By Cerberus.Reiden 2015-03-18 17:33:44
Link | Quote | Reply
 
I was trying to change this rule into a whm one for barspells but couldn't get it to work. Is it possible?
 Odin.Quixacotl
Offline
Server: Odin
Game: FFXI
user: Quixacotl
Posts: 170
By Odin.Quixacotl 2015-03-19 18:55:15
Link | Quote | Reply
 
Cerberus.Reiden said: »
I was trying to change this rule into a whm one for barspells but couldn't get it to work. Is it possible?
Not sure exactly what you're asking but this code displays a message based on which Barspell is cast. I'm sure you can adjust it to whatever you want.
Code
function get_sets()
    define_barspell_message()
end

function aftercast(spell)
    if spell.skill == 'Enhancing Magic' and spell.name:startswith('Bar') and not spell.interrupted then
        display_barspell_info(spell)
    end
end

function define_barspell_message()
    barspells = {
        ["Barfira"]     = {info = "Barfira message here"},
        ["Barblizzara"] = {info = "Barblizzara message here"},
        ["Baraera"]     = {info = "Baraera message here"},
        ["Barstonra"]   = {info = "Barstonra message here"},
        ["Barthundra"]  = {info = "Barthundra message here"},
        ["Barwatera"]   = {info = "Barwatera message here"},
    }
end

function display_barspell_info(spell)
    barspell = barspells[spell.name]

    if barspell then
        add_to_chat(8, spell.name .. ' = ' .. barspell.info .. '.')
    end
end
[+]
 Siren.Scottyb
Offline
Server: Siren
Game: FFXI
user: scottyb
Posts: 170
By Siren.Scottyb 2015-03-22 11:27:07
Link | Quote | Reply
 
Hey just wanted to ask some advice real quick. Is it possible to make my thf lua always equip my th gear for the first hit on a mob? and only the first hit?

Also great job with the new addons and stuff the game is so much easier and more fun to play now you guys done some awesome work.

PS my thf lua is just the example modded with my gear
Offline
Posts: 25
By Echodiz 2015-03-22 12:19:12
Link | Quote | Reply
 
So, I'm having much trouble with my BLM lua because I'm extremely amateur. 2 major things:
1. Can't get my idle set to be what I want it to be; my dark rings never equip and I just keep whatever rings I already had on equipped

2. Not sure how to go about the elemental cast set; so it has a defined set of spells as classifying the lowertiernukes but then there's a casting set that defines higher tier casting - how does it know i'm casting higher tier if that hasn't been defined?

Would I use the normal set and treat that as the lower tier set and the hightiercasting set obviously for the higher tiers?




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


-- Setup vars that are user-independent.  state.Buff vars initialized here will automatically be tracked.
function job_setup()

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('None', 'Normal')
    state.CastingMode:options('Normal', 'Resistant', 'Proc')
    state.IdleMode:options('Normal', 'PDT')
    
    state.MagicBurst = M(false, 'Magic Burst')

    lowTierNukes = S{'Stone', 'Water', 'Aero', 'Fire', 'Blizzard', 'Thunder',
        'Stone II', 'Water II', 'Aero II', 'Fire II', 'Blizzard II', 'Thunder II',
        'Stone III', 'Water III', 'Aero III', 'Fire III', 'Blizzard III', 'Thunder III',
        'Stonega', 'Waterga', 'Aeroga', 'Firaga', 'Blizzaga', 'Thundaga',
        'Stonega II', 'Waterga II', 'Aeroga II', 'Firaga II', 'Blizzaga II', 'Thundaga II'}

    gear.macc_hagondes = {name="Hagondes Cuffs +1"}
    
    -- Additional local binds
    send_command('bind ^` input /ma Stun <t>')
    send_command('bind @` gs c activate MagicBurst')

    select_default_macro_book()
end

-- Called when this job file is unloaded (eg: job change)
function user_unload()
    send_command('unbind ^`')
    send_command('unbind @`')
end


-- Define sets and vars used by this job file.
function init_gear_sets()
    --------------------------------------
    -- Start defining the sets
    --------------------------------------
    
    ---- Precast Sets ----
    
    -- Precast sets to enhance JAs
    sets.precast.JA['Mana Wall'] = {feet="Goetia Sabots +2"}

    sets.precast.JA.Manafont = {body="Sorcerer's Coat +2"}
    
    -- equip to maximize HP (for Tarus) and minimize MP loss before using convert
    sets.precast.JA.Convert = {}


    -- Fast cast sets for spells

    sets.precast.FC = {
										main="Baqil staff",
										sub="Vivid strap",
										ammo="Impatiens",
										head="Nahtirah Hat",
										ear1="Enchanter earring +1",
										ear2="Loquacious Earring",
										body="Hagondes coat +1",
										ring1="Prolix Ring",
										ring2="Sangoma ring"
										back="Swith Cape +1",
										waist="Witful Belt",
										legs="Orvail Pants +1",
										feet="Chelona Boots +1"}

    sets.precast.FC['Enhancing Magic'] = set_combine(sets.precast.FC, {waist="Siegel Sash"})

    sets.precast.FC['Elemental Magic'] = set_combine(sets.precast.FC, {neck="Stoicheion Medal", body="Goetia coat +2", head="Goetia petasos +2"})

    sets.precast.FC.Cure = set_combine(sets.precast.FC, {body="Heka's Kalasiris", back="Pahtli Cape"})

    sets.precast.FC.Curaga = sets.precast.FC.Cure

    
    ---- Midcast Sets ----

    sets.midcast.FastRecast = {
										main="Baqil staff",
										sub="Vivid strap",
										head="Nahtirah Hat",
										ear1="Enchanter earring +1",
										ear2="Loquacious Earring",
										body="Hagondes coat +1",
										hands="Hagondes cuffs +1",
										ring1="Prolix Ring",
										back="Swith Cape +1",
										waist="Witful belt",
										legs="Hagondes Pants +1",
										feet="Hagondes Sabots +1"}

    sets.midcast.Cure = {
										main="Tamaxchi",
										sub="Sors shield",
										head="Nahtirah Hat",
										neck="Weike torque",
										ear1="Enchanter earring +1",
										ear2="Loquacious Earring",
										body="Heka's Kalasiris",
										hands="Bokwus Gloves",
										ring1="Sangoma ring",
										ring2="Haoma's ring",
										back="Swith cape +1",
										waist="Witful belt",
										legs="Hagondes Pants +1",
										feet="Hagondes Sabots +1"}

    sets.midcast.Curaga = sets.midcast.Cure

    sets.midcast['Enhancing Magic'] = {
										neck="Weike torque",
										body="Hyksos robe",
										hands="Hagondes cuffs +1",
										head="Umuthi hat",
										waist="Olympus sash",
										legs="Portent Pants"}
    
    sets.midcast.Stoneskin = set_combine(sets.midcast['Enhancing Magic'], {legs="Haven hose"}, {waist="Siegel Sash"})

    sets.midcast['Enfeebling Magic'] = {
										main="Baqil staff",
										sub="Mephitis Grip",
										ammo="Impatiens",
										head="Nahtirah Hat",
										neck="Weike Torque",
										ear1="Psystorm Earring",
										ear2="Lifestorm Earring",
										body="Vanir Cotehardie",
										hands="Yaoyotl Gloves",
										ring1="Strendu Ring",
										ring2="Sangoma Ring",
										back="Refraction Cape",
										legs="Bokwus Slops",
										feet="Bokwus Boots"}
        
    sets.midcast.ElementalEnfeeble = sets.midcast['Enfeebling Magic']

    sets.midcast['Dark Magic'] = {
										main="Lehbrailg +2",
										sub="Mephitis Grip",
										ammo="Sturm's Report",
										head="Nahtirah Hat",
										neck="Aesir Torque",
										ear1="Psystorm Earring",
										ear2="Lifestorm Earring",
										body="Vanir Cotehardie",
										hands="Yaoyotl Gloves",
										ring1="Strendu Ring",
										ring2="Sangoma Ring",
										back="Refraction Cape",
										waist="Goading Belt",
										legs="Bokwus Slops",
										feet="Bokwus Boots"}

    sets.midcast.Drain = {
										main="Baqil staff",
										sub="Mephitis Grip",
										ammo="Sturm's Report",
										head="Nahtirah Hat",
										neck="Aesir Torque",
										ear1="Psystorm Earring",
										ear2="Lifestorm Earring",
										body="Vanir Cotehardie",
										hands="Yaoyotl Gloves",
										ring1="Excelsis Ring",
										ring2="Sangoma Ring",
										back="Swith cape +1",
										waist="Fucho-no-Obi",
										legs="Orvail pants +1",
										feet="Goetia sabots +2"}
    
    sets.midcast.Aspir = sets.midcast.Drain

    sets.midcast.Stun = {
										main="Baqil staff"",
										sub="Mephitis Grip",
										ammo="Impatiens",
										head="Nahtirah Hat",
										neck="Weike Torque",
										ear1="Psystorm Earring",
										ear2="Lifestorm Earring",
										body="Hagondes Coat +1",
										hands="Hagondes cuffs +1",
										ring1="Globidonta ring",
										ring2="Sangoma Ring",
										back="Swith cape +1",
										waist="Yamabuki-no-obi",
										legs="Orvail pants +1",
										feet="Goetia sabots +2"}


    -- Elemental Magic sets
    --Default is for lower tier nukes--
    sets.midcast['Elemental Magic'] = {
										main="Baqil staff",
										sub="Mephitis Grip",
										ammo="Dosis Tathlum",
										head="Hagondes Hat +1",
										neck="Eddy Necklace",
										ear1="Hecate's Earring",
										ear2="Friomisi Earring",
										body="Hagondes Coat +1",
										hands="Yaoyotl Gloves",
										ring1="Strendu ring",
										ring2="Acumen Ring",
										back="Seshaw cape",
										waist="Sekhmet corset",
										legs="Hagondes Pants +1",
										feet="Hagondes Sabots +1"}

    sets.midcast['Elemental Magic'].Resistant = {
										main="Baqil staff",
										sub="Mephitis Grip",
										ammo="Dosis Tathlum",
										head="Hagondes Hat +1",
										neck="Eddy Necklace",
										ear1="Hecate's Earring",
										ear2="Friomisi Earring",
										body="Hagondes Coat +1",
										hands=gear.macc_hagondes,
										ring1="Strendu ring",
										ring2="Prolix ring",
										back="Seshaw cape",
										waist=gear.ElementalObi,
										legs="Hagondes Pants +1",
										feet="Bokwus Boots"}

    sets.midcast['Elemental Magic'].HighTierNuke = set_combine(sets.midcast['Elemental Magic'],

										main="Baqil staff",
										sub="Mephitis Grip",
										ammo="Impatiens",
										head="Hagondes Hat +1",
										neck="Eddy Necklace",
										ear1="Hecate's Earring",
										ear2="Friomisi Earring",
										body="Hagondes Coat +1",
										hands="Yaoyotl Gloves",
										ring1="Strendu ring",
										ring2="Prolix ring",
										back="Seshaw cape",
										waist="Yamabuki-no-obi",
										legs="Hagondes Pants +1",
										feet="Hagondes Sabots +1"})
										
    sets.midcast['Elemental Magic'].HighTierNuke.Resistant = set_combine(sets.midcast['Elemental Magic'], {sub="Wizzan Grip"})


    -- Minimal damage gear for procs.
    sets.midcast['Elemental Magic'].Proc = {
										main="Earth Staff",
										sub="Mephitis Grip",
										ammo="Impatiens",
										head="Nahtirah Hat",
										neck="Twilight Torque",
										ear1="Bloodgem Earring",
										ear2="Loquacious Earring",
										body="Hagondes Coat +1",
										hands="Serpentes Cuffs",
										ring1="Dark Ring",
										ring2="Dark Ring",
										back="Swith Cape +1",
										waist="Witful Belt",
										legs="Hagondes pants +1",
										feet="Chelona Boots +1"}


    
    -- Sets to return to when not performing an action.
    
    -- Resting sets
    sets.resting = {
										main="Bolelabunga",
										sub="Sors shield",
										ammo="Impatiens",
										head="Hagondes Hat +1",
										neck="Twilight Torque",
										ear1="Lifestorm earring",
										ear2="Psystorm earring",
										body="Hagondes coat +1",
										hands="Serpentes Cuffs",
										ring1="Dark Ring",
										ring2="Dark Ring",
										back="Iximulew cape",
										waist="Fucho-no-Obi",
										legs="Hagondes pants +1",
										feet="Herald's Gaiters"}
    

    -- Idle sets
    
    -- Normal refresh idle set
    sets.idle = {
										main="Bolelabunga",
										sub="Sors shield",
										ammo="Impatiens",
										head="Hagondes Hat +1",
										neck="Twilight Torque",
										ear1="Lifestorm earring",
										ear2="Psystorm earring",
										body="Hagondes coat +1",
										hands="Serpentes Cuffs",
										ring1="Dark Ring",
										ring2="Dark Ring",
										back="Iximulew cape",
										waist="Fucho-no-Obi",
										legs="Hagondes pants +1",
										feet="Herald's Gaiters"}

    -- Idle mode that keeps PDT gear on, but doesn't prevent normal gear swaps for precast/etc.
    sets.idle.PDT = {
										main="Bolelabunga",
										sub="Sors shield",
										ammo="Impatiens",
										head="Hagondes Hat +1",
										neck="Twilight Torque",
										ear1="Lifestorm earring",
										ear2="Psystorm earring",
										body="Hagondes coat +1",
										hands="Serpentes Cuffs",
										ring1="Dark Ring",
										ring2="Dark Ring",
										back="Iximulew cape",
										waist="Fucho-no-Obi",
										legs="Hagondes pants +1",
										feet="Herald's Gaiters"}

    -- Idle mode scopes:
    -- Idle mode when weak.
    sets.idle.Weak = {main="Bolelabunga",sub="Genbu's Shield",ammo="Impatiens",
        head="Hagondes Hat",neck="Twilight Torque",ear1="Bloodgem Earring",ear2="Loquacious Earring",
        body="Hagondes Coat",hands="Yaoyotl Gloves",ring1="Defending Ring",ring2="Paguroidea Ring",
        back="Umbra Cape",waist="Hierarch Belt",legs="Nares Trews",feet="Hagondes Sabots"}
    
    -- Town gear.
    sets.idle.Town = {main="Baqil staff", sub="Mephitis grip",ammo="Impatiens",
        head="Hagondes Hat +1",neck="Eddy Necklace",ear1="Bloodgem Earring",ear2="Loquacious Earring",
        body="Hagondes Coat +1",hands="Hagondes Cuffs +1",ring1="Dark Ring", ring2="Dark Ring",
        back="Seshaw cape",,waist="Fucho-no-Obi",legs="Hagondes Pants +1",feet="Herald's Gaiters"}
        
    -- Defense sets

    sets.defense.PDT = {				
										main="Bolelabunga",
										sub="Sors shield",
										ammo="Impatiens",
										head="Hagondes Hat +1",
										neck="Twilight Torque",
										ear1="Lifestorm earring",
										ear2="Psystorm earring",
										body="Hagondes coat +1",
										hands="Serpentes Cuffs",
										ring1="Dark Ring",
										ring2="Dark Ring",
										back="Iximulew cape",
										waist="Fucho-no-Obi",
										legs="Hagondes pants +1",
										feet="Herald's Gaiters}

    sets.defense.MDT = {ammo="Demonry Stone",
        head="Nahtirah Hat",neck="Twilight Torque",
        body="Vanir Cotehardie",hands="Yaoyotl Gloves",ring1="Defending Ring",ring2="Shadow Ring",
        back="Tuilha Cape",waist="Hierarch Belt",legs="Bokwus Slops",feet="Hagondes Sabots"}

    sets.Kiting = {feet="Herald's Gaiters"}

    sets.latent_refresh = {waist="Fucho-no-obi"}

    -- Buff sets: Gear that needs to be worn to actively enhance a current player buff.
    
    sets.buff['Mana Wall'] = {feet="Goetia Sabots +2"}

    sets.magic_burst = {neck="Mizukage-no-Kubikazari"}
	
	    sets.midcast.BardSong = {main="Lehbrailg +2",sub="Mephitis Grip",ammo="Sturm's Report",
        head="Nahtirah Hat",neck="Weike Torque",ear1="Psystorm Earring",ear2="Lifestorm Earring",
        body="Vanir Cotehardie",hands="Yaoyotl Gloves",ring1="Strendu Ring",ring2="Sangoma Ring",
        back="Refraction Cape",legs="Bokwus Slops",feet="Bokwus Boots"}

    -- Engaged sets

    -- Variations for TP weapon and (optional) offense/defense modes.  Code will fall back on previous
    -- sets if more refined versions aren't defined.
    -- If you create a set with both offense and defense modes, the offense mode should be first.
    -- EG: sets.engaged.Dagger.Accuracy.Evasion
	
	 -- Weaponskill sets
    -- Default set for any weaponskill that isn't any more specifically defined
    sets.precast.WS = {
										head="Hagondes Hat",
										neck="Asperity Necklace",
										ear1="Bladeborn Earring",
										ear2="Steelflash Earring",
										body="Hagondes Coat +1",
										hands="Yaoyotl Gloves",
										ring1="Rajas Ring",
										ring2="Icesoul Ring",
										back="Refraction Cape",
										waist="Cognition Belt",
										legs="Hagondes Pants +1",
										feet="Hagondes Sabots +1"}
	
	-- Specific weaponskill sets.  Uses the base set if an appropriate WSMod version isn't found.
    sets.precast.WS['Vidohunir'] = {ammo="Dosis Tathlum",
        head="Hagondes Hat",neck="Eddy Necklace",ear1="Friomisi Earring",ear2="Hecate's Earring",
        body="Hagondes Coat",hands="Yaoyotl Gloves",ring1="Icesoul Ring",ring2="Acumen Ring",
        back="Toro Cape",waist="Thunder Belt",legs="Hagondes Pants",feet="Hagondes Sabots"}
    
    -- Normal melee group
    sets.engaged = {
        head="Zelus Tiara",neck="Asperity Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
        body="Hagondes Coat",hands="Bokwus Gloves",ring1="Rajas Ring",ring2="K'ayres Ring",
        back="Umbra Cape",waist="Goading Belt",legs="Hagondes Pants",feet="Hagondes Sabots"}
end

-------------------------------------------------------------------------------------------------------------------
-- Job-specific hooks for standard casting events.
-------------------------------------------------------------------------------------------------------------------

-- Set eventArgs.handled to true if we don't want any automatic gear equipping to be done.
-- Set eventArgs.useMidcastGear to true if we want midcast gear equipped on precast.
function job_precast(spell, action, spellMap, eventArgs)
    if spellMap == 'Cure' or spellMap == 'Curaga' then
        gear.default.obi_waist = "Goading Belt"
    elseif spell.skill == 'Elemental Magic' then
        gear.default.obi_waist = "Sekhmet Corset"
        if state.CastingMode.value == 'Proc' then
            classes.CustomClass = 'Proc'
        end
    end
end


-- Set eventArgs.handled to true if we don't want any automatic gear equipping to be done.
function job_midcast(spell, action, spellMap, eventArgs)

end

function job_post_midcast(spell, action, spellMap, eventArgs)
    if spell.skill == 'Elemental Magic' and state.MagicBurst.value then
        equip(sets.magic_burst)
    end
end

function job_aftercast(spell, action, spellMap, eventArgs)
    -- Lock feet after using Mana Wall.
    if not spell.interrupted then
        if spell.english == 'Mana Wall' then
            enable('feet')
            equip(sets.buff['Mana Wall'])
            disable('feet')
        elseif spell.skill == 'Elemental Magic' then
            state.MagicBurst:reset()
        end
    end
end

-------------------------------------------------------------------------------------------------------------------
-- Job-specific hooks for non-casting events.
-------------------------------------------------------------------------------------------------------------------

-- 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)
    -- Unlock feet when Mana Wall buff is lost.
    if buff == "Mana Wall" and not gain then
        enable('feet')
        handle_equipping_gear(player.status)
    end
end

-- Handle notifications of general user state change.
function job_state_change(stateField, newValue, oldValue)
    if stateField == 'Offense Mode' then
        if newValue == 'Normal' then
            disable('main','sub','range')
        else
            enable('main','sub','range')
        end
    end
end


-------------------------------------------------------------------------------------------------------------------
-- User code that supplements standard library decisions.
-------------------------------------------------------------------------------------------------------------------

-- Custom spell mapping.
function job_get_spell_map(spell, default_spell_map)
    if spell.skill == 'Elemental Magic' and default_spell_map ~= 'ElementalEnfeeble' then
        --[[ No real need to differentiate with current gear.
        if lowTierNukes:contains(spell.english) then
            return 'LowTierNuke'
        else
            return 'HighTierNuke'
        end
        --]]
    end
end

-- Modify the default idle set after it was constructed.
function customize_idle_set(idleSet)
    if player.mpp < 51 then
        idleSet = set_combine(idleSet, sets.latent_refresh)
    end
    
    return idleSet
end


-- Function to display the current relevant user state when doing an update.
function display_current_job_state(eventArgs)
    display_current_caster_state()
    eventArgs.handled = true
end

-------------------------------------------------------------------------------------------------------------------
-- Utility functions specific to this job.
-------------------------------------------------------------------------------------------------------------------

-- Select default macro book on initial load or subjob change.
function select_default_macro_book()
    set_macro_page(2, 15)
end
 Cerberus.Reiden
Offline
Server: Cerberus
Game: FFXI
user: Reiden
Posts: 322
By Cerberus.Reiden 2015-03-22 13:26:49
Link | Quote | Reply
 
Odin.Quixacotl said: »
Cerberus.Reiden said: »
I was trying to change this rule into a whm one for barspells but couldn't get it to work. Is it possible?
Not sure exactly what you're asking but this code displays a message based on which Barspell is cast. I'm sure you can adjust it to whatever you want.
Code
function get_sets()
    define_barspell_message()
end

function aftercast(spell)
    if spell.skill == 'Enhancing Magic' and spell.name:startswith('Bar') and not spell.interrupted then
        display_barspell_info(spell)
    end
end

function define_barspell_message()
    barspells = {
        ["Barfira"]     = {info = "Barfira message here"},
        ["Barblizzara"] = {info = "Barblizzara message here"},
        ["Baraera"]     = {info = "Baraera message here"},
        ["Barstonra"]   = {info = "Barstonra message here"},
        ["Barthundra"]  = {info = "Barthundra message here"},
        ["Barwatera"]   = {info = "Barwatera message here"},
    }
end

function display_barspell_info(spell)
    barspell = barspells[spell.name]

    if barspell then
        add_to_chat(8, spell.name .. ' = ' .. barspell.info .. '.')
    end
end

Thank You
 Odin.Quixacotl
Offline
Server: Odin
Game: FFXI
user: Quixacotl
Posts: 170
By Odin.Quixacotl 2015-03-22 15:28:08
Link | Quote | Reply
 
Siren.Scottyb said: »
Hey just wanted to ask some advice real quick. Is it possible to make my thf lua always equip my th gear for the first hit on a mob? and only the first hit?

Also great job with the new addons and stuff the game is so much easier and more fun to play now you guys done some awesome work.

PS my thf lua is just the example modded with my gear
It is possible yes.

In fact, if you're using Motes/Kinematics then he already has this feature built-in via Mote-TreasureHunter.lua. When you are in some TH mode, TH_for_first_hit() allows you to lock TH gear until you hit something (aka 'tag' mode). Then you go back to whatever engaged mode you are in ie. DD, Acc, evasion... or stay in TH mode fulltime.

If you're using non-Motes and want to copy his idea then you'll have an uneasy and time-consuming task of tracing, copying and then adjusting over 200 lines of code from several different Mote's includes-files just to get it to work.
 Odin.Quixacotl
Offline
Server: Odin
Game: FFXI
user: Quixacotl
Posts: 170
By Odin.Quixacotl 2015-03-22 16:18:49
Link | Quote | Reply
 
Echodiz said: »
So, I'm having much trouble with my BLM lua because I'm extremely amateur. 2 major things:
1. Can't get my idle set to be what I want it to be; my dark rings never equip and I just keep whatever rings I already had on equipped

2. Not sure how to go about the elemental cast set; so it has a defined set of spells as classifying the lowertiernukes but then there's a casting set that defines higher tier casting - how does it know i'm casting higher tier if that hasn't been defined?

Would I use the normal set and treat that as the lower tier set and the hightiercasting set obviously for the higher tiers?
1. Equip your Dark rings and type //gs export. Look in your export folder, copy the stats and paste it in your lua like this (example only - your stats will be different).
Code
function user_setup()
    -- Augmented items. --
    gear.DarkRing1 = {name="Dark Ring",augments={'Magic dmg. taken -3%','Spell interruption rate down -5%','Phys. dmg. taken -6%'}}
    gear.DarkRing2 = {name="Dark Ring", augments={'Magic dmg. taken -6%','Breath dmg. taken -5%'}}
end

sets.idle = {ring1=gear.DarkRing1, ring2=gear.DarkRing2,} -- notice no "".
sets.resting = {ring1=gear.DarkRing1, ring2=gear.DarkRing2,} -- notice no "".

2. The difference between low and high-tier nukes are +magic damage for low-tier and +INT and MAB for high-tier nukes, which is as should be.

Is one set not equipping? You can use //gs showswaps to tell.
Offline
By ClaudeusXI 2015-03-23 05:13:47
Link | Quote | Reply
 
Hello. I'm having issues with gearswap for my DRG. It does no longer equip my AM3 sets while under effect of AM3. Is someone else experiencing this?

I can't for the life of me understand what's the matter with it. It's based on bokura's DRG.lua:

EDIT: Nvm, found the issue. Finally!
 Ragnarok.Martel
Offline
Server: Ragnarok
Game: FFXI
Posts: 2908
By Ragnarok.Martel 2015-03-23 05:26:50
Link | Quote | Reply
 
I don't even see an AM3 TP rule in that lua. The only AM3 related things I saw were timers related. You do any editing lately? Cause if there was one before, It's not there now.

Anyway, the rule would be basically identical to the Ionis rule in status_change. Cept about AM3. like so.
Code
if buffactive["Aftermath: Lv.3"] and equipSet["AM3"] then
	equipSet = equipSet["AM3"]
end

This needs to be inserted between lines 660 and 661 in order to match your specific set structure.
Offline
By ClaudeusXI 2015-03-23 06:23:45
Link | Quote | Reply
 
Ragnarok.Martel said: »
I don't even see an AM3 TP rule in that lua. The only AM3 related things I saw were timers related. You do any editing lately? Cause if there was one before, It's not there now.

Anyway, the rule would be basically identical to the Ionis rule in status_change. Cept about AM3. like so.
Code
if buffactive["Aftermath: Lv.3"] and equipSet["AM3"] then
	equipSet = equipSet["AM3"]
end

This needs to be inserted between lines 660 and 661 in order to match your specific set structure.

Thanks for replying, I figured it out shortly after posting.
 Siren.Scottyb
Offline
Server: Siren
Game: FFXI
user: scottyb
Posts: 170
By Siren.Scottyb 2015-03-23 16:35:12
Link | Quote | Reply
 
Odin.Quixacotl said: »
Siren.Scottyb said: »
Hey just wanted to ask some advice real quick. Is it possible to make my thf lua always equip my th gear for the first hit on a mob? and only the first hit?

Also great job with the new addons and stuff the game is so much easier and more fun to play now you guys done some awesome work.

PS my thf lua is just the example modded with my gear
It is possible yes.

In fact, if you're using Motes/Kinematics then he already has this feature built-in via Mote-TreasureHunter.lua. When you are in some TH mode, TH_for_first_hit() allows you to lock TH gear until you hit something (aka 'tag' mode). Then you go back to whatever engaged mode you are in ie. DD, Acc, evasion... or stay in TH mode fulltime.

If you're using non-Motes and want to copy his idea then you'll have an uneasy and time-consuming task of tracing, copying and then adjusting over 200 lines of code from several different Mote's includes-files just to get it to work.

Sorry to be a pain, Ive switched my thief lua to kinematics with my own gear, and now I just want to ask exactly what I type to set TH to tag mode.

thanks in advance
 Odin.Quixacotl
Offline
Server: Odin
Game: FFXI
user: Quixacotl
Posts: 170
By Odin.Quixacotl 2015-03-23 23:24:24
Link | Quote | Reply
 
For Kinematics, there are 3 ways to cycle TH modes:
1. Hotkey - Ctrl-=
2. You can type, //gs c cycle treasuremode
or
3. /console gs c cycle treasuremode for macros.

Treasure hunter mode options:
1. None (default) - Will never equip TH gear
2. Tag - Will equip TH gear sufficient for initial contact with a mob (either melee, ranged attack (or pull), or Aeolian Edge AOE)
3. SATA - Will equip TH gear sufficient for initial contact with a mob, and when using SATA
4. Fulltime - Will keep TH gear equipped fulltime

Other commands you should know:
F9 cycles Offense modes (Normal or Acc)
F10 turns on PDT mode
F11 turns on MDT mode
F12 displays your current status and updates your gear.
 Siren.Scottyb
Offline
Server: Siren
Game: FFXI
user: scottyb
Posts: 170
By Siren.Scottyb 2015-03-24 09:33:39
Link | Quote | Reply
 
Odin.Quixacotl said: »
For Kinematics, there are 3 ways to cycle TH modes:
1. Hotkey - Ctrl-=
2. You can type, //gs c cycle treasuremode
or
3. /console gs c cycle treasuremode for macros.

Treasure hunter mode options:
1. None (default) - Will never equip TH gear
2. Tag - Will equip TH gear sufficient for initial contact with a mob (either melee, ranged attack (or pull), or Aeolian Edge AOE)
3. SATA - Will equip TH gear sufficient for initial contact with a mob, and when using SATA
4. Fulltime - Will keep TH gear equipped fulltime

Other commands you should know:
F9 cycles Offense modes (Normal or Acc)
F10 turns on PDT mode
F11 turns on MDT mode
F12 displays your current status and updates your gear.

Thanks, I think my problem yesterday was that I don't have the proper files saved in the proper place. I read a nice guide (for dummies) and will see if changing all that up lets me do what I want, unfortunately I have to wait until after work.
 Cerberus.Kvazz
Offline
Server: Cerberus
Game: FFXI
user: kvazz
Posts: 5345
By Cerberus.Kvazz 2015-03-24 09:57:15
Link | Quote | Reply
 
OK so, I have never used gearswap before, but it seems better than spellcast, so I want\need to start using this.
Any recommended DRK file with rules for different weapons\AM rules etc?
Anything I should know about differences from spellcast? I noticed //commands does not work?
 Odin.Quixacotl
Offline
Server: Odin
Game: FFXI
user: Quixacotl
Posts: 170
By Odin.Quixacotl 2015-03-24 12:00:05
Link | Quote | Reply
 
Cerberus.Kvazz said: »
OK so, I have never used gearswap before, but it seems better than spellcast, so I want\need to start using this.
Any recommended DRK file with rules for different weapons\AM rules etc?
Anything I should know about differences from spellcast? I noticed //commands does not work?
Here is probably the most comprehensive tutorial for Gearswap to date: http://www.ffxiah.com/node/145.

Shortcut commands do work such as //cure3, //fire3, etc. but custom GS commands (dependent on the lua author) are handled with the syntax,
//gs c <command>
or
/console gs c <command> for macros.

If you wish, you can also create custom hotkeys for said commands.

When it comes to lua examples and AM rules in particular, then people seem to gravitate to either Kinematics/Motes or Bokura's luas. Both are fairly up to date and each has it's own style.

Although he doesn't have a DRK.lua example, Kinematics seems to be the most popular and for some very good reasons. I posted instructions how to get started with Kinematic's here.
[+]
 Valefor.Caivian
Offline
Server: Valefor
Game: FFXI
user: Caivian
Posts: 21
By Valefor.Caivian 2015-03-24 12:06:32
Link | Quote | Reply
 
Cerberus.Kvazz said: »
OK so, I have never used gearswap before, but it seems better than spellcast, so I want\need to start using this.
Any recommended DRK file with rules for different weapons\AM rules etc?
Anything I should know about differences from spellcast? I noticed //commands does not work?

This seems to have AM rules: DRK Lua

Link found at bluegartr's gearswap shop thread. I've not looked through this one very much other than verifying am rules exist. The file does utilize Mote-Include.lua which adds some key binds when it loads the gearswap file. These work as explained two posts above yours.

As far as differences from spellcast, gearswap can handle instant cast from quickens/quick magic. It injects packets instead of sending /equip commmands to the game which makes things much faster than spellcast. By also watching packets, it knows when you finish casting no matter how much fastcast/addle you have and does not require midcast time modifications.

For // commands, there is an addon called "shortcuts" which emulates the command completion of spellcast.
[+]
 Ragnarok.Martel
Offline
Server: Ragnarok
Game: FFXI
Posts: 2908
By Ragnarok.Martel 2015-03-24 12:20:29
Link | Quote | Reply
 
Odin.Quixacotl said: »
Shortcut commands do work such as //fire3 etc.
These are a function of the shortcuts addon, not gearswap.

Spellcast's functionality was broken up into 3 addons.

Gearswap, of course, handles gear changing, etc.

Shortcuts does, naturally, shortcuts, but also default targeting solutions and some other related things.

Then inforeplacer replaces variables in chat with their values. Like doing %target_hpp would return the targets hp percentage, etc.
[+]
 Odin.Quixacotl
Offline
Server: Odin
Game: FFXI
user: Quixacotl
Posts: 170
By Odin.Quixacotl 2015-03-24 12:47:22
Link | Quote | Reply
 
Ah right I stand corrected.
 Siren.Scottyb
Offline
Server: Siren
Game: FFXI
user: scottyb
Posts: 170
By Siren.Scottyb 2015-03-24 16:01:45
Link | Quote | Reply
 
Sorry guys more questions.... So I got my treasure hunter working now which is nice thanks for the advice, but now when I press F11 it tells me my def mode is MDT, however I used to use F11 to set my background/lighting so that tabbed targets were more obvious. Therefore is there a way I can still do this or change it to a different key?
 Odin.Quixacotl
Offline
Server: Odin
Game: FFXI
user: Quixacotl
Posts: 170
By Odin.Quixacotl 2015-03-24 17:30:22
Link | Quote | Reply
 
Siren.Scottyb said: »
Sorry guys more questions.... So I got my treasure hunter working now which is nice thanks for the advice, but now when I press F11 it tells me my def mode is MDT, however I used to use F11 to set my background/lighting so that tabbed targets were more obvious. Therefore is there a way I can still do this or change it to a different key?
You can override the default and add your own customized keybinds and rules by following this example:
Code
function user_setup()
    state.OffenseMode:options('Normal', 'Acc')
    state.HybridMode:options('Normal', 'Evasion', 'PDT')
    state.RangedMode:options('Normal', 'Acc')
    state.WeaponskillMode:options('Normal', 'Acc')
    state.PhysicalDefenseMode:options('Evasion', 'PDT')

    -- Additional local binds
    send_command('bind delete gs c cycle treasuremode')
    send_command('bind ^` input /ja "Flee" <me>')
    send_command('bind ^= gs c cycle treasuremode')
    send_command('bind !- gs c cycle targetmode')

    -- Custom Keybinds
    send_command('bind f10 gs c tp') -- GS command example
    send_command('bind f11 showfps 1') -- Windower command example
    send_command('bind f12 showfps 0') -- Windower command example
    send_command('bind ^f12 input /fish') -- Windower command example

    select_default_macro_book()
end

-- Called when this job file is unloaded (eg: job change)
function user_unload()
    send_command('unbind ^`')
    send_command('unbind !-')
    send_command('unbind ^=')
    send_command('unbind f10')
    send_command('unbind f11')
    send_command('unbind f12')
    send_command('unbind ^f12')
end

-- Called for custom player commands.
function job_self_command(cmdParams, eventArgs)
    if cmdParams[1]:lower() == 'tp' then
        add_to_chat(8,'My TP is: [' .. tostring(player.tp) .. ']') -- example rule triggered by hitting F10.
    end
end
 Valefor.Caivian
Offline
Server: Valefor
Game: FFXI
user: Caivian
Posts: 21
By Valefor.Caivian 2015-03-24 17:42:39
Link | Quote | Reply
 
A way to more permanently not have to worry with bind issues with keys you are currently used to like F11, or F12 for fps is to find the file "Mote-Globals.lua". This file will be in Gearswap\Libs instead of Gearswap\Data. You will want to make a copy of the file with the name <User>-Globals.lua or <CharacterName>-Globals.lua.

Inside this file, you can change any of the global variables that any of Motenten's Gearswap files used. It will load his Mote-Globals and then load your <CharacterName>-Globals file after, allowing you to overwrite what was loaded in his file.

You will specifically want to look at this section and make any necessary changes as these are all of the default keybinds he used:
Code
function global_on_load()
    send_command('bind f9 gs c cycle OffenseMode')
    send_command('bind ^f9 gs c cycle HybridMode')
    send_command('bind !f9 gs c cycle RangedMode')
    send_command('bind @f9 gs c cycle WeaponskillMode')
    send_command('bind f10 gs c set DefenseMode Physical')
    send_command('bind ^f10 gs c cycle PhysicalDefenseMode')
    send_command('bind !f10 gs c toggle Kiting')
    send_command('bind f11 gs c set DefenseMode Magical')
    send_command('bind ^f11 gs c cycle CastingMode')
    send_command('bind f12 gs c update user')
    send_command('bind ^f12 gs c cycle IdleMode')
    send_command('bind !f12 gs c reset DefenseMode')
    send_command('bind ^- gs c toggle selectnpctargets')
    send_command('bind ^= gs c cycle pctargetmode')
end


Note that you can still override any of these binds within each gearswap file which will take precedence over these include binds.

There is better explanation of how to make your versions of these files and an explanation of how to create and use sidecar files here: Kinematics/GearSwap-Jobs
 Ragnarok.Martel
Offline
Server: Ragnarok
Game: FFXI
Posts: 2908
By Ragnarok.Martel 2015-03-24 17:54:30
Link | Quote | Reply
 
Or you could just change the bind for toggle lighting to something else in your init.txt.
 Cerberus.Logical
Offline
Server: Cerberus
Game: FFXI
user: cronix
Posts: 76
By Cerberus.Logical 2015-03-24 23:41:43
Link | Quote | Reply
 
Hi! I'm not exactly proficient with code of any form, but I do have a basic grasp on what's going on. Below, I have attached my RDM file, which is just the Kinematics file with some gear slotted in and the last few lines changed (it didn't work before I made these changes). It is titled RDM.lua in my data folder, but nothing loads when I change to RDM in game, nor can I manually load it. My WHM and BLM files are nearly identical and they load and execute without any issues. Please advise.
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


-- Setup vars that are user-independent.  state.Buff vars initialized here will automatically be tracked.
function job_setup()
    state.Buff.Saboteur = buffactive.saboteur or false
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('None', 'Normal')
    state.HybridMode:options('Normal', 'PhysicalDef', 'MagicalDef')
    state.CastingMode:options('Normal', 'Resistant')
    state.IdleMode:options('Normal', 'PDT', 'MDT')

    gear.default.obi_waist = "Sekhmet Corset"
    
    select_default_macro_book()
end


-- Define sets and vars used by this job file.
function init_gear_sets()
    --------------------------------------
    -- Start defining the sets
    --------------------------------------
    
    -- Precast Sets
    
    -- Precast sets to enhance JAs
    sets.precast.JA['Chainspell'] = {body="Vitivation Tabard"}
    

    -- Waltz set (chr and vit)
    sets.precast.Waltz = {
        head="Atrophy Chapeau +1",
        body="Atrophy Tabard +1",hands="Yaoyotl Gloves",
        back="Refraction Cape",legs="Hagondes Pants",feet="Hagondes Sabots"}
        
    -- Don't need any special gear for Healing Waltz.
    sets.precast.Waltz['Healing Waltz'] = {}

    -- Fast cast sets for spells
    
    -- 80% Fast Cast (including trait) for all spells, plus 5% quick cast
    -- No other FC sets necessary.
    sets.precast.FC = {ammo="Impatiens",
        head="Atrophy Chapeau",ear2="Loquacious Earring",
        body="Vitivation Tabard",hands="Gendewitha Gages",ring1="Prolix Ring",
        back="Swith Cape",waist="Witful Belt",legs="Orvail Pants +1",feet="Chelona Boots"}

    sets.precast.FC.Impact = set_combine(sets.precast.FC, {head=empty,body="Twilight Cloak"})
       
    -- Weaponskill sets
    -- Default set for any weaponskill that isn't any more specifically defined
    sets.precast.WS = {
        head="Atrophy Chapeau",neck="Asperity Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
        body="Atrophy Tabard +1",hands="Yaoyotl Gloves",ring1="Rajas Ring",ring2="K'ayres Ring",
        back="Atheling Mantle",waist="Caudata Belt",legs="Hagondes Pants",feet="Hagondes Sabots"}

    -- Specific weaponskill sets.  Uses the base set if an appropriate WSMod version isn't found.
    sets.precast.WS['Requiescat'] = set_combine(sets.precast.WS, 
        {neck="Soil Gorget",ear1="Brutal Earring",ear2="Moonshade Earring",
        ring1="Aquasoul Ring",ring2="Aquasoul Ring",waist="Soil Belt"})

    sets.precast.WS['Sanguine Blade'] = {ammo="Witchstone",
        head="Hagondes Hat",neck="Eddy Necklace",ear1="Friomisi Earring",ear2="Hecate's Earring",
        body="Hagondes Coat",hands="Yaoyotl Gloves",ring1="Strendu Ring",ring2="Acumen Ring",
        back="Toro Cape",legs="Hagondes Pants",feet="Hagondes Sabots"}

    
    -- Midcast Sets
    
    sets.midcast.FastRecast = {
        head="Atrophy Chapeau",ear2="Loquacious Earring",
        body="Vitivation Tabard",hands="Gendewitha Gages",ring1="Prolix Ring",
        back="Swith Cape",waist="Witful Belt",legs="Hagondes Pants +1",feet="Hagondes Sabots"}

    sets.midcast.Cure = {main="Tamaxchi",sub="Genbu's Shield",ammo="Kalboron Stone",
        head="Gendewitha Caubeen",neck="Eddy Necklace",ear1="Roundel Earring",ear2="Loquacious Earring",
        body="Heka's Kalasiris",hands="Gendewitha Gages",ring1="Ephedra Ring",ring2="Sirona's Ring",
        back="Tempered Cape",waist="Witful Belt",legs="Atrophy Tights",feet="Helios Boots"}
        
    sets.midcast.Curaga = sets.midcast.Cure
    sets.midcast.CureSelf = {ring1="Kunaji Ring",ring2="Asklepian Ring"}

    sets.midcast['Enhancing Magic'] = {
        head="Atrophy Chapeau +1",neck="Colossus's Torque",
        body="Vitivation Tabard",hands="Atrophy Gloves",ring1="Prolix Ring",
        back="Estoqueur's Cape",waist="Witful Belt",legs="Atrophy Tights",feet="Estoqueur's Houseaux +2"}

    sets.midcast.Refresh = {legs="Estoqueur's Fuseau +2"}

    sets.midcast.Stoneskin = {waist="Siegel Sash"}
    
    sets.midcast['Enfeebling Magic'] = {main="Lehbrailg +2",sub="Mephitis Grip",ammo="Kalboron Stone",
        head="Helios Band",neck="Eddy Necklace",ear1="Lifestorm Earring",ear2="Psystorm Earring",
        body="Atrophy Tabard",hands="Hagondes Cuffs",ring1="Perception Ring",ring2="Sangoma Ring",
        back="Refraction Cape",waist="Ovate Rope",legs="Hagondes Pants +1",feet="Helios Boots"}

    sets.midcast['Dia III'] = set_combine(sets.midcast['Enfeebling Magic'], {head="Vitivation Chapeau"})

    sets.midcast['Slow II'] = set_combine(sets.midcast['Enfeebling Magic'], {head="Vitivation Chapeau"})
    
    sets.midcast['Elemental Magic'] = {main="Lehbrailg +2",sub="Mephitis Grip",ammo="Dosis Tathlum",
        head="Helios Band",neck="Eddy Necklace",ear1="Friomisi Earring",ear2="Hecate's Earring",
        body="Helios Jacket",hands="Helios Gloves",ring1="Strendu Ring",ring2="Acumen Ring",
        back="Toro Cape",waist=gear.ElementalObi,legs="Hagondes Pants +1",feet="Helios Boots"}
        
    sets.midcast.Impact = set_combine(sets.midcast['Elemental Magic'], {head=empty,body="Twilight Cloak"})

    sets.midcast['Dark Magic'] = {main="Lehbrailg +2",sub="Mephitis Grip",ammo="Kalboron Stone",
        head="Helios Band",neck="Eddy Necklace",ear1="Lifestorm Earring",ear2="Psystorm Earring",
        body="Atrophy Tabard",hands="Hagondes Cuffs",ring1="Perception Ring",ring2="Sangoma Ring",
        back="Refraction Cape",waist="Ovate Rope",legs="Hagondes Pants +1",feet="Helios Boots"}

    --sets.midcast.Stun = set_combine(sets.midcast['Dark Magic'], {})

    sets.midcast.Drain = set_combine(sets.midcast['Dark Magic'], {ring1="Excelsis Ring", waist="Fucho-no-Obi"})

    sets.midcast.Aspir = sets.midcast.Drain


    -- Sets for special buff conditions on spells.

    sets.midcast.EnhancingDuration = {hands="Atrophy Gloves",back="Estoqueur's Cape",feet="Estoqueur's Houseaux +2"}
        
    sets.buff.ComposureOther = {head="Estoqueur's Chappel +2",
        body="Estoqueur's Sayon +2",hands="Estoqueur's Gantherots +2",
        back="Estoqueur's Cape",legs="Estoqueur's Fuseau +2",feet="Estoqueur's Houseaux +2"}

    sets.buff.Saboteur = {hands="Estoqueur's Gantherots +2"}
    

    -- Sets to return to when not performing an action.
    
    -- Resting sets
    sets.resting = {main="Chatoyant Staff",
        head="Vitivation Chapeau",neck="Wiglen Gorget",
        body="Atrophy Tabard +1",hands="Serpentes Cuffs",ring1="Sheltered Ring",ring2="Paguroidea Ring",
        waist="Austerity Belt",legs="Nares Trews",feet="Chelona Boots +1"}
    

    -- Idle sets
    sets.idle = {main="Bolelabunga",sub="Genbu's Shield",ammo="Dosis Tathlum",
        head="Vitivation Chapeau",neck="Twilight Torque",ear1="Friomisi Earring",ear2="Hecate's Earring",
        body="Atrophy Tabard",hands="Serpentes Gloves",ring1="Dark Ring",ring2="Archon Ring",
        back="Cheviot Cape",waist="Witful Belt",legs="Nares Trews",feet="Serpentes Sabots"}

    sets.idle.Town = {main="Bolelabunga",sub="Genbu's Shield",ammo="Dosis Tathlum",
        head="Vitivation Chapeau",neck="Twilight Torque",ear1="Friomisi Earring",ear2="Hecate's Earring",
        body="Atrophy Tabard",hands="Serpentes Gloves",ring1="Dark Ring",ring2="Archon Ring",
        back="Cheviot Cape",waist="Witful Belt",legs="Nares Trews",feet="Serpentes Sabots"}
    
    sets.idle.Weak = {main="Bolelabunga",sub="Genbu's Shield",ammo="Dosis Tathlum",
        head="Vitivation Chapeau",neck="Twilight Torque",ear1="Friomisi Earring",ear2="Hecate's Earring",
        body="Atrophy Tabard",hands="Serpentes Gloves",ring1="Dark Ring",ring2="Archon Ring",
        back="Cheviot Cape",waist="Witful Belt",legs="Nares Trews",feet="Serpentes Sabots"}

    sets.idle.PDT = {main="Bolelabunga",sub="Genbu's Shield",ammo="Dosis Tathlum",
        head="Vitivation Chapeau",neck="Twilight Torque",ear1="Friomisi Earring",ear2="Hecate's Earring",
        body="Atrophy Tabard",hands="Serpentes Gloves",ring1="Dark Ring",ring2="Archon Ring",
        back="Cheviot Cape",waist="Witful Belt",legs="Nares Trews",feet="Serpentes Sabots"}

    sets.idle.MDT = {main="Bolelabunga",sub="Genbu's Shield",ammo="Demonry Stone",
        head="Gendewitha Caubeen +1",neck="Twilight Torque",ear1="Bloodgem Earring",ear2="Loquacious Earring",
        body="Gendewitha Caubeen +1",hands="Yaoyotl Gloves",ring1="Defending Ring",ring2="Shadow Ring",
        back="Engulfer Cape",waist="Flume Belt",legs="Osmium Cuisses",feet="Gendewitha Galoshes"}
    
    
    -- Defense sets
    sets.defense.PDT = {main="Bolelabunga",sub="Genbu's Shield",ammo="Dosis Tathlum",
        head="Vitivation Chapeau",neck="Twilight Torque",ear1="Friomisi Earring",ear2="Hecate's Earring",
        body="Atrophy Tabard",hands="Helios Gloves",ring1="Dark Ring",ring2="Archon Ring",
        back="Cheviot Cape",waist="Witful Belt",legs="Helios Spats",feet="Helios Boots"}

    sets.defense.MDT = {ammo="Demonry Stone",
        head="Atrophy Chapeau +1",neck="Twilight Torque",ear1="Bloodgem Earring",ear2="Loquacious Earring",
        body="Atrophy Tabard +1",hands="Yaoyotl Gloves",ring1="Defending Ring",ring2="Shadow Ring",
        back="Engulfer Cape",waist="Flume Belt",legs="Bokwus Slops",feet="Gendewitha Galoshes"}

    sets.Kiting = {legs="Crimson Cuisses"}

    sets.latent_refresh = {waist="Fucho-no-obi"}

    -- Engaged sets

    -- Variations for TP weapon and (optional) offense/defense modes.  Code will fall back on previous
    -- sets if more refined versions aren't defined.
    -- If you create a set with both offense and defense modes, the offense mode should be first.
    -- EG: sets.engaged.Dagger.Accuracy.Evasion
    
    -- Normal melee group
    sets.engaged = {
        head="Atrophy Chapeau +1",neck="Asperity Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
        body="Atrophy Tabard +1",hands="Atrophy Gloves +1",ring1="Rajas Ring",ring2="K'ayres Ring",
        back="Atheling Mantle",waist="Goading Belt",legs="Osmium Cuisses",feet="Atrophy Boots"}

    sets.engaged.Defense = {ammo="Demonry Stone",
        head="Atrophy Chapeau +1",neck="Asperity Necklace",ear1="Bladeborn Earring",ear2="Steelflash Earring",
        body="Atrophy Tabard +1",hands="Atrophy Gloves +1",ring1="Rajas Ring",ring2="K'ayres Ring",
        back="Kayapa Cape",waist="Goading Belt",legs="Osmium Cuisses",feet="Atrophy Boots"}

end

-------------------------------------------------------------------------------------------------------------------
-- Job-specific hooks for standard casting events.
-------------------------------------------------------------------------------------------------------------------

-- 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 == 'Enfeebling Magic' and state.Buff.Saboteur then
        equip(sets.buff.Saboteur)
    elseif spell.skill == 'Enhancing Magic' then
        equip(sets.midcast.EnhancingDuration)
        if buffactive.composure and spell.target.type == 'PLAYER' then
            equip(sets.buff.ComposureOther)
        end
    elseif spellMap == 'Cure' and spell.target.type == 'SELF' then
        equip(sets.midcast.CureSelf)
    end
end

-------------------------------------------------------------------------------------------------------------------
-- Job-specific hooks for non-casting events.
-------------------------------------------------------------------------------------------------------------------

-- Handle notifications of general user state change.
function job_state_change(stateField, newValue, oldValue)
    if stateField == 'Offense Mode' then
        if newValue == 'None' then
            enable('main','sub','range')
        else
            disable('main','sub','range')
        end
    end
end

-------------------------------------------------------------------------------------------------------------------
-- User code that supplements standard library decisions.
-------------------------------------------------------------------------------------------------------------------

-- Modify the default idle set after it was constructed.
function customize_idle_set(idleSet)
    if player.mpp < 51 then
        idleSet = set_combine(idleSet, sets.latent_refresh)
    end
    
    return idleSet
end

-- Set eventArgs.handled to true if we don't want the automatic display to be run.
function display_current_job_state(eventArgs)
    display_current_caster_state()
    eventArgs.handled = true
end

-------------------------------------------------------------------------------------------------------------------
-- Utility functions specific to this job.
-------------------------------------------------------------------------------------------------------------------

-- Select default macro book on initial load or subjob change.
function select_default_macro_book()
    set_macro_page(1, 15)
end
 Odin.Quixacotl
Offline
Server: Odin
Game: FFXI
user: Quixacotl
Posts: 170
By Odin.Quixacotl 2015-03-25 03:02:26
Link | Quote | Reply
 
Cerberus.Logical said: »
Hi! I'm not exactly proficient with code of any form, but I do have a basic grasp on what's going on. Below, I have attached my RDM file, which is just the Kinematics file with some gear slotted in and the last few lines changed (it didn't work before I made these changes). It is titled RDM.lua in my data folder, but nothing loads when I change to RDM in game, nor can I manually load it. My WHM and BLM files are nearly identical and they load and execute without any issues. Please advise.
Your lua looks fine to me.

In order for GS to find your JOB.lua, you have to have your character-name either in the file-name or within the Gearswap directory.

/GearSwap/data/Quixacotl_RDM.lua and /GearSwap/data/Quixacotl/RDM.lua works. /GearSwap/data/RDM.lua does not work.

If there's a directory error then GS can't locate or load your RDM.lua.
 Carbuncle.Sisko
Offline
Server: Carbuncle
Game: FFXI
user: siskotaru
Posts: 192
By Carbuncle.Sisko 2015-03-25 03:15:28
Link | Quote | Reply
 
Hello!

How can I map several specific spells to 1 equip set ? I have some trouble to make that work.

Say I want to bind all Magic Tier 1 & 2 aka stone, stone II, fire fire II etc... to "LowTierNukes"

So I can call it with : sets.equip.LowtierNukes = ...

I tried to add this line :
LowTierNukes = S(Fire, 'Fire II', Stone, 'Stone II') to no avail.
 Odin.Quixacotl
Offline
Server: Odin
Game: FFXI
user: Quixacotl
Posts: 170
By Odin.Quixacotl 2015-03-25 03:38:33
Link | Quote | Reply
 
@Sisko
Code
function get_sets()
    Define_LowTierNukes()

    sets.midcast = {}
    sets.midcast['Elemental Magic'] = { } -- +INT/MAB gear.
    sets.midcast['Elemental Magic'].LowTierNuke = { } -- +magic damage gear.
end

function Define_LowTierNukes()
    LowTierNukes = S{'Stone', 'Water', 'Aero', 'Fire', 'Blizzard', 'Thunder',
        'Stone II', 'Water II', 'Aero II', 'Fire II', 'Blizzard II', 'Thunder II',
        'Stone III', 'Water III', 'Aero III', 'Fire III', 'Blizzard III', 'Thunder III',
        'Stonega', 'Waterga', 'Aeroga', 'Firaga', 'Blizzaga', 'Thundaga',
        'Stonega II', 'Waterga II', 'Aeroga II', 'Firaga II', 'Blizzaga II', 'Thundaga II'}
end

funtion midcast(spell)
    if spell.skill == 'Elemental Magic' then
        if LowTierNukes:contains(spell.name) then
            equip(sets.midcast['Elemental Magic'].LowTierNuke)
        else
            equip(sets.midcast['Elemental Magic'])
        end
    end
end
 Carbuncle.Sisko
Offline
Server: Carbuncle
Game: FFXI
user: siskotaru
Posts: 192
By Carbuncle.Sisko 2015-03-25 03:52:17
Link | Quote | Reply
 
Thank you, quixacotl ! You're awesome ^^
 Cerberus.Logical
Offline
Server: Cerberus
Game: FFXI
user: cronix
Posts: 76
By Cerberus.Logical 2015-03-25 13:41:30
Link | Quote | Reply
 
Odin.Quixacotl said: »
Cerberus.Logical said: »
Hi! I'm not exactly proficient with code of any form, but I do have a basic grasp on what's going on. Below, I have attached my RDM file, which is just the Kinematics file with some gear slotted in and the last few lines changed (it didn't work before I made these changes). It is titled RDM.lua in my data folder, but nothing loads when I change to RDM in game, nor can I manually load it. My WHM and BLM files are nearly identical and they load and execute without any issues. Please advise.
Your lua looks fine to me.

In order for GS to find your JOB.lua, you have to have your character-name either in the file-name or within the Gearswap directory.

/GearSwap/data/Quixacotl_RDM.lua and /GearSwap/data/Quixacotl/RDM.lua works. /GearSwap/data/RDM.lua does not work.

If there's a directory error then GS can't locate or load your RDM.lua.

Thanks, this was my problem, fixed and operational now, haha. Such a simple derp, thanks for the quick reply on this thread!
First Page 2 3 ... 57 58 59 ... 181 182 183
Log in to post.