Item Search
     
BG-Wiki Search
Closed Thread
Page 1 of 302 1 2 3 11 51 ... LastLast
Results 1 to 20 of 6036

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

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

    Gearswap Help Thread!

    ----------------------


    Since Spellcast is not receiving more updates since May Update, and more ppl starting with Gearswap, Please if you have any issue with you code, post it preferable using pastebin.com and with your questions

    Not that most ppl will read the first post before asking ~.~.
    ----------------------






    Hello, guess we need a thread for this, guess will start asking for some help with this simple BRD lua

    http://pastebin.com/EuKbP2VQ

    Trying to make this work since its the basic to start adding others "functions"

    For the Daudabla Switch was trying to make the selfcommand works, for example after my second song I would press a macro (/console gs c Daurdabla), to equip the harp and lock the slot. my aftercast "rule" enables it again.

    So far have the precast/midcast/aftercast working... but no Idea why the selfcommand just disable the slot and dont swap the instrument.

  2. #2
    The Syrup To Waffles's Waffle
    Join Date
    Jun 2007
    Posts
    5,053
    BG Level
    8
    FFXIV Character
    Cair Bear
    FFXIV Server
    Excalibur
    FFXI Server
    Fenrir

    Code:
    sets.midcast.DBuff = {range="Daurdabla"}
    --[[
    ...
    ]]--
    equip(sets.DBuff)
    You need equip(sets.midcast.DBuff) or to change it to sets.DBuff.

  3. #3
    Cerberus
    Join Date
    Jun 2007
    Posts
    411
    BG Level
    4
    FFXIV Character
    Ninita Nita
    FFXIV Server
    Excalibur
    FFXI Server
    Shiva
    WoW Realm
    Gnomeregan

    he actually has sets.DBuff near the top of the function.. i couldn't figure out what's wrong with it outside of equip -> disable going too fast and equip not getting into ranged slot before the disable happens

  4. #4
    The Syrup To Waffles's Waffle
    Join Date
    Jun 2007
    Posts
    5,053
    BG Level
    8
    FFXIV Character
    Cair Bear
    FFXIV Server
    Excalibur
    FFXI Server
    Fenrir

    Oh, didn't even catch that.

    Does verify_equip() work outside of precast/midcast/aftercast? Could use that if so.

  5. #5
    Cerberus
    Join Date
    Jun 2007
    Posts
    411
    BG Level
    4
    FFXIV Character
    Ninita Nita
    FFXIV Server
    Excalibur
    FFXI Server
    Shiva
    WoW Realm
    Gnomeregan

    My guess is the code is processing to fast. If the following doesn't work:
    Code:
    equip(sets.DBuff)
    verify_equip()
    disable('range')
    only suggestion i can think of is to change your code a bit to something like this
    Code:
    equip(sets.DBuff)
    send_command('@wait .5;gs disable range')

  6. #6
    BG Content
    Join Date
    Jul 2007
    Posts
    21,104
    BG Level
    10
    FFXI Server
    Lakshmi
    Blog Entries
    1

    Equip commands are checked against disable commands before they're processed. Nitrous' solution would work.

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

    Quote Originally Posted by Nitrous24 View Post
    My guess is the code is processing to fast. If the following doesn't work:
    Code:
    equip(sets.DBuff)
    verify_equip()
    disable('range')
    only suggestion i can think of is to change your code a bit to something like this
    Code:
    equip(sets.DBuff)
    send_command('@wait .5;gs disable range')
    Will try it.

    EDIT: yea, works perfectly, thanks

    Another Question, now that we dont have "groups" any Idea to have differents TP set, for Example, I set PDT as defaul TP set on, but I WS on the WS gear then go back to PDT ? SAme If I set ACC as TP set, If I WS I want it to use the ACC WS set.

    On SC it would works just changing groups. here, I guess some variable?

  8. #8
    The Syrup To Waffles's Waffle
    Join Date
    Jun 2007
    Posts
    5,053
    BG Level
    8
    FFXIV Character
    Cair Bear
    FFXIV Server
    Excalibur
    FFXI Server
    Fenrir

    You can simulate groups with table keys or variable names.

    For example, on samurai.

    sets["TP"] = {}

    sets["TP"]["Kogarasumaru"] = {}

    sets["TP"]["Kogarasumaru"]["Hybrid"] = { equip }
    sets["TP"]["Kogarasumaru"]["acc stuff"] = {equip}

    sets["TP"]["Amanomurakumo"] = {}
    sets["TP"]["Amanomurakumo"]["Hybrid"] = { equip } etc...

    You could then point to either with something like: equip(sets["TP"][equipment.main]["Hybrid"])

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

    Gearswap Help Thread!

    Hmmm sorry to ask, could you elaborate it a little more?

    How do Activate them in game?

    Edit... Guess got it. For example I could make a set that activates when I equip for ex. Toreador ring right? But how would be the In game macro?

  10. #10
    Puppetmaster
    Join Date
    Oct 2012
    Posts
    69
    BG Level
    2
    FFXI Server
    Bahamut

    If you look in the beta examples folder, the file Byrth_THF has an example of a trigger command set to cycle through various sets for TP and Idle. The MNK file has a simpler toggle using a blank TP set and then assigning different set values to the base set, such as sets.TP = sets.TP.DD.

    Generally to activate different situational sets, you'll want to create a command in the self_command function. The above listed examples also show how to create this in the script, which would then generally be called in game as:

    //gs c toggle TP set
    or
    /console gs c toggle TP set

    or something of that nature. There are tons of different variables you can assign for different situations too, such as Ionis buff being active, area values, and many others. The beta folder has an excel spreadsheet listing all of the various available commands and information available.

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

    Quote Originally Posted by zandterman View Post
    If you look in the beta examples folder, the file Byrth_THF has an example of a trigger command set to cycle through various sets for TP and Idle. The MNK file has a simpler toggle using a blank TP set and then assigning different set values to the base set, such as sets.TP = sets.TP.DD.

    Generally to activate different situational sets, you'll want to create a command in the self_command function. The above listed examples also show how to create this in the script, which would then generally be called in game as:

    //gs c toggle TP set
    or
    /console gs c toggle TP set

    or something of that nature. There are tons of different variables you can assign for different situations too, such as Ionis buff being active, area values, and many others. The beta folder has an excel spreadsheet listing all of the various available commands and information available.
    sorry for all the question

    Just got home will finish the brd one, to make it do the samethings my Spellcast does, then will work on MNK.

    The "problem" with the Byrth's ones is that those are "so elaborated" and to start with I need to understand basic functions.

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

    Here is my first try for the MNK

    http://pastebin.com/TPAGScbH * updated

    Now I want to do, that depending on the TP SET, it choose the WS set (I havent added them, but for example are VS Acc, VS Impetus, VS Acc-Impetus)

    Had an Idea about adding in the selfcommand something like

    Code:
    elseif command == 'acc' then
    equip(sets.TP.Acc)
    sets.aftercast.TP = sets.TP.Acc
    sets.precast.VS = sets.VS.acc				
    send_command('@input /echo Accuracy TP Set')
    But still havent understand @ 100% how it works, using the files in beta as example

    EDIT: got that already... now.. how does "function buff_change(status,gain_or_loss)" works?
    Interested in something If I gain Impetus to do something and if loss it to do another thing...

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

    Hmm. That's an interesting inversion of the normal Spellcast methodology -- make all the set decisions at the point where you change the state config, rather than figuring them out on use each time, and just reassign variable values. Simplifies some aspects of the code. Will have to try that out after I get other basic stuff working.

    I'm currently working on rebuilding my spellcast stuff for GearSwap to see how things go. Testing on brd. Will update it to http://pastebin.com/WK9Qw907 as I try to make things work.

  14. #14
    The Syrup To Waffles's Waffle
    Join Date
    Jun 2007
    Posts
    5,053
    BG Level
    8
    FFXIV Character
    Cair Bear
    FFXIV Server
    Excalibur
    FFXI Server
    Fenrir

    Quote Originally Posted by JSHidaka View Post
    EDIT: got that already... now.. how does "function buff_change(status,gain_or_loss)" works?
    Interested in something If I gain Impetus to do something and if loss it to do another thing...
    The function buff_change is called by an event and passes two arguments, both strings, the status, "Impetus" in your example, and gain_or_loss, which will be "gain" or "loss".

    Code:
    function buff_change(status,gain_or_loss)
        if status == "Imeptus" then
            if gain_or_loss == "gain"
                --You have gained Impetus
            else
                --You have lost Impetus
            end
        end
    end

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

    Quote Originally Posted by Cairthenn View Post
    The function buff_change is called by an event and passes two arguments, both strings, the status, "Impetus" in your example, and gain_or_loss, which will be "gain" or "loss".

    Code:
    function buff_change(status,gain_or_loss)
        if status == "Imeptus" then
            if gain_or_loss == "gain"
                --You have gained Impetus
            else
                --You have lost Impetus
            end
        end
    end
    Thanks! With this I should complete it


    EDIT:
    MNK 1.0

    http://pastebin.com/BtfKiAgh

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

    Personal style guide:
    Spoiler: show

    Using the 8-character indent level that Byrth used. Set my editor to use tabs only instead of spaces so that it's easy to move between indent levels.


    Sets (for anything more than trivial 1-2 items) are defined with each line corresponding to a line of on-screen equipment. Thus:

    main, sub, range, ammo
    head, neck, ear1, ear2
    body, hands, ring1, ring2
    back, waist, legs, feet

    This keeps the definitions from getting too long per line, and makes finding a particular slot easier, though it may at first look odd to see significantly varying line lengths.



    Sets are defined in broad categories:

    sets.precast -- all sets for equipping gear before taking an action (ability enhancement, fast cast, etc)

    sets.midcast -- all sets for spells (aside from fast cast), used to enhance the spell in some way

    sets.idle -- sets worn while idle

    sets.resting -- sets worn while resting

    sets.engaged -- sets worn while engaged

    sets.defense -- special defensive sets that can be used to override idle, engaged, or weaponskill sets (optional).


    There is no sets.aftercast, since that's not really a proper descriptor for what the sets represent; it's just an artifact of some of the coding. The idle/engaged/resting/defense tables cover the breadth of aftercast instead.


    Within each broad grouping I made subgroupings to keep things organized. sets.precast, for example, is separated into JA (job abilities), FC (fast cast), and WS (weaponskill) tables.



    Anyway, got it working on brd, more-or-less (http://pastebin.com/WK9Qw907). PDT and MDT sets aren't working, and haven't done anything more than the most simplistic user update command (ie: trigger actions from Spellcast). However all the precast/midcast/aftercast stuff seems to be working properly, though I have to verify_equip in a couple places to fix issues (A-B-A gear swapping, or spell interrupts due to waiting on recast).

    Also have a bunch of vars in there that really should be in an include, but I haven't gotten to that point yet.

    I've left in a bunch of the debugging text output in the version on pastebin as well, as I'm still looking into what's going on.


    The TP sets are a little clumsy. I tried to model them off of how I do them in Spellcast, with an offense mode and a defense mode that you can mix-and-match for various hybrid sets. The basics seem to work (at least the fallback if nothing special is defined), but I'm wondering if there's a better approach to this.

    Also looked at JSHidaka's lua. The arrangement of handling the sets seems interesting (and I made use of a variant of that in mine), but the organization seems a bit clumsy.


    Any thoughts on better organization would be appreciated.

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

    I stop'd using Gearswap on my mnk 'coz some Issues where the WS isnt going off.

    But for brd, GS is perfect coz it manage the Gears swaps things that SC couldnt coz the long casting time of the songs, Now my gear doesnt mess up like casting songs on precast gear.

  18. #18
    BG Content
    Join Date
    Jul 2007
    Posts
    21,104
    BG Level
    10
    FFXI Server
    Lakshmi
    Blog Entries
    1

    Did you unload spellcast?

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

    So right now I have stuff like this:
    Code:
    	sets.idle = {}
    
    	sets.idle.Town = {}
    	sets.idle.Town.Normal = {main=staffs.PDT, sub="Quire Grip",range="Oneiros Harp",
    		head="Gendewitha Caubeen",neck="Wiglen Gorget",ear1="Bloodgem Earring",ear2="Loquacious Earring",
    		body="Gendewitha Bliaut",hands="Gendewitha Gages",ring1="Sheltered Ring",ring2="Paguroidea Ring",
    		back="Umbra Cape",waist="Flume Belt",legs="Nares Trews",feet="Aoidos' Cothurnes +2"}
    	
    	sets.idle.Field = {}
    	sets.idle.Field.Normal = {main=staffs.PDT, sub="Quire Grip",range="Oneiros Harp",
    		head="Gendewitha Caubeen",neck="Wiglen Gorget",ear1="Bloodgem Earring",ear2="Loquacious Earring",
    		body="Gendewitha Bliaut",hands="Gendewitha Gages",ring1="Sheltered Ring",ring2="Paguroidea Ring",
    		back="Umbra Cape",waist="Flume Belt",legs="Nares Trews",feet="Aoidos' Cothurnes +2"}
    		
    	sets.idle.Weak = {}
    	sets.idle.Weak.Normal = {main=staffs.PDT,sub="Quire Grip",range="Oneiros Harp",
    		head="Gendewitha Caubeen",neck="Twilight Torque",ear1="Bloodgem Earring",
    		body="Gendewitha Bliaut",hands="Yaoyotl Gloves",ring1="Dark Ring",ring2="Meridian Ring",
    		back="Umbra Cape",waist="Flume Belt",legs="Gendewitha Spats",feet="Gendewitha Galoshes"}
    The idea is that there are multiple possible idle sets a job may want to use within any given scope. Scopes are Weak, Town and Field; so, I have an idle set while weak, an idle set for town gear, and an idle set for everywhere else in the world.

    Within each of these I may want to be more specific, such as having a DT idle set that still allows some refresh (blm), or varying pet idle sets for pup or bst.

    Now, the 'Normal' version of each set is the default if no other idle mode has been defined. Code for that is (simplified):
    Code:
    		if sets.idle.Field[IdleMode] then
    			equip(sets.idle.Field[IdleMode])
    		else
    			equip(sets.idle.Field.Normal)
    		end
    What I'm wondering is if I -need- to define it like that, or if I could simplify to:
    Code:
    	sets.idle = {}
    
    	sets.idle.Town = {main=staffs.PDT, sub="Quire Grip",range="Oneiros Harp",
    		head="Gendewitha Caubeen",neck="Wiglen Gorget",ear1="Bloodgem Earring",ear2="Loquacious Earring",
    		body="Gendewitha Bliaut",hands="Gendewitha Gages",ring1="Sheltered Ring",ring2="Paguroidea Ring",
    		back="Umbra Cape",waist="Flume Belt",legs="Nares Trews",feet="Aoidos' Cothurnes +2"}
    	
    	sets.idle.Field = {main=staffs.PDT, sub="Quire Grip",range="Oneiros Harp",
    		head="Gendewitha Caubeen",neck="Wiglen Gorget",ear1="Bloodgem Earring",ear2="Loquacious Earring",
    		body="Gendewitha Bliaut",hands="Gendewitha Gages",ring1="Sheltered Ring",ring2="Paguroidea Ring",
    		back="Umbra Cape",waist="Flume Belt",legs="Nares Trews",feet="Aoidos' Cothurnes +2"}
    	sets.idle.Field.DT = {...}
    	sets.idle.Field.Pet = {...}
    		
    	sets.idle.Weak = {main=staffs.PDT,sub="Quire Grip",range="Oneiros Harp",
    		head="Gendewitha Caubeen",neck="Twilight Torque",ear1="Bloodgem Earring",
    		body="Gendewitha Bliaut",hands="Yaoyotl Gloves",ring1="Dark Ring",ring2="Meridian Ring",
    		back="Umbra Cape",waist="Flume Belt",legs="Gendewitha Spats",feet="Gendewitha Galoshes"}
    And use:
    Code:
    		if sets.idle.Field[IdleMode] then
    			equip(sets.idle.Field[IdleMode])
    		else
    			equip(sets.idle.Field)
    		end
    This removes the empty top-level definition of sets.idle.Field = {}, making that the default set instead, and creating new sets underneath that that allow for more specificity. The question is whether GearSwap is ok with that. Since those sub-sets' names won't conflict with any of the existing equip slot fields, it doesn't seem like it should care if they exist or not, and it shouldn't interfere with the other equips being done, I think.

    If so then I could also create a fallback when the weak/field/town scopes aren't defined, such that they could all be collapsed into a single set (sets.idle) if I don't want to differentiate between them, or if I don't want to differentiate all of them (eg: default idle set, and a different idle set for weak, but don't bother distinguishing between town and field).


    Anyway, going to try that approach and see what happens.

  20. #20
    BG Content
    Join Date
    Jul 2007
    Posts
    21,104
    BG Level
    10
    FFXI Server
    Lakshmi
    Blog Entries
    1

    I'm fairly sure that will work, though it might not work with the validate and export commands. If you get it working with the equipping part, could you try the other two commands and let me know how it works out?

Closed Thread
Page 1 of 302 1 2 3 11 51 ... LastLast

Similar Threads

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