NetEaseUI

Miscellaneous Login to Add Favorites
  • 4 Likes
  • World of Warcraft
  • 27 Monthly Downloads
  • Supports: 4.3
  • 478 Total Downloads
  • Updated 2/22/2012 1:33:58 AM
  • Created 2/2/2012 9:55:58 PM
  • 7 Favorites
  • Project Site
  • Comments
  • Release Type: Release
  • License: All Rights Reserved
  • Newest File: 2.02.22
or

About NetEaseUI

Introduction

NetEaseUI is an advanced in-game addon control center, which combines Categoring, Searching, Loading and Setting of wow addons all together.

The most advanced feature is that ANY addons can be loaded immediately at ANYTIME, even those are not load-on-demands.

And it provides a complete solution for registering addons options to the control panel. It provides a series option widgets like AceGUI does, and saves and loads variables automatically. You can easily add commonly used slash commands or toggle options to the addon page by add some lua codes in CfgCustom.lua. The detailed development guide is on the website.

Development

ONLY read the following, if you are about to custom the addons:

By default, NetEaseUI will read the X-Category tag from "toc" file to categorize addons. You can comment the following line in the RunFirst.lua

UI163_USE_X_CATEGORIES = 1

to disable this feature and REGISTER your own configs by write lua codes in Configs/CfgCustom.lua (or any file includes by Configs.xml).

The registration grammer is:

U1RegisterAddon(AddonId, AddonConfigInfo)

Let's start with some simple example:

Step 1

Add the following code in CfgCustom.lua

U1RegisterAddon("Recount", {
    title = "Damage Meters",
    tags = {"My Favorites"},
    icon = "Interface\\ICONS\\ACHIEVEMENT_GUILDPERK_FASTTRACK_RANK2",
    desc = "Hahaha",
})

You will see this: (that Recount is now in "My Favorites" tags, and with a customized introduction. )

ex1

Step 2

Modify the code:

U1RegisterAddon("Recount", {
    title = "Damage Meters",
    tags = {"My Favorites"},
    icon = "Interface\\ICONS\\ACHIEVEMENT_GUILDPERK_FASTTRACK_RANK2",
    desc = "Hahaha",

    {
        type = "button",
        text = "Test Button",
        callback = function() print("Hello World") end
    },
})

The result is: (There is an Option Page and a button to print "Hello World".)

ex2

Step 3

Continue modifying the code:

U1RegisterAddon("Recount", {
    title = "Damage Meters",
    tags = {"My Favorites"},
    icon = "Interface\\ICONS\\ACHIEVEMENT_GUILDPERK_FASTTRACK_RANK2",
    desc = "Hahaha",

    {
        type = "button",
        text = "Test Button",
        callback = function() print("Hello World") end
    },

    {
        type = "checkbox",
        var = "show",
        text = "Toggle Main Window",
        default = true,
        callback = function(cfg, v, loading)             
            if(v) then
                Recount.MainWindow:Show();
                Recount:RefreshMainWindow();
            else
                Recount.MainWindow:Hide();
            end
        end,
    },
})

Now there is an toggle option to show/hide the Recount window, and the option will be kept between game session.

ex3

Step 4

And let's put something together:

U1RegisterAddon("Recount", {
    title = "Damage Meters",
    tags = {"My Favorites"},
    icon = "Interface\\ICONS\\ACHIEVEMENT_GUILDPERK_FASTTRACK_RANK2",
    desc = "Hahaha",

    {
        type = "checkbox",
        var = "show",
        text = "Toggle Main Window",
        default = true,
        callback = function(cfg, v, loading)             
            if(v) then
                Recount.MainWindow:Show();
                Recount:RefreshMainWindow();
            else
                Recount.MainWindow:Hide();
            end
        end,

        {
            type = "button",
            text = "Test Button",
            callback = function() print("Hello World") end
        },
    },

    {
        type = "text",
        text = "Text Title Example",

        {
            type = "drop",
            var = "var1", --only save the option if a var is specified.
            text = "DropDown Example",
            options = {"Caption1", "value1", "Caption2", "value2", },
            callback = function(cfg, v, loading) print(cfg.text, v) end,
        },

        {
            type = "radio",
            text = "Radio Box Example",
            cols = 2,
            options = {"Caption1", "value1", "Caption2", "value2", },
            callback = function(cfg, v, loading) print(cfg.text, v) end,
        },

        {
            type = "checklist",
            text = "CheckBox List Example",
            options = {"Caption1", "value1", "Caption2", "value2", },
            callback = function(cfg, v, loading) print(cfg.text, v) end,
        },

        {
            type = "spin",
            text = "SpinBox Example",
            range = {1, 100, 5},
            default = 50,
            callback = function(cfg, v, loading) print(cfg.text, v) end,
        },

    },

})

ex4

Referrence

The complete addon and option attributes are list here:
addon-info-attributes
option-controls-attributes

