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