x

#{title}

#{text}

x
error

#{title}

#{text}

x
success

#{title}

#{text}

Цитадель Адского Пламени
|
Адский пролом
100%
|
Залы крови
100%
|
Оплот тьмы
100%
|
Терраса разрушителя
100%
Новостная лента
Category Icon 

ЦАП Эпохальный режим: Финал

3. Декабрь 2015 / добавлено 02:32 пользователем admin / Раздел: World of Warcraft

Image

    Рад сообщить, что финальный босс Цитадели Адского Пламени успешно освоен. Следовательно контент закрыт и гильдия переходит в фарм режим.

     На освоение босса было потрачено около 200 пуллов за 8 рейдовых дней. В плане механики босс довольно интересный, порой излишне веселый(массовые стрелочки на 2 фазе, комбы на 3 фазе). Сражем честно - Маннорот был ад, этот проще, даже несмотря на апгрейд вещей после патча(траить мы его начали до патча).

     Хочу выразить от себя и всех офицеров благодарность за потраченное не просто так время, отдельным рейдерам за стабильное посещение и активную работу над собой за все время освоения. Хочу также извиниться если кого-то чем-то задел или обидел. Ну и конечно сказать спасибо всем кто меня слушал и выполнял всё как надо!

     Видео сражения уже доступно по ссылке в шапке сайта или на нашей страничке на wowprogress.com В данный момент после небольшого перекура приступаем к фарму и активной подготовке к Легиону!

     Всем спасибо! Вы классные ребята!

Виетт.


Category Icon 

Аддоны WoW: Lua и графика на экране

29. Ноябрь 2015 / добавлено 22:05 пользователем admin / Раздел: Development

Dev

     Всем привет! С вами снова Виетт! В прошлой статье мы с вами поговорили о том что такое аддоны WoW, как они работают и что нужно для того чтобы написать свой собственный простейший аддон. Также мы сделали заготовку нашего будущего аддона. В этой статье мы поговорим о скриптовом языке Lua, о его базовых элементах и как с помощью него, используя WoW API, создать графическое окно в игре и вывести туда тест.

Итак, приступим!

Часть 1: Теория Lua.

     Как вы могли уже видеть, используя готовые аддоны, у почти большинства аддонов есть некий графический интерфейс. У каких-то он состоит всего из одного окна, у других целые группы окон, а у каких-то его и вовсе нет. Графический интерфейс на самом деле очень важная часть аддона потому что именно в ней отображается, в удобном пользователю виде, информация. Что же нам предлагают разработчики Blizzard? В WoW api существует три варианта, которыми можно сделать интерфейс для своего аддона:

  • использовать готовые варианты от разработчиков (стандартные рамочки, кнопочки которые можно видеть в стандартном интерфейсе игры)
  • использовать готовые решения из сторонних библиотек (всякие готовые сборки UI)
  • создать самому, используя данные разработчиками возможности (требуется больше навыков программирования)

     В этой статье мы попробуем создать самостоятельно графическую составляющую нашего аддона, а также выведем туда текст "Hello World".

     С чего же начать? Если вы внимательно читали прошлую статью, то могли заметить что в разработке аддонов используется скриптовый язык Lua. Ни один серьезный язык программирования не обходится без т.н. "переменных", таких специальных штуках в которых хранятся некие данные. Поэтому как и в любой другой программе, при разработке аддона нам потребуются переменные, в которые мы положим различные данные(расположение рамки на экране, расположение текста в рамке, размеры рамок, шрифт и т.д.). В языке lua все переменные не имеют типа(тип данных - специальный параметр, который указывает какого рода данные находятся в переменной), это сильно упрощает работу новичкам в программировании, но также и усложняет жизнь опытным разработчикам, но сейчас не об этом! Ввиду этого мы можем спокойно написать a = 3 или b = "Hello" и будет все хорошо. Обращаю внимание, имена переменных должны состоять только из латинских букв и специального символа _. Например, a, b, test, my_var, hard_rock и т.д.

     Прежде чем приступать к работе нам нужно еще освятить такое понятие как процедура и функция. Процедура - законченный фрагмент кода выполняющий определенные действия и не возвращающий нам результат своей работы. Функция же после выполнения работы всегда возвращает нам какую-либо информацию. WoW API по большей части использует только функции т.е. когда выполнилась какая-то инструкция мы обязательно знаем результат(например, успешно или нет). Использовать функции легко, досточно знать имя функции. Например, у нас есть функция "Создать печеньки", в качестве результата возвращает два возможных значения 0 - безуспешно и 1 - успешно.

     Для использования достаточно завести переменную с любым именем например "gg". Использование функции тогда будет выглядеть следующим образом:

