WoW:USERAPI SlashCmdList AddSlashCommand: Difference between revisions

From AddOn Studio
Jump to navigation Jump to search
m (New page: {{userfunc}} <!-- Leave this line in! --> Returns the scaled position of the cursor. SlashCmdList_AddSlashCommand(name, func, ...) == Function Parameters == === Arguments === ;name : Un...)
 
m (Fixed 2 spelling errors.)
Line 6: Line 6:
== Function Parameters ==
== Function Parameters ==
=== Arguments ===
=== Arguments ===
;name : Unique itentifier (e.g. MYADDON_SLASHCMD)
;name : Unique identifier (e.g. MYADDON_SLASHCMD)
;func : The function (variable or actual function)
;func : The function (variable or actual function)
;... : A list of commands with or without the leading slash
;... : A list of commands with or without the leading slash
Line 13: Line 13:


== Example ==
== Example ==
The following snipits do the same thing.
The following snippets do the same thing.
  SlashCmdList_AddSlashCommand('MYADDON_SLASHCMD', function(msg)
  SlashCmdList_AddSlashCommand('MYADDON_SLASHCMD', function(msg)
     DEFAULT_CHAT_FRAME:AddMessage(msg or 'nil')
     DEFAULT_CHAT_FRAME:AddMessage(msg or 'nil')

Revision as of 23:55, 2 November 2009

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.

User defined functions

Add slash commands.

SlashCmdList_AddSlashCommand(name, func, ...)

Function Parameters

Arguments

name
Unique identifier (e.g. MYADDON_SLASHCMD)
func
The function (variable or actual function)
...
A list of commands with or without the leading slash

Returns

nil

Example

The following snippets do the same thing.

SlashCmdList_AddSlashCommand('MYADDON_SLASHCMD', function(msg)
    DEFAULT_CHAT_FRAME:AddMessage(msg or 'nil')
end, 'myaddon', 'ma')
SlashCmdList['MYADDON_SLASHCMD'] = function(msg)
    DEFAULT_CHAT_FRAME:AddMessage(msg or 'nil')
end
SLASH_MYADDON_SLASHCMD1 = '/myaddon'
SLASH_MYADDON_SLASHCMD2 = '/ma'

Code

function SlashCmdList_AddSlashCommand(name, func, ...)
    SlashCmdList[name] = func
    local command = ''
    for i = 1, select('#', ...) do
        command = select(i, ...)
        if strsub(command, 1, 1) ~= '/' then
            command = '/' .. command
        end
        _G['SLASH_'..name..i] = command
    end
end