Quick Menu

Just edit the QuickMenu.lua and add the full path of the option.
see the var attribute in the option-controls-attributes page.

Videos (Only in Chinese)

Minimap Gathering (Need to uncomment Minimap.lua in toc to enable this feature)
http://v.game.163.com/video/2011/12/6/6/V7JTG1O66.html

Profiles Manager
http://v.game.163.com/video/2011/12/8/I/V7JTFQM8I.html

Homepage (Chinese)

http://wowui.w.163.com/163ui/intro.html#addon=KongZhiTai

------------------------------------------------------------------------
r6 | warbaby | 2012-02-22 07:33:53 +0000 (Wed, 22 Feb 2012) | 1 line
Changed paths:
   A /tags/2.02.22 (from /trunk:5)

Tagging as 2.02.22
------------------------------------------------------------------------
r5 | warbaby | 2012-02-22 07:32:10 +0000 (Wed, 22 Feb 2012) | 3 lines
Changed paths:
   M /trunk/163UI.lua
   M /trunk/163UIUI_V3.lua
   M /trunk/Configs/Cfg!!!163UI!!!.lua
   M /trunk/Minimap.lua
   M /trunk/ProfilesUI.lua

- LoD sub addons will keep disabled if you turn it off.
- Profile manager will save a backup before restoring to default.
- Improve hiding blizzard raid frame function.
------------------------------------------------------------------------
r2 | warbaby | 2012-02-04 14:08:13 +0000 (Sat, 04 Feb 2012) | 1 line
Changed paths:
   A /trunk/!!!163UI!!!.toc
   A /trunk/163UI.lua
   A /trunk/163UIUI.xml
   A /trunk/163UIUI_V3.lua
   A /trunk/Configs
   A /trunk/Configs/Cfg!!!163UI!!!.lua
   A /trunk/Configs/CfgCustom.lua
   A /trunk/Configs/CfgExample.lua
   A /trunk/Configs/Configs.xml
   A /trunk/ConfigsLoaded.lua
   A /trunk/Controls
   A /trunk/Controls/Button.lua
   A /trunk/Controls/CheckBox.lua
   A /trunk/Controls/Controls.lua
   A /trunk/Controls/Controls.xml
   A /trunk/Controls/DropDownList.lua
   A /trunk/Controls/RadioList.lua
   A /trunk/Controls/SpinBox.lua
   A /trunk/Controls/SubGroup.lua
   A /trunk/Controls/TextTitle.lua
   A /trunk/Core
   A /trunk/Core/Core.lua
   A /trunk/Core/UI
   A /trunk/Core/UI/CoreUI.lua
   A /trunk/Core/UI/CoreUIScrollFrame.lua
   A /trunk/Core/UI/CoreUISearchBox.lua
   A /trunk/Core/UI/CoreUITemplates.lua
   A /trunk/Core/UI/UI.xml
   A /trunk/Core/UI/WidgetModification.lua
   A /trunk/Core/UI/WidgetWrapper.lua
   A /trunk/Core/copy
   A /trunk/Core/copy/copy.xml
   A /trunk/Core/copy/copyUIParent.lua
   A /trunk/Core/core.xml
   A /trunk/Core/corelibs.xml
   A /trunk/Libs
   A /trunk/Libs/Ace3
   A /trunk/Libs/Ace3/AceAddon-3.0
   A /trunk/Libs/Ace3/AceAddon-3.0/AceAddon-3.0.lua
   A /trunk/Libs/Ace3/AceAddon-3.0/AceAddon-3.0.xml
   A /trunk/Libs/Ace3/AceEvent-3.0
   A /trunk/Libs/Ace3/AceEvent-3.0/AceEvent-3.0.lua
   A /trunk/Libs/Ace3/AceEvent-3.0/AceEvent-3.0.xml
   A /trunk/Libs/Ace3/AceTimer-3.0
   A /trunk/Libs/Ace3/AceTimer-3.0/AceTimer-3.0.lua
   A /trunk/Libs/Ace3/AceTimer-3.0/AceTimer-3.0.xml
   A /trunk/Libs/Ace3/CallbackHandler-1.0
   A /trunk/Libs/Ace3/CallbackHandler-1.0/CallbackHandler-1.0.lua
   A /trunk/Libs/Ace3/CallbackHandler-1.0/CallbackHandler-1.0.xml
   A /trunk/Libs/Ace3/LibStub
   A /trunk/Libs/Ace3/LibStub/LibStub.lua
   A /trunk/Libs/LibDBIcon-1.0
   A /trunk/Libs/LibDBIcon-1.0/LibDBIcon-1.0.lua
   A /trunk/Libs/LibDataBroker-1.1
   A /trunk/Libs/LibDataBroker-1.1/LibDataBroker-1.1.lua
   A /trunk/Minimap.lua
   A /trunk/Profiles.lua
   A /trunk/ProfilesUI.lua
   A /trunk/QuickMenu.lua
   A /trunk/RunFirst.lua
   A /trunk/RunSecond.lua
   A /trunk/Tags.lua
   A /trunk/Textures
   A /trunk/Textures/IconNetEase.tga
   A /trunk/Textures/TuiBlank.tga
   A /trunk/Textures/UI2-banner.tga
   A /trunk/Textures/UI2-bg-bottom-end.tga
   A /trunk/Textures/UI2-bg-bottom-mid.tga
   A /trunk/Textures/UI2-bg-main.tga
   A /trunk/Textures/UI2-border-inner-LR.tga
   A /trunk/Textures/UI2-border-inner-TB.tga
   A /trunk/Textures/UI2-border-inner-corner.tga
   A /trunk/Textures/UI2-border-inner.tga
   A /trunk/Textures/UI2-border-outter-LR.tga
   A /trunk/Textures/UI2-border-outter-TB.tga
   A /trunk/Textures/UI2-border-outter-corner.tga
   A /trunk/Textures/UI2-border-outter.tga
   A /trunk/Textures/UI2-border-right-top.tga
   A /trunk/Textures/UI2-center-btn.tga
   A /trunk/Textures/UI2-chain-end.tga
   A /trunk/Textures/UI2-chain-mid.tga
   A /trunk/Textures/UI2-corner.tga
   A /trunk/Textures/UI2-curve.tga
   A /trunk/Textures/UI2-icon.tga
   A /trunk/Textures/UI2-left-btn.tga
   A /trunk/Textures/UI2-left-scroll.tga
   A /trunk/Textures/UI2-line-carve.tga
   A /trunk/Textures/UI2-logo.tga
   A /trunk/Textures/UI2-scroll-end.tga
   A /trunk/Textures/UI2-scroll-track.tga
   A /trunk/Textures/UI2-shade-dark-deep.tga
   A /trunk/Textures/UI2-shade-dark-deeper.tga
   A /trunk/Textures/UI2-shade-dark.tga
   A /trunk/Textures/UI2-shade-light.tga
   A /trunk/Textures/UI2-tab-1.tga
   A /trunk/Textures/UI2-tab-2.tga
   A /trunk/Textures/UI2-tab-3.tga
   A /trunk/Textures/UI2-text.tga
   A /trunk/Textures/UI2-watermark.tga
   A /trunk/locale.cn.lua
   A /trunk/locale.en.lua
   A /trunk/locale.tw.lua

