|
Форум Обсуждение аддонов Разработка аддонов WoW Создание слэш команд с индексом |
Создание слэш команд с индексом |
Здравствуйте дамы и господа. В этом гайде я научу вас как делать команды с индексом (подкомандами).
Для примера мы создадим команду /speed on, /speed off Эта команда будет включать и отключать скорость (работает тока если ты гм) Для начала мы создадим папку, в которой будет наш аддон. Папку назовем SpeedGM. В папке создаем файл toc, и называем его speedgm.toc В нем пишем: Code ## Interface: 40200 ## Title: SpeedGM ## Author: Nyll ## Version: 1.1 ## Notes: Speed Addon v.1.1 ## eMail: @wowjp.net ## URL: wowjp.net speedgm.lua speedgm.xml Теперь я расскажу вам что значит этот код Code ## Interface: 40200 Code ## Title: SpeedGM Code ## Author: Nyll Code ## Version: 1.1 Code ## Notes: Speed Addon v.1.1 Code ## eMail: @wowjp.net Code ## URL: wowjp.net Теперь создаем xml, файл. И называем файл SpeedGM.xml. Открываем его нотпадом и пишем Code <Ui xmlns="http://www.blizzard.com/wow/ui/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.blizzard.com/wow/ui/ ..\..\FrameXML\UI.xsd"> <Frame name="flood_Frame"> <Scripts> <onLoad> AddOn_Init() </onLoad> <onEvent> if(event == "UNIT_COMBAT") then CombatEnter(...) end </onEvent> </Scripts> </Frame> </Ui> Теперь можем приступить к lua, файлу. Создаем lua, файл и называем его speedgm.lua. Открываем его нотпадом и пишем: Code function AddOn_Init() SLASH_SPEEDS1 ="/speed"; -- регистрация слэш команды SlashCmdList["SPEEDS"] = Flood_handler --подключаем обработчик нашей команды flood_Frame:RegisterEvent("UNIT_COMBAT") end function Flood_handler( msg, box) msg = msg:lower() if( not msg or msg == "" or msg == "help" ) then DEFAULT_CHAT_FRAME:AddMessage("Speed Использование:",0.1,0.7,0.3); DEFAULT_CHAT_FRAME:AddMessage(" /speed on - включает Быстрый бег",0.1,0.7,0.3); DEFAULT_CHAT_FRAME:AddMessage(" /speed off - выключает Быстрый бег",0.1,0.7,0.3); elseif (msg == "on") then -- если включаем en_=1 -- установление флага в 1 SendChatMessage(".mod aspeed 10"); elseif (msg == "off") then -- если отключаем en_=0 -- установление флага в 0 SendChatMessage(".mod aspeed 1"); elseif(msg == "list") then -- список сообщений for i=1,MAX_MISS_TEXT do -- в цикле выводим список сообщений DEFAULT_CHAT_FRAME:AddMessage(miss_array[i],0.1,0.7,0.3); end end end Как вы могли увидеть я добавил комментарии к коду. Сейчас мы рассмотрим пару строк кода. Code function AddOn_Init() Code SLASH_SPEEDS1 ="/speed"; Code SlashCmdList["SPEEDS"] = Flood_handler Code function Flood_handler( msg, box) Code DEFAULT_CHAT_FRAME:AddMessage("Speed Использование:",0.1,0.7,0.3); DEFAULT_CHAT_FRAME:AddMessage(" /speed on - включает Быстрый бег",0.1,0.7,0.3); DEFAULT_CHAT_FRAME:AddMessage(" /speed off - выключает Быстрый бег",0.1,0.7,0.3); Code elseif (msg == "off") Code elseif (msg == "on") Code SendChatMessage(".mod aspeed 10"); Code SendChatMessage(".mod aspeed 1"); Далее сохраняем документ, и все наш аддон готов! p.s Пример создан для гмов и работает только если вы гм-мастер! Вот исходник того аддона который мы сегодня сделали: [download]SpeedGM - для WoW 4.2[/download] Прикрепления:
0430981.png
(140.0 Kb)
Маме беркута привет!
|
Nyll, хороший гайд уже создал аддон для ся)
Сообщение # 2 написано 26.09.2011 в 19:57
|
| |||
| |||