|
Форум Обсуждение аддонов Разработка аддонов WoW Работа с эвентами часть 2 (Скриншот при LVL*UP) |
Работа с эвентами часть 2 |
Здравствуйте. Сегодня мы будем делать аддон, который будет делать "Скриншот" при поднятии левела. Это продолжение моей предыдущей статьи.
Инструкция по созданию toc файла - тык Ссылка на предыдущие статью - тык Скачать notepad++ - тык API функции - тык Создаем папку для аддона, toc файл и lua файл. Открываем lua файл и меняем кодировку на UTF-8 (Это нужно для того, чтобы клиент нормально читал русские символы) Для начала создадим функцию по типу print, которая будет его заменять. Через нее в чат будет писать, что скриншот сохранен. Code function sys(text) DEFAULT_CHAT_FRAME:AddMessage(text, 1.0, 1.0, 0, 0); end Называтся она у нас будет "sys". После значение "text" задаем цвет текста: у нас он будет желтым. Далее, как я рассказывал в прошлом уроке, делаем фрейм. Code events = CreateFrame("Frame") -- Делаем фрейм local frame = events -- Переводим название фреймы из events в frame frame:RegisterEvent("PLAYER_LEVEL_UP") -- Регистрируем эвент приема сообшений frame:SetScript("OnEvent", function() -- Назначаем значение с условием "Если эвент включен" Screenshot() -- Делаем скрин message_sys("Скриншот сохранен") end) Значение строк я рассказывал в предыдущей статье. Как вы заметили, я поставил эвент PLAYER_LEVEL_UP И добавил функцию Screenshot() Эвент PLAYER_LEVEL_UP включается в тот момент, как ваш левл повышается или понижается (Подробнее можно увидеть, введя игровую команду /eventtrace) Функция Screenshot() делает скриншот. Эта функция запускается, как эвент PLAYER_LEVEL_UP регистрируется. Данную функцию можно запустить так же слеш командой /run Screenshot() В итоге у нас получился такой "мини - аддон", который очень полезный. Вот то что получилось: Code function message_sys(text) DEFAULT_CHAT_FRAME:AddMessage(text, 1.0, 1.0, 0, 0); end events = CreateFrame("Frame") -- Делаем фрейм local frame = events -- Переводим название фреймы из events в frame frame:RegisterEvent("PLAYER_LEVEL_UP") -- Регистрируем эвент приема сообшений frame:SetScript("OnEvent", function() -- Назначаем значение с условием "Если эвент включен" Screenshot() -- Делаем скрин message_sys("Скриншот сохранен") end) Эту статью я написал из-за того, что много людей не поняло первый урок. На подобии этого урока можно сделать аддоны, как Автоответчик, скриншот ачив и т.д
Маме беркута привет!
Сообщение # 1 написано 09.03.2012 в 21:50
|
Nyll, очень полезно, а можно ли сделать что бы он каждые 30 минут делал скрин?
Сообщение # 3 написано 10.03.2012 в 16:14
|
1
Добавлено (12.03.2012, 12:57) --------------------------------------------- Nyll, очень полезно, а можно ли сделать что бы он каждые 30 минут делал скрин? Он делает скрин при новом лвл. Можно поменять PLAYER_LEVEL_UP" на другой ивент и он будет делать скрин при другом значении. |
| |||
| |||