Item Search
     
BG-Wiki Search
Page 76 of 307 FirstFirst ... 26 66 74 75 76 77 78 86 126 ... LastLast
Results 1501 to 1520 of 6124
  1. #1501
    Relic Shield
    Join Date
    Jan 2013
    Posts
    1,868
    BG Level
    6

    well that was fuckin awesome. was gettin ready to do dynamis dunes. opened launcher to check for any updates and nothing. went to dynamis and entered. amazingly the DC TE was in a easy to get place and 2 seconds after i engage my main characters game freezes. which always results in dying cause when it freezes it disables my controller for other character too and im retarded usin just keyboard for this game. so i have to open the task manager to close the frozen window and restart it. and now there is 7 updates to download so more time is dwindling away in dynamis plus time to unweaken. get back in game finally and send isnt working which i rely heavily on. i restart the alt character and nothin. restart both nothing. reboot pc and nothing. 20 minutes left and i am just givin up for the night. this jsut not my day i guess.

    also //lua l send wasnt doin anything nor lua r or lua u

  2. #1502
    Radsourceful

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

    When lua - ---- doesn't do anything, luacore has crashed/unloaded. Do a load luacore to restore it but keep in mind it'll likely crash again (has been going out a bit tonight for me)

  3. #1503
    Melee Summoner
    Join Date
    Aug 2010
    Posts
    37
    BG Level
    1
    FFXI Server
    Lakshmi

    Tried Scoreboard a couple days ago, and it worked fine. Rebooted PC today and logged back in, and I'm getting the error below each time. Tried deleting the "scoreboard" folder and re-downloading it from the launcher, but still got the same error. Any way to fix this?

    luacore encountered a fatal error and must be terminated. Error: Access violation in IncomingChunk method.
    Lua -- ... Files (x86)\Windower4\/addons/scoreboard/scoreboard.lua:201: attempt to index upvalue 'display' (a nil value)
    luacore - Plugin successfully unloaded.

  4. #1504
    Relic Shield
    Join Date
    Jan 2013
    Posts
    1,868
    BG Level
    6

    ok so load luacore like it was a plugin (//load luacore)? will i have to restart if it works? Just really bummed me out cause everything was workin til the exact second it looked like the evening might be goin my way. Also since i rebooted the pc and all that im guessin luacore had crashed everytime i reloaded?

  5. #1505
    Radsourceful

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

    Very likely, has died on me almost every time I zoned tonight.

  6. #1506
    Blue Magic is Best Magic
    Join Date
    Jul 2007
    Posts
    8,215
    BG Level
    8

    Quote Originally Posted by orinthia View Post
    I've had this happen with blinkmenot being on. It really doesn't seem to like me muling, and crashes the game around the third or forth muled login. Do you have bmn loaded during this?
    Yeah I do have it loaded, I will try to unload it and see if that works.

  7. #1507
    Flowery Twats
    Join Date
    Jul 2008
    Posts
    3,583
    BG Level
    7

    Does windower4 have to just automatically update everything every time you open it? Would it be possible to have a prompt there instead asking if you want to update or not?

    Fairly irritating if I'm already logged on, am opening a 2nd char and it has to waste time downloading shit. Especially if it's one of those big installs that crashes a player already logged in.

  8. #1508
    Requiescat in pace.
    Join Date
    Dec 2008
    Posts
    1,341
    BG Level
    6
    FFXI Server
    Lakshmi

    Yeah they seem pretty resistant to anything except always-on updating.

  9. #1509
    BG Content
    Join Date
    Jul 2007
    Posts
    22,369
    BG Level
    10
    FFXI Server
    Lakshmi
    Blog Entries
    1

    Aureus pushed out a temp fix last night that should work for you. Let us know if you still have problems.

    As far as an off button, if they added that then they would decrease the pool of beta testers and gain a group of people reporting of broken things that were already fixed after each update. It's a beta and they're still adding features. The hook and LuaCore are getting major re-works to change how they handle packets, so there are bound to be some bumps in the next week. I recommend right clicking and reverting LuaCore a version, then duplicating it. Open the launcher, replace the freshly downloaded copy with the old, and log in if the features are that important.

    These changes that are being implemented will allow the injection/blocking/modification of approved packets via LuaCore, which will let us do things like make a very simple addon that bypasses the "you can't change gear because you're looking at the chat log/in a menu/etc." lock. I would personally tolerate everything if only for that improvement.




    In related news, I'm working on a Lua spellcast replacement for Windower v4 that uses this feature. Iryoku has volunteered to write a converter that will turn people's spellcast XMLs into appropriate .lua files, so user effort to move from Spellcast to Lua should be essentially nil. Also, the organization is different from Spellcast and more precise in pretty much every way. Here are the benefits:

    1) Midcast/aftercast rules are defined by packets rather than simply wait statements. - You no longer have to calculate your Casting Time reduction level or anything. Precast, Midcast, and Aftercast are absolute times.

    2) Confirmation of precast equipment before sending the command. - Do you find it annoying that you never know if your multi-million gil WS gear is actually on when your WS goes off? I certainly do. As such, I make sure that I receive the equip packet message before initiating the action.

    3) It uses equip packet injection. - This is slightly faster than normal equip commands and bypasses the client's checks for whether or not you can swap gear (are you in menu?, etc.)

    4) Runs more often and uses event-type-specific functions. - In the past we had to do lame work-arounds with AutoExec to address things like buff changes in spellcast. No longer! Now there are separate functions for precast, midcast, aftercast, status change (idle/engaged/etc.), and buff changes. You are, of course, free to define whatever functions you like in your .lua files and use them. If you prefer that only one function runs for precast/midcast/aftercast, then you're free to make it so.

    5) Faster. - Calculating precast/midcast/aftercast sets at different times spreads out the processing, which is already loads faster than Spellcast ever was. Short of making an infinite loop, there is no appreciable processing time regardless of script intricacy with this addon. It's fast.

    6) Ambiguous case handling. - I cannot even count the number of times I've seen people ask why their Fantod isn't working/etc. I use available variables to determine when the different spells/abilities should be used. In the case of true ambiguity (SMN/BLM with the appropriate avatar out, for instance), I default to the main job ability/spell if no command prefix is provided. So /wildcarrot would result in casting Wild Carrot on BLU and using the Wild Carrot pet command on BST with a rabbit pet out.


    Right now it's at the level where I've recreated most of the variables from the spellcast environment (formerly %variables) and I'm able to code functional user documents for myself. I use it on Monk. I need to be able to do a few more client-side checks to make equip packet injection safer. Specifically:
    1) I need to be able to check for Pathos/Encumberment.
    2) I need to be able to check for player Race.
    3) I need to be able to check for whether something is being traded/d-boxed/in AH confirmation. (This may already be available to me)
    4) I need access to the Pet Array (for PetTP)
    5) Figure out where the memory leak resides (for some reason this addon makes my memory balloon up to 1GB per FFXI process, but I have a quick-and-dirty copy of LuaCore with equip packet injection and that may be responsible).
    6) I need to handle cases where someone asks to equip a ring on one finger that's already equipped on the other.
    7) I need to add user commands (the equivalent of //sc set <set name>).
    8) Implement castdelay. (maybe)
    9) Add a user function for addon commands.

    Precastdelay, midcastdelay, aftercastdelay, and groups will not be included in this. The castdelays are unnecessary now that those time points are absolutely defined. Groups are conceptually redundant in Lua, because of how it handles tables. Discussion:
    Spoiler: show
    An example table for a setup that does not require multiple Groups would be:
    GroupA['TPset'] = {ammo="Potestas Bomblet", head="Usk. Somen +1", neck="Rancor Collar", ear1="Steelflash Earring", ear2="Bladeborn Earring", body="Thaumas Coat", hands="Miodio Gloves", ring1="Rajas Ring", ring2="Epona's Ring", back="Atheling Mantle", waist="Windbuffet Belt", legs="Manibozho Brais", feet="Usukane Sune-Ate +1"}
    The string 'TPset' is a key in the table GroupA that refers to the table above (between the {}s). So we effectively have MainTable['SetName'].

    You could also have:
    GroupA['WSset'] = {ammo="Potestas Bomblet", head="Thurandaut Chapeau", neck="Justiciar's Torque", ear1="Steelflash Earring", ear2="Bladeborn Earring", body="Omodaka Haramaki", hands="Mel. Gloves +2", ring1="Rajas Ring", ring2="Pyrosoul Ring", back="Atheling Mantle", waist="Black Belt", legs="Manibozho Brais", feet="Thaumas Nails"}
    Now 'WSset' is the key. Still MainTable['SetName']. No groups, because we don't need them in this case.

    If you wanted a setup with multiple Groups, though, you only have to add another table level. Then it becomes MainTable['GroupName']['SetName']. So, for instance:
    Gear['GroupA']['TPset'] = {ammo="Potestas Bomblet", head="Usk. Somen +1", neck="Rancor Collar", ear1="Steelflash Earring", ear2="Bladeborn Earring", body="Thaumas Coat", hands="Miodio Gloves", ring1="Rajas Ring", ring2="Epona's Ring", back="Atheling Mantle", waist="Windbuffet Belt", legs="Manibozho Brais", feet="Usukane Sune-Ate +1"}

    Gear['GroupA']['WSset'] = {ammo="Potestas Bomblet", head="Thurandaut Chapeau", neck="Justiciar's Torque", ear1="Steelflash Earring", ear2="Bladeborn Earring", body="Omodaka Haramaki", hands="Mel. Gloves +2", ring1="Rajas Ring", ring2="Pyrosoul Ring", back="Atheling Mantle", waist="Black Belt", legs="Manibozho Brais", feet="Thaumas Nails"}

    Gear['GroupB']['TPset'] = {ammo="Potestas Bomblet", head="Usk. Somen +1", neck="Rancor Collar", ear1="Steelflash Earring", ear2="Bladeborn Earring", body="Thaumas Coat", hands="Miodio Gloves", ring1="Epona's Ring", ring2="Rajas Ring", back="Atheling Mantle", waist="Black Belt", legs="Manibozho Brais", feet="Usukane Sune-Ate +1"}

    Gear['GroupB']['WSset'] = {ammo="Potestas Bomblet", head="Thurandaut Chapeau", neck="Justiciar's Torque", ear1="Moonshade Earring", ear2="Brutal Earring", body="Matanca Harness", hands="Mel. Gloves +2", ring1="Epona's Ring", ring2="Pyrosoul Ring", back="Atheling Mantle", waist="Black Belt", legs="Manibozho Brais", feet="Thaumas Nails"}
    There, now groups exist. Thanks to Lua, you can stack these tables with arbitrary depth. If you want to design a system with groups of groups, then you are free to do so. In order to add "Groups" and enforce the former set hierarchy, I would have to limit everyone to the same table depth (two levels). Because I can't make groups without constraining your freedom to make/name your own sets, formal "groups" aren't making the jump. You are, obviously, still free to use a two-tier table hierarchy and mimic spellcast's Groups/Set format.



    Disclaimer:
    It is important that everything in this addon is done correctly and mimics the client checks (that are detectable by the server) or this addon will be even more detectable than Spellcast. I will not be releasing beta versions until I am sure it is safe. It's one thing to get yourself banned while dicking around with packet injection, but it's quite another to take half the community down with you. Please do not ask me for beta versions, because they won't work with your version of LuaCore and I won't be providing them anyway.

  10. #1510
    Old Merits
    Join Date
    Sep 2010
    Posts
    1,094
    BG Level
    6
    FFXI Server
    Ragnarok

    This sounds so amazing. Love/hate. <3, cause it's awesome. Hate, cause I'm gonna have to learn lua now. Even with a XML->LUA converter, it'd just be better to be able to work on lua directly. And I'm sure there will be things from SC that don't transfer well.

    Quote Originally Posted by Byrthnoth View Post
    2) Confirmation of precast equipment before sending the command. - Do you find it annoying that you never know if your multi-million gil WS gear is actually on when your WS goes off? I certainly do. As such, I make sure that I receive the equip packet message before initiating the action.
    If it waits for the equip packets before firing the action, what happens if you're missing a piece of gear, and it can't equip it? Could it check inv against the set to be equipped? Also, being able to set rules based on what's in inv would be amazing. <,<

    Quote Originally Posted by Byrthnoth View Post
    3) It uses equip packet injection. - This is slightly faster than normal equip commands and bypasses the client's checks for whether or not you can swap gear (are you in menu?, etc.)
    Any chance of a toggle for the equips with menus open function? I often open my equip screen to test check what's being equipped at a given stage for an action, and to keep midcast/aftercast from changing it out again before I can look.

    Although, now that I think about it. Being able to watch the gear swaps with an open menu would be pretty amazing. Although being able to pause at any point is still nice.

    Random thought: Would the stats update while you watched or would you have to reopen it to refresh?

  11. #1511
    Old Merits
    Join Date
    Apr 2012
    Posts
    1,109
    BG Level
    6

    It sounds amazing, having to learn some basic lua shouldn't be too bad for so much gain.

    Does point 5 address the lag issues spellcast can have when using lots of variables on an underpowered machine/multiboxing?

  12. #1512
    BG Content
    Join Date
    Jul 2007
    Posts
    22,369
    BG Level
    10
    FFXI Server
    Lakshmi
    Blog Entries
    1

    If you're missing a piece of gear, it is never added to the "gear to be changed" cue so it doesn't wait for it to be put on.

    You can watch your gearswaps change with the open equip menu, but I'm not sure how "safe" it is. I do know that it's cool, though! You can no longer stop them by opening menus, but I can easily make an option that prints out the changed gear to the chat log.

    Point 5 does mean that underpowered computers will have no problem running this (unlike Spellcast). Because the code is quasi-compiled, it is very fast. Spellcast loads your document into memory and then interprets it (several times, iirc) every precast. It is front-loaded (doing all the calculations at precast for spellcast) and very inefficient (goes through the document and replaces variables one-by-one). This is more distributed (precast, midcast, and aftercast are genuinely separate times) and you're actually quasi-compiled (something something, I don't know), so it's basically just really fast and much less work for your computer.

    Here is an example Lua file for my scholar:
    Spoiler: show
    Code:
    function get_sets()
        sets = {}
        sets.precast_Stun = {main="Ajapamas II",sub="Arbuda Grip",ammo="Hasty Pinion",
            head="Zelus Tiara",neck="Aesir Torque",ear1="Belatz Pearl",ear2="Loquacious Earring",
            body="Hedera Cotehardie",hands="Repartie Gloves",lring="Balrahn's Ring",rring="Angha Ring",
            back="Swith Cape",waist="Goading Belt",legs="Rubeus Spats",feet="Scholar's Loafers"}
        
        sets.aftercast_Idle_noSub = {main="Terra's Staff",sub="Arbuda Grip",ammo="Mana ampulla",
            head="Savant's bonnet +2",neck="Twilight Torque",ear1="Gifted earring",ear2="Loquacious Earring",
            body="Heka's Kalasiris",hands="Serpentes Cuffs",ring1="Dark Ring",ring2="Dark Ring",
            back="Umbra Cape",waist="Hierarch Belt",legs="Nares Trews",feet="Herald's Gaiters"}
        
        sets.aftercast_Idle_Sub = {main="Terra's Staff",sub="Arbuda Grip",ammo="Mana ampulla",
            head="Savant's bonnet +2",neck="Twilight Torque",ear1="Savant's earring",ear2="Loquacious Earring",
            body="Heka's Kalasiris",hands="Serpentes Cuffs",ring1="Dark Ring",ring2="Dark Ring",
            back="Umbra Cape",waist="Hierarch Belt",legs="Nares Trews",feet="Herald's Gaiters"}
        
        sets.aftercast_Idle = sets.aftercast_Idle_noSub
            
        sets.precast_FastCast = {head="Nares Cap",neck="Stoicheion Medal",ear2="Loquacious Earring",
            body="Anhur Robe",back="Swith Cape",waist="Siegel Sash",feet="Argute Loafers +2"}
        
        sets.Resting = {main="Numen Staff",sub="Ariesian Grip",ammo="Mana ampulla",
            head="Hydra Beret",neck="Eidolon Pendant",ear1="Relaxing Earring",ear2="Antivenom Earring",
            body="Heka's Kalasiris",hands="Nares Cuffs",ring1="Star Ring",ring2="Angha Ring",
            back="Vita Cape",waist="Austerity Belt",legs="Nares Trews",feet="Serpentes Sabots"}
        
        sets.midcast_ElementalMagic = {main="Chatoyant Staff",sub="Wizzan Grip",ammo="Snow Sachet",
            head="Nares Cap",neck="Stoicheion Medal",ear1="Hecate's Earring",ear2="Novio Earring",
            body="Nares Saio",hands="Nares Cuffs",ring1="Icesoul Ring",ring2="Icesoul Ring",
            back="Twilight Cape",waist="Wanion Belt",legs="Akasha Chaps",feet="Nares Clogs"}
        
        sets.midcast_DarkMagic = {main="Chatoyant Staff",sub="Arbuda Grip",ammo="Hasty Pinion",
            head="Appetence Crown",neck="Aesir Torque",ear1="Hirudinea Earring",ear2="Loquacious Earring",
            body="Hedera Cotehardie",hands="Ayao's Gages",ring1="Balrahn's Ring",ring2="Excelsis Ring",
            back="Merciful Cape",waist="Goading Belt",legs="Auspex Slops",feet="Bokwus Boots"}
        
        sets.midcast_EnfeeblingMagic = {main="Chatoyant Staff",sub="Arbuda Grip",ammo="Savant's Treatise",
            head="Nares Cap",neck="Enfeebling Torque",ear1="Hirudinea Earring",ear2="Loquacious Earring",
            body="Nares Saio",hands="Ayao's Gages",ring1="Balrahn's Ring",ring2="Angha Ring",
            back="Altruistic Cape",waist="Wanion Belt",legs="Rubeus Spats",feet="Bokwus Boots"}
        
        sets.midcast_HealingMagic = {}
        
        sets.midcast_DivineMagic = {}
        
        sets.midcast_EnhancingMagic = {main="Kirin's Pole",sub="Fulcio Grip",ammo="Savant's Treatise",
            head="Svnt. Bonnet +2",neck="Colossus's Torque",body="Anhur Robe",hands="Augur's Gloves",
            back="Merciful Cape",waist="Olympus Sash",legs="Shedir Seraweels",feet="Rubeus Boots"}
        
        sets.precast_Stun_MAcc = {main="Ajapamas II",sub="Wizzan Grip",ranged="Aureole",
            head="Zelus Tiara",neck="Aesir Torque",ear1="Belatz Pearl",ear2="Loquacious Earring",
            body="Hedera Cotehardie",hands="Repartie Gloves",lring="Balrahn's Ring",rring="Angha Ring",
            back="Merciful Cape",waist="Goading Belt",legs="Auspex Slops",feet="Scholar's Loafers"}
            
        
        sets.midcast_Cure = {main="Arka IV",body="Heka's Kalasiris",hands="Augur's Gloves",legs="Nares Trews"}
        
        sets.midcast_Helix = {main="Chatoyant Staff",sub="Wizzan Grip",ammo="Snow Sachet",
            head="Nares Cap",neck="Stoicheion Medal",ear1="Hecate's Earring",ear2="Novio Earring",
            body="Nares Saio",hands="Nares Cuffs",ring1="Icesoul Ring",ring2="Icesoul Ring",
            back="Twilight Cape",waist="Wanion Belt",legs="Akasha Chaps",feet="Nares Clogs"}
        
        sets.midcast_Stoneskin = {main="Kirin's Pole",neck="Stone Gorget",waist="Siegel Sash",legs="Shedir Seraweels"}
        
        sets.Obi_Fire = {back='Twilight Cape',lring='Zodiac Ring'}
        sets.Obi_Earth = {back='Twilight Cape',lring='Zodiac Ring'}
        sets.Obi_Water = {back='Twilight Cape',lring='Zodiac Ring'}
        sets.Obi_Wind = {waist='Furin Obi',back='Twilight Cape',lring='Zodiac Ring'}
        sets.Obi_Ice = {waist='Hyorin Obi',back='Twilight Cape',lring='Zodiac Ring'}
        sets.Obi_Thunder = {waist='Rairin Obi',back='Twilight Cape',lring='Zodiac Ring'}
        sets.Obi_Light = {waist='Korin Obi',back='Twilight Cape',lring='Zodiac Ring'}
        sets.Obi_Dark = {waist='Anrin Obi',back='Twilight Cape',lring='Zodiac Ring'}
        
        stuntarg = 'Shantotto'
    end
    
    function precast(spell,action)
        if spell.english == 'Impact' then
            -- Cast Delay = 2?
            equip(sets['precast_FastCast'],{body="Twilight Cloak"})
            if not buffactive.elementalseal then
                add_to_chat(8,'--------- Elemental Seal is down ---------')
            end
        elseif spell.english == 'Stun' then
            if target.name == 'Paramount Mantis' or target.name == 'Tojil' then
                equip(sets['precast_Stun_MAcc'])
            else
                equip(sets['precast_Stun'])
            end
            if not buffactive.thunderstorm then
                add_to_chat(8,'--------- Thunderstorm is down ---------')
            elseif not buffactive.klimaform then
                add_to_chat(8,'----------- Klimaform is down -----------')
            end
            if stuntarg ~= 'Shantotto' then
                send_command('input /t '..stuntarg..' ---- Byrth Stunned!!! ---- ')
            end
        elseif spell.english ~= 'Embrava' then
            equip(sets['precast_FastCast'])
        end
    
        if (buffactive.alacrity or buffactive.celerity) and world.weather_element == spell.element then
            equip({feet='Argute Loafers +2'})
        end
    end
    
    function midcast(spell,action)
        a,z = string.find(spell.english,'Cur')
        b,z = string.find(spell.english,'helix')
        if a then 
            weathercheck(sets['midcast_Cure'])
        elseif b then
            equip(sets['midcast_Helix'])
        elseif spell.english == 'Impact' then
            local tempset = sets['midcast_'..spell.type]
            tempset['body'] = 'Twilight Cloak'
            tempset['head'] = 'empty'
            weathercheck(tempset)
        elseif spell.english == 'Stoneskin' then
            equip(sets['midcast_Stoneskin'])
        elseif spell.type == 'EnhancingMagic' then
            if spell.english == 'Embrava' then
                if not buffactive.perpetuance then
                    add_to_chat(8,'--------- Perpetuance is down ---------')
                end
                if not buffactive.accession then
                    add_to_chat(8,'--------- Accession is down ---------')
                end
                if not buffactive.penury then
                    add_to_chat(8,'--------- Penury is down ---------')
                end
            end
            if buffactive.perpetuance then
                equip(sets['midcast_EnhancingMagic'],{hands="Savant's Bracers +2"})
            else
                equip(sets['midcast_EnhancingMagic'])
            end
        else
            weathercheck(sets['midcast_'..spell.type])
        end
        
        if spell.english == 'Sneak' then
            send_command('wait 1.8;cancel 71;')
        end
    end
    
    function aftercast(spell,action)
        equip(sets['aftercast_Idle'])
        
        if spell.english == 'Sleep' or spell.english == 'Sleepga' then
            send_command('wait 55;input /echo ------- '..spell.english..' is wearing off in 5 seconds -------')
        elseif spell.english == 'Sleep II' or spell.english == 'Sleepga II' then
            send_command('wait 85;input /echo ------- '..spell.english..' is wearing off in 5 seconds -------')
        elseif spell.english == 'Break' or spell.english == 'Breakga' then
            send_command('wait 25;input /echo ------- '..spell.english..' is wearing off in 5 seconds -------')
        end
    end
    
    function status_change(old,new)
        if new = 'Resting' then
            equip(sets['Resting'])
        else
            equip(sets['aftercast_Idle'])
        end
    end
    
    function buff_change(status,gain_or_loss)
        if status == 'Sublimation: Complete' then -- True whether gained or lost
            sets.aftercast_Idle = sets.aftercast_Idle_noSub
        elseif status == 'Sublimation: Charging' then
            sets.aftercast_Idle = sets.aftercast_Idle_Sub
        end
        equip(sets.aftercast_Idle)
    end
    
    function pet_midcast(spell,action)
    end
    
    function pet_aftercast(spell,action)
    end
    
    function self_command(command)
        if command == 'stuntarg' then
            stuntarg = target.name
        end
    end
    
    -- This function is user defined, but never called by GearSwap itself. It's just a user function that's only called from user functions. I wanted to check the weather and equip a weather-based set for some spells, so it made sense to make a function for it instead of replicating the conditional in multiple places.
    
    function weathercheck(set)
        if spell.element == world.weather_element or spell.element == world.day_element then
            equip(set,sets['Obi_'..spell.element])
        else
            equip(set)
        end
    end


    Some of the variable names are slightly different. I will probably change spell.english to spell.name at some point, but you get the idea. You also see why I need to add CastDelay and Cancelspell if you look closely enough. I will be trying this one out tonight. I chose to convert this one specifically because it is one of my more complicated spellcast files and should allow me to test a lot of things that Monk isn't going to get done, so don't fret if it looks daunting.

  13. #1513
    Old Merits
    Join Date
    Sep 2010
    Posts
    1,094
    BG Level
    6
    FFXI Server
    Ragnarok

    Oh, shit. Umm, if midcast/aftercast are absolute, and not delayable How would you handle healing/restoring breath?

    Right now, for /mage healing breaths, the midcast goes after the trigger spell has finshed casting(equiping breath+ gear), and healing breath has begun to charge. And the aftercast is delayed until after healing breath has fired. For Restoring breath, aftercast is just delayed enough for the healing breath to go off.

    How would we handle these without midcast/aftercast delay in the Luaspellcast?

  14. #1514
    Insert witty title here
    Join Date
    Jun 2007
    Posts
    1,191
    BG Level
    6
    FFXI Server
    Phoenix

    Honestly, without knowing LUA at all, that looks a TON simpler than most SCH XMLs. I can't wait to dig into this!

  15. #1515
    BG Content
    Join Date
    Jul 2007
    Posts
    22,369
    BG Level
    10
    FFXI Server
    Lakshmi
    Blog Entries
    1

    Quote Originally Posted by Martel View Post
    Oh, shit. Umm, if midcast/aftercast are absolute, and not delayable How would you handle healing/restoring breath?

    Right now, for /mage healing breaths, the midcast goes after the trigger spell has finshed casting(equiping breath+ gear), and healing breath has begun to charge. And the aftercast is delayed until after healing breath has fired. For Restoring breath, aftercast is just delayed enough for the healing breath to go off.

    How would we handle these without midcast/aftercast delay in the Luaspellcast?
    I can easily add a pet_midcast and pet_aftercast. There is no point in a pet-specific precast because you initiate their actions in one form or another, so the precast would be the same for both characters.

    Edit: It is in!

  16. #1516
    Old Merits
    Join Date
    Sep 2010
    Posts
    1,094
    BG Level
    6
    FFXI Server
    Ragnarok

    That would be excellent. So, pet midcast would fire when the pet starts charging an action?

  17. #1517
    BG Content
    Join Date
    Jul 2007
    Posts
    22,369
    BG Level
    10
    FFXI Server
    Lakshmi
    Blog Entries
    1

    Yeah, pet midcast goes for "readies." For Summoner, for instance, you would use:

    precast - BP Delay gear
    midcast - No changes
    aftercast - No changes
    pet_midcast - Damage gear
    pet_aftercast - back to your idle set

    For Dragoon using Dia to trigger Restoring Breath, it would be:
    precast - Fast Cast Gear (I guess?)
    midcast - HP Gear
    aftercast - Breath Potency or nothing
    pet_midcast - Breath potency or nothing (depending whether you already swapped it with Aftercast)
    pet_aftercast - Back to your normal TP gear.

  18. #1518
    Flowery Twats
    Join Date
    Jul 2008
    Posts
    3,583
    BG Level
    7

    This is awesome. Question though:

    Whilst you're redoing the variables, can you add additional ones? Like Brd songs? %Song (Minuet, Madrigal, Gavotte, etc) similar to %SpellElement etc?
    That way could just have sone simple rule: If Skill=Singing/Wind/String equip range="%SongHorn" with a bunch of <var name="MinuetHorn">etc</var> etc variables.

    Just using brd as an example, I'm sure there's some other things ppl could think of that'd go well with the lua equivilent to variables you're working on.

  19. #1519
    Theory Fighter
    Join Date
    Jan 2011
    Posts
    1,427
    BG Level
    6
    FFXIV Character
    Frejan Schultz
    FFXIV Server
    Ragnarok
    FFXI Server
    Ragnarok

    Quote Originally Posted by Esvedium View Post
    Honestly, without knowing LUA at all, that looks a TON simpler than most SCH XMLs. I can't wait to dig into this!
    Indeed! And it actually looks like a programming language and not that hellish xml thing >_<

  20. #1520
    BG Content
    Join Date
    Jul 2007
    Posts
    22,369
    BG Level
    10
    FFXI Server
    Lakshmi
    Blog Entries
    1

    Those would be a change in the resources, but once they exist in the resources they would automatically exist in GearSwap. GearSwap is just passing the resources table for any given spell straight to the player (named spell). So in general if you can read it in the resources, it would be accessible in GearSwap. If you went through and added songtype="March" for Victory March and Advancing March, it would appear as "spell.songtype" in GearSwap.

    I say "in general" because I do block some non-english values from the resources table. I wasn't using them and they take up a memory, so I figured I might as well block them. The fields are: 'german','french','japanese','index','fr','frl','d e','del','jp','jpl'. I can open them back up if people want.

    Radec is currently the keeper of the resources keys and I don't want to volunteer work for him especially when he has already been so helpful. We already added skillchain properties to weaponskills, races/levels/jobs to armors, and so on.


    Edit:
    Also, information may not pertain to most people, but I do have the user scripts in a weak sandbox. I basically do this so that your choice of variable names can't fundamentally mess with the addon by accident (ie, we both choose the same name for a variable). If you want to break out of the sandbox for some reason (idk why), you can use Lua's "raw" commands to do so.

    Edit2: Added a self-command feature which you can use to eliminate all dummy spells. Now if you do //gs c <command> then <command> will be passed to a user-defined function named self_command. You can look on the previous page and see how I use "//gs c stuntarg" to handle the variable change that used to be handled by //dancingchains.

Page 76 of 307 FirstFirst ... 26 66 74 75 76 77 78 86 126 ... LastLast

Similar Threads

  1. Service and Support
    By Ribeye in forum FFXI: Everything
    Replies: 8
    Last Post: 2009-10-17, 18:23
  2. Windows vista and FFXI problem
    By Takeno in forum FFXI: Everything
    Replies: 1
    Last Post: 2007-07-26, 13:36
  3. Windows Vista and Windower
    By divisortheory in forum FFXI: Everything
    Replies: 35
    Last Post: 2006-06-23, 04:19