Главная RSS Онлайн игры WarCraft Приколы Карта сайта О блоге Поиск Добавить пост Ваши посты
500 рублей помощь регистрации домена и на хосте и перенос сайта туда связь


+ Подписаться

В этой книге представлены основы по HTML 5. В ней рассказывается, как создавать свою графику и анимацию, а так же работа с мышкой и клавиатурой.

Скачать


Создание инвентаря часть 2

1

Добавил: AlexMaster

Дата: 10.08.2013


В прошлой статье я писал, как сделать так, чтобы герой не мог брать два артефакта относящиеся к одному классу. Прочитать про это можно здесь. Сейчас будет описан более улучшенный вариант. Инвентарь, у которого шесть слотов. Для меча, щита, доспехов, шлема, ботинок и перчаток. Для этих целей будет использоваться стандартный инвентарь героя. Прежде чем приступать к триггерам, скачайте этот архив, там находится интерфейс нашего инвентаря. Импортируйте его в свою карту и укажите путь UI\Console\Human\HumanUITile03.blp.

Переменные.

Всего у нас будет три переменные.
Heroes - тип Боевая единица массив
Player - тип Группа игроков.
LocationPoint - тип точка.

Триггер “Int”

В этом триггере объявлены переменные.

Перемнные

Триггер “Drop System”

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

Артефакты – класс оружие
Усиливающие – класс броня
Постоянные – класс шлем
Подлежащие продаже – класс ботинки
Имеющие заряды – класс перчатки
Только для компании - класс щиты

MoveSystem

В событиях указано время, через сколько этот триггер будет срабатывать.
В действиях начинается цикл от одного до двух, так как у нас два героя. Если их будет шесть, то вместо двойки нужно поставить шестерку.
Дальше идет условие, что если в первом слоте попадает предмет не артефакты (напомню, что артефакты это у нас оружие), то предмет автоматически выбрасывается на землю. В действиях указан сам выброс предмета.
Set LocationPoint = (Position of Heroes[Integer A]), это переменная указывает на точку выброса, т. е. позиция Heroes(Integer A)

MoveSystem

В конце указана переменная LocationPoint, место, куда предмет падает. После того как переменная LocationPoint, отработает её желательно удалить. Для этого нужно вызвать функцию RemoveLocation. Создайте действие Custom Script и напишите следующее call RemoveLocation(udg_LocationPoint).
Оставшиеся действия сделайте сами. Для компании пример приведён выше, а ниже на рисунке оставшиеся примеры.

DropSystem

Не забудьте везде поменять слоты.

Триггер “Move system”

Этот триггер будет чуть посложнее предыдущего.

DropSystem

В событиях указано, что боевая единица получает предмет. В действиях объявляется переменная, где идет конвертация обычного игрока в группу игроков.

DropSystem

Дальше следует условия, где указан класс “артефакты’’. Заметьте, функцию ItemBeingManipulated, её всегда надо ставить, когда точно неизвестно какой именно предмет. Поэтому это условие будет применено ко всем предметам, относящиеся к классу артефакты. Дальше следует еще одно условие.

DropSystem

В этом условие будет использоваться тип Or, что означает ИЛИ, т.е может быть выполнено либо первое, либо второе условие. Третий вариант может быть выполнено сразу два условия. Есть также AND, что означает И, в этом случае выполняются сразу два условия, третьего не дано. Вернемся к нашему примеру, тут идет проверка, что предмета в первом слоте нет ИЛИ вторая проверка, что предмет есть. Если же он есть, на всякий случай перенесем его в первый слот.

Item

Иначе если первое действие в условие не сработало, то выполняется второе.

Item

Остальное сделайте сами, достаточно скопировать, условие с действием несколько раз и заменить классификацию в условии, а также слот в инвентаре.
Вроде получился нормальный инвентарь, который можно использовать в RPG подобных играх, но чего-то нахватает, а именно ‘’зелья’’ некуда складывать. Напомню, что ‘’зелья’’ имеют классификацию ‘’разные’’. Итак мой вариант, создать способность “книга заклинаний”, и добавить в эту книгу три способности, которые будут отвечать за увеличение здоровья, маны и общее восстановление того и другого. Эти способности можно найти в “редакторе объектов->способности”, они будут обозначены как предметы, их нужно переделать, чтобы они относились к воинам, после нужно добавить их в книгу заклинаний пример на скриншоте.

Item

Предметы

В качестве предметов, для наших эликсиров лучше создать те, которые при подбирание тут же используются, например “ Счастливая монетка ”. Создать её можно в “редакторе объектов->предметы”.

Триггер “Multiboard”

Этот триггер будет отвечать за отображение количество зелий, т.е. сколько зелий осталось, но перед его созданием нужно добавить еще три переменные. Тип целочисленные Potion_Health, Potion_Mana, Potion_Restoration, а сам триггер начинается с события Elapsed.

Item

Ниже приведен весь триггер.

Item

Первая строчка обозначает создание multiboard, где в параметрах указано одна колонка и три строчки.
Вторая строчка это цвет текста заголовка.

Item

Следующие три действия отвечают за отображения иконки и текста в каждой строчки.

Item

Еще три действия это создания самих иконок.

Item

И последние три действия это создание текста.

Item

В конце идет преобразование в строку и указыние переменной

Триггер Every point add

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

Item

Ничего особенного здесь нет, похожий пример в предыдущем триггере.

Триггер Potion add

Этот триггер отвечает за подбор предмета и прибавление единицы в мультибоард.

Item

В условии указано, что тип используемого предмета ‘’Целебное зелье’’, а так как предмет у нас сразу используется, то в действиях Potion_Health прибавляется единица.

Health

Триггер Potion No

Этот триггер будет отображать сообщение, если зелья у героя закончились.

PotionNo

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

Health

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

Health

Триггер Potion minus

Этот триггер высчитывает единицу, если герой использовал зелье.

Health

Health

На этом все вот файл с примером
скачать.

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

Назад

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

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

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

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

 

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