• Страница 1 из 1
  • 1
Форум » Обсуждение аддонов » Разработка аддонов WoW » Действие, при нажатии на кнопку
Действие, при нажатии на кнопку
Nyll
Доброго времени суток пользователи WoWJP.
Данная статья расскажет вам как сделать аддон с функцией написания в чат любого текста при нажатии на созданную нами кнопку.
Для создания аддона нам потребуются программа: Notepad++

Ссылка на предыдущию статью - тык

Статья будет написана на языке программирования LUA без использования xml кода.
Для начала создаем папку в любом удобном для нас месте и называем её Buttons(позже её будет необходимо будет перенести в аддон).
Создаем в папке Buttons файл блокнота с названием buttons.toc и заполняем его по форме.
Теперь создаем файл блокнота с расширением .lua,далее в этот файл вписываем

Code
mybutton = CreateFrame("Button","mybutton",UIParent,"UIPanelButtonTemplate") --создание фрейма кнопки      
      mybutton:SetPoint("CENTER",300,-20) -- позиция кнопки      
      mybutton:SetWidth(80) -- установка ширины кнопки      
      mybutton:SetHeight(23) -- установка высоты кнопки      
      mybutton:SetText("Кнопка");  -- текст кнопки      
      mybutton:SetScript("OnMouseDown", function(self,button,...)         
            if (button=="LeftButton") then      
               SendChatMessage("Хай ги","guild");
               end      
      end);


Выше уже разъяснено, что значит каждая строка кода. Но, тем не менее я распишу отдельно что значит каждая строка.

Code
mybutton = CreateFrame("Button","mybutton",UIParent,"UIPanelButtonTemplate")

создание фрейма кнопки

Code
mybutton:SetPoint("CENTER",300,-20)

позиция кнопки

Code
mybutton:SetWidth(80)

установка ширины кнопки

Code
mybutton:SetHeight(23)

установка высоты кнопки

Code
mybutton:SetText("Кнопка");

текст кнопки

При нехватке свободного места на панели заклинаний вам очень пригодится данный аддон.
Так же он очень полезен в рейдах, при необходимости нажимать несколько спелов сразу.
Если у вас не хватает макросов вам так же очень поможет этот аддон.
Спасибо за помощь в написание статьи пользователю WhiteOne.

[download]Event - для WoW 3.3[/download]
Маме беркута привет!
Сообщение # 1 отредактировано Nyll - Пятница, 24.02.2012, 12:14
dezertefer
Скаут
первыйнах! а по существу очень полезный гайд и очень простой hello
Сообщение # 2 написано 10.11.2011 в 14:29
Poбот
Король железяк.
Норм я статейку написал =)
Сообщение # 3 написано 10.11.2011 в 18:56
Juline
!1
Nyll, ты бы выкладывал то, что у тебя получилось в процессе работы.
Также, ссылки на предыдущую статью нету, а было бы хорошо.
Сообщение # 4 написано 11.11.2011 в 00:49
Nyll
Quote (Juline)
Nyll, ты бы выкладывал то, что у тебя получилось в процессе работы. Также, ссылки на предыдущую статью нету, а было бы хорошо.

Ссылку добавил. А то что получилось в процессе моей работы, очень скучно, но раз нужно я выложу wink
Маме беркута привет!
Сообщение # 5 написано 11.11.2011 в 03:58
Minishadow
Валера тормози
Nyll, а как насчёт аддона плей листа с музыкой ? Кто то говорил что попробует сделать )
Сообщение # 6 отредактировано Minishadow - Пятница, 11.11.2011, 21:18
citynov
Капрал
А как сделать так что бы он писал не в ги а писал анонс ? Заранее благодарен.

There is nothing better than .LUA
Сообщение # 7 написано 12.11.2011 в 19:30
Juline
!1
Code
          if (button=="LeftButton") then     
              SendChatMessage("Хай ги","guild");
              end    


SendChatMessage("text" [, "chatType" [, "language" [, "channel"]]])
text - строка с сообщением
chatType - куда отправлять (строка); по умолчанию отправит в общий чат.
Возможные значения chatType:
BATTLEGROUND - Messages to a battleground raid group (sent with /bg in the default UI)
CHANNEL - Message to a server or custom chat channel (sent with /1, /2, etc in the default UI); requires channel number for channel argument
DND - Enables Away-From-Keyboard status for the player, with text as the custom message seen by others attempting to whisper the player
EMOTE - Custom text emotes visible to nearby players (sent with /e in the default UI)
GUILD - Messages to guild members (sent with /g in the default UI)
OFFICER - Messages to guild officers (sent with /o in the default UI)
PARTY - Messages to party members (sent with /p in the default UI)
RAID - Messages to raid members (sent with /ra in the default UI)
RAID_WARNING - Warning to raid members (sent with /rw in the default UI)
SAY - Speech to nearby players (sent with /s in the default UI)
WHISPER - Message to a specific character (sent with /w in the default UI); requires name of the character for channel argument
YELL - Yell to not-so-nearby players (sent with /y in the default UI)
Сообщение # 8 написано 12.11.2011 в 21:42
Poбот
Король железяк.
Juline, Класс в аддонах хорошо шаришь =)
Сообщение # 9 написано 13.11.2011 в 01:42
gradinas
Командир
Как сделать что бы нажатие на кнопки запускало другой аддон. Например пишу:
if (button=="LeftButton") then
SendChatMessage("/art epgp");
end

Мне в чат пишет /art epgp а не открывает аддон.
Сообщение # 10 написано 04.09.2012 в 01:28
Vitalya7
Ну просто умничка=))
Quote (citynov)
А как сделать так что бы он писал не в ги а писал анонс ?

Quote (Nyll)
   SendChatMessage("Хай ги","guild");

пишешь вместо того что выше - это
SendChatMessage(".name Ваше Сообщение ","guild");
Наверное так...
Сообщение # 11 отредактировано Vitalya7 - Суббота, 08.09.2012, 22:52
Форум » Обсуждение аддонов » Разработка аддонов WoW » Действие, при нажатии на кнопку
  • Страница 1 из 1
  • 1
Поиск: