|
Форум Обсуждение аддонов Разработка аддонов WoW afk adons bot |
afk adons bot |
Здравствуйте Уважаемые Пользователи wowjp при сотрудничестве с null я решил выложить гайд по созданию afk adons bot
ну так я его назвал на что хватило фантазии Гайд Создаю в первый раз так что сильно тапками не кидатся Начнём. Создаём попку и называем её допустим Afk Adon bot в нём создаём toc фаил и называем его так же в фаиле пишем следующие: Code ## Interface: 20403 ## Title: Afk auto reporter ## Notes: standart afk function ## Dependencies: afk.lua afk.xml Разжовывать не буду полестайте темы null'a он разжовывал что к чему далее создаём фаил afk.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="afk_Frame"> <Scripts> <OnLoad> AddOn_Init() </OnLoad> <onEvent> if( event == "CHAT_MSG_WHISPER") then afk_alert(...) end </onEvent> </Scripts> </Frame> </Ui> Всё сохраняем,создаём новый фаил afk.lua и в нём прописываем: Code afk_message="Сижу на форуме wowjp"; -- сообщение по умолчанию которое увидит игрок, если вы афк dnd_message="Сижу на форуме wowjp не отвлекать" -- сообщение по умолчанию которое увидит игрок, если вы dnd function AddOn_Init() local name = UnitName("player"); -- получаем собсвенное имя DEFAULT_CHAT_FRAME:AddMessage("Привет,"..name.."!\n /awy [слово] - для указания причины афк\n /nwd [слово] - для указания причины dnd "); -- выводим риветсвие аддона SLASH_AWY1,SLASH_NWD1="/awy","/nwd"; --добавляем команды в список --подключаем обработчики наших команд SlashCmdList["AWY"] = afk_handler SlashCmdList["NWD"] = dnd_handler --регестрируем входящие сообщения afk_Frame:RegisterEvent("CHAT_MSG_WHISPER") DEFAULT_CHAT_FRAME:AddMessage"AddOn успешно загружен." --выдаём сообщение об успешной загрузке аддона end function afk_handler( msg, box) msg = msg:lower() -- получаем часть сообщения без слэш команд if( not msg or msg == "" or msg == "help" ) then DEFAULT_CHAT_FRAME:AddMessage("Использование:") DEFAULT_CHAT_FRAME:AddMessage(" /awy [слово] для указания причины афк") else afk_message=msg; -- добавляем новый текст в афк сообщение DEFAULT_CHAT_FRAME:AddMessage("Причина АФК:"..msg,0.8,0.5,0.0) end end function dnd_handler( msg, box) msg = msg:lower() if( not msg or msg == "" or msg == "help" ) then DEFAULT_CHAT_FRAME:AddMessage("Использование:") DEFAULT_CHAT_FRAME:AddMessage(" /nwd [слово] для указания причины dnd") else dnd_message=msg; --добавляем новый текст в общение DEFAULT_CHAT_FRAME:AddMessage("Причина DND:"..msg,0.8,0.5,0.0) end end function afk_alert(...) local msg, user = ... if (UnitIsAFK("player")==1) then -- если игрок афк SendChatMessage("Отошол по причине:"..afk_message,"WHISPER",nil,user); end if (UnitIsDND("player")==1) then -- если игрок dnd SendChatMessage(dnd_message,"WHISPER",nil,user); end --если игрок и афк и днд то выдаст оба сообщения end Всё это сохраняем и пихаем в папку с адонами..впринципе должно пахать ещё раз спасибо Null'u за помощь |
| |||
| |||