local gg = CreateCookies()

     После выполнения этой функции в переменную gg положится результат. Для просмотра достаточно использовать процедуру print(). Итого получается:

local gg = CreateCookies()
print(gg)

     На экране будет выведен результат 0 или 1.

     Используя только данный механизм можно написать некоторые довольно серьезные аддоны. На данном этапе это все что нам нужно для написания нашего первого простого графического интерфейса аддона, т.е. это переменные, процедуры и функции.

Часть 2: Процедуры и функции WoW API

     В этой части рассмотрим некоторые базовые процедуры и функции, а также механизм их работы, предлагаемые нам API компании Blizzard.

     Для начала хочется сказать о базовой процедуре "print()", данная процедура выводит на экран любой текст и данные из наших переменных. Очень полезная вещь в отладке. В игре вывод информации происходит в главное окно чата, никто не видит эту информацию кроме нас, поэтому если нужно проверить какие-то значения или вычисления в нашем аддоне, то можно смело выводить их таким образом.

     Итак, как же создать рамку в WoW на экране,с помощью аддона? Оказывается все проще чем кажется на первый взгляд!

     Для создания рамки на экране достаточно знать функцию CreateFrame(). У каждой функции может быть список передаваемых параметров(значений для работы функции). Все параметры перечисляются в скобках после имени функции через запятую. Например, базовая версия функции для созданя рамки выглядит так:
CreateFrame("frameType"[, "frameName"[, parentFrame[, "inheritsFrame"]]]).
Все что заключено в "[ ]" являются необязательными параметрами т.е. параметрами которые если не указать, то все не сломается, но если не указан "frameType", то никакой рамки на экране не отобразится. Мы будем использовать frameType = "Frame" и больше ничего. Поэтому наша рамка будет создаваться так:

my_frame = CreateFrame("Frame")

     На этом всё! Мы сделали рамку, но ее не видно на экране. Для того чтобы рамка показалась и перестала прятаться на нужно указать для нее размеры, фон и задать позиционирование.

     Допустим, я хочу видеть рамку по центру экрана с размерами 300*300 и полупрозначным темным фоном. Для задания размера используется функция SetSize(width, height), где width - ширина рамки, height - высота. Оба параметра являются обязательными. За позиционирование отвечает функция SetPoint(point, ofsx, ofsy), где point - точка куда крепится рамка на экране(нам нужно в центре, используем "CENTER") ofsx, ofsy - сдвиг по осям от точки крепления.

     Мы задали размеры и выровняли нашу рамку, но ее все равно не видно на экране. Почему? Потому что она полностью прозрачна! Для того чтобы увидеть наше творение нужно задать рамке текстуру, выше мы договорились сделать полупрозрачную текстуру темного цвета. Для создания текстуры нам нужна функция

texture = Frame:CreateTexture(["name" [, "layer" [, "inherits" [, sublevel]]]])
Параметры:

  • name - глобальное имя для текстуры(для дальнейшего использования в коде)
  • layer - слой в игре(фоновая текстура, основная и т.д.)

     Последние параметры нас не интересуют, они не важны для создания простейшей текстуры поэтому их значения в этой функции будет равно nil т.е. пусто или фиксированные значения. Текстура создана, остается задать ей значения цвета. Сделать это можно функцией SetTexture(r, g, b, a) где r,g,b - цветовые компоненты красный, синий, синий; a - alpha значение прозрачности для данной текстуры, у нас будет 0.5 т.е. полупрозрачной.

     После нехитрых манипуляций мы увидим по центру экрана черный полупрозрачный квадратик. Поздравляю! Вы только что создали свою первую рамку в игре WoW.

