Item Search
     
BG-Wiki Search
Page 223 of 302 FirstFirst ... 173 213 221 222 223 224 225 233 273 ... LastLast
Results 4441 to 4460 of 6036

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

  1. #4441
    New Spam Forum
    Join Date
    Aug 2007
    Posts
    163
    BG Level
    3
    FFXI Server
    Cerberus

    Thanks very much trv, that helped me learn a lot about the structure of things. I'm a novice when it comes to programming so it helps put things into context.

    My quick-fix was to comment-ize the drag and drop register event within the texts library (I don't care about dragging any textboxes for any addons). I'm not sure I could build something that integrates gear swaps and a status textbox which wouldn't be a huge project, so I'll look into the basic text functions. I have no experience with sending commands to the addon.

    As it stands now, the display works fine withing gearswap with the mouse event register disabled in the texts library. It's not pretty but until I find an alternative it will work. Thanks for the insight

    **edit: your fix worked too

  2. #4442
    Bagel
    Join Date
    Dec 2012
    Posts
    1,488
    BG Level
    6

    @Lasareth
    just so you know you only need to use the options that you need to change when building a texts display
    for instance i only need to change these from the default to get what i want
    box = {text={font='Segoe UI Symbol',size=9},bg={alpha=200},flags={draggable=fa lse},pos={x=0,y=300}}

    and in gearswap all you should need is
    1. your changes to the default text setup
    Code:
    min_window = {text={font='Segoe UI Symbol',size=9},bg={alpha=200},flags={draggable=false},pos={x=0,y=300}}
    2. your new text build
    Code:
    window = texts.new(box)
    3. then you need to add data to your text display and its done
    Code:
    function initialize(text, settings)
        local line = L{}
        line:append('test line 1')
        line:append('test line 2')
        text:clear()
        text:append(line:concat('\n'))
    end
    initialize(window, box)
    (this example is vary basic with no variables)

    you dont need
    texts = require('texts')
    or
    texts = gearswap.texts

    i have probably forgotten more about text then most have even considered possible
    this is the display i use in my gearswap file
    http://pastebin.com/Bd4265M7

    my display
    -builds and removes 14 different menus
    -include and un-include my includes on the fly
    -has a way to set options with a mouse on screen (in the ffxi window)
    -etc.

  3. #4443
    New Spam Forum
    Join Date
    Aug 2007
    Posts
    163
    BG Level
    3
    FFXI Server
    Cerberus

    Thanks dlsmd,

    Unfortunately my knowledge is too limited to take advantage of a lot of the features that are in your lua file, but it looks like a good opportunity to learn more. Do you have any links to resources that might help me to understand intermediate-level stuff like this better?

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

    Quote Originally Posted by Lasareth View Post
    Thanks dlsmd,

    Unfortunately my knowledge is too limited to take advantage of a lot of the features that are in your lua file, but it looks like a good opportunity to learn more. Do you have any links to resources that might help me to understand intermediate-level stuff like this better?
    no most of the info i got by asking the windower team on the windower chat room the rest i came up with on my own
    but i am willing to help if you need it

  5. #4445
    Relic Shield
    Join Date
    Feb 2012
    Posts
    1,909
    BG Level
    6

    So I'd like to be able to change my GEO's cure set with a toggle, if possible. If they have their weapons disabled I want to get to 50% cure potency without a weapon swap, obviously. Any way to do that? Currently there's the casting toggle for Resistant and such, can I say make a sets.midcast.cure.Resistant and when I'm on my resistant nuking set it would then use that declared set for cures? And I'm using motes, of course.

  6. #4446
    Old Odin
    Join Date
    Oct 2006
    Posts
    6,198
    BG Level
    8
    FFXI Server
    Asura

    heads up gearswap is crashing the game, just as a note ¬.¬

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

    Quote Originally Posted by Damane View Post
    heads up gearswap is crashing the game, just as a note ¬.¬
    its because the packet structure has probably changed as well as windower needing updates

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

    GearSwap should be stubbed off and unload itself when it loads.

  9. #4449
    New Spam Forum
    Join Date
    Oct 2007
    Posts
    150
    BG Level
    3

    I've just loaded up Bokura's BST gearswap for the first time, made no changes at all to it, and it's giving an error in get_sets (attempt to call field 'Regen' (a table value)). I'm usually great at figuring out workarounds, but I'm far from a pro and this has me stumped. Anybody know a fix?

  10. #4450
    The Tower
    Join Date
    Apr 2005
    Posts
    2,160
    BG Level
    7
    FFXIV Character
    Stromgarde Siren
    FFXIV Server
    Gilgamesh
    FFXI Server
    Siren

    Doing the free login week(s) thing, did GearCollector and/or the game structure change significantly in the past two years? What would I need to update?

  11. #4451
    Melee Summoner
    Join Date
    Jul 2015
    Posts
    43
    BG Level
    1
    FFXI Server
    Bahamut

    Minor and probably stupid question, but--I'm trying to make a Mote-based WAR script more-or-less from scratch (itself probably a bad idea, but it's as much to learn this stuff as anything else) and I can't figure out how to make it automatically equip Throwing Tomahawks when I want to use Tomahawk. I tried making a "Tomahawk" mode, but that doesn't work at all.

    Here's my script so far, any ideas? (No, I haven't gotten very far with it at all.) If not, I'll just make a Tomahawk macro with the proper /equip line.

    Code:
    function get_sets()
        mote_include_version = 2
        include('Mote-Include.lua')
    end
    
    function job_setup()
    end
    
    function user_setup()
        state.OffenseMode:options('Normal','Tomahawk')
        --select_default_macro_book()
    end
    
    function init_gear_sets()
        sets.engaged.Tomahawk = {ammo="Throwing Tomahawk"}
        
        sets.engaged = {ammo="Ravager's Orb"}
    end
    Quote Originally Posted by Stromgarde View Post
    Doing the free login week(s) thing, did GearCollector and/or the game structure change significantly in the past two years? What would I need to update?
    GearCollector still uses Spellcast XMLs, doesn't it?
    Update everything, reinstall your video drivers, delete a bunch of addons and plugins that either no longer work or no longer serve a purpose due to being implemented in-game. There's probably a full list somewhere.

    Quote Originally Posted by Namonaki View Post
    hello
    trying to build my own BLU lua using mote's as an example however, I am running into this error:

    Code:
    13:44:05 > ...86)\Windower4\/addons/GearSwap/data/Name_BLU.lua:284: attempt to index field 'BlueMagic' (a nil value)
    There's probably more errors but I can't get to them because of this. Any help or guidance would be appreciated it.

    Spoiler: show
    Code:
    -------------------------------------------------------------------------------------------------------------------
    -- Blue Mage --
    -------------------------------------------------------------------------------------------------------------------
    
    function get_sets ()
    	mote_include_version = 2
    	
    	include('Mote-Include.lua')
    	include('organizer-lib')
    end
    
    function job_setup ()
    	state.Buff['Burst Affinity'] = buffactive['Burst Affinity'] or true
        state.Buff['Chain Affinity'] = buffactive['Chain Affinity'] or false
    	state.Buff.Diffusion = buffactive.Diffusion or false
        state.Buff.Efflux = buffactive.Efflux or false
        
        state.Buff['Unbridled Learning'] = buffactive['Unbridled Learning'] or false
    	
    	blue_magic_maps = {}
    	
    	blue_magic_maps.Physical = S{
            'Bilgestorm'
        }
    	-- Spells with heavy accuracy penalties, that need to prioritize accuracy first.
        blue_magic_maps.PhysicalAcc = S{
            'Heavy Strike',
        }
    
        -- Physical spells with Str stat mod
        blue_magic_maps.PhysicalStr = S{
            'Battle Dance','Bloodrake','Death Scissors','Dimensional Death',
            'Empty Thrash','Quadrastrike','Sinker Drill','Spinal Cleave',
            'Uppercut','Vertical Cleave'
        }
            
        -- Physical spells with Dex stat mod
        blue_magic_maps.PhysicalDex = S{
            'Amorphic Spikes','Asuran Claws','Barbed Crescent','Claw Cyclone','Disseverment',
            'Foot Kick','Frenetic Rip','Goblin Rush','Hysteric Barrage','Paralyzing Triad',
            'Seedspray','Sickle Slash','Smite of Rage','Terror Touch','Thrashing Assault',
            'Vanity Dive'
        }
            
        -- Physical spells with Vit stat mod
        blue_magic_maps.PhysicalVit = S{
            'Body Slam','Cannonball','Delta Thrust','Glutinous Dart','Grand Slam',
            'Power Attack','Quad. Continuum','Sprout Smack','Sub-zero Smash'
        }
            
        -- Physical spells with Agi stat mod
        blue_magic_maps.PhysicalAgi = S{
            'Benthic Typhoon','Feather Storm','Helldive','Hydro Shot','Jet Stream',
            'Pinecone Bomb','Spiral Spin','Wild Oats'
        }
    
        -- Physical spells with Int stat mod
        blue_magic_maps.PhysicalInt = S{
            'Mandibular Bite','Queasyshroom'
        }
    
        -- Physical spells with Mnd stat mod
        blue_magic_maps.PhysicalMnd = S{
            'Ram Charge','Screwdriver','Tourbillion'
        }
    
        -- Physical spells with Chr stat mod
        blue_magic_maps.PhysicalChr = S{
            'Bludgeon'
        }
    
        -- Physical spells with HP stat mod
        blue_magic_maps.PhysicalHP = S{
            'Final Sting'
        }
    
        -- Magical Spells --
    
        -- Magical spells with the typical Int mod
        blue_magic_maps.Magical = S{
            'Blastbomb','Blazing Bound','Bomb Toss','Cursed Sphere','Dark Orb','Death Ray',
            'Diffusion Ray','Droning Whirlwind','Embalming Earth','Firespit','Foul Waters',
            'Ice Break','Leafstorm','Maelstrom','Rail Cannon','Regurgitation','Rending Deluge',
            'Retinal Glare','Subduction','Tem. Upheaval','Water Bomb'
        }
    
        -- Magical spells with a primary Mnd mod
        blue_magic_maps.MagicalMnd = S{
            'Acrid Stream','Evryone. Grudge','Magic Hammer','Mind Blast'
        }
    
        -- Magical spells with a primary Chr mod
        blue_magic_maps.MagicalChr = S{
            'Eyes On Me','Mysterious Light'
        }
    
        -- Magical spells with a Vit stat mod (on top of Int)
        blue_magic_maps.MagicalVit = S{
            'Thermal Pulse'
        }
    
        -- Magical spells with a Dex stat mod (on top of Int)
        blue_magic_maps.MagicalDex = S{
            'Charged Whisker','Gates of Hades'
        }
                
        -- Magical spells (generally debuffs) that we want to focus on magic accuracy over damage.
        -- Add Int for damage where available, though.
        blue_magic_maps.MagicAccuracy = S{
            '1000 Needles','Absolute Terror','Actinic Burst','Auroral Drape','Awful Eye',
            'Blank Gaze','Blistering Roar','Blood Drain','Blood Saber','Chaotic Eye',
            'Cimicine Discharge','Cold Wave','Corrosive Ooze','Demoralizing Roar','Digest',
            'Dream Flower','Enervation','Feather Tickle','Filamented Hold','Frightful Roar',
            'Geist Wall','Hecatomb Wave','Infrasonics','Jettatura','Light of Penance',
            'Lowing','Mind Blast','Mortal Ray','MP Drainkiss','Osmosis','Reaving Wind',
            'Sandspin','Sandspray','Sheep Song','Soporific','Sound Blast','Stinking Gas',
            'Sub-zero Smash','Venom Shell','Voracious Trunk','Yawn'
        }
            
        -- Breath-based spells
        blue_magic_maps.Breath = S{
            'Bad Breath','Flying Hip Press','Frost Breath','Heat Breath',
            'Hecatomb Wave','Magnetite Cloud','Poison Breath','Radiant Breath','Self-Destruct',
            'Thunder Breath','Vapor Spray','Wind Breath'
        }
    
        -- Stun spells
        blue_magic_maps.Stun = S{
            'Blitzstrahl','Frypan','Head Butt','Sudden Lunge','Tail slap','Temporal Shift',
            'Thunderbolt','Whirl of Rage'
        }
            
        -- Healing spells
        blue_magic_maps.Healing = S{
            'Healing Breeze','Magic Fruit','Plenilune Embrace','Pollen','Restoral','White Wind',
            'Wild Carrot'
        }
        
        -- Buffs that depend on blue magic skill
        blue_magic_maps.SkillBasedBuff = S{
            'Barrier Tusk','Diamondhide','Magic Barrier','Metallic Body','Plasma Charge',
            'Pyric Bulwark','Reactor Cool',
        }
    
        -- Other general buffs
        blue_magic_maps.Buff = S{
            'Amplification','Animating Wail','Battery Charge','Carcharian Verve','Cocoon',
            'Erratic Flutter','Exuviation','Fantod','Feather Barrier','Harden Shell',
            'Memento Mori','Nat. Meditation','Occultation','Orcish Counterstance','Refueling',
            'Regeneration','Saline Coat','Triumphant Roar','Warm-Up','Winds of Promyvion',
            'Zephyr Mantle'
        }
        
        
        -- Spells that require Unbridled Learning to cast.
        unbridled_spells = S{
            'Absolute Terror','Bilgestorm','Blistering Roar','Bloodrake','Carcharian Verve',
            'Crashing Thunder','Droning Whirlwind','Gates of Hades','Harden Shell','Polar Roar',
            'Pyric Bulwark','Thunderbolt','Tourbillion','Uproot'
        }
    end
    
    function user_setup()
    	state.OffenseMode:options('Normal', 'DW', 'Haste', 'Medium', 'High', 'VeryHigh')
    	state.IdleMode:options('Idle', 'Town', 'PDT')
    	
    	-- Additional Local Binds --
    	
    end
    
    function user_unload()
    	send_command('unbind f9')
    	send_command('unbind ^f9')
    	send_command('unbind !f9')
    	send_command('unbind f10')
    	send_command('unbind ^f10')
    	send_command('unbind !f10')
    	send_command('unbind f11')
    	send_command('unbind ^f11')
    	send_command('unbind !f11')
    	send_command('unbind f12')
    	send_command('unbind ^f12')
    	send_command('unbind !f12')
        send_command('unbind ^`')
        send_command('unbind !`')
        send_command('unbind @`')
    end
    
    function init_gear_sets ()
    	sets.buff['Burst Affinity'] = {feet="Mavi Basmak +2"}
        sets.buff['Chain Affinity'] = {head="Mavi Kavuk +2", feet="Assimilator's Charuqs"}
    	sets.buff.Diffusion = {feet="Luhlaza Charuqs"}
        sets.buff.Efflux = {legs="Mavi Tayt +2"}
    	
    	sets.precast.JA['Azure Lore'] = {}
    	
    	sets.precast.Waltz = {}
    	
    	--Precast Sets --
    	
    	sets.precast.FC = {
            head="Haruspex Hat",
    		eaar1="Enchanter Earring +1",
    		ear2="Loquacious Earring",
            body="Luhlaza Jubbah",
    		ring1="Prolix Ring",
            back="Swith Cape",
    		waist="Witful Belt",
    		legs="Orvail Pants +1",
    		feet="Chelona Boots"}
    	
    	sets.precast.FC['Blue Magic'] = set_combine(sets.precast.FC, {body="Mavi Mintan +2"})
    	
    	sets.precast.WS = {
    		head="Taeon Chapeau",
    		neck=gear.ElementalGorget,
    		ear1="Bladeborn Earring",
    		ear2="Steelflash Earring",
            body="Rawhide Vest",
    		hands={ name="Qaaxo Mitaines", augments={'Attack+15','Evasion+15','"Dbl.Atk."+2',}},
    		ring1="Rajas Ring",
    		ring2="Epona's Ring",
            back="Letalis Mantle",
    		waist=gear.ElementalBelt,
    		legs="Taeon Tights",
    		feet="Taeon Boots"}
    		
    	sets.precast.WS['Chant du Cygne'] = {
    		ammo="Jukukik Feather",
    		head="Taeon Chapeau",
    		neck="Asperity Necklace",
    		ear1="Bladeborn Earring",
    		ear2="Steelflash Earring",
            body="Rawhide Vest",
    		hands={ name="Qaaxo Mitaines", augments={'Attack+15','Evasion+15','"Dbl.Atk."+2',}},
    		ring1="Rajas Ring",
    		ring2="Epona's Ring",
            back="Letalis Mantle",
    		waist="Windbuffet Belt",
    		legs="Taeon Tights",
    		feet="Taeon Boots"}
    		
    	sets.precast.WS['Chant du Cygne'].Acc = set_combine(sets.precast.WS, {})
    	
    	sets.precast.WS['Sanguine Blade'] = {
            head="Pixie Hairpin +1",
    		neck="Deviant Necklace",
    		ear1="Friomisi Earring",
    		ear2="Crematio Earring",
            body="Hagondes Coat",
    		hands="Mavi Bazubands +2",
    		ring1="Shiva Ring",
    		ring2="Shiva Ring +1",
            back="Cornflower Cape",
    		legs="Hagondes Pants",
    		feet="Taeon Boots"}
    		
    	-- Midcast Sets --
    	sets.midcast.FastRecast = {
            head="Haruspex Hat",
    		ear1="Enchanter Earring +1",
    		ear2="Loquacious Earring",
            body="Luhlaza Jubbah",
    		hands="Mavi Bazubands +2",
    		ring1="Prolix Ring",
            back="Swith Cape",
    		waist="Ninurta's Sash",
    		legs="Enif Cosciales",
    		feet="Taeon Boots"}
    	
    	sets.midcast['Blue Magic']['Physical'] = {
    		ammo="Mavi Tathlum",
            head="Taeon Chapeau",
    		neck="Iqabi Necklace",
    		ear1="Heartseeker Earring",
    		ear2="Steelflash Earring",
            body="Rawhide Vest",
    		hands="Taeon Gloves",
    		ring1="Rajas Ring",
    		ring2="Ramuh Ring",
            back="Cornflower Cape",
    		waist="Chuq'aba Belt",
    		legs="Taeon Tights",
    		feet="Taeon Boots"}
    		
    	sets.midcast['Blue Magic'].PhysicalStr = {}
    
        sets.midcast['Blue Magic'].PhysicalDex = {}
    
        sets.midcast['Blue Magic'].PhysicalVit = {}
    
        sets.midcast['Blue Magic'].PhysicalAgi = {}
    
        sets.midcast['Blue Magic'].PhysicalInt = {}
    
        sets.midcast['Blue Magic'].PhysicalMnd = {}
    
        sets.midcast['Blue Magic'].PhysicalChr = {}
    
        sets.midcast['Blue Magic'].PhysicalHP = {}
    	
    	-- Magical Sets --
    	sets.midcast['Blue Magic'].Magical = {
    		ammo="Ghastly Tathlum +1",
            head={ name="Helios Band", augments={'Mag. Acc.+20 "Mag.Atk.Bns."+20','"Conserve MP"+5','INT+7 MND+7',}},
    		neck="Eddy Necklace",
    		ear1="Friomisi Earring",
    		ear2="Crematio Earring",
            body="Hagondes Coat",
    		hands="Helios Gloves",
    		ring1="Shiva Ring",
    		ring2="Shiva Ring +1",
            back="Cornflower Cape",
    		waist="Yamabuki-no-Obi",
    		legs="Hagondes Pants",
    		feet="Helios Boots"}
    
    	sets.midcast['Blue Magic'].MagicAccuracy = {
    		ammo="Mavi Tathlum",
            head="Helios Jacket",
    		neck="Eddy Necklace",
    		ear1="Lifestorm Earring",
    		ear2="Psystorm Earring",
            body="Helios Jacket",
    		hands="Helios Gloves",
    		ring2="Sangoma Ring",
            back="Cornflower Cape",
    		legs="Hagondes Pants",
    		feet="Hashi. Basmak"}
    		
    	sets.midcast['Blue Magic'].Stun = set_combine(sets.midcast['Blue Magic'].MagicAccuracy,
            {waist="Chaac Belt"})
    		
    	sets.midcast['Blue Magic']['White Wind'] = {
            head="Telchine Cap",
    		neck="Phalaina Locket",
    		ear1="Psystorm Earring",
    		ear2="Lifestorm Earring",
            body="Telchine Chausible",
    		hands="Telchine Gloves",
    		ring1="Levia. Ring",
    		ring2="Levia. Ring",
            back="Tempered Cape",
    		waist="Pythia Sash +1",
    		legs="Enif Cosciales",
    		feet=""}
    
        sets.midcast['Blue Magic'].Healing = {
    		ear1="Lifestorm Earring",
    		ear2="Psystorm Earring",
            body="Telchine Chausible",
    		hands="Telchine Gloves",
    		ring1="Leviathan Ring",
    		ring2="Sirona's Ring",
            back="Tempered Cape"}
    		
    	sets.midcast.self_healing = {
    		head="Telchine Cap",
    		neck="Phalaina Locket",
    		body="Telchine Chausible",
    		hands="Burmete Gloves",
    		ring1="Kunaji Ring",
    		legs="Telchine Braconi",
    		waist="Chuq'aba Belt",
    		feet="Telchine Pigaches",
    		back="Tempered Cape"}
    		
    	-- Other Sets --
    	sets.latent_refresh = {waist="Fucho-no-obi"}
    	
    	sets.idle = {
    		ammo="Vanir Battery",
            head="Lithelimb Cap",
    		neck="Wiglen Gorget",
    		ear1="Ethereal Earring",
    		ear2="Sanare Earring",
            body="Emet Harness",
    		hands="Serpentes Cuffs",
    		ring1="Sheltered Ring",
    		ring2="Paguroidea Ring",
            back="Umbra Cape",
    		waist="Flume Belt",
    		legs="Crimson Cuisses",
    		feet="Serpentes Sabots"}
    		
    	sets.idle.Town = {
    		ammo="Vanir Battery",
            head="Whirlpool Mask",
    		neck="Wiglen Gorget",
    		ear1="Ethereal Earring",
    		ear2="Sanare Earring",
            body="Emet Harness",
    		hands="Serpentes Cuffs",
    		ring1="Sheltered Ring",
    		ring2="Paguroidea Ring",
            back="Umbra Cape",
    		waist="Flume Belt",
    		legs="Crimson Cuisses",
    		feet="Serpentes Sabots"}
    		
    	sets.defense.PDT = {
    		main="Earth Staff",
    		sub="Umbra Strap",
            head="Lithelimb Cap",
    		neck="Twilight Torque",
    		ear1="Ethereal Earring",
    		ear2="Novia Earring",
            body="Emet Harness",
    		hands={ name="Qaaxo Mitaines", augments={'Accuracy+15','STR+7','Phys. dmg. taken -3',}},
    		ring1="Patricius Ring",
    		ring2="Gelatinous Ring",
            back="Umbra Cape",
    		waist="Flume Belt",
    		legs="Osmium Cuisses",
    		feet="Battlecast Gaiters"}
    	
    	-- Engaged Sets --
    	sets.engaged = {}
    	sets.engaged.index = {'Normal', 'DW', 'Haste', 'Medium', 'High', 'VeryHigh'}
    	-- Normal =1, DW =2, Haste=3, Medium=4, High=5, VeryHigh=6
    	engaged_ind=1
    	
    	sets.engaged.Normal = {
    		ammo="Ginsen",
            head="Taeon Chapeau",
    		neck="Asperity Necklace",
    		ear1="Bladeborn Earring",
    		ear2="Steelflash Earring",
            body="Thaumas Coat",
    		hands={ name="Qaaxo Mitaines", augments={'Attack+15','Evasion+15','"Dbl.Atk."+2',}},
    		ring1="Rajas Ring",
    		ring2="Epona's Ring",
            back="Bleating Mantle",
    		waist="Windbuffet Belt",
    		legs="Taeon Tights",
    		feet="Taeon Boots"}
    	
    	sets.engaged.DW = {}
    	
    	sets.engaged.Haste = {}
    	
    	sets.engaged.Medium = {}
    	
    	sets.engaged.High = {}
    	
    	sets.engaged.VeryHigh = {}
    	
    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 spell.action_type == 'Magic' then
                    equip(sets.precast.FC.Standard)
                                   
                    if spell.skill == 'Blue Magic' then
                    equip(sets.precast.FC.Blue)
                    end
            end
    	if spell.english == 'Azure Lore' then
                    equip(sets.precast.JA['Azure Lore'])
            end
    	if spell.english == 'Chant du Cygne' then
                    equip(sets.precast.WS['Chant du Cygne'])
            end
    	if spell.english == 'Sanguine Blade' or spell.english == 'Tenebral Crush' then
                    equip(sets.precast.WS['Sanguine Blade'])
    		end
    	if spell.english == 'Realmrazer' then
                    equip(sets.precast.WS['Realmrazer'])
            end
           
            if spell.english == 'Flash Nova' then
                    equip(sets.precast.WS['FlashNova'])
            end
    	if spellMap == 'Healing' and spell.target.type == 'SELF' and sets.self_healing then
                equip(sets.self_healing)
            end
    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 == 'Blue Magic' then
            for buff,active in pairs(state.Buff) do
                if active and sets.buff[buff] then
                    equip(sets.buff[buff])
                end
            end
    		if spell.english == 'Bilgestorm' then
    				equip(sets.midcast['Blue Magic'].Physical)
    		end
    		if spell.english == 'Battle Dance' or spell.english == 'Bloodrake' or spell.english == 'Death Scissors' or spell.english == 'Dimensional Death' or spell.english == 'Empty Thrash' or spell.english == 'Quadrastrike' or spell.english == 'Sinker Drill' or spell.english == 'Spinal Cleave' or spell.english == 'Uppercut' or spell.english == 'Vertical Cleave'then
                    equip(sets.midcast['Blue Magic'].PhysicalStr)
                    if buffactive['Chain Affinity'] then
                            equip(sets.JA.ChainAffinity)
                    end
                    if buffactive['Efflux'] then
                            equip(sets.JA.Efflux)
                    end
            end
                   
            if spell.english == 'Amorphic Spikes' or spell.english == 'Asuran Claws' or spell.english == 'Barbed Crescent' or spell.english == 'Claw Cyclone' or spell.english =='Disseverment' or spell.english == 'Foot Kick' or spell.english == 'Frenetic Rip' or spell.english == 'Goblin Rush' or spell.english == 'Hysteric Barrage' or spell.english == 'Paralyzing Triad' or spell.english == 'Seedspray' or spell.english == 'Sickle Slash' or spell.english == 'Smite of Rage' or spell.english == 'Terror Touch' or spell.english == 'Thrashing Assault' or spell.english == 'Vanity Dive' then
                    equip(sets.midcast['Blue Magic'].PhysicalDex)
                    if buffactive['Chain Affinity'] then
                            equip(sets.JA.ChainAffinity)
                    end
                    if buffactive['Efflux'] then
                            equip(sets.JA.Efflux)
                    end
            end
           
            if spell.english == 'Body Slam' or spell.english == 'Cannonball' or spell.english == 'Delta Thrust' or spell.english == 'Glutinous Dart' or spell.english == 'Grand Slam' or spell.english == 'Power Attack' or spell.english == 'Quad. Continuum' or spell.english == 'Sprout Smack' or spell.english == 'Sub-zero Smash' then
                    equip(sets.midcast['Blue Magic'].PhysicalVit)
                    if buffactive['Chain Affinity'] then
                            equip(sets.JA.ChainAffinity)
                    end
                    if buffactive['Efflux'] then
                            equip(sets.JA.Efflux)
                    end
            end
    	end
           
            if spell.english == 'Benthic Typhoon' or spell.english == 'Feather Storm' or spell.english == 'Helldive' or spell.english == 'Hydro Shot' or spell.english == 'Jet Stream' or spell.english == 'Pinecone Bomb' or spell.english == 'Spiral Spin' or spell.english == 'Wild Oats' then
                    equip(sets.midcast['Blue Magic'].PhysicalAgi)
                    if buffactive['Chain Affinity'] then
                            equip(sets.JA.ChainAffinity)
                    end
                    if buffactive['Efflux'] then
                            equip(sets.JA.Efflux)
                    end
            end
           
            if spell.english == 'Mandibular Bite' or spell.english == 'Queasyshroom' then
                    equip(sets.midcast['Blue Magic'].PhysicalInt)
                    if buffactive['Chain Affinity'] then
                            equip(sets.JA.ChainAffinity)
                    end
                    if buffactive['Efflux'] then
                            equip(sets.JA.Efflux)
                    end
            end
    		if spell.english == 'Blastbomb' or spell.english == 'Blazing Bound' or spell.english == 'Bomb Toss' or spell.english == 'Cursed Sphere' or spell.english == 'Dark Orb' or spell.english == 'Death Ray'
            or spell.english == 'Diffusion Ray' or spell.english == 'Droning Whirlwind' or spell.english == 'Embalming Earth' or spell.english == 'Firespit' or spell.english == 'Foul Waters'
            or spell.english == 'Ice Break' or spell.english == 'Leafstorm' or spell.english == 'Maelstrom' or spell.english == 'Rail Cannon' or spell.english == 'Regurgitation' or spell.english == 'Rending Deluge'
            or spell.english == 'Retinal Glare' or spell.english == 'Subduction' or spell.english == 'Tem. Upheaval' or spell.english == 'Water Bomb'then
                    equip(sets.midcast['Blue Magic'].Magical)
                    if buffactive['Burst Affinity'] then
                            equip(sets.JA.BurstAffinity)
                    end
            end
    		if spell.english == 'Acrid Stream' or spell.english == 'Evryone. Grudge' or spell.english == 'Magic Hammer' or spell.english == 'Mind Blast' then
    				equip(sets.midcast['Blue Magic'].MagicalMnd)
    		end
    		if spell.english == 'Eyes On Me' or spell.english == 'Mysterious Light' then
    				equip(sets.midcast['Blue Magic'].MagicalChr)
    		end
           
            if spell.english == 'Healing Breeze' or spell.english == 'Magic Fruit' or spell.english == 'Plenilune Embrace' or spell.english == 'Pollen' or spell.english == 'Restoral' or spell.english == 'White Wind'
            or spell.english == 'Wild Carrot' then
                    equip(sets.midcast['Blue Magic'].Healing)
                            if spell.target.name == player.name and string.find(spell.english, 'Magic Fruit') or string.find(spell.english, 'Plenilune Embrace') or string.find(spell.english, 'Wild Carrot') or string.find(spell.english, 'Cure III') or string.find(spell.english, 'Cure IV') then
                                    equip(sets.midcast['Blue Magic'].self_healing)
                            end
            end
           
            if spell.english == 'White Wind' then
                    equip(sets.midcast['Blue Magic']['WhiteWind'])
            end
           
            if spell.english == 'Blitzstrahl' or spell.english == 'Frypan' or spell.english == 'Head Butt' or spell.english == 'Sudden Lunge' or spell.english == 'Tail slap' or spell.english == 'Temporal Shift'
            or spell.english == 'Thunderbolt' or spell.english == 'Whirl of Rage' then
                    equip(sets.midcast['Blue Magic'].Stun)
            end
           
            if spell.english == 'Amplification' or spell.english == 'Animating Wail' or spell.english == 'Battery Charge' or spell.english == 'Carcharian Verve' or spell.english == 'Cocoon'
            or spell.english == 'Erratic Flutter' or spell.english == 'Exuviation' or spell.english == 'Fantod' or spell.english == 'Feather Barrier' or spell.english == 'Harden Shell'
            or spell.english == 'Memento Mori' or spell.english == 'Nat. Meditation' or spell.english == 'Occultation' or spell.english == 'Orcish Counterstance' or spell.english == 'Refueling'
            or spell.english == 'Regeneration' or spell.english == 'Saline Coat' or spell.english == 'Triumphant Roar' or spell.english == 'Warm-Up' or spell.english == 'Winds of Promyvion'
            or spell.english == 'Zephyr Mantle' then
                    equip(sets.midcast['Blue Magic'].Buff)
            end
           
            if spell.english == '1000 Needles' or spell.english == 'Absolute Terror' or spell.english == 'Actinic Burst' or spell.english == 'Auroral Drape' or spell.english == 'Awful Eye' or spell.english == 
            'Blank Gaze' or spell.english == 'Blistering Roar' or spell.english == 'Blood Drain' or spell.english == 'Blood Saber' or spell.english == 'Chaotic Eye' or spell.english == 
            'Cimicine Discharge' or spell.english == 'Cold Wave' or spell.english == 'Corrosive Ooze' or spell.english == 'Demoralizing Roar' or spell.english == 'Digest' or spell.english == 
            'Dream Flower' or spell.english == 'Enervation' or spell.english == 'Feather Tickle' or spell.english == 'Filamented Hold' or spell.english == 'Frightful Roar' or spell.english == 
            'Geist Wall' or spell.english == 'Hecatomb Wave' or spell.english == 'Infrasonics' or spell.english == 'Jettatura' or spell.english == 'Light of Penance' or spell.english == 
            'Lowing' or spell.english == 'Mind Blast' or spell.english == 'Mortal Ray' or spell.english == 'MP Drainkiss' or spell.english == 'Osmosis' or spell.english == 'Reaving Wind' or spell.english == 
            'Sandspin' or spell.english == 'Sandspray' or spell.english == 'Sheep Song' or spell.english == 'Soporific' or spell.english == 'Sound Blast' or spell.english == 'Stinking Gas' or spell.english == 
            'Sub-zero Smash' or spell.english == 'Venom Shell' or spell.english == 'Voracious Trunk' or spell.english == 'Yawn' then
                    equip(sets.midcast['Blue Magic'].MagicAccuracy)
            end
    end
    
    function job_aftercast(spell, action, spellMap, eventArgs)
    	if spell.action_type == 'Weaponskill' then
                    add_to_chat(158,'TP Return: ['..tostring(player.tp)..']')
            end
    end
    
    function self_command(command)
    	if command == 'c1' then
    		equip(sets.engaged.Normal)
    	elseif command == 'c2' then
    		equip(sets.engaged.DW)
    	elseif command == 'c3' then
    		equip(sets.engaged.Haste)
    	elseif command == 'c4' then
    		equip(sets.engaged.High)
    	elseif command == 'c5' then
    		equip(sets.engaged.VeryHigh)
    	end
    end
    
    function job_get_spell_map(spell, default_spell_map)
        if spell.skill == 'Blue Magic' then
            for category,spell_list in pairs(blue_magic_maps) do
                if spell_list:contains(spell.english) then
                    return category
                end
            end
        end
    end
    
    function job_buff_change(buff, gain)
        if state.Buff[buff] ~= nil then
            state.Buff[buff] = gain
        end
    end
    
    function select_default_macro_book()
        -- Default macro set/book
            set_macro_page(1, 13)
    end
    Why are you using ['Blue Magic']['Physical'] instead of ['Blue Magic'].Physical? That might be the problem.

  12. #4452
    Bagel
    Join Date
    Dec 2012
    Posts
    1,488
    BG Level
    6

    Quote Originally Posted by Stromgarde View Post
    Doing the free login week(s) thing, did GearCollector and/or the game structure change significantly in the past two years? What would I need to update?
    GearCollector was depreciated for organizer and thus will not be updated or fixed you have just been lucky that it still worked sence this happened but i guess now it no longer will work

    look here for all the plugins that have an addon replacement (tho it has not been updated in a while)
    https://gist.github.com/z16/f73d0912e5c5ed02c58b

  13. #4453
    The Tower
    Join Date
    Apr 2005
    Posts
    2,160
    BG Level
    7
    FFXIV Character
    Stromgarde Siren
    FFXIV Server
    Gilgamesh
    FFXI Server
    Siren

    Quote Originally Posted by dlsmd View Post
    GearCollector was depreciated for organizer and thus will not be updated or fixed you have just been lucky that it still worked sence this happened but i guess now it no longer will work

    look here for all the plugins that have an addon replacement (tho it has not been updated in a while)
    https://gist.github.com/z16/f73d0912e5c5ed02c58b
    Thanks, that's about the answer I was expecting. It looks like GearSwap/Organizer's syntax and required files are completely different from GearCollector's XML files though, is there an easy way to migrate or will I just need to rewrite the files from scratch?

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

    Well, there are two ways to use organizer:
    1) You can use the stand-alone version, with
    Code:
    //org freeze inventory filename
    Saving your current inventory in filename. If you provide no inventory name, it saves all bags. If you provide no file name, it saves as your current main and subjob.

    Then you would do:
    Code:
    //org organize inventory filename
    which would open the saved inventory state and attempt to recreate it. If you provide no inventory name, it uses all bags. If you provide no file name, it uses your current main and subjob.

    2) You could also use the gearswap library file. In order to do this, you'd need:
    Code:
    require 'organizer-lib'
    Then you could use:
    Code:
    //gs org
    which would iterate over your sets table (the place where you keep equipment in gearswap) and attempt to grab all of the equipment for your currently loaded file.



    Disclaimer: Organizer is far faster than you're used to from GearCollector. It takes about two seconds to totally change my inventory. If this worries you, go to its settings file and set the item_delay to a higher number. I believe its units are seconds.

  15. #4455
    BEES OH GOD BEES
    Join Date
    Sep 2005
    Posts
    1,294
    BG Level
    6
    FFXI Server
    Bahamut
    WoW Realm
    Stormrage

    I've found that gearswap stops me from doing anything for 10 seconds after macro trading a key in abyssea, effectively giving /item commands a 10sec cooldown. I assume there is some sort of universal setting somewhere I can change for when you use an item, but I can't seem to find it, nor any info on it. Anyone know how to change this?

  16. #4456
    Melee Summoner
    Join Date
    Jul 2015
    Posts
    43
    BG Level
    1
    FFXI Server
    Bahamut

    Quote Originally Posted by Khelek View Post
    I've found that gearswap stops me from doing anything for 10 seconds after macro trading a key in abyssea, effectively giving /item commands a 10sec cooldown. I assume there is some sort of universal setting somewhere I can change for when you use an item, but I can't seem to find it, nor any info on it. Anyone know how to change this?
    If it's just from using Forbidden Keys, that could be the game itself stopping you. Does it work after you trade it normally?

  17. #4457
    BEES OH GOD BEES
    Join Date
    Sep 2005
    Posts
    1,294
    BG Level
    6
    FFXI Server
    Bahamut
    WoW Realm
    Stormrage

    yes, and it works if I disable gearswap and use the macro as well.

  18. #4458
    Bagel
    Join Date
    Dec 2012
    Posts
    1,488
    BG Level
    6

    Quote Originally Posted by Khelek View Post
    I've found that gearswap stops me from doing anything for 10 seconds after macro trading a key in abyssea, effectively giving /item commands a 10sec cooldown. I assume there is some sort of universal setting somewhere I can change for when you use an item, but I can't seem to find it, nor any info on it. Anyone know how to change this?
    are you using one of these in your code??
    midaction() or pet_midaction()
    i ask because some times using an item causes a pause with them because all items use the same timer in gearswap except Usable items like potions this causes gearswap to lock midaction() to true for the max time

    this is the reason i add a switch to disable mine for when i need to use mulitpul keys fast like this
    Code:
    if (Watch_pet_midaction and pet_midaction() or false) or (Watch_midaction and midaction() or false) then
              return
    end

  19. #4459
    BEES OH GOD BEES
    Join Date
    Sep 2005
    Posts
    1,294
    BG Level
    6
    FFXI Server
    Bahamut
    WoW Realm
    Stormrage

    can't see that I was using either of those commands anywhere. I have some pet stuff in there though. I was hoping that the universal timer you speak of was editable somehow. Here's the .lua I was using:

    Spoiler: show
    Code:
    function get_sets()
    	--PRECAST SETS
    	sets.precast ={}
    			sets.precast.FC ={
    			main="Marin Staff",
    			ranged="Nepote Bell",
    			head="Nahtirah Hat",
    			neck="Jeweled Collar",
    			lear="Loquacious Earring",
    			rring="Prolix Ring",
    			body="Helios Jacket",
    			hands="Bagua Mitaines",
    			back="Lifestream Cape",
    			legs="Geomancy Pants",
    			feet="Helios Boots"}
    			
    				sets.precast.Cur = set_combine(sets.precast.FC,{main="Tamaxchi", sub="Sors Shield", back="Pahtli Cape"})
    				
    				sets.precast.Enhancing = set_combine(sets.precast.FC,{waist="Siegel Sash"})
    				
    					sets.precast.Stoneskin = set_combine(sets.precast.Enhancing,{})
    				
    				sets.precast.Ninjutsu = set_combine(sets.precast.FC,{})
    				
    				sets.precast.Elemental = set_combine(sets.precast.FC,{
    					hands="Bagua Mitaines"})
    		
    		sets.precast['Life Cycle'] ={
    			body="Geomancy Tunic"}
    			
    		sets.precast['Full Circle'] ={
    			body="Bagua Mitaines"}
    			
    		sets.precast['Radial Arcana'] ={
    			body="Bagua Sandals"}
    		
    	--MIDCAST SETS
    	sets.midcast ={}
    		sets.midcast.Recast ={
    			main="Marin Staff",
    			sub="Pax Grip",
    			ranged="Nepote Bell",
    			head="Nahtirah Hat",
    			neck="Jeweled Collar",
    			ear1="Loquacious Earring",
    			ear2="Ethereal Earring",
    			body="Helios Jacket",
    			hands="Gendewitha Gages",
    			ring1="Prolix Ring",
    			ring2="Defending Ring",
    			back="Lifestream Cape",
    			waist="Cetl Belt",
    			legs="Geomancy Pants",
    			feet="Bagua Sandals"}
    		
    		sets.midcast.Ele ={
    			main="Marin Staff",
    			sub="Mephitis Grip",
    			ammo="Kalboron Stone",
    			head="Buremte Hat",
    			neck="Artemis' Medal",
    			ear1="Friomisi Earring",
    			ear2="Hecate's Earring",
    			body="Helios Jacket",
    			hands="Hagondes Cuffs",
    			ring1="Acumen Ring",
    			ring2="Omega Ring",
    			back="Toro Cape",
    			waist="Aswang Sash",
    			legs={"Hagondes Pants", augments={'Phys. dmg. taken -2%','"Mag.Atk.Bns."+17',}},
    			feet="Helios Boots"}
    			
    			sets.midcast.Ele.Weather = set_combine(sets.midcast.Ele,{
    				ring1="Zodiac Ring",
    				back="Twilight Cape",
    				waist="Hachirin-no-Obi"})
    				
    		sets.midcast.Enf ={
    			main="Marin Staff",
    			sub="Mephitis Grip",
    			ammo="Kalboron Stone",
    			head="Buremte Hat",
    			neck="Artemis' Medal",
    			ear1="Lifestorm Earring",
    			ear2="Psystorm Earring",
    			body="Helios Jacket",
    			hands="Hagondes Cuffs",
    			ring1="Omega Ring",
    			ring2="Perception Ring",
    			back="Lifestream Cape",
    			waist="Aswang Sash",
    			legs="Geomancy Pants",
    			feet="Bagua Sandals"}
    			
    			sets.midcast.Enf ={}
    			sets.midcast.Enf.Weather = set_combine(sets.midcast.Enf,{
    				ring1="Zodiac Ring",
    				back="Twilight Cape",
    				waist="Hachirin-no-Obi"})
    				
    		sets.midcast.Geo = set_combine(sets.midcast.Recast,{
    			ranged="Nepote Bell",
    			body="Bagua Tunic",
    			hands="Geomancy Mitaines",
    			back="Lifestream Cape",
    			legs="Bagua Pants"})
    		
    		sets.midcast.Cur ={
    			main="Tamaxchi",
    			sub="Sors Shield",
    			hands="Bokwus Gloves",
    			legs="Nares Trews"}
    		
    		sets.midcast.Enhancing =set_combine(sets.midcast.Recast,{
    			body="Anhur Robe",
    			legs="Geomancy Pants"})
    		
    			sets.midcast.Stoneskin =set_combine(sets.midcast.Enhancing,{ear2="Earthcry Earring", waist="Siegel Sash"})
    		
    	--AFTERCAST SETS
    	sets.aftercast ={}
    		
    		sets.aftercast.Idle ={
    			main="Terra's Staff",
    			sub="Pax Grip",
    			ranged="Nepote Bell",
    			head="Bagua Galero",
    			neck="Twilight Torque",
    			ear1="Brachyura Earring",
    			ear2="Gifted Earring",
    			body="Geomancy Tunic",
    			hands="Bagua Mitaines",
    			ring1="Shadow Ring",
    			ring2="Defending Ring",
    			back="Shadow Mantle",
    			waist="Slipor Sash",
    			legs="Nares Trews",
    			feet="Geomancy Sandals"}
    		
    		sets.aftercast.Luopan = set_combine(sets.aftercast.Idle,{head="Selenian Cap", hands="Geomancy mitaines", feet="Bagua Sandals"})
    		
    		sets.aftercast.Resting = set_combine(sets.aftercast.Idle,{main="Boonwell Staff"})
    		
    	--SPELL LIST BY ELEMENT
    	LightSpells = S{	'Dia','Dia II'}
    	
    	DarkSpells = S{ 'Blind','Bio','Drain','Sleep','Aspir','Sleepga','Bio II',
    					'Sleep II','Sleepga II','Aspir II','Comet','Frazzle','Dispel'}
    	
    	FireSpells = S{ 'Fire','Fire II','Fire III','Fire IV','Fire V','Fire VI',
    					'Firaga','Firaga II','Firaga III','Firaja','Burn','Flare',
    					'Flare II','Fira','Fira II'}
    	
    	IceSpells = S{  'Blizzard','Blizzard II','Blizzard III','Blizzard IV','Blizzard V',
    					'Blizzard VI','Blizzaga','Blizzaga II','Blizzaga III','Blizzaja',
    					'Distract','Paralyze','Bind','Frost','Freeze','Freeze II','Blizzara','Blizzara II'}
    	
    	WindSpells = S{	'Aero','Aero II','Aero III','Aero IV','Aero V','Aero VI','Aeroga',
    					'Aeroga II','Aeroga III','Aeroja','Tornado','Tornado II','Choke',
    					'Silence','Gravity','Aerora','Aerora II'}
    	
    	EarthSpells = S{	'Stone','Stone II','Stone III','Stone IV','Stone V','Stone VI',
    						'Stonega','Stonega II','Stonega III','Stoneja','Quake',
    						'Quake II','Slow','Break','Breakga','Rasp','Stonera','Stonera II'}
    	
    	ThunderSpells = S{	'Thunder','Thunder II','Thunder III','Thunder IV','Thunder V',
    						'Thunder VI','Thundaga','Thundaga II','Thundaga III','Thundaja',
    						'Burst','Burst II','Shock','Thundara','Thundara II'}
    	
    	WaterSpells = S{	'Water','Water II','Water III','Water IV','Water V','Water VI',
    						'Waterga','Waterga II','Waterga III','Waterja','Flood',
    						'Flood II','Poison','Poison II','Watera','Watera II'}
    end
    
    function pet_change(pet,gain)
        idle(pet)
    end
    
    function precast(spell)
        if midaction() then
            cancel_spell()
            return
        end
    	if sets.precast[spell.english] then
            equip(sets.precast[spell.english])
    	elseif spell.type=="Ninjutsu" then
    		equip(sets.precast.Ninjutsu)
        elseif string.find(spell.english,'Cur') and spell.name ~= 'Cursna' then
            equip(sets.precast.Cur)
    	elseif string.find(spell.english,'Stoneskin') then
            equip(sets.precast.Stoneskin)
    	
    	elseif spell.skill == 'Enhancing Magic' then
    		equip(sets.precast.Enhancing)
    	elseif spell.skill == 'Enfeebling Magic' then
    		equip(sets.precast.Enfeebling)
    	elseif spell.skill == 'Elemental Magic' then
    		equip(sets.precast.Elemental)
        else
    		equip(sets.precast.FC)
    	end
    end
    
    function midcast(spell)
        if sets.midcast[spell.english] then
            equip(sets.midcast[spell.english])
    	elseif string.find(spell.english,'Cur') and spell.name ~= 'Cursna' then
            equip(sets.midcast.Cur)
    	elseif string.find(spell.english,'Geo-') or string.find(spell.english,'Indi-') then
            equip(sets.midcast.Geo)
    	elseif spell.action_type == 'Magic' then
            if spell.skill == 'Elemental Magic' then
    			if world.day=='Lightsday' or buffactive['Aurorastorm'] then	
    				if LightSpells:contains(spell.name) then
    					equip(sets.midcast.Ele.Weather)
    				else
    					equip(sets.midcast.Ele)
    				end
    			elseif world.day=='Darksday' or buffactive['Voidstorm'] then	
    				if DarkSpells:contains(spell.name) then
    					equip(sets.midcast.Ele.Weather)
    				else
    					equip(sets.midcast.Ele)
    				end
    			elseif world.day=='Firesday' or buffactive['Firestorm'] then	
    				if FireSpells:contains(spell.name) then
    					equip(sets.midcast.Ele.Weather)
    				else
    					equip(sets.midcast.Ele)
    				end
    			elseif world.day=='Earthsday' or buffactive['Sandstorm'] then	
    				if EarthSpells:contains(spell.name) then
    					equip(sets.midcast.Ele.Weather)
    				else
    					equip(sets.midcast.Ele)
    				end
    			elseif world.day=='Watersday' or buffactive['Rainstorm'] then	
    				if WaterSpells:contains(spell.name) then
    					equip(sets.midcast.Ele.Weather)
    				else
    					equip(sets.midcast.Ele)
    				end
    			elseif world.day=='Windsday' or buffactive['Windstorm'] then	
    				if WindSpells:contains(spell.name) then
    					equip(sets.midcast.Ele.Weather)
    				else
    					equip(sets.midcast.Ele)
    				end
    			elseif world.day=='Iceday' or buffactive['Hailstorm'] then	
    				if IceSpells:contains(spell.name) then
    					equip(sets.midcast.Ele.Weather)
    				else
    					equip(sets.midcast.Ele)
    				end
    			elseif world.day=='Lightningday' or buffactive['Thunderstorm'] then	
    				if LightningSpells:contains(spell.name) then
    					equip(sets.midcast.Ele.Weather)
    				else
    					equip(sets.midcast.Ele)
    				end
    			else
    				if world.weather_element == 'Light' then
    					if LightSpells:contains(spell.name) then
    						equip(sets.midcast.Ele.Weather)
    					else
    						equip(sets.midcast.Ele)
    					end
    				elseif world.weather_element == 'Dark' then
    					if DarkSpells:contains(spell.name) then
    						equip(sets.midcast.Ele.Weather)
    					else
    						equip(sets.midcast.Ele)
    					end
    				elseif world.weather_element == 'Fire' then
    					if FireSpells:contains(spell.name) then
    						equip(sets.midcast.Ele.Weather)
    					else
    						equip(sets.midcast.Ele)
    					end
    				elseif world.weather_element == 'Earth' then
    					if EarthSpells:contains(spell.name) then
    						equip(sets.midcast.Ele.Weather)
    					else
    						equip(sets.midcast.Ele)
    					end
    				elseif world.weather_element == 'Water' then
    					if WaterSpells:contains(spell.name) then
    						equip(sets.midcast.Ele.Weather)
    					else
    						equip(sets.midcast.Ele)
    					end
    				elseif world.weather_element == 'Wind' then
    					if WindSpells:contains(spell.name) then
    						equip(sets.midcast.Ele.Weather)
    					else
    						equip(sets.midcast.Ele)
    					end
    				elseif world.weather_element == 'Ice' then
    					if IceSpells:contains(spell.name) then
    						equip(sets.midcast.Ele.Weather)
    					else
    						equip(sets.midcast.Ele)
    					end
    				elseif world.weather_element == 'Lightning' then
    					if LightningSpells:contains(spell.name) then
    						equip(sets.midcast.Ele.Weather) 
    					else
    						equip(sets.midcast.Ele)
    					end
    				else
    					equip(sets.midcast.Ele)
    				end
    			end
    		elseif spell.skill == 'Enfeebling Magic' then
    			if world.day=='Lightsday' or buffactive['Aurorastorm'] then	
    				if LightSpells:contains(spell.name) then
    					equip(sets.midcast.Enf.Weather)
    				else
    					equip(sets.midcast.Enf)
    				end
    			elseif world.day=='Darksday' or buffactive['Voidstorm'] then	
    				if DarkSpells:contains(spell.name) then
    					equip(sets.midcast.Enf.Weather)
    				else
    					equip(sets.midcast.Enf)
    				end
    			elseif world.day=='Firesday' or buffactive['Firestorm'] then	
    				if FireSpells:contains(spell.name) then
    					equip(sets.midcast.Enf.Weather)
    				else
    					equip(sets.midcast.Enf)
    				end
    			elseif world.day=='Earthsday' or buffactive['Sandstorm'] then	
    				if EarthSpells:contains(spell.name) then
    					equip(sets.midcast.Enf.Weather)
    				else
    					equip(sets.midcast.Enf)
    				end
    			elseif world.day=='Watersday' or buffactive['Rainstorm'] then	
    				if WaterSpells:contains(spell.name) then
    					equip(sets.midcast.Enf.Weather)
    				else
    					equip(sets.midcast.Enf)
    				end
    			elseif world.day=='Windsday' or buffactive['Windstorm'] then	
    				if WindSpells:contains(spell.name) then
    					equip(sets.midcast.Enf.Weather)
    				else
    					equip(sets.midcast.Enf)
    				end
    			elseif world.day=='Iceday' or buffactive['Hailstorm'] then	
    				if IceSpells:contains(spell.name) then
    					equip(sets.midcast.Enf.Weather)
    				else
    					equip(sets.midcast.Enf)
    				end
    			elseif world.day=='Lightningday' or buffactive['Thunderstorm'] then	
    				if LightningSpells:contains(spell.name) then
    					equip(sets.midcast.Enf.Weather)
    				else
    					equip(sets.midcast.Enf)
    				end
    			else
    				if world.weather_element == 'Light' then
    					if LightSpells:contains(spell.name) then
    						equip(sets.midcast.Enf.Weather)
    					else
    						equip(sets.midcast.Enf)
    					end
    				elseif world.weather_element == 'Dark' then
    					if DarkSpells:contains(spell.name) then
    						equip(sets.midcast.Enf.Weather)
    					else
    						equip(sets.midcast.Enf)
    					end
    				elseif world.weather_element == 'Fire' then
    					if FireSpells:contains(spell.name) then
    						equip(sets.midcast.Enf.Weather)
    					else
    						equip(sets.midcast.Enf)
    					end
    				elseif world.weather_element == 'Earth' then
    					if EarthSpells:contains(spell.name) then
    						equip(sets.midcast.Enf.Weather)
    					else
    						equip(sets.midcast.Enf)
    					end
    				elseif world.weather_element == 'Water' then
    					if WaterSpells:contains(spell.name) then
    						equip(sets.midcast.Enf.Weather)
    					else
    						equip(sets.midcast.Enf)
    					end
    				elseif world.weather_element == 'Wind' then
    					if WindSpells:contains(spell.name) then
    						equip(sets.midcast.Enf.Weather)
    					else
    						equip(sets.midcast.Enf)
    					end
    				elseif world.weather_element == 'Ice' then
    					if IceSpells:contains(spell.name) then
    						equip(sets.midcast.Enf.Weather)
    					else
    						equip(sets.midcast.Enf)
    					end
    				elseif world.weather_element == 'Lightning' then
    					if LightningSpells:contains(spell.name) then
    						equip(sets.midcast.Enf.Weather)
    					else
    						equip(sets.midcast.Enf)
    					end
    				else
    					equip(sets.midcast.Enf)
    				end
    			end
    		elseif spell.skill == 'Enhancing Magic' then
    			equip(sets.midcast.Enhancing)
    		else 	
    			equip(sets.midcast.Recast)
    		end
    	end
    end
    
    function aftercast(spell)
        if spell then
            idle(pet)
        end
    end
    
    function status_change(new,old)
        if new=='Idle' then
            idle(pet)
        elseif new=='Resting' then
            equip(sets.aftercast.Resting)
        end
    end
    
    function idle(pet)
        if pet.isvalid then
    		equip(sets.aftercast.Luopan)
        else
    		equip(sets.aftercast.Idle)
    	end
    end

  20. #4460
    Melee Summoner
    Join Date
    Jul 2015
    Posts
    43
    BG Level
    1
    FFXI Server
    Bahamut

    This is kind of a nitpick, but why do so many people use statements like "if (foo or false)" in their code? Unless Lua implements logic gates in a really bizarre way, using "if (foo or false)" should return true unless foo is already false, and if having no value isn't treated the same as false, a statement like that still shouldn't return false. But I don't know Lua all that well, so I'm seriously puzzled.

    Quote Originally Posted by Khelek View Post
    can't see that I was using either of those commands anywhere. I have some pet stuff in there though. I was hoping that the universal timer you speak of was editable somehow. Here's the .lua I was using:

    Spoiler: show
    Code:
    function get_sets()
    	--PRECAST SETS
    	sets.precast ={}
    			sets.precast.FC ={
    			main="Marin Staff",
    			ranged="Nepote Bell",
    			head="Nahtirah Hat",
    			neck="Jeweled Collar",
    			lear="Loquacious Earring",
    			rring="Prolix Ring",
    			body="Helios Jacket",
    			hands="Bagua Mitaines",
    			back="Lifestream Cape",
    			legs="Geomancy Pants",
    			feet="Helios Boots"}
    			
    				sets.precast.Cur = set_combine(sets.precast.FC,{main="Tamaxchi", sub="Sors Shield", back="Pahtli Cape"})
    				
    				sets.precast.Enhancing = set_combine(sets.precast.FC,{waist="Siegel Sash"})
    				
    					sets.precast.Stoneskin = set_combine(sets.precast.Enhancing,{})
    				
    				sets.precast.Ninjutsu = set_combine(sets.precast.FC,{})
    				
    				sets.precast.Elemental = set_combine(sets.precast.FC,{
    					hands="Bagua Mitaines"})
    		
    		sets.precast['Life Cycle'] ={
    			body="Geomancy Tunic"}
    			
    		sets.precast['Full Circle'] ={
    			body="Bagua Mitaines"}
    			
    		sets.precast['Radial Arcana'] ={
    			body="Bagua Sandals"}
    		
    	--MIDCAST SETS
    	sets.midcast ={}
    		sets.midcast.Recast ={
    			main="Marin Staff",
    			sub="Pax Grip",
    			ranged="Nepote Bell",
    			head="Nahtirah Hat",
    			neck="Jeweled Collar",
    			ear1="Loquacious Earring",
    			ear2="Ethereal Earring",
    			body="Helios Jacket",
    			hands="Gendewitha Gages",
    			ring1="Prolix Ring",
    			ring2="Defending Ring",
    			back="Lifestream Cape",
    			waist="Cetl Belt",
    			legs="Geomancy Pants",
    			feet="Bagua Sandals"}
    		
    		sets.midcast.Ele ={
    			main="Marin Staff",
    			sub="Mephitis Grip",
    			ammo="Kalboron Stone",
    			head="Buremte Hat",
    			neck="Artemis' Medal",
    			ear1="Friomisi Earring",
    			ear2="Hecate's Earring",
    			body="Helios Jacket",
    			hands="Hagondes Cuffs",
    			ring1="Acumen Ring",
    			ring2="Omega Ring",
    			back="Toro Cape",
    			waist="Aswang Sash",
    			legs={"Hagondes Pants", augments={'Phys. dmg. taken -2%','"Mag.Atk.Bns."+17',}},
    			feet="Helios Boots"}
    			
    			sets.midcast.Ele.Weather = set_combine(sets.midcast.Ele,{
    				ring1="Zodiac Ring",
    				back="Twilight Cape",
    				waist="Hachirin-no-Obi"})
    				
    		sets.midcast.Enf ={
    			main="Marin Staff",
    			sub="Mephitis Grip",
    			ammo="Kalboron Stone",
    			head="Buremte Hat",
    			neck="Artemis' Medal",
    			ear1="Lifestorm Earring",
    			ear2="Psystorm Earring",
    			body="Helios Jacket",
    			hands="Hagondes Cuffs",
    			ring1="Omega Ring",
    			ring2="Perception Ring",
    			back="Lifestream Cape",
    			waist="Aswang Sash",
    			legs="Geomancy Pants",
    			feet="Bagua Sandals"}
    			
    			sets.midcast.Enf ={}
    			sets.midcast.Enf.Weather = set_combine(sets.midcast.Enf,{
    				ring1="Zodiac Ring",
    				back="Twilight Cape",
    				waist="Hachirin-no-Obi"})
    				
    		sets.midcast.Geo = set_combine(sets.midcast.Recast,{
    			ranged="Nepote Bell",
    			body="Bagua Tunic",
    			hands="Geomancy Mitaines",
    			back="Lifestream Cape",
    			legs="Bagua Pants"})
    		
    		sets.midcast.Cur ={
    			main="Tamaxchi",
    			sub="Sors Shield",
    			hands="Bokwus Gloves",
    			legs="Nares Trews"}
    		
    		sets.midcast.Enhancing =set_combine(sets.midcast.Recast,{
    			body="Anhur Robe",
    			legs="Geomancy Pants"})
    		
    			sets.midcast.Stoneskin =set_combine(sets.midcast.Enhancing,{ear2="Earthcry Earring", waist="Siegel Sash"})
    		
    	--AFTERCAST SETS
    	sets.aftercast ={}
    		
    		sets.aftercast.Idle ={
    			main="Terra's Staff",
    			sub="Pax Grip",
    			ranged="Nepote Bell",
    			head="Bagua Galero",
    			neck="Twilight Torque",
    			ear1="Brachyura Earring",
    			ear2="Gifted Earring",
    			body="Geomancy Tunic",
    			hands="Bagua Mitaines",
    			ring1="Shadow Ring",
    			ring2="Defending Ring",
    			back="Shadow Mantle",
    			waist="Slipor Sash",
    			legs="Nares Trews",
    			feet="Geomancy Sandals"}
    		
    		sets.aftercast.Luopan = set_combine(sets.aftercast.Idle,{head="Selenian Cap", hands="Geomancy mitaines", feet="Bagua Sandals"})
    		
    		sets.aftercast.Resting = set_combine(sets.aftercast.Idle,{main="Boonwell Staff"})
    		
    	--SPELL LIST BY ELEMENT
    	LightSpells = S{	'Dia','Dia II'}
    	
    	DarkSpells = S{ 'Blind','Bio','Drain','Sleep','Aspir','Sleepga','Bio II',
    					'Sleep II','Sleepga II','Aspir II','Comet','Frazzle','Dispel'}
    	
    	FireSpells = S{ 'Fire','Fire II','Fire III','Fire IV','Fire V','Fire VI',
    					'Firaga','Firaga II','Firaga III','Firaja','Burn','Flare',
    					'Flare II','Fira','Fira II'}
    	
    	IceSpells = S{  'Blizzard','Blizzard II','Blizzard III','Blizzard IV','Blizzard V',
    					'Blizzard VI','Blizzaga','Blizzaga II','Blizzaga III','Blizzaja',
    					'Distract','Paralyze','Bind','Frost','Freeze','Freeze II','Blizzara','Blizzara II'}
    	
    	WindSpells = S{	'Aero','Aero II','Aero III','Aero IV','Aero V','Aero VI','Aeroga',
    					'Aeroga II','Aeroga III','Aeroja','Tornado','Tornado II','Choke',
    					'Silence','Gravity','Aerora','Aerora II'}
    	
    	EarthSpells = S{	'Stone','Stone II','Stone III','Stone IV','Stone V','Stone VI',
    						'Stonega','Stonega II','Stonega III','Stoneja','Quake',
    						'Quake II','Slow','Break','Breakga','Rasp','Stonera','Stonera II'}
    	
    	ThunderSpells = S{	'Thunder','Thunder II','Thunder III','Thunder IV','Thunder V',
    						'Thunder VI','Thundaga','Thundaga II','Thundaga III','Thundaja',
    						'Burst','Burst II','Shock','Thundara','Thundara II'}
    	
    	WaterSpells = S{	'Water','Water II','Water III','Water IV','Water V','Water VI',
    						'Waterga','Waterga II','Waterga III','Waterja','Flood',
    						'Flood II','Poison','Poison II','Watera','Watera II'}
    end
    
    function pet_change(pet,gain)
        idle(pet)
    end
    
    function precast(spell)
        if midaction() then
            cancel_spell()
            return
        end
    	if sets.precast[spell.english] then
            equip(sets.precast[spell.english])
    	elseif spell.type=="Ninjutsu" then
    		equip(sets.precast.Ninjutsu)
        elseif string.find(spell.english,'Cur') and spell.name ~= 'Cursna' then
            equip(sets.precast.Cur)
    	elseif string.find(spell.english,'Stoneskin') then
            equip(sets.precast.Stoneskin)
    	
    	elseif spell.skill == 'Enhancing Magic' then
    		equip(sets.precast.Enhancing)
    	elseif spell.skill == 'Enfeebling Magic' then
    		equip(sets.precast.Enfeebling)
    	elseif spell.skill == 'Elemental Magic' then
    		equip(sets.precast.Elemental)
        else
    		equip(sets.precast.FC)
    	end
    end
    
    function midcast(spell)
        if sets.midcast[spell.english] then
            equip(sets.midcast[spell.english])
    	elseif string.find(spell.english,'Cur') and spell.name ~= 'Cursna' then
            equip(sets.midcast.Cur)
    	elseif string.find(spell.english,'Geo-') or string.find(spell.english,'Indi-') then
            equip(sets.midcast.Geo)
    	elseif spell.action_type == 'Magic' then
            if spell.skill == 'Elemental Magic' then
    			if world.day=='Lightsday' or buffactive['Aurorastorm'] then	
    				if LightSpells:contains(spell.name) then
    					equip(sets.midcast.Ele.Weather)
    				else
    					equip(sets.midcast.Ele)
    				end
    			elseif world.day=='Darksday' or buffactive['Voidstorm'] then	
    				if DarkSpells:contains(spell.name) then
    					equip(sets.midcast.Ele.Weather)
    				else
    					equip(sets.midcast.Ele)
    				end
    			elseif world.day=='Firesday' or buffactive['Firestorm'] then	
    				if FireSpells:contains(spell.name) then
    					equip(sets.midcast.Ele.Weather)
    				else
    					equip(sets.midcast.Ele)
    				end
    			elseif world.day=='Earthsday' or buffactive['Sandstorm'] then	
    				if EarthSpells:contains(spell.name) then
    					equip(sets.midcast.Ele.Weather)
    				else
    					equip(sets.midcast.Ele)
    				end
    			elseif world.day=='Watersday' or buffactive['Rainstorm'] then	
    				if WaterSpells:contains(spell.name) then
    					equip(sets.midcast.Ele.Weather)
    				else
    					equip(sets.midcast.Ele)
    				end
    			elseif world.day=='Windsday' or buffactive['Windstorm'] then	
    				if WindSpells:contains(spell.name) then
    					equip(sets.midcast.Ele.Weather)
    				else
    					equip(sets.midcast.Ele)
    				end
    			elseif world.day=='Iceday' or buffactive['Hailstorm'] then	
    				if IceSpells:contains(spell.name) then
    					equip(sets.midcast.Ele.Weather)
    				else
    					equip(sets.midcast.Ele)
    				end
    			elseif world.day=='Lightningday' or buffactive['Thunderstorm'] then	
    				if LightningSpells:contains(spell.name) then
    					equip(sets.midcast.Ele.Weather)
    				else
    					equip(sets.midcast.Ele)
    				end
    			else
    				if world.weather_element == 'Light' then
    					if LightSpells:contains(spell.name) then
    						equip(sets.midcast.Ele.Weather)
    					else
    						equip(sets.midcast.Ele)
    					end
    				elseif world.weather_element == 'Dark' then
    					if DarkSpells:contains(spell.name) then
    						equip(sets.midcast.Ele.Weather)
    					else
    						equip(sets.midcast.Ele)
    					end
    				elseif world.weather_element == 'Fire' then
    					if FireSpells:contains(spell.name) then
    						equip(sets.midcast.Ele.Weather)
    					else
    						equip(sets.midcast.Ele)
    					end
    				elseif world.weather_element == 'Earth' then
    					if EarthSpells:contains(spell.name) then
    						equip(sets.midcast.Ele.Weather)
    					else
    						equip(sets.midcast.Ele)
    					end
    				elseif world.weather_element == 'Water' then
    					if WaterSpells:contains(spell.name) then
    						equip(sets.midcast.Ele.Weather)
    					else
    						equip(sets.midcast.Ele)
    					end
    				elseif world.weather_element == 'Wind' then
    					if WindSpells:contains(spell.name) then
    						equip(sets.midcast.Ele.Weather)
    					else
    						equip(sets.midcast.Ele)
    					end
    				elseif world.weather_element == 'Ice' then
    					if IceSpells:contains(spell.name) then
    						equip(sets.midcast.Ele.Weather)
    					else
    						equip(sets.midcast.Ele)
    					end
    				elseif world.weather_element == 'Lightning' then
    					if LightningSpells:contains(spell.name) then
    						equip(sets.midcast.Ele.Weather) 
    					else
    						equip(sets.midcast.Ele)
    					end
    				else
    					equip(sets.midcast.Ele)
    				end
    			end
    		elseif spell.skill == 'Enfeebling Magic' then
    			if world.day=='Lightsday' or buffactive['Aurorastorm'] then	
    				if LightSpells:contains(spell.name) then
    					equip(sets.midcast.Enf.Weather)
    				else
    					equip(sets.midcast.Enf)
    				end
    			elseif world.day=='Darksday' or buffactive['Voidstorm'] then	
    				if DarkSpells:contains(spell.name) then
    					equip(sets.midcast.Enf.Weather)
    				else
    					equip(sets.midcast.Enf)
    				end
    			elseif world.day=='Firesday' or buffactive['Firestorm'] then	
    				if FireSpells:contains(spell.name) then
    					equip(sets.midcast.Enf.Weather)
    				else
    					equip(sets.midcast.Enf)
    				end
    			elseif world.day=='Earthsday' or buffactive['Sandstorm'] then	
    				if EarthSpells:contains(spell.name) then
    					equip(sets.midcast.Enf.Weather)
    				else
    					equip(sets.midcast.Enf)
    				end
    			elseif world.day=='Watersday' or buffactive['Rainstorm'] then	
    				if WaterSpells:contains(spell.name) then
    					equip(sets.midcast.Enf.Weather)
    				else
    					equip(sets.midcast.Enf)
    				end
    			elseif world.day=='Windsday' or buffactive['Windstorm'] then	
    				if WindSpells:contains(spell.name) then
    					equip(sets.midcast.Enf.Weather)
    				else
    					equip(sets.midcast.Enf)
    				end
    			elseif world.day=='Iceday' or buffactive['Hailstorm'] then	
    				if IceSpells:contains(spell.name) then
    					equip(sets.midcast.Enf.Weather)
    				else
    					equip(sets.midcast.Enf)
    				end
    			elseif world.day=='Lightningday' or buffactive['Thunderstorm'] then	
    				if LightningSpells:contains(spell.name) then
    					equip(sets.midcast.Enf.Weather)
    				else
    					equip(sets.midcast.Enf)
    				end
    			else
    				if world.weather_element == 'Light' then
    					if LightSpells:contains(spell.name) then
    						equip(sets.midcast.Enf.Weather)
    					else
    						equip(sets.midcast.Enf)
    					end
    				elseif world.weather_element == 'Dark' then
    					if DarkSpells:contains(spell.name) then
    						equip(sets.midcast.Enf.Weather)
    					else
    						equip(sets.midcast.Enf)
    					end
    				elseif world.weather_element == 'Fire' then
    					if FireSpells:contains(spell.name) then
    						equip(sets.midcast.Enf.Weather)
    					else
    						equip(sets.midcast.Enf)
    					end
    				elseif world.weather_element == 'Earth' then
    					if EarthSpells:contains(spell.name) then
    						equip(sets.midcast.Enf.Weather)
    					else
    						equip(sets.midcast.Enf)
    					end
    				elseif world.weather_element == 'Water' then
    					if WaterSpells:contains(spell.name) then
    						equip(sets.midcast.Enf.Weather)
    					else
    						equip(sets.midcast.Enf)
    					end
    				elseif world.weather_element == 'Wind' then
    					if WindSpells:contains(spell.name) then
    						equip(sets.midcast.Enf.Weather)
    					else
    						equip(sets.midcast.Enf)
    					end
    				elseif world.weather_element == 'Ice' then
    					if IceSpells:contains(spell.name) then
    						equip(sets.midcast.Enf.Weather)
    					else
    						equip(sets.midcast.Enf)
    					end
    				elseif world.weather_element == 'Lightning' then
    					if LightningSpells:contains(spell.name) then
    						equip(sets.midcast.Enf.Weather)
    					else
    						equip(sets.midcast.Enf)
    					end
    				else
    					equip(sets.midcast.Enf)
    				end
    			end
    		elseif spell.skill == 'Enhancing Magic' then
    			equip(sets.midcast.Enhancing)
    		else 	
    			equip(sets.midcast.Recast)
    		end
    	end
    end
    
    function aftercast(spell)
        if spell then
            idle(pet)
        end
    end
    
    function status_change(new,old)
        if new=='Idle' then
            idle(pet)
        elseif new=='Resting' then
            equip(sets.aftercast.Resting)
        end
    end
    
    function idle(pet)
        if pet.isvalid then
    		equip(sets.aftercast.Luopan)
        else
    		equip(sets.aftercast.Idle)
    	end
    end
    Even if you're not using it, one of the libs probably is. Try it his way, it seems less likely to break something by accident.

Page 223 of 302 FirstFirst ... 173 213 221 222 223 224 225 233 273 ... LastLast

Similar Threads

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