Главная RSS Онлайн игры WarCraft Приколы Карта сайта О блоге Поиск

“— А ты бегаешь по утрам? — Да! В основном по дому, с криками мля, проспал!” - анекдот дня


warcraft-> Статьи по WarCraft 3->Как сделать мультиборд для статистики игрока Часть1

Как сделать мультиборд для статистики игрока Часть1

1

Добавил: AlexMaster

Дата: 09.04.2013


В этой статье мы создадим Multiboard, который будет отображать имя игрока, количество убийств и смертей героев игрока. Пример multiboard на рисунке.

Multiboard


Для начала создадим переменные, их будет всего пять.
Death типа целочисленный массив.
Kills типа целочисленный массив
Multiband типа меню паузы
Player_string типа строка массив
Playercount – целочисленная
Теперь создайте триггер Multiboard
В событии установите время Elapsed в 2 секунды, по истечению этого времени multiboard автоматически запустится. Дальше в действиях выберите меню паузы.

menu



Установите 3 колонки(columns) и 10 полей(rows) в заголовке(titled) напишите Information.
Объявите переменную multiboard(Set Variable = Value), присвоив ей значение (Last Created multiboard)

menu



menu




Это действие отвечает за создание каждой строчки в multiboard если игрок играет. Переменной playercount прибавляется единица. Что-бы это действие работало нужно создать еще один триггер который будет фиксировать играющих и добавлять их в multiboard, про это написано ниже.



Следующие три строчки отвечают за отображении Player, Kills, Death, причем Kills будет красным цветом, а Death будет синем цветом.

menu



На рисунке видно, что отображение текстов будет на первой строчки, в первой второй и третей колонке. Цвета двух последних названий создаются с помощью конкатенаций, про них я рассказывал в этой cтатье. Дальше нужно создать отображение всех игроков.
Конечно, можно создать для каждого игрока отдельно строчку, но лучше их занести в цикл. Как показано на рисунке.

menu



For each отвечает за цикл, который считает количество играющих пользователей и выводит их максимум 10. Потом идет проверка условия, если игрок играет, то он добавляется в multiboard. Обычно в условии проставляется номер игрока, например Игрок 1 (красный), но в нашем случае Integer A. Дальше идет действие, отвечающее за добавление строки.

menu



Multibaord переменная, для которой выводится список игроков в первой колонке. Количество строчек integer A + 1 означает, сколько игроков столько и строчек, плюс один вывод со второй строчки, потому что первая у нас Player, Kills и Deaths. Сложение происходит с помощью арифметического действия.
Последняя – это вывод переменной Player_String массив , в массиве указывается номер игрока integer A, про переменную Player_String написано ниже.
Следующий пример очень простой, в цикле начиная, со второй строчки у последних двух колонок выводится нули.

menu



Теперь нужно скрыть все иконки в multibard, для этого создаем цикл начиная с первой позиции и заканчивая 4 + номер игрока. Потом определяем размер каждой колонки, от общего размера экрана, первая 9 %, вторая и третья по 5 %.

menu



Остается только отобразить все это заключающее действие.

menu



Отображение игроков в Multiboard.

Мы создали Multiboard, но игроки все равно не будут отображаться, нужно создать еще один триггер, в котором будет обозначен каждый игрок в переменной Player_string. Номер игрока указан в массиве, дальше следует цвет и имя игрока.

menu



Следующее условие проверяет статус игрока. Если он играет, то переменной playercount прибавляется единица.

menu



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

Триггер Kills.

Этот триггер будет отвечать за счет убитых героев. Пример на рисунке

menu



Событие отображает смерть боевой единицы, в первом условии идет проверка, что это герой, и он не является Нейтрально-враждебным. Второе условие означает, что убитый герой принадлежит красному игроку, в действиях идет прибавление единицы к переменной Kills[2]. Следующее действие выводит в multiboard результат, только для этого число нужно преобразовать в строку. На рисунке снизу точно такое же условия, только для игрока 2.

menu



Используя два предыдущих рисунка, создайте действия для всех остальных игроков.

Триггер Death

Этот триггер считает количество смертей у игрока.

menu



Проверка условия, где герой умирает, в действиях объявляется переменная Death, которую мы создали с самого начала.
На рисунке показано последовательность раскрываемых окон для переменной Death

menu



Дальше следует «равно» создается опять переменная Death с массивом, где в массиве указывается номер умирающего игрока и к этой переменной прибавляется единица. Все это делается с помощью арифметического выражения.
Создается последнее действие “Меню паузы”, которое отображает смерть героев.

menu



Отображение погибших героев происходит в третей колонке (column), row - обозначается номер игрока у которого погиб герой + 1. Последняя строка это преобразование числа в строку, где указано переменная Death массив, а в массиве, Player number of (Owner of (Dying unit)).
Все это последнее действие. Теперь можно протестировать карту, для этого нужно сразу запустить всех игроков, перейдите в
Сценарий->Свойство игрока и установите 10 игроков как показано на рисунке.

menu



Теперь нужно зафиксировать этих игроков. Перейдите во вкладку “Кланы” и поставьте два флажка “Нестандартные кланы” и “Фикс. Параметры игрока”.

menu



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

menu



карта будет запущена и начнется битва и тогда после убийства героя начнется прибавление счетчика смертей, а победителю - игроку будет прибавляется количество убийств.

Файл примера.
Multibard

Статья написана для сайта wc3maps.ru

warcraft-> Статьи по WarCraft 3->Как сделать мультиборд для статистики игрока Часть1


Перейти на главнуюВагон игр Назад

Просмотров: 1420

Комментарий к этой заметки:

Добавить ваш камментарий:

Введите капчу

 



Яндекс.Метрика