WoW:User defined functions
Jump to navigation
Jump to search
This page documents a <i>user-defined function</i> that you can copy and paste into your addon. Replace PREFIX with your addon or lib prefix to avoid conflicts between different versions of these functions.
These are cut-and-paste functions that you can use in your addons, submitted by WoWWiki contributors. See also UI Snippets.
Additional snippets and useful ideas:
→ AddOn defined functions
→ User defined macros
→ User defined modules
Reference
The following functions aim at extending the information WoW API provides; some are provided by specialized addons rather than being copy/pastable.
API
- allAreType(type,...) - Returns true if all the additional parameters are of the type specified.
Arguments & Returns
- setArgs(myTable, "name", ...) - remember list of arguments to use for a callback
- getArgs(myTable, "name", ...) - retreive stored list of arguments, plus optional extras
- GetReturnValues(order, functionCall) - Get the return values from functionCall in any order you want.
Color Functions
- ColorGradient(perc, R1, G1, B1, R2, G2, B2[, ...]) - Converts a percent value into a gradient from 2 or more RGB values
- HexToRGB("string") - Converts a hex color string to RGB values (0-255)
- HexToRGBPerc("string") - Converts a hex color string to RGB values (0.0-1.0)
- RGBToHex(red, green, blue) - Converts a RGB value (0-255) into a hex string
- RGBPercToHex(red, green, blue) - Converts a RGB value (0.0-1.0) into a hex string
Cursor Functions
- GetCursorScaledPosition() - Return the exact position the cursor is at based on scale.
Event Functions
- PLAYER_MONEY - Add a message to the chat frame when you gain or spend money.
Frame Functions
- GetQuadrant(frame) - Find which quadrant of the screen a frame lies in.
- GetUIParentAnchor(frame) - Returns SetPoint args for a frame, anchor is relative to nearest corner of screen.
- RegisterEvents(...) - Register n number of events at once.
- UnregisterEvents(...) - Unregister n number of events at once.
- SetManyAttributes(...) - Simple function to embed in a frame to set many atributes at once.
- UnregisterEventFromAllFrames(event) - Tell all the frames listening for event to stop listening for it.
- addDropDownMenuButton(uid, dropdown, index, title, usable, onClick [, hint]) - Adds a new button to a drop down (right-click menu)
Guild Functions
- GuildNameToIndex(name, searchOffline) - finds the 'guild' player index for a player name, for other guild functions.
Item Functions
- EquipItemByLink(link) - Equips the first matching item found in the player's bags.
Localization Tables
- LocalizedClassNames - Table of localized classes
Map Functions
- GetPlayerBearing() - Returns the player's current facing bearing based on minimap arrow
Metatables
- Memorizing table - A special table that calculates values as needed and saves them into itself
Number Functions
- round(input, n) - Round input to n places.
- truncate(number, n) - Truncate a number to n decimal places.
Slash Function
- GetSlashFunc - Get an existing slash command function for hooking.
- RunSlashCmd - Passes a slash command to the chatframe
- SlashCmdList_AddSlashCommand(name, func, ...)
String Functions
- ChunkSplit(string [, length [, endChars]]) - Splits string into groups of 'length' each ending with 'endChars' (identical to PHP ChunkSplit).
- CountChars(haystack, needle) - Return how many times needle is contained in haystack.
- GetWords("string") - Split words on space boundary, return table
- printMSG("string") - Displays a custom message to the default chat frame, for the user to see (time, code and size saver).
- strfindt(tabCaptures, ...) - Wrapper for strfind() that returns captures in a table. can be used in if() clauses!
- StringHash("string") - Create a fair-quality 32-bit hash of a string
- substr("string", start [, length]) - Imp strsub. Returns a string from start of length (identical to PHP substr).
Table Functions
- EraseTable(t) - Erase all values from a table
- tinsertbeforeval(tab, valBefore, val) - Insert one value before another (without knowing its index)
- tremovebyval(tab, val) - Remove a value (without knowing its index)
- tcount(tab) - Count table members (works on non-integer-indexed tables)
- tcopy(tabTo, tabFrom) - Recursively copy contents of one table to another
Time Functions
- Get() - Get server time including seconds and milliseconds
- wait(delay,function [, param [,param [,...]]]) - runs a function (with paramenters) after specified amount of time before
- SecondsToDays() - Converts seconds to days/hours/minutes/seconds
See also
- Category:HOWTOs - must have cut-and-pasteable code snippets