initial individual version
------------------------------------------------------------------------
r1 | svn | 2012-02-03 03:57:42 +0000 (Fri, 03 Feb 2012) | 1 line
Changed paths:
   A /branches
   A /tags
   A /trunk

neteaseui/mainline: Initial Import
------------------------------------------------------------------------

Comments

  • #5

    i notice that this addon under the netui option section as shown in the screen shot up top (first big one).

    That it says it can handle minimap buttons and wow minimap zoom buttons but from what i have seen in game does not work at all for me.  Any one else have same problem?  Also would love a wiki section with premade how to's & or exsamples of others inhancing this addon & other addons with this addon. 

    Yes i did see the brief how to in the description.  Just hoping for more collective in depth ideas for the addon ^_^. Since not all of us are coding guru's :p

  • #6

    Thanks for your attention and advice. As the minimap buttons collecting feature conflicts with other similar addon like MBB or MBF, we disabled it in this edition.

    The project main page says at the bottom:

    Minimap Gathering (Need to uncomment Minimap.lua in toc to enable this feature)
    http://v.game.163.com/video/2011/12/6/6/V7JTG1O66.html

    And the minimap zoom button is hidden by default, we provided the mouse wheel zooming function. You can show the button in the Settings page.

    The development section is  not for common users. Adding options for other addons is not a quite simple job. We recommend users to only change the category if they don't have the knowlege to write addon code.

  • #3

    this addon had some major issues with profiles.  couldn't get it to load.

  • #4

    Oh, would you please give some details to reproduce the problem?

  • #1

    The most advanced feature is that ANY addons can be loaded immediately at ANYTIME, even those are not load-on-demands.

     

    For realz? :O

  • #2

    Yes. To be more precisely, "MOST" addons can be loaded without reloading ui.

    It's not very diffcult to implement this feature. Briefly speaking, NetEaseUI hooks frames RegisterEvent function, and then relay the events which have already be triggered, like "PLAYER_LOGIN" or "VARIABLES_LOADED".

     
  • To post a comment, please login or register a new account.
Learn how to disable ads
Learn how to disable ads
Login to Curse

Don't have an account? Create One.

Get an epic experience with Curse Premium
  • Faster addon downloads
  • Premium-Only Beta Giveaways
  • Ad-Free Curse experience
  • Premium Curse Client
  • and many More Features
  • Learn More »

Diablo III Giveaway

Enter Now!