| Title | Description | Added |
| --- | --- | --- |
| [Simple Scroll Frame](http://wowprogramming.com/snippets/Simple_Scroll_Frame_35.html) | Thanks to Xchg of Silvermoon for this code. http://us.battle.net/wow/en/forum/topic/1305771013 | Mon, 08 Jul 2013 01:07:25 by yksrep |
| [LOL CLASS](http://wowprogramming.com/snippets/LOL_CLASS_31.html) | Create a frame in middle of the screen with all class icons that can be clicked to print "LOL " in guildchat. | Sun, 27 Jan 2013 09:10:26 by Mikma |
| [Getting the stack size of an item under the tooltip](http://wowprogramming.com/snippets/Getting_the_stack_size_of_an_item_under_the_tooltip_30.html) | These two functions will return (in StackSize) the size of the stack the mouse is currently hovering over. They work for the main bags, bags in the bank and item slots in the bank. There are other functionhooks that will take care of items in the ... | Sun, 04 Mar 2012 12:34:36 by Philburt |
| [Label Checkbuttons in XML](http://wowprogramming.com/snippets/Label_Checkbuttons_in_XML_29.html) | Sometimes it's useful to create a Checkbutton entirely in XML. Unfortunately, setting a Checkbutton's label is quirky. As noted in the book, you must access the Checkbutton's internal FontString, like so: \_G:SetText("my label here") So how to... | Sat, 26 Mar 2011 17:55:48 by protasm |
| [Fading Text Frame](http://wowprogramming.com/snippets/Fading_Text_Frame_28.html) | This code will create a frame that can show text in the middle of the players screen. It will hold this text for 3 seconds and then fade it out. This is very similar to the code that blizzard uses for zone changing. | Tue, 08 Feb 2011 23:34:31 by l3gsh0t |
| [Convert decimal classcolor into hex](http://wowprogramming.com/snippets/Convert_decimal_classcolor_into_hex_27.html) | Here's a small function that will convert player classcolor from decimal into hex and prints it in the chat with format "playername, level XX class". | Sun, 24 Oct 2010 08:02:34 by Mikma |
| [Run a calculation in the background using coroutines](http://wowprogramming.com/snippets/Run_a_calculation_in_the_background_using_coroutines_26.html) | If you have a calculation that runs for a long period of time, locking the WoW client while it runs, you can use coroutines. The following code shows an example of this technique. | Sat, 25 Sep 2010 19:23:35 by jnwhiteh |
| [Create a StatusBar](http://wowprogramming.com/snippets/Create_a_StatusBar_25.html) | Here's a quick way of creating a StatusBar that doesn't tile the texture. Positions it in the center of the UIParent. | Sat, 26 Jun 2010 08:43:48 by Mikma |
| [Change the alpha on a frame/subframes in response to mouse](http://wowprogramming.com/snippets/Change_the_alpha_on_a_framesubframes_in_response_to_mouse_24.html) | This snippet will change the alpha of a frame (and all of it's sub-children due to the way alpha works) depending on whether or not the mouse is over the frame or not. See for a more in-depth discussion of this problem and solution. | Sat, 05 Jun 2010 17:26:56 by jnwhiteh |
| [Cache GetSpellInfo calls](http://wowprogramming.com/snippets/Cache_GetSpellInfo_calls_23.html) | This code caches all non-nil return values from GetSpellInfo in a table to improve performance. Add this at the start of your file (before any GSI calls) | Mon, 03 May 2010 15:25:28 by stolenlegacy |
| [WoW Font Preview with dynamic scroll frames](http://wowprogramming.com/snippets/WoW_Font_Preview_with_dynamic_scroll_frames_22.html) | This snippet creates a scroll frame in the center of your screen that displays all of the globally named font instances in your World of Warcraft installation. It also shows how to create a scroll frame and slider scroll bar dynamically. The follow... | Fri, 23 Apr 2010 16:39:27 by jnwhiteh |
| [Force the target's health text to stay shown](http://wowprogramming.com/snippets/Force_the_targets_health_text_to_stay_shown_20.html) | Prevents the target health text of the default blizzard unit frames from being hidden. | Sun, 18 Apr 2010 14:36:14 by stolenlegacy |
| [Emote-Button](http://wowprogramming.com/snippets/Emote-Button_19.html) | Ein einfacher Button zum ausführen eines Emotes. | Sat, 06 Feb 2010 22:30:49 by Pwnees |
| [Simple Localization with Metatables](http://wowprogramming.com/snippets/Simple_Localization_with_Metatables_18.html) | This snippet shows a very easy way to create localization tables for your addons. Thanks to Tekkub for this trick. | Wed, 12 Aug 2009 01:29:49 by PProvost |
| [Check if the player is on a flying mount](http://wowprogramming.com/snippets/Check_if_the_player_is_on_a_flying_mount_17.html) | This snippet will check if the player is currently on a flying mount. It works better (for me) then IsFlying() because that will return false if you are on a flying mount but not in the air. | Sun, 05 Jul 2009 18:56:17 by Industrial |
| [Scan a tooltip](http://wowprogramming.com/snippets/Scan_a_tooltip_15.html) | This piece of code lets you scan a tooltip. | Sun, 05 Jul 2009 17:58:08 by Industrial |
| [Add equipment sets to tooltip](http://wowprogramming.com/snippets/Add_equipment_sets_tooltip_14.html) | This snippet will add a line to the tooltip of all equippable items, telling you whether or not they are a part of an equipment set. | Tue, 26 May 2009 19:45:53 by jnwhiteh |
| [Detect enemy units in combat log entries](http://wowprogramming.com/snippets/Detect_enemy_units_in_combat_log_entries_13.html) | This function will return the enemy (if any) from a combat log event. | Sun, 17 May 2009 12:06:12 by jnwhiteh |
| [Cooldown tracker](http://wowprogramming.com/snippets/Cooldown_Tracker_12.html) | This one prints when CD of used spells end. | Sun, 03 May 2009 15:50:03 by Mikma |
| [Create a dialog-themed window for text](http://wowprogramming.com/snippets/Create_a_dialog-themed_window_for_text_11.html) | This snippet creates a dialog-themed window that you can use to display some text | Thu, 30 Apr 2009 11:14:18 by jnwhiteh |
| [Create UI-styled dropdown menu](http://wowprogramming.com/snippets/Create_UI-styled_dropdown_menu_10.html) | This snippet creates a very simple dropdown selection box in the center of the screen. !(http://images.gammatester.com/pics/77634918cc9a6a2b78d076e8d750514d.png) | Wed, 29 Apr 2009 17:48:43 by jnwhiteh |
| [Add lines to item tooltip safely](http://wowprogramming.com/snippets/Add_lines_to_item_tooltip_safely_9.html) | Adding lines to an item tooltip is rather tricky, especially when you get into recipes and other items that behave odd. The below code snippet allows you to add lines while ensuring they are only added once. | Mon, 27 Apr 2009 10:50:34 by jnwhiteh |
| [Warlock shard dropper](http://wowprogramming.com/snippets/Warlock_shard_dropper_8.html) | This code will delete extra Soul Shards from all of your bags and keeps 4 when you start channelling Drain Soul. | Mon, 27 Apr 2009 10:49:43 by Mikma |
| [UTF-8 aware string.sub](http://wowprogramming.com/snippets/UTF-8_aware_stringsub_7.html) | The built-in Lua function string.sub() does not work correctly with the UTF-8 strings that are pervasive in non-US clients for World of Warcraft. For example, run the following code in WoW: /run print(string.sub("Gn?ppix", 1, 3)) WoW will sh... | Mon, 27 Apr 2009 10:49:05 by jnwhiteh |
| [Print item links posted in chat channels to chatframe](http://wowprogramming.com/snippets/Print_item_links_posted_in_chat_channels_to_chatframe_6.html) | You can use this snippet to capture item links that are posted in public channels, and print them to the chat frame. | Mon, 27 Apr 2009 10:48:09 by jnwhiteh |
| [Display zones required for "World Explorer" achievement](http://wowprogramming.com/snippets/Display_zones_required_for_World_Explorer_achievement_5.html) | This snippet will print to your chat frame all of the zones required for "World Explorer" Achievement, and tell you whether you have completed them or not. | Mon, 27 Apr 2009 10:47:36 by jnwhiteh |
| [Watch for party kills](http://wowprogramming.com/snippets/Watch_for_party_kills_4.html) | This snippet is written to watch for npcs that your party is killing and report who scored the killing blow to your chat frame. Specifically it is meant to watch for kills of Shoveltusk Stags, but could be customized to watch for any specific mob id... | Mon, 27 Apr 2009 10:46:51 by jnwhiteh |
| [Create a mini-timer using OnUpdate](http://wowprogramming.com/snippets/Create_a_mini-timer_using_OnUpdate_3.html) | This code will print ping! in ChatFrame1 every 2 seconds. | Mon, 27 Apr 2009 10:46:12 by Mikma |
| [Auto invite addon](http://wowprogramming.com/snippets/Auto_invite_addon_2.html) | This snippet will auto-invite anyone who whispers the player with "I love you". | Mon, 27 Apr 2009 10:45:37 by Mikma |
| [How to use default stopwatch](http://wowprogramming.com/snippets/How_to_use_default_stopwatch_1.html) | The default user interface includes a stopwatch that can be programmatically set and started. This is accomplished using the following functions: Stopwatch\_StartCountdown(hours, minutes, seconds) Stopwatch\_Play() | Mon, 27 Apr 2009 10:44:16 by Mikma |
- 基礎
- 循環
- 迭代器
- ipairs與pairs 的區別
- 流程控制if
- 函數
- 運算符
- 字符串
- 數組
- table(表)
- 模塊與包
- 魔獸插件
- 初學介紹
- api
- Global API
- Widget API
- 窗口小部件類層次結構(Widget Class Hierarchy)
- 動畫(Animation)
- 透明度(Alpha)
- 線條縮放比例(LineScale)
- 平移(Translation)
- 線平移(Line Translation)
- 路徑(Path)
- 旋轉(Rotation)
- 縮放(Scale)
- 紋理坐標平移(TextureCoordTranslation)
- 框架 :Frame
- 瀏覽器(Browser)
- 按鍵(Button)
- Item按鈕(ItemButton)
- 檢查按鈕(CheckButton)
- 檢測(Checkout)
- 顏色選擇(ColorSelect)
- 冷卻(Cooldown)
- 編輯框(EditBox)
- 戰爭迷霧(FogOfWarFrame)
- 游戲工具提示(GameTooltip)
- 消息框(MessageFrame)
- 小地圖(Minimap)
- 模型(Model)
- 玩家模型(PlayerModel)
- 電影模型(CinematicModel)
- 換裝模型(DressUpModel)
- 戰袍模型(TabardModel)
- _模型場景(ModelScene)
- 電影Frame(MovieFrame)
- 根小部件(Root Widgets)
- UIObject衍生品(UIObject Derivatives)
- 動畫衍生品(Animation Derivatives)
- FontInstance
- 地區衍生品(Region Derivatives)
- 幀衍生品(Frame Derivatives)
- 特殊(Special)
- Events(游戲中變化的事件)
- WoWAPI
- Global Function Groups
- 帳戶(Account)
- 成就(Achievements)
- 動作條(Action Bars)
- Action Buttons
- 插件(AddOns)
- 冒險指南(Adventure Guide)
- 神器(Artifact)
- 拍賣行(Auction House)
- 黑市AH
- 魔獸代幣(WoW Tokens)
- Azerite
- 背包(Bags)
- 容器(Containers)
- 庫存(Inventory)
- 銀行(Bank)
- 公會銀行(Guild Bank)
- 理發店(Barber Shop)
- 書籍(書籍)
- 日歷(calendar)
- 相機(Camera)
- 頻道(Channels)
- 聊天窗口(Chat Window)
- 社區(communities)
- 語音聊天(Voice Chat)
- 推特(Twitter)
- 角色(Character)
- 角色表(Paper Doll)
- 試衣間(dressing room)
- 活動(Movement)
- 指定目標(Targeting)
- 死亡(Death)
- 過場動畫(Cinematics)
- 職業(class)
- 天賦(Talents)
- 收藏(Collections)
- 坐騎(Mount Journal)
- 寵物(Pet Journal)
- 玩具箱(Toy Box)
- 傳家寶(Heirlooms)
- 外觀(Appearances)
- 戰斗記錄(Combat Log)
- 戰斗寵物(Combat Pets)
- 同伴(Companions)
- Contribution Collection
- 貨幣(Currency)
- 光標(Cursor)
- 客戶支持(Customer Support)
- 知識庫(Knowledge Base)
- 設備管理器(Equipment Manager)
- 擴展(Expansions)
- FrameXML
- 好友(Friends)
- Who List
- 真實身份證(Real ID)
- 招募朋友(Recruit-a-Friend)
- 駐軍(Garrisons)
- 建筑物(Buildings)
- 戰利品(Trophies)
- 追隨者與任務(Followers & Missions)
- 團隊(Groups)
- Raid Groups
- Raid Profiles
- 組查找器(Group Finder)
- 突襲者(Raid Finder)
- 公會(Guild)
- 檢查(Inspection)
- Instances
- 場景(Scenarios)
- Mythic+
- 入侵(Invasions)
- 海島探險(Island Expeditions)
- Items
- 按鍵綁定(Key Bindings)
- Modifiers
- 劫掠(Looting)
- 失控(Loss of Control)
- 宏命令(Macros)
- 郵件(Mail)
- 地圖(Maps)
- 飛行管理員(Flight Master)
- 追蹤(Tracking)
- 商人(Merchant)
- 銘牌(Nameplates)
- 寵物大戰(Pet Battles)
- 申請書(Petitions)
- 專業(Professions)
- 考古(Archaeology)
- 附魔(Enchantments)
- 雕文(glyphs)
- 物品插口(tem Socketing)
- PvP
- 競技場(Arena)
- 戰場(Battlegrounds)
- 世界戰場(World Battlefields)
- 爭吵(Brawl)
- 戰爭游戲(War Games)
- 戰爭模式(War Mode)
- 任務 (Quests)
- 任務日志(Quest Log)
- 任務選擇(Quest Choices)
- Task Quests
- 閑聊(Gossip)
- 探險地圖(Adventure Map)
- 戰爭戰役(War Campaigns)
- 種族(Races)
- 境界(Realms)
- 報告(Reporting)
- 聲望(Reputation)
- 報廢的機器(Scrapping Machine)
- 法術(Spells)
- Spell Book
- 商店(Shop)
- 召喚(Summoning)
- 系統(System)
- 網絡(Network)
- 控制臺(Console)
- 日期時間(Date & Time)
- 調試(Debugging)
- 圖形(Graphics)
- 語言環境(Locales)
- 腳本分析(Script Profiling)
- 安全執行(Secure Execution)
- 聲音(Sound)
- Sound Drivers
- Talking Head
- 交易(Trading)
- 訓練師(Trainer)
- 遷移(Transmogrification)
- 空白存儲(Void Storage)
- 講解(Tutorials)
- UI對象(UI Objects)
- 框架(Frame)
- 字體(Font)
- 質地(Texture)
- 混合(Mixin)
- 咒語(SpellMixin)
- ItemMixin
- 物品位置(ItemLocationMixin)
- PlayerLocationMixin
- 模型場景(ModelScene)
- 未分類
- UI窗口小部件管理器(UI Widget Manager)
- 單位(Units)
- 光環(Auras)
- 玩家(Players)
- 實用程序(Util)
- 車輛(Vehicles)
- Classic Specific Functions
- 獵人寵物(Hunter Pets)
- 專業(Professions)
- 手工制作(Crafting)
- @PvP
- 模擬器
- 訓練師(Trainer)
- 8.x API
- 控制臺(Console)
- 召喚(Summoning)
- See also
- 外部鏈接(External links)
- Widget handlers(UI交互事件)
- ScriptObject
- AnimationGroup
- Animation對象
- Alpha對象
- Scale
- LineScale
- Translation
- LineTranslation
- Path
- Rotation
- TextureCoordTranslation
- Frame
- Browser
- Button
- CheckButton
- ItemButton
- Checkout
- ColorSelect
- Cooldown
- EditBox
- FogOfWarFrame
- GameTooltip
- Model
- PlayerModel
- CinematicModel
- DressupModel
- TabardModel
- MovieFrame
- ScrollFrame
- Slider
- MessageFrame
- Minimap
- ModelScene
- OffScreenFrame
- POIFrame
- ArchaeologyDigSiteFrame
- QuestPOIFrame
- ScenarioPOIFrame
- SimpleHTML
- StatusBar
- UnitPositionFrame
- WorldFrame
- 入門
- .toc
- .lua
- .xml
- 示例
- 自動邀請插件
- 完整例子:顯示任務坐標
- eCoordinates.toc
- eCoordinates.xml
- eCoordinates.lua
- 開發幫助組件
- AddOn Studio編輯器
- 暴雪自帶調試工具
- DevTools調試插件
- wowlua
- 魔獸宏
- 戰斗寵物命令
- 暴雪界面命令
- 聊天命令
- chat substitutions
- 角色指令
- 開發者工具
- 表情動作
- 戰斗命令
- 公會命令
- 小隊與團隊命令、
- 寵物命令
- PvP的命令
- 系統命令
- 目標函數
- 命令
- 被禁用的命令
- 宏條件
- 裝備物品編號