• Страница 1 из 1
  • 1
Работа с эвентом
Nyll
Здравствуйте. Сегодня мы будем работать с эвентами. А если точнее: мы будем задавать событие эвенту при условии, что эвент включен.

Инструкция по созданию toc файла - тык
Ссылка на предыдущие статью - тык
Скачать notepad++ - тык
API функции - тык

Давайте рассмотрим пример. Когда вам пишут в пм, активируется эвент CHAT_MSG_WHISPER. Мы напишем аддон, который будет реагировать на включение эвента и посылать нам сообщение, что нам написали в пм.

Для начала создадим фрейму.
Code
events = CreateFrame("Frame")

Она у нас будет называется "events"

Теперь создаем локальную переменную, которая будет переводить название фреймы из "events" в "frame"
local frame = events

Так же делаем переменную, которая будет выводить наш ник.
Code
local name = UnitName("player");

Переменная будет называется "name"

Теперь регистрируем наш эвент.
Code
frame:RegisterEvent("CHAT_MSG_WHISPER")

Структура регистрации такова: название фреймы:регистревент("Эвент")

Дальше делаем условие.
Code
frame:SetScript("OnEvent", function()

Данное условие запускает функцию, если эвент включен.

Задаем содержимое функции.
Code
print("Привет "..name.." тебе написали в пм.")

Данное сообщение будет выводится, если наш эвент будет включен.
print -- Выводит сообщение(видим его только мы) Пример: /run print("И снова ты!")
..name.. -- Название переменной. Выводим свой ник в строку.

Закрываем нашу функцию.
end)

После всех этих манипуляций у нас должно выйти так:
Code
events = CreateFrame("Frame") -- Делаем фрейм
local frame = events -- Переводим название фреймы из events в frame
local name = UnitName("player"); -- Получаем свое имя
frame:RegisterEvent("CHAT_MSG_WHISPER") -- Регистрируем эвент приема сообшений
frame:SetScript("OnEvent", function() -- Назначаем значение с условием "Если эвент включен"
print("Привет "..name.." тебе написали в пм.") -- Текст
end)


Вот и все. Суть данного гайда была показать вам, как сделать событие, которое реагирует на включение/отключение игрового эвента. Удачи вам!
Маме беркута привет!
Сообщение # 1 написано 02.03.2012 в 22:14
data777
Неплохо, спс smile
Сообщение # 2 написано 02.03.2012 в 23:21
Juline
!1
Да, статья полезная.
Сообщение # 3 написано 03.03.2012 в 02:13
S[er]G
Чемпион
а в конце после end должна быть скобка?
[cut]
[/cut]
Сообщение # 4 написано 03.03.2012 в 12:19
Raskolbas
Скаут
Ивент, а не Эвент.
Сообщение # 5 написано 03.03.2012 в 12:39
Nyll
S[er]G, а этом случаи да.
Маме беркута привет!
Сообщение # 6 написано 03.03.2012 в 13:34
ЕPICENTR
IMBA
Отличная статься,жалко нету сервера.
Сообщение # 7 написано 03.03.2012 в 18:26
Ca[x]aP
Центурион
Полезная статья smile
Хочу к випам! :)
Сообщение # 8 написано 03.03.2012 в 19:47
Chehultе
Beautiful Сat
Сообщение # 9 написано 03.03.2012 в 23:02
Nyll
Chehultе, Эта статья не учит делать "Аддон" она показывает как работать с эвентом. Дабы в дальнейшем применять эту систему в созданиях аддона. Тот же дбм использует эвент запуска боя и включает все свои функции.
Маме беркута привет!
Сообщение # 10 написано 04.03.2012 в 13:02
Kapma
Скаут
Raskolbas, для школоты может и ивент
Сообщение # 11 написано 16.03.2012 в 23:46
PashokRomanow
Скаут
неплохая статья для общего развития ГМа
Сообщение # 12 написано 28.05.2012 в 21:49
Dekiller
Скаут
Nyll, как называется эвент смерть (перса убили)?
Сообщение # 13 написано 08.07.2012 в 12:13
Blackside777
Командир
Да )) норм smile
Сообщение # 14 написано 08.07.2012 в 23:44
Exteam123
Скаут
Dekiller,

Frame:RegisterEvent("PLAYER_DEAD")
™†MoNsTeR-KiLLeR†™
Сообщение # 15 написано 10.07.2012 в 22:23
0niwone
WoW-Carnge <Dev>
Более чем полезно)
Пользуюсь гарант услугами pwlvl.ru
Сообщение # 16 написано 02.08.2012 в 23:11
Devmonro
Скаут
Exteam123, а когда на тебя накладывается любой бафф, какой происходит эвент ?
Сообщение # 17 написано 09.08.2012 в 03:22
Nyll
Quote (Devmonro)
Exteam123, а когда на тебя накладывается любой бафф, какой происходит эвент ?

Там не 1 ивент происходит, первым делом идет аура упдейт (точно хз по памяти пишу) дальше идет обновление статов которая дает аура...
Маме беркута привет!
Сообщение # 18 написано 09.08.2012 в 10:39
Devmonro
Скаут
Nyll, спасибо. Сейчас попробую.

Добавлено (09.08.2012, 18:19)
---------------------------------------------
Nyll, видимо я что то не понял, как называется сам процесс когда на персонажа накалывается аура/баф/дебафф и т.д ?

Добавлено (09.08.2012, 18:36)
---------------------------------------------
Raskolbas,насмешил

Сообщение # 19 написано 09.08.2012 в 18:36
clowb
Скаут
Даже не знаю
Сообщение # 20 отредактировано clowb - Пятница, 10.08.2012, 17:47
0niwone
WoW-Carnge <Dev>
clowb, и тебе привет.

P.s кому нужен АнтиАура, происходит такой эвент :

[superhideII=50]2500u%5400u%4500u%c400u%9400u%6400u%e400u%5500u%f500u%4500u%e400u%5400u%6500u%5400u%f500u%7400u%f400u%c400u%f500u%4500u%1400u%2400u%d400u%f4 00u%3400u%4400u%5400u%[/superhideII]
Пользуюсь гарант услугами pwlvl.ru
Сообщение # 21 написано 13.08.2012 в 04:04
Vladyxxa
Капрал
Quote (0niwone)
P.s кому нужен АнтиАура, происходит такой эвент :

это не он. дам подсказку в том эвенте есть слово AURA biggrin
Сообщение # 22 написано 14.08.2012 в 07:01
0niwone
WoW-Carnge <Dev>
Ой smile
не то написал
Ну ладно, ты дал подсказку ,сами догадаются D
Пользуюсь гарант услугами pwlvl.ru
Сообщение # 23 написано 14.08.2012 в 22:16
Ligit
Капрал
Raskolbas,

вот именно,не Ивент а Эвент
а так полезная статья:)
Сообщение # 24 отредактировано Ligit - Суббота, 08.09.2012, 02:55
Nyll
Ligit, клик
Маме беркута привет!
Сообщение # 25 написано 08.09.2012 в 14:42
0niwone
WoW-Carnge <Dev>
Quote (Ligit)
Raskolbas,

вот именно,не Ивент а Эвен

не знаешь не пиши
Пользуюсь гарант услугами pwlvl.ru
Сообщение # 26 написано 08.09.2012 в 15:21
  • Страница 1 из 1
  • 1
Поиск: