Item Search
     
BG-Wiki Search
Page 9 of 13 FirstFirst ... 7 8 9 10 11 ... LastLast
Results 161 to 180 of 260
  1. #161
    Smells like Onions
    Join Date
    May 2010
    Posts
    9
    BG Level
    0
    FFXI Server
    Bismarck

    Gear Set Math as defined above seems to have the following properties:

    - Gear Set Math is not commutative.
    IE:
    Set1 + Set2 = Set3
    Set2 + Set1 = Set4

    Set3 may or may not equal Set4.

    Does this seem correct?

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

    Yes, that is correct. The order in which sets are applied matters.

  3. #163
    Relic Weapons
    Join Date
    Dec 2012
    Posts
    329
    BG Level
    4
    FFXI Server
    Leviathan
    WoW Realm
    Madoran

    Ashita v1.0.2.8 Released

    Hello again everyone, another update to Ashita has been released.
    This release includes the following:
    Code:
    ----------------------------------------------------------------------------------------------------
    Ashita Version: 1.0.2.8
    ----------------------------------------------------------------------------------------------------
        Fixed : [Core] Packet parsing methods not correctly handling some packets.
        Fixed : [Core] Crash that could occur from a colored string from a Windower based application.
        Added : [Extn] LuaCast: /luacast reload - Now able to fully reload LuaCast via command.
        Added : [Extn] LuaCast: /luacast dostring "<lua text here>" - Able to parse chat log text as a Lua string.
        Added : [Extn] LuaCast: recast, vanatime, weather helper files.
        Added : [Extn] LuaCast: timer module for allowing timed events.
        Fixed : [Core] Typos inside of the keymap file.
        Fixed : [Core] Issue that prevented plugins from ever seeing a certain packet.
        Added : [Core] IData::CommandType::ForceHandle - Causes commands passed to HandleCommand to be resent to extensions.
    See previous change information in our release log here:
    http://svn.ffevo.net/ashita/release/ChangeLog.txt

    This update brought some bug fixes to the internal core of Ashita as well as some more LuaCast love.


    LuaCast
    The base folder structure of the LuaCast scripts has been adjusted, so with this update I recommend you delete your old folder and start fresh. The new layout is now as follows:

    • \LuaCast\
      • events.lua
      • main.lua
    • \LuaCast\extensions\
      • math.lua
      • string.lua
      • table.lua
      • timer.lua
    • \LuaCast\ffxi\
      • inventory.lua
      • recast.lua
      • vanatime.lua
      • weather.lua


    Commands
    Two new commands have been added to LuaCast to allow for more things.

    /luacast reload
    Allows users to fully reload the Lua state of LuaCast. (This will re-execute main.lua as if you just loaded the extension.) This is useful for developers working on scripts.

    /luacast dostring "<script data here>"
    Allows users to execute a chunk of Lua code from the command line. This can be EXTREMELY powerful when used with macros as well as any fancy scripts you create. For example, you print hello world:
    /luacast dostring "print( 'hello world' );"

    Keep in mind with this function, you have to surround the function in quotes. You cannot use double quotes inside the script chunk you are executing either.

    You can use this function to execute other Lua files as well using:
    /luacast dostring "dofile( filename )"

    This can process any valid Lua so use your imagination.

    More Informational Helpers!
    I have also coded a handful more helper Lua files.

    timer.lua

    Timers are based on how Garry's Mod implements Lua into his game. This allows for functions to be fired at a set interval for any amount of times you wish. You can also have a fire-once timer that is basically like a sleep allowing you to call a function in the future.

    For example, we can setup a function to be called every 5 seconds, until we tell it to stop like this:
    PHP Code:
    timer.Create'myTimer'50, function()
        print( 
    'Hello world!' );
    end ); 
    If you want to just have an event fire once, you can use the following instead:
    PHP Code:
    timer.Once5, function()
        print( 
    'Hello world!' );
    end ); 
    The above would call the function once after 5 seconds has passed since we called the timer.Once command.

    Please note:
    Timers are fired during the rendering of the game. It is in your best interest to not do massively intensive operations in timers



    recast.lua
    As you can guess, recast.lua is a helper file that contains various functions to obtain recast data.
    This is basically the entire Recast extension written in Lua.

    Here is rundown of each of the functions this file has:
    Recast.GetAbilityRecastIds() - Returns a table of all current recast ability ids.
    Recast.GetAbilityRecastIdFromIndex( index ) - Returns the recast ability id of the given index.
    Recast.GetAbilityRecastByIndex( index ) - Returns the recast timer of the given ability index.
    Recast.GetAbilityRecastById( id ) - Returns the ability recast timer for the given ability id.
    Recast.GetSpellRecastByIndex( index ) - Returns the spell recast by the given spell index.
    Recast.FormatTimestamp( timer ) - Formats a recast timer into a hh:mm:ss format.

    These should be fairly straight forward to understand. Here's an example of a few of the functions:
    PHP Code:
    -- Print Two-Hour Recast Info 
    local Recast 
    = require( "recast" ); 
    local index 0
    local timer Recast.GetAbilityRecastByIndexindex ); 
    local str Recast.FormatTimestamptimer ); 
    print( 
    string.format'Index: %d -- Recast: %d -- Timer String: %s'indextimerstr ) ); 

    vanatime.lua
    vanatime.lua is a helper file that contains functions for reading the Vanadiel time. This can be useful for getting the current time to check for day/night time, as well as checking moon phase etc.

    Here is rundown of each of the functions this file has:
    VanaTime.GetRawTimestamp() - Returns the absolute raw timestamp from the game.
    VanaTime.GetCurrentTimestamp() - Returns a formatted timestamp in the following format: hh:mm:ss
    VanaTime.GetCurrentTime() - Returns a Time table object.
    VanaTime.GetCurrentHour() - Returns the current in-game hour.
    VanaTime.GetCurrentMinute() - Returns the current in-game minute.
    VanaTime.GetCurrentSecond() - Returns the current in-game second.
    VanaTime.GetCurrentDate() - Returns a Date table object.

    GetCurrentTime() returns a Time table object. This table has the following properties:
    Hour - Current in-game hour.
    Minutes - Current in-game minutes.
    Seconds - Current in-game seconds.

    GetCurrentDate() returns a Date table object. This table has the following properties:
    WeekDay - The current elemental day.
    Day - Current Vanadiel day.
    Month - Current Vanadiel month.
    Year - Current Vanadiel year.
    MoonPercent - Current moon percent.
    MoonPhase - Current moon phase.


    weather.lua
    weather.lua is a simple helper that only exposes 1 function. To simply read the current in-game weather.
    Weather.GetCurrentWeather() - Returns the current weather type.

    Information
    Please note, inside each of these listed Lua files I mentioned you will find global data. Such as:
    PHP Code:
    WEATHER_CLEAR       0;
    WEATHER_SUNNY       1;
    WEATHER_CLOUDY      2;
    WEATHER_FOG         3;
    WEATHER_FIRE        4
    These sets of data can be used anywhere as long as you have included the said Lua file. This should make your life a lot easier when comparing value and such.. For example:
    PHP Code:
    if (Weather.GetCurrentWeather() == WEATHER_ICE2then
        
    -- Send an equip command here..
    end 
    Performance Warning!
    Please also note the following:
    Each file found inside the 'ffxi' sub folder will more than likely do some sort of memory processing. Currently all the files listed here scan for patterns to locate their data. It is important that you only include these files once! Including them every time you need it will decrease your FPS and cause lag as the amount of unneeded rescanning for the data will occur.

    Simply add the files to the top of your main.lua once and leave them there. Do everything else after them.

  4. #164
    Relic Weapons
    Join Date
    Dec 2012
    Posts
    329
    BG Level
    4
    FFXI Server
    Leviathan
    WoW Realm
    Madoran


    Hello part 2 for today, this time I am announcing the release of the Guildwork extension for Ashita!
    I have been working along side with Stanislav, Guildworks founder and owner, to bring this extension to Ashita for the past week.

    You can find all the details about this extension here:
    http://www.ffevo.net/topic/2963-guildwork/

    This extension works exactly like the Windower version does to ensure people have no issues using it.

    At this time the only feature that is not present is auto-updating the extension itself.
    It will download the required files it needs to run properly though, but, it will still require manually updating it when we push updates for it.

    Enjoy!

  5. #165
    Salvage Bans
    Join Date
    Mar 2010
    Posts
    769
    BG Level
    5
    FFXI Server
    Leviathan

    I'd also like to note that any bugs with Guildwork itself should be reported to Stan or myself via Guildwork, or you can PM me here.

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

    Made a post on ffevo (since that seemed a more appropriate location) covering some simple brainstorming on what's needed for the basic framework of the abstraction layer. It should show up on this forum: http://www.ffevo.net/forum/81-luacast-support/

  7. #167
    Custom Title
    Join Date
    Nov 2008
    Posts
    1,065
    BG Level
    6
    FFXI Server
    Diabolos

    Alright, I have a really simple question that will sway me to Ashita over Windower, and perhaps others too.

    Can it see JA/Magic cooldowns, for Lua or whatever?

    If there's one thing that pisses me off about Windower/Spellcast, it's that it can't see a JA is on cooldown and ignore using it and/or use a different one. Spells too, when you try to cast something a few seconds before it's ready again (Stun in particular) and all your swaps go derp in the middle of meleeing.

  8. #168
    An exploitable mess of a card game
    Join Date
    Sep 2008
    Posts
    13,197
    BG Level
    9
    FFXIV Character
    Gouka Mekkyaku
    FFXIV Server
    Gilgamesh
    FFXI Server
    Diabolos

    Quote Originally Posted by Raelia View Post
    Alright, I have a really simple question that will sway me to Ashita over Windower, and perhaps others too.

    Can it see JA/Magic cooldowns, for Lua or whatever?

    If there's one thing that pisses me off about Windower/Spellcast, it's that it can't see a JA is on cooldown and ignore using it and/or use a different one. Spells too, when you try to cast something a few seconds before it's ready again (Stun in particular) and all your swaps go derp in the middle of meleeing.
    According to someone else looking at this stuff, yes.

    Edit: http://www.ffevo.net/topic/2952-luac...recast-module/

  9. #169
    Relic Weapons
    Join Date
    Dec 2012
    Posts
    329
    BG Level
    4
    FFXI Server
    Leviathan
    WoW Realm
    Madoran

    Quote Originally Posted by Motenten View Post
    Made a post on ffevo (since that seemed a more appropriate location) covering some simple brainstorming on what's needed for the basic framework of the abstraction layer. It should show up on this forum: http://www.ffevo.net/forum/81-luacast-support/
    Thanks for your post(s), hope to see more.


    Quote Originally Posted by Raelia View Post
    Alright, I have a really simple question that will sway me to Ashita over Windower, and perhaps others too.

    Can it see JA/Magic cooldowns, for Lua or whatever?

    If there's one thing that pisses me off about Windower/Spellcast, it's that it can't see a JA is on cooldown and ignore using it and/or use a different one. Spells too, when you try to cast something a few seconds before it's ready again (Stun in particular) and all your swaps go derp in the middle of meleeing.
    Yes, with LuaCast you can check if a spell/ability is on cooldown. The Recast module I wrote that Yugl linked to is now included with the Ashita package when you download it from the svn.

  10. #170
    Very Sexy Nerd
    Join Date
    Oct 2005
    Posts
    8,734
    BG Level
    8
    FFXI Server
    Carbuncle

    I would just like to say, to anyone who has any sort of programming experience, writing extensions is really simple. Already wrote one (not fully complete, but functional, gonna add more usability stuff before releasing it) and am in the process of brainstorming my next one.

  11. #171
    Relic Weapons
    Join Date
    Dec 2012
    Posts
    329
    BG Level
    4
    FFXI Server
    Leviathan
    WoW Realm
    Madoran

    Quote Originally Posted by Julian View Post
    I would just like to say, to anyone who has any sort of programming experience, writing extensions is really simple. Already wrote one (not fully complete, but functional, gonna add more usability stuff before releasing it) and am in the process of brainstorming my next one.
    Glad to hear you're enjoying it. Feel free to ask any questions if you have any.

  12. #172
    Relic Weapons
    Join Date
    Dec 2012
    Posts
    329
    BG Level
    4
    FFXI Server
    Leviathan
    WoW Realm
    Madoran

    Ashita 1.0.2.9 Released

    Hey everyone, we have pushed another update tonight:
    Code:
    ----------------------------------------------------------------------------------------------------
    Ashita Version: 1.0.2.9
    ----------------------------------------------------------------------------------------------------
        Change: INTERFACEVERSION 1.42
        Added : [Core] Extensions can now be loaded with a priority order.
        Added : [Core] Plugin list will display the plugins priority now at the end of the line.
        Fixed : [Core] Added error checks for various Resource data queries.
        Added : [Extn] LuaCast: ParseAutoTrans global call now added.
        Added : [Extn] LuaCast: ParseArgs string extension.
        Change: [Extn] LuaCast: Removed some default outputs in main.lua
        Change: [Extn] LuaCast: Removed output from events.lua when adding an event.
        Added : [Extn] LuaCast: common.lua which holds various common enums for FFXI info.
        Fixed : [Extn] Screenshot: Now automatically creates Screenshots folder if missing.
        Added : [Extn] Screenshot: Now announces when a file saves (with name in message.)
        Fixed : [Extn] TParty: Party TP should no longer show for members in different zones.
        Added : [Both] New Setting GameSettings.DisableGamepad 
        Added : [Core] New boot config setting disable_gamepad. Disables the game pad for a given instance.

  13. #173
    Relic Weapons
    Join Date
    Dec 2012
    Posts
    329
    BG Level
    4
    FFXI Server
    Leviathan
    WoW Realm
    Madoran

    Hey guys, bit delayed on the update(s) for things:

    v1.0.2.10
    Code:
    ----------------------------------------------------------------------------------------------------
    Ashita Version: 1.0.2.10
    ----------------------------------------------------------------------------------------------------
        Fixed : [Core] Bug that could cause extensions to hang when auto loaded.
        Change: [Core] Resources: Reverted the GetXByName functions to match the whole string.
        Fixed : [Extn] Paste: Added uincode support.
        Fixed : [Core] Resources:Slip items were not being correctly parsed.
        Fixed : [Core] Resources: GetXByName crash when item was not found.

    Some more fun things with LuaCast:

    I wrote a mini-plugin system so that people can write plugins that are loadable / unloadable from Lua. See how to use/do that here:
    http://www.ffevo.net/topic/3007-luacast-plugin-system/

    Some third-party developers that have been testing LuaCast have released some fun scripts too:
    PLogger - Packet logger for helping developers: http://www.ffevo.net/topic/3014-plog...ng-in-luacast/
    gotSushi - Onscreen accuracy monitor: http://www.ffevo.net/topic/3015-gots...ate-on-screen/
    ExportInventory - Inventory exporter: http://www.ffevo.net/topic/3011-expo...rt-system-v10/
    ChatLogger - Chat logging: http://www.ffevo.net/topic/3012-chat...-your-chatlog/

    I wrote some more example usage stuff here as well:
    Writing to FFXI's chatlog with colors: http://www.ffevo.net/topic/2998-lua-...coloring-chat/
    Spectral Jig Helper: http://www.ffevo.net/topic/2994-jigh...jig-recasting/
    Short Name Matching: http://www.ffevo.net/topic/2976-shor...usage-example/

    v2 of LuaCast is in the works to clean some things up and optimize it a bit more. So I'll be sure to post about that when its released too.


    Some new plugins that have been written for Ashita as well are:
    GBind - Allows binding to G15 and similar keyboards. http://www.ffevo.net/topic/3003-gbind-alpha/
    Find - Allows for searching for items in your various storage areas. http://www.ffevo.net/topic/2999-find/
    ChatMon - Monitors chat for certain events and plays sounds. http://www.ffevo.net/topic/2972-chatmon/
    Rewrite - Short command usage for various things like abilities and magic. http://www.ffevo.net/topic/3001-rewrite-open-source/
    ImmortalLion - Blue magic spell set helper. http://www.ffevo.net/topic/3000-immortallion/
    petBar - Onscreen display of various pet information: http://www.ffevo.net/topic/2988-petbar-open-source/
    Peekaboo - Allows users to see all unspawned/hidden mobs and npcs. http://www.ffevo.net/topic/2983-peekaboo/

  14. #174
    Pandemonium
    Join Date
    Jul 2008
    Posts
    4,875
    BG Level
    7
    FFXI Server
    Bismarck

    I still haven't been able to play with this. (I don't even have Internet at my new home, yet!) I've only come in to once again voice my thanks and interest.

  15. #175
    D. Ring
    Join Date
    Jul 2008
    Posts
    4,529
    BG Level
    7
    FFXI Server
    Phoenix

    This is starting to sound pretty awesome. Onscreen accuracy monitor is pretty sweet.

  16. #176
    New Merits
    Join Date
    Jul 2011
    Posts
    245
    BG Level
    4
    FFXIV Character
    Already Banned
    FFXIV Server
    Hyperion
    FFXI Server
    Quetzalcoatl

    Looks pretty nice, especially for 2boxing only turnoff for my right now is not having GearCollector and Spellcast.

  17. #177
    Melee Summoner
    Join Date
    Apr 2010
    Posts
    42
    BG Level
    1
    FFXI Server
    Ragnarok

    Quote Originally Posted by Landsoul View Post
    Looks pretty nice, especially for 2boxing only turnoff for my right now is not having GearCollector and Spellcast.
    Spellcast is reproducible in Luacast. It's a very powerful plugin. I imagine that you could even handle all of gearcollector's functions in luacast as well.

  18. #178
    New Merits
    Join Date
    Jul 2011
    Posts
    245
    BG Level
    4
    FFXIV Character
    Already Banned
    FFXIV Server
    Hyperion
    FFXI Server
    Quetzalcoatl

    Quote Originally Posted by banggugyangu View Post
    Spellcast is reproducible in Luacast. It's a very powerful plugin. I imagine that you could even handle all of gearcollector's functions in luacast as well.
    Yeah, I know about LUAcast, only problem is I have zero knowledge about LUA, so prefer staying with XML really. I'm not really much into coding so figuring out XML alone is already a challenge for me :D

  19. #179
    Relic Weapons
    Join Date
    Nov 2006
    Posts
    319
    BG Level
    4
    FFXI Server
    Ragnarok

    I have released a LuaCast plugin similar to spellcast that lets you write gearset/configuration files in Lua. There are still a few kinks within, but there is a large amount of functions readily available, and many very flexible ones can be created and added to ones gearset file at any time.

    Below is an example of what a lua configuration file would look like for the plugin. Should anyone be interested, I recommend starting with that as your template and modify it as needed. I tried to keep it simple and show an example for almost each section. I do not recommend using this script(even for THF) without properly editing it first.
    Spoiler: show

    Code:
    --------------------------------------------
    --by matix
    --matix_thf.lua 
    --goes with version 1.0.x of "suitMeUpScotty"
    require( "plugins/suitMeUpScotty/scottysLittle_Helper" ); 
    --always require scottysLittle_Helper file!
    
    
    --gear used within is purely for example, 
    --do not simply plug this file in and expect to play THF.
    --you MUST modify sets to match your gea, and possibly create 
    --additional rules for other job abilities or weaponskills.
    
    idle =
    {
        [SLOT_HEAD]         = "Pyracmon Cap", 
        [SLOT_BODY]         = "Thaumas Coat", 
        [SLOT_HANDS]        = "Thaumas Gloves", 
        [SLOT_LEGS]         = "Thaumas Kecks", 
        [SLOT_FEET]         = "Fajin Boots", 
        [SLOT_NECK]         = "Twilight Torque", 
        [SLOT_WAIST]        = "Twilight Belt", 
        [SLOT_EARLEFT]      = "Brutal Earring", 
        [SLOT_EARRIGHT]     = "Suppanomimi", 
        [SLOT_RINGLEFT]     = "Shadow Ring", 
        [SLOT_RINGRIGHT]    = "Rajas Ring", 
        [SLOT_BACK]         = "Shadow Mantle",    
    };
    AddGearset('idle', idle );
    
    tp = 
    {
        [SLOT_HEAD]         = "Raid. Bonnet +2",                       
        [SLOT_BODY]         = "Thaumas Coat",
        [SLOT_HANDS]        = "Thaumas Gloves",
        [SLOT_LEGS]         = "Thaumas Kecks", 
        [SLOT_FEET]         = "Thaumas Nails", 
        [SLOT_NECK]         = "Nefarious Collar",
        [SLOT_WAIST]        = "Twilight Belt", 
        [SLOT_EARLEFT]      = "Brutal Earring", 
        [SLOT_EARRIGHT]     = "Suppanomimi",
        [SLOT_RINGLEFT]     = "Epona's Ring", 
        [SLOT_RINGRIGHT]    = "Rajas Ring",
        [SLOT_BACK]         = "Atheling Mantle",
    };
    AddGearset( 'tp', tp );
    
    ws =
    {
        [SLOT_HEAD]         = "Thaumas Hat", 
        [SLOT_BODY]         = "Tessera Saio", 
        [SLOT_HANDS]        = "Thaumas Gloves", 
        [SLOT_LEGS]         = "Thaumas Kecks", 
        [SLOT_FEET]         = "Thaumas Nails", 
        [SLOT_NECK]         = "Breeze Gorget", 
        [SLOT_WAIST]        = "Breeze Belt", 
        [SLOT_EARLEFT]      = "Brutal Earring", 
        [SLOT_EARRIGHT]     = "Vulcan's Pearl", 
        [SLOT_RINGLEFT]     = "Epona's Ring", 
        [SLOT_RINGRIGHT]    = "Rajas Ring", 
        [SLOT_BACK]         = "Atheling Mantle",
    };
    AddGearset('ws', ws);
     
    EvisWS =
    {
        [SLOT_HEAD]         = "Thaumas Hat", 
        [SLOT_BODY]         = "Tessera Saio", 
        [SLOT_HANDS]        = "Thaumas Gloves", 
        [SLOT_LEGS]         = "Thaumas Kecks", 
        [SLOT_FEET]         = "Thaumas Nails", 
        [SLOT_NECK]         = "Breeze Gorget", 
        [SLOT_WAIST]        = "Breeze Belt", 
        [SLOT_EARLEFT]      = "Brutal Earring", 
        [SLOT_EARRIGHT]     = "Auster's Pearl", 
        [SLOT_RINGLEFT]     = "Epona's Ring", 
        [SLOT_RINGRIGHT]    = "Rajas Ring", 
        [SLOT_BACK]         = "Atheling Mantle",
    };
    AddGearset('evis', EvisWS);
    
    THF_SA =
    {
        [SLOT_HEAD]         = "Thaumas Hat", 
        [SLOT_BODY]         = "Tessera Saio", 
        [SLOT_HANDS]        = "Thaumas Gloves", 
        [SLOT_LEGS]         = "Thaumas Kecks", 
        [SLOT_FEET]         = "Thaumas Nails", 
        [SLOT_NECK]         = "Ire Torque +1", 
        [SLOT_WAIST]        = "Wanion Belt", 
        [SLOT_EARLEFT]      = "Brutal Earring", 
        [SLOT_EARRIGHT]     = "Suppanomimi", 
        [SLOT_RINGLEFT]     = "Epona's Ring", 
        [SLOT_RINGRIGHT]    = "Rajas Ring", 
        [SLOT_BACK]         = "Atheling Mantle",
    };
    AddGearset('sa', THF_SA);
    
    THF_TA =
    {
        [SLOT_HEAD]         = "Thaumas Hat", 
        [SLOT_BODY]         = "Tessera Saio", 
        [SLOT_HANDS]        = "Thaumas Gloves", 
        [SLOT_LEGS]         = "Thaumas Kecks", 
        [SLOT_FEET]         = "Thaumas Nails", 
        [SLOT_NECK]         = "Houyi's Gorget", 
        [SLOT_WAIST]        = "Elanid Belt", 
        [SLOT_EARLEFT]      = "Brutal Earring", 
        [SLOT_EARRIGHT]     = "Suppanomimi", 
        [SLOT_RINGLEFT]     = "Epona's Ring", 
        [SLOT_RINGRIGHT]    = "Rajas Ring", 
        [SLOT_BACK]         = "Atheling Mantle",
    };
    AddGearset('ta', THF_TA);
    
    pre_utsu =
    {
        [SLOT_HEAD]         = "Raid. Bonnet +2", 
        [SLOT_BODY]         = "Thaumas Coat", 
        [SLOT_HANDS]        = "Thaumas Gloves", 
        [SLOT_LEGS]         = "Thaumas Kecks", 
        [SLOT_FEET]         = "Wurrukatte Boots", 
        [SLOT_NECK]         = "Twilight Torque",
        [SLOT_WAIST]        = "Twilight Belt",
        [SLOT_RINGLEFT]     = "Shadow Ring",     
        [SLOT_BACK]         = "Shadow Mantle",        
    };
    AddGearset('putsu', pre_utsu);
    
    mid_utsu =
    {
        [SLOT_NECK]         = "Magoraga Beads", 
        [SLOT_EARLEFT]      = "Loquac. Earring", 
    };
    AddGearset('utsu', mid_utsu);
    
    pdt =
    {
        [SLOT_NECK]         = "Twilight Torque", 
        [SLOT_RINGLEFT]     = "Shadow Ring", 
        [SLOT_RINGRIGHT]    = "Jelly Ring", 
        [SLOT_BACK]         = "Shadow Mantle",
    }; 
    AddGearset('pdt', pdt);
    
    mdt = 
    {
        [SLOT_NECK]         = "Twilight Torque", 
        [SLOT_RINGLEFT]     = "Shadow Ring", 
        [SLOT_BACK]         = "Shadow Mantle",    
    };
    AddGearset('mdt', mdt); 
    
    ----------------------------------------------------------------------------
    --these are custom vars, you can make thme as needed
    WS_POSTDELAY 	= 2.0; --delay used for how long after ws'ing before reparsing tpGearChanges
    RA_MIDDELAY 	= 2.0; --2.5 working for me --delay for equipping mid /ra gear
    RA_POSTDELAY	= 1.5; --delay from when midcast is procssed onward, its procsses its value(seconds) after ra_middelay(seconds) have elapsed
    --you need the above 3 entries 
    
    --below shows how to override the default amount of tp(100) before it will equip ws gear (someone asked for this).
    scotty_wsTP 			= 95; --will be used not equip ws gears until X wsTP.
    
    function healGearAdjust()
    --adjust rules for healing with certain area/buff/region/situation specific hMP/hHP hear
        --equipSet( hMP );
    end
    function idleGearAdjust()
    --could add an if rule for town vs outside/dungeon/battlefield
    --or some type of if target = tiacat(mrawr), idle in fire resist, or w/e..
        equipSet( idle );  
    end
    function statusGearAdjust() 
    --a function for custom status rules such as Event, Chocobo, Fishing, Synthing, Dead.
    --for statuses such as: idle, fighting, healing, use the premade functions.
    --triggers upon a status or buff change.   
    end
    function tpGearAdjust() --! called when your status is triggered as 'Fighting', or when you gain/lose buffs and your status is fighting or etc..
        -- ja's that will modify tp set(or next hit etc...)--
        if (isBuffActive('Sneak Attack')) then
            equipSet( THF_SA );
            return true;        
        end
        if (isBuffActive('Trick Attack')) then
            equipSet( THF_TA );
            return true;        
        end
        if (isBuffActive('Feint')) then
            equipSet( feint );
            return true;
        end
        -- your default tp set --
        equipSet( tp );
        return true;
    end
    function jaGearAdjust(jaName) --! changes gearsets for when performing instant activation JA's; make rules within around jaNames and targetNames
        if (jaName == 'Steal') then
    		equipSet( THF_Steal );
    		return true;
    	else
    		return false;
    	end	
    end
    function wsGearAdjust(wsName) --! this is where you set ws gearset rules, based on the ws and the target or anytihng in between~
    	if (wsName == 'Evisceration') then  --lets pretend shoha, and that you just used rana
            equipSet( EvisWS ); --nonstacked evis ws main/default
    		return true;
    	end	
    	equipSet( ws ); --non-defined ws default set
    	return true;
    end
    function maGearAdjust( spellName ) --? adjust gearset right before you cast(precast) based on rules within(spellname/target name)
        local spell = AshitaCore:GetResources():GetSpellByName( spellName )
    	if (magicSkillType(spell.Skill) == 'Ninjutsu') then --ninja
            if (string.Contains(spell.Name, 'Utsusemi')) then
    			equipSet( pre_utsu );
    			return true;			
    		end
    	end		
    	return true;
    end
    function midMaGearAdjust( spellName ) --? adjusts gearsets based on rules within; occurs at 50% of a spells native casting time
    	local spell = AshitaCore:GetResources():GetSpellByName( spellName )	
    	if (magicSkillType(spell.Skill) == 'Ninjutsu') then --ninja
    		if (string.Contains(spell.Name, 'Utsusemi')) then
    			equipSet( mid_utsu );
    			return true;			
    		end
    	end		
    	return true;	
    end
    function raGearAdjust() --? adjust's /ra gear; snapshot gear/aiming phase
    	return true;
    end
    function midRaGearAdjust() --X e custom attribute(equips x-hit/dmg gear beore shot lands) 
    	return true;
    end
    function updateAliases() 
    --this is an option section, but do not remove the function itself
    --only remove the rules below, and leave the function empty
    --these are for your /scotty set <blah> aliases, they will
    --need to be updated if u wish to use a setup like this example below.
    
        if (isBuffActive('Sneak Attack')) then
            UpdateGearset( 'tp', THF_SA ); --updates /scotty set 'tp' set       
        elseif (isBuffActive('Trick Attack')) then
            UpdateGearset( 'tp', THF_TA );--updates /scotty set 'tp' set
        else 
            UpdateGearset( 'tp', tp );
        end    
    end


    There is a large list of currenty available functions you can check against, you can view them in the spoiler tags below

    Spoiler: show
    Code:
    ------------------------------------------------------------------------------ 
    -- equipTest_Helper functions; ALL of the following functions may be used
    -- within your gearset file(the Yourname_JOB.lua file). Its recommended to start -- with an existing template and modify/tweak it until you understand the outline
    --
    -- Even when starting from scratch, a template will be desired unless you know
    -- all of the trigger functions already.
    ------------------------------------------------------------------------------
    
    AddGearset( 'alias', gearset_table ) 
        Adds a gearset to the gearsets table. alias' are in quotes, tables are not.
        e.g. AddGearset( 'tpSet', myTPset);
        myTPset is used anytime you call a set from your name_job.lua file. 
        e.g. equipSet( myTPset );
        alias is used when you call sets from /equipTest set <alias>.
        e.g. '/equipTest set tpSet' 
    
    RemoveGearset( 'alias' )
    
    UpdateGearset( 'alias', new_gearset_table )    
        
    jobType( jobId )
        converts a jobIdNumber to its abbreviated job name. (WAR, WHM) etc..
    
    elementType( spell.Element )
        converts an elements ID(spell.Element) to its readable name. ("Fire", "Ice", "Air") etc..
    
    baseMagicType( spell.MagicType )
        converts a magic skill type's ID(spell.MagicType) to its readable name. ("SummonerPact", "Ninjutsu", "BardSong", "BlueMagic") etc..
        
    magicSkillType( spell.Skill )
        converts a magicType ID(spell.Skill) to its readable name. (Healing, Ninjutsu, Summoning, Dark, Blue, String) etc..    
        
    combatSkillType( item.Skill )    
        converts a skillType ID to its readable name. (HandToHand, GreatKatana, Shield) etc..
        
    equipSlotType( slotIdOrName )
        converts an equipment slot's ID to its slot name, or outputs the slot name to an equipment slot's ID. (returns "main", "waist", "L.Ear" or 1-16 depending input.)
    
    statusType( statusID )
        converts player status ID's into a readable text name. (Idle, Fighting, Healing, Event, Fishing, Synthing, Sitting, Dead) etc..
        
    GetEquipmentSlot( slotID )
        returns the name of the equipment in the specified slot. (This is used internally by the equipSet function, it may be used if you need it elsewhere.)
        
    equip( slot, 'itemName' )
        equips the specified slot with the specified gear. Slot must be given as a number*. Unless you did: equip( equipSlotType(slotName) , itemName ) *hint*hint. That will convert it to its slot number automatically etc..
        
    equipSet( myGearsetTable )
        equips the specified gearset. AddGearset( 'myalias', myGearsetTable )
        
    equipPostSet( delay , gearset )    
        equips the specified gearset after 'delay' has elapsed(seconds).
    
    dayOrNight()
        returns 'Datyime' or 'Nightime' based on the in game hour. (6:00/18:00)
        
    isDayTime()
        returns a boolean true/false value depending current game hour.
    
    isNightTime()    
        returns a boolean true/false value depending current game hour.
        
    vanaDay( dayId )
        converts an elemental day ID to its readable name. (Firesday, Darksday, Iceday)
        
    currentDay()
        returns the current vanadiel day.
        
    isDay( 'eleday' )
        returns a boolean true/false if the given day matches the current day.
        e.g: isDay('Watersday')
    
    isStatus( statusType )
        returns a boolean true/false if the given status("Idle", "Dead", "Chocobo") is indeed a status type. 
        
    myTarget()
        returns the current target window name when called.
        
    myStatus()
        returns the your players status in readable format("Idle", "Healing") when called.
        
    myName()
        returns your players own name when called.
        
    myTP()
        returns your players current TP when called.
        
    myHP()
        returns your players current HP when called.
        
    myMP()
        returns your players current MP when called.
        
    myHPP()
        returns your players current HP Percent when called.
        
    myMPP()
        returns your players current MP Percent when called.
    
    myJob()
        returns your players Main job when called.
    
    mySubjob()
        returns your players Sub job when called.
    
    myMainhand()
        returns your players currently equipped Mainhand when called.
    
    mySubhand()
        returns your players currently equipped Subhand when called.
        
    myRange()
        returns your players currently equipped Range when called.
    
    myAmmo()
        returns your players currently equipped Ammo when called.   
        
    myHead()
        returns your players currently equipped Head when called.    
       
    myNeck()
        returns your players currently equipped Neck when called.
    
    myLEar()
        returns your players currently equipped Left earring when called.
    
    myREar()
        returns your players currently equipped Right Earring when called.
    
    myHands()
        returns your players currently equipped Hands when called.
    
    myBody()
        returns your players currently equipped Body when called. 
        
    myLRing()
        returns your players currently equipped Left ring when called.
    
    myRRing()
        returns your players currently equipped Right ring when called.
    
    myBack()
        returns your players currently equipped Back when called.
    
    myWaist()
        returns your players currently equipped Waist when called.
    
    myLegs()
        returns your players currently equipped Legs when called.
    
    myFeet()
        returns your players currently equipped Feet when called.
    
    isEquipped( slot, 'itemName' )
        returns a boolean true/false if the specified slot is equipped with the specified itemName. e.g. isEquipped( "Main" , 'Apocalypse' )
    
    isBuffActive( 'buffname' )
        returns a boolean true/false if the player current has the given buffname.
        buffnames refer to ANYTHING that leaves a status icon.
        For a complete list of internal 'buffnames' goto: http://www.ffevo.net/wiki/index.php/FFACETools_StatusEffect    
    
    myZoneID()
        returns your players current Zone ID.
        
    inZone( zoneName )
        returns a boolean true/false if you are currently in the given zoneName.
        
    isJaReady( jobAbilityID )
        returns a boolean true/false if the given JA ID is ready for use.
        
    buffCount()
        returns the current number of status icons/buffs.
        
    targetSelf()
        targets yourself when called.

    If anyone has suggestions on more built-in functions please let me know.

    Understand that while this is being used to equip your gear under certain conditions, it has capability to do more than that. For instance you are allowed to pass conditions/rules based on your characters 'status', which include things like cutscenes/synthing/fishing, with a little bit of cleverness it could be configured to auto-spam-enter during certain cutscenes.

    Some other interesting facets could be creating sets that adapt to your situation with ease, level 1/2/3 aftermath's could be split up and have different tp sets for each should a player want to utilize their mythic aftermath somehow, along with much more.

    So, if this looks like something you think you would be interested in using when using the Ashita windower, please give it a try! I am eager to get some feedback, much of the focus is to give the user lots of freedom in the design of their gearset file, at any time you may add additional functions right into your lua file. A well learned Lua user could configure their script to do much more than just automate equipping gear.

    You can learn about future adds, known issues, installing and loading the plugin here:http://www.ffevo.net/topic/3028-suit...lugin/?p=29110

    If anyone needs help configuring their gearset file be sure to post on the thread.

    Please be gentle D:! I'm very nervous to finally release this, it is still in its preliminary stages until I can get some user feedback!

  20. #180
    Campaign
    Join Date
    Jul 2007
    Posts
    6,633
    BG Level
    8

    Quote Originally Posted by Kohan View Post
    I still haven't been able to play with this. (I don't even have Internet at my new home, yet!) I've only come in to once again voice my thanks and interest.
    ^

Page 9 of 13 FirstFirst ... 7 8 9 10 11 ... LastLast

Similar Threads

  1. A couple questions for the BLMs
    By Tilanna in forum FFXI: Everything
    Replies: 7
    Last Post: 2004-09-16, 17:12
  2. Replies: 0
    Last Post: 2004-09-11, 13:32
  3. Mogi's Quest for the Black Belt
    By Mogi in forum FFXI: Everything
    Replies: 0
    Last Post: 2004-08-05, 19:59