Часть 3: От теории к практике

     Что ж с теорией пока все, приступим к практике. Нам понадобится наша заготовка с прошлого раза. Открываем файл core.lua удаляем оттуда все содержимое и начинаем создавать нашу рамку!

local my_frame = CreateFrame("Frame", "my_frame", UIParent) -- создание рамки

my_frame:SetSize(300, 300) -- задаем размеры
my_frame:SetPoint("CENTER",0,0) -- задаем позиционирование по центру без сдвига по осям

my_frame.back = my_frame:CreateTexture(nil, "BACKGROUND",nil,-7) -- создаем текстуру
my_frame.back:SetAllPoints() -- блокируем все точки крепления рамки, чтобы ничего не поломалось
my_frame.back:SetTexture(0, 0, 0, 0.5) -- задаем черный цвет и прозрачность 0.5

     Сохраняем файл и запускаем игру(либо /reload в игре). Видим результат - рамку по центру экрана. Для отображения текста дописиваем в конце:

my_frame.text = my_frame:CreateFontString(nil, "BACKGROUND", "PVPInfoTextFont"); -- создаем шрифт
my_frame.text:SetAllPoints(); -- блокируем все точки крепления рамки, чтобы ничего не поломалось
my_frame.text:SetText("Hello World") -- задаем текст

     Сохраняем файл и запускаем игру(либо /reload в игре). Видим результат - рамку по центру экрана а по центру текст "Hello World".

     Ну вот мы и научились делать простейшие рамки-контейнеры для информации, осталось научиться извлекать информацию и помещать в рамку, но это уже совсем другая история. Если есть правки или комментарии по поводу статьи, выслушаю в комментариях. В следующий раз поговорим о механизмах взаимодействия игры с клиентом и как использовать эту информацию в наших целях.

     Удачи в обучении!


Category Icon 

ЦАП Эпохальный режим: Маннорот мёртв!

17. Ноябрь 2015 / добавлено 19:33 пользователем admin / Раздел: World of Warcraft

Всем привет! Рад сообщить, последняя преграда перед глав гадом всего аддона успешно преодолена. Маннорот мёртв, открыт доступ к финальному боссу дополнения Архимонду.

Босс оказался на редкость интересный, довольно сложный. Ошибок нам он не прощал, вайпы были быстрыми и жестокими. Но к счастью, мы преодолели все трудности и одолели этого "зеленого крокодила". Полутали эпики и готовимся вступить в бой с Архимондом. Освоение Маннорота заняло каких-то ~350 пуллов за 15 рейдовых дней, из который порядка ста было потрачено на разбор новых механик и способностей, а также привыкание рейда к ним. В целом после убийства босс уже не кажется таким сложным и неубиваемым как раньше.

Снимок убийства можно посмотреть ниже, ссылка на видео в ленте в шапке сайта.

Image


Category Icon 

Аддоны WoW: Основы

9. Ноябрь 2015 / добавлено 03:00 пользователем admin / Раздел: Development

Dev

     Всем привет! Мой игровой персонаж Виетт. На данный момент являюсь ГМ'ом и РЛ'ом рейдовой гильдии Адамантан. Моя игровая карьера игрока World of Warcraft началась чуть менее девяти лет назад. За это время было выпущено несколько игровых дополнений к WoW, много раз менялись игровые механики. Что-то удалялось, а потом возвращалось, что-то дополнялось, что-то вовсе не возвращалось после удаления. Изначально я позиционировал себя игроком PvE, но за мою долгую игру я успел поучаствовать и в PvP и в PvA направлениях. На данный момент я занимаюсь только PvE т.к. это единственое интересное направление в этой игре сейчас.

     Каждый игрок в WoW, участвующий в освоении PvE контента, когда-нибудь пользовался таким инструментом игры как "пользовательские модификации"(addons) или в простонародье "аддоны". Аддоны нужны в первую очередь для отображения нужной рейдеру информации для его класса, для отображения информации о способностях босса во время боя, для отображения информации о рейде и т.д. Существует великое множество аддонов для WoW различной направленности, большая база таких модификаций находится на известном широкой публике ресурсе http://curse.com

    Но не всегда можно найти нужный аддон, поэтому у меня часто возникало желание написать свой или поправить существующий для своих нужд. В реальной жизни по своей профессии я связан с разработкой программного обеспечения, знаю отлично программирование, поэтому написать что-то или разобраться в чем-то новом для меня не проблема. И я решил, что пора заняться изучением строения аддонов для WoW на уровне хобби, и тут меня ждало глубокое разочарование. После анализа всевозможных ресурсов в интернете я не обнаружил во-первых ни одного актуального на русском языке, во-вторых не обнаружил четкой и детальной документации по аддонам в принципе. В данный момент не существует полной, актуальной и детальной базы и документации по аддонам WoW, в отличие от Web API WoW! Мне кажется, что компании Blizzard давно следовало обратить на это внимание, но видимо все никак руки не доходят. Поэтому все что мы знаем об аддонах это лишь чьи-то примеры, комментарии на американских форумах и официальные комментарии разработчиков Blizzard и конечно же готовые аддоны. Код всех аддонов полностью доступен и открыт, можно открывать и смотреть как они сделаны, задавать вопросы авторам если что-то непонятно.

     Ввиду всего этого безобразия я решил написать пару статей, носящих чисто информативный характер. Статей о том как как на базовом уровне написать собственный аддон для World of Warcraft. Начнем пожалуй с базовых моментов.

 

