WoW:User defined functions: Difference between revisions
Jump to navigation
Jump to search
(Move GetPlayerBearing to Map Functions) |
No edit summary |
||
| (13 intermediate revisions by 10 users not shown) | |||
| Line 1: | Line 1: | ||
{{ | {{userfunc}} | ||
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 /> | |||
→ [[User defined snippets]]<br /> | |||
== | |||
== Reference == | |||
The following functions aim at extending the information WoW API provides; some are provided by specialized addons rather than being copy/pastable. | The following functions aim at extending the information WoW API provides; some are provided by specialized addons rather than being copy/pastable. | ||
== Arguments & Returns == | === API === | ||
: | :{{id|USERAPI|allAreType}}(type,...) - Returns true if all the additional parameters are of the type specified. | ||
: | |||
: | === Arguments & Returns === | ||
:{{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. | |||
=== Color Functions === | |||
:{{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 | |||
=== Cursor Functions === | |||
:{{id|USERAPI|GetCursorScaledPosition}}() - Return the exact position the cursor is at based on scale. | |||
== | === Event Functions === | ||
: | :{{id|USERAPI|PLAYER_MONEY}} - Add a message to the chat frame when you gain or spend money. | ||
== | === Frame Functions === | ||
: | :{{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) | |||
== | === Guild Functions === | ||
: | :{{id|USERAPI|GuildNameToIndex}}(name, searchOffline) - finds the 'guild' player index for a player name, for other guild functions. | ||
== Item Functions == | === Item Functions === | ||
: | :{{id|USERAPI|EquipItemByLink}}(link) - Equips the first matching item found in the player's bags. | ||
== Localization Tables == | === Localization Tables === | ||
: | :{{id|USERAPI|LocalizedClassNames}} - Table of localized classes | ||
== Map Functions == | === Map Functions === | ||
: | :{{id|USERAPI|GetPlayerBearing}}() - Returns the player's current facing bearing based on minimap arrow | ||
== Metatables == | === Metatables === | ||
: | :{{id|USERAPI|Memorizing table}} - A special table that calculates values as needed and saves them into itself | ||
== | === Number Functions === | ||
: | :{{id|USERAPI|round}}(input, n) - Round '''input''' to '''n''' places. | ||
:{{id|USERAPI|truncate}}(number, n) - Truncate a number to n decimal places. | |||
== | === Slash Function === | ||
:{{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, ...) | |||
: | === String Functions === | ||
: | :{{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). | |||
== Table Functions == | === Table Functions === | ||
: | :{{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 | ||
== Time Functions == | === Time Functions === | ||
: | :{{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 | |||
== See also == | == See also == | ||
* [[:Category:HOWTOs]] - must have cut-and-pasteable code snippets | * [[:Category:HOWTOs]] - must have cut-and-pasteable code snippets | ||
[[Category:User defined functions| User defined functions]] | |||
[[Category:User | |||
Latest revision as of 21:22, 2 August 2025
This page documents a user-defined function 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
→ User defined snippets
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