Что такое аддоны и как они работают?

     Аддоны это специально написанные пользовательские скрипты, выполняющие определенные функции по задумке разработчика. Физически аддоны выглядят в виде папки с файлами, имеющей уникальное имя и расположенной в директории \World of Warcraft\Interface\AddOns\

     Функционал аддонов напрямую ограничен разработчиками WoW, и скажу вам по недолгому опыту он очень ограничен, чтобы не было злоупотреблений. Чтобы было нагляднее рассмотрим процесс создания аддона на примере простейшего аддона, который выводит в игровой чат надпись-приветствие "Hello World". Рассматривать будем постепенно по шагам. Погнали!

Шаг 1. Структура аддона

     Каждый новый аддон должен следовать установленной структуре файлов. Без правильной структуры ваш аддон не заработает. Простейшая структура аддона выглядит следущим образом:

  • MyAddon Directory
    • MyAddon.toc
    • core.lua

     Как видите все довольно просто на первом шаге. Для того чтобы ваш аддон работал нужно создать всего лишь два файла: файл с настройками для аддона - *.toc файл и непосредственно сам скрипт(сценарий) - *.lua файл, по которому будет работать ваш аддон. Без *.toc файла игра не поймет что в этой папке находится ваш аддон и не загрузит его в список доступных модификаций в игровом меню.

Структура *.toc файла следующая:

## Interface: 60200
## Title: My Addon
## Author: Viett
## Notes: My description
## Version: 0.1

core.lua

  • Interface - Версия интерфейса игры на настоящий момент, можно посмотреть в самой игре командой в чате /run print((select(4, GetBuildInfo())));
  • Title - Название вашего аддона, также должен называться и сам *.toc файл
  • Author - Сведения об авторах
  • Notes - Краткое описание аддона для enGB enUS локализаций
  • Version - Версия нашего аддона

     После того как мы заполнили все эти поля далее следует написать список всех используемых аддоном файлов, это нужно для того чтобы аддон мог найти ваши скрипты и сторонние функции из других файлов. Так как у нас всего один файл-скрипт, то мы пишем только core.lua. Обращаю внимание, что файлов-скриптов может быть сколько угодно и называться они могут как угодно. Однако! Главный файл обычно размещают в начале списка и называют его либо core.lua либо main.lua. Всё, с файлом настроек разобрались!

Шаг 2. Подготовка

     Что же теперь делать? Как написать скрипт? Все скрипты, используемые для разработки аддонов WoW используют специальный скриптовый язык программирования LUA. Язык довольно простой, если вы с ним еще не знакомы не беда. Первая же ссылка в поиске Google выдает краткое руководство по данному языку посмотреть можно здесь. Советую изучить прежде чем рваться программировать что-то.

     Обращаю внимание что все создаваемые вами файлы должны быть в кодировке UTF-8 либо UTF-8 (без BOM)! Если файл будет в друой кодировке, то весь русский текст в игре будет нечитаемым. На первое время для удобной разработки можно использовать продвинутый редактор текста для начинающих программистов или просто для любителей - Notepad++ Скачать и установить можно по этой ссылке

Шаг 3. Пишем аддон

Итак, мы все установили и все почитали! Что дальше?

  1. Создаем папку в любом месте на компьютере и называем ее HelloWorld. В этой папке делаем два файла HelloWorld.toc и core.lua
  2. Нажимаем правой кнопкой мыши по HelloWorld.toc и выбираем меню Edit with Notepad++. Открывается пустой файл, сразу же меняем кодировку. Открываем меню "Кодировки -> Преобразовать в UTF-8 (без BOM)".
  3. Повторяем процедуру для файла core.lua
  4. Заполняем файл HelloWorld.toc по шаблону из первого шага. Должен получиться следующий код:
    ## Interface: 60200
    ## Title: HelloWorld
    ## Author: Viett
    ## Notes: My first addon
    ## Version: 0.1

    core.lua
  5. Сохраняем файл.
  6. В файле core.lua пишем следующий код print("Hello World") И сохраняем.
  7. Осталось скопировать папку HelloWorld в директорию \World of Warcraft\Interface\AddOns\ т.е. туда куда обычно копируются аддоны. Запускаем игру, если все сделано правильно, то в модификациях мы видим название нашего аддона Hello World. Убеждаемся что он включен и логинимся в игру. Первая запись в нашем чате будет "Hello World", это значит что наш аддон работает.

     Таким образом создаются простейшие пользовательские модификации(аддоны) для WoW. Механизм простой, хотя кажется довольно сложным с первого взгляда. В следущей статье мы посмотрим каким образом создаются графические элементы для аддонов - рамки, кнопки. Посмотрим как они стилизуются и какие существуют механизмы для взаимодействия игрока и игры с этими элементами.

Успехов в обучении!


Category Icon 

ЦАП Эпохальный режим: Фотоотчет

11. Октябрь 2015 / добавлено 02:01 пользователем admin / Раздел: World of Warcraft

Всем привет, недавно мы успешно одолели 11-го босса Цитадели в эпохальном режиме. Осталось всего пару рывков и контент будет закрыт, а пока предлагаю вспомнить как все начиналось в этом самом эпохальном режиме.

Адский пролом (Штурм ЦАП, Железный разоритель, Кормрок)

ImageImageImage

Залы крови (Верховный совет адского пламени, Килрогг, Кровожад)

ImageImageImage

Оплот тьмы (Искар, Сокретар, Деспотичная Велари)

ImageImageImage

Терраса разрушителя (Закуун, Ксул'горак) + Архимонд Героик

ImageImageImage


Category Icon 

Рекрутинг: Ты нужен нам!

2. Август 2015 / добавлено 15:48 пользователем admin / Раздел: Гильдейские новости

Гильдия Адамантан проводит донабор свежих кадров для усиления состава и последующего освоения нереально сложных боссов ЦАП!

Для активного рейдинга в мифике гильдии требуются следующие классы:

  • class 5Паладин - отличный хил с большим потенциалом во всех спеках, с отличным интернетом и железом.
  • class 7Разбойник - прожимающий дамагер, владеющий всеми спеками в равной степени, без болезни фиолетовых пикселей, с нормальной психикой, умеющий сбивать касты и не задающий вопросов.
  • class 9Чернокнижник - который умеет молчать и делать дело, без китайских порталов, с прямыми руками.

РТ освоения 5/7 20.30мск - 24мск Пн-Пт только ЦАП героик, мифик

Требования к кандидату: 705+ ilvl, свежие хорошие логи, количество достижений 10к и выше, прошлые заслуги.

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

РТ рейда Вс 21мск-24мск ЦАП нормал, героик

Требования к желающим: 695+ ilvl , желание и стремление.

Заявки на вступление можно оставить здесь Подать заявку

 


Category Icon 

Эпохальный режим: этот подлец умер!

5. Июнь 2015 / добавлено 03:03 пользователем admin / Раздел: World of Warcraft

Image

Всем привет! Горячая новость, прямо в номер.

900 кругов ада, 200к атаки по танку, беготня с метками, летчики-балкончики ... он наконец то сдох! Чернорук повержен, лут попилен, рейд хочет крови!

Босс до безобразия скучный в плане тактики. Требует моментального реагирования и четкого исполнения тактических элементов. Одна даже небольшая ошибка и всё пропало, привет круги ада на первой фазе. Безумное количество входящего урона, жесткое требование к гиру и дпс. На освоение данного босса гильдии потребовалось чуть больше 12 рейдовых дней по 3,5 часа и предварительное экипирование рейда в лучший шмот.

Хочу выразить благодарность всем кто участвовал в освоении контента Литейной Черной Горы, кто верил в нас и будет верить дальше!


Ввиду того что контент закрыт, до патча осталось немного, гильдия переходит в фарм режим и подготовку к следующему рейду.

Ведется добор людей для усиления рейдового состава, требуются адекватные прожимающие ДД и Хилы. Подробнее о наборе можно узнать из колонки справа. Видео последних киллов можно посмотреть на нашей страничке wowprogress .

Для подробной информации о наборе и рейде можно узнать по контактам в игре /w Виетт /w Халвушечкин

Помогаем с рейдами и достижениями, подробнее в разделе ПвЕ-услуги.


Category Icon 

Эпохальный режим: литейная закрывается!

15. Март 2015 / добавлено 22:21 пользователем admin / Раздел: World of Warcraft

Всем привет!

Прошло довольно много времени и за это время случилось многое! После небольшого перерыва мы вернулись к активному рейдингу в мифик режиме и быстро догоняем упущенное.

Для рейдинга в основе гильдии требуется срочно:

class 7 Разбойник - прожимающий дд

class 5 Паладин - хил который дружит с головой

Обязательные требования: наличие актуального гира 680++ и 10/10 героик Литейной.

Заявки оставлять тут

 


Category Icon 

Эпохальный режим: долгая пьянка!

10. Январь 2015 / добавлено 18:27 пользователем admin / Раздел: World of Warcraft

Всем привет! С наступившим всех новым 2015 годом, с Рождеством и наступающим старым новым годом!

Наконец то праздники закончились! Все подарки подарили, всё что было выпили и вроде бы как отошли от долгого веселья. Было очень приятно вернуться к старому доброму рейдингу. За эти долгие 10 дней пока все отдыхали мы успели солидно опуститься по прогрессу(пока все пили школьники делали прогресс! =) ). Пришлось догнать быстренько!

Перед новогодними выходными мы успели убить Тектоника. А за последние два дня мы успешно провели две операции: "Орки на плахе" и "Толстый огр".

Таким образом мы успешно закрыли  6 эпохальных боссов из 7.

TectusButcherKoragh

Видео киллов можно найти на нашей страничке на wowprogress - Страничка гильдии.

Информируем, что в гильдию требуется отличный ретрик и рога. Требования: 670+ шмот, минимум 2/7M прогресс.


Император, мы идем за тобой!

margok


Category Icon 

Эпохальный режим: начало!

21. Декабрь 2014 / добавлено 16:59 пользователем admin / Раздел: World of Warcraft

Ну вот и дождались! Ровно в срок 10 декабря открылась эпохальная сложность рейда Верховный молот и сильнейшие гильдии ломанулись осваивать (бессонные ночи, бутылочка рядом, холодильник на столе). У кого то даже получилось убить всё, в том числе и у одной русскоязычной гильдии - Экзорсус! Наши поздравления!

Ну а мы никуда не торопимся и неторопливо осваиваем. За почти 2 кд (10 рейдовых дней) мы уже успели убить 3х боссов и почти замучать 4го. За это время мы разобрали на эпики Каргата, Огронов и Бурогриба.

1boss5boss3boss

Близзард обещали некую эпичность эпохального режима, новый формат интересные тактики, интересные боссы. В целом пока все что мы убили показалось нам крайне унылым, думаю дальше ничего интересного не будет тоже в этом рейде. Посмотрим что предложит нам литейная!

Видео киллов можно найти на нашей страничке на wowprogress - Страничка гильдии.

Освоение продолжается!


Рейтинг
Набор игроков
class 2 Друид
    Баланс средний
class 7 Разбойник высокий
Подать заявку