Как сделать исходную позицию
Запуск и настройка WE
Создание новой карты
Начало создания
У вас появилась прямоугольная карта (вертикальная). Прежде всего, у всех возникает вопрос про сетку. Некоторым нравится с ней, некоторым она просто мешает. Масштаб сетки можно уменьшить или увеличить или вообще ещё убрать, нажимая G. Я рекомендую уменьшить кол-во видимых клеток, а именно оставить только жёлтые клетки. Это пригодиться для симметрии. В We включён режим смены суток, как в игре, я рекомендую это выключить, нажав L, чтобы было всегда светло и было удобней работать.
Идея карты
Самое трудное при создании карты – определиться, что за стиль карты сделать. Лучше продумать идею, до создания карты, иначе во время создания на карте получатся нагромождения. Мы же попробуем сделать на одной карте практически все стили.
Добавление игроков в игру
Стартовые позиции и отмена стандартных триггеров
Каждый игрок должен иметь свою точку старта. Сама по себе она ничего не делает, но если её нету, то игрок в принцыпе не может присутствовать в игре. Поэтому для всех активных игроков её нужно добавить. В «Панеле Инструментов» (окошко справа) выберите «Панель войск». Выберите первого игрока (красный) и найдите. Картинку в виде синего компаса – это и есть «Исходная позиция» (Стартовая позиция). Теперь поставьте её куда-нибудь на карте. Без разницы куда. В игре её всё равно видно не будет. Если не указан никакой триггер, то в игре ваша камера будет направлена именно на неё. Так же вы увидите, что на ней стоит ваше главное здание, но полупрозрачное. Не обращайте на это внимание. Здания не будет в игре, потому-что мы отключим эту функцию. Поставьте ещё 3 «Исходные позиции» для других игроков, которых мы сделали активными, в нашем случае это были синий, фиолетовый и зелёный. Для этого меняйте цвет игрока на Панеле Инструментов. Можете потсавить все позиции друг на друга, чтоб они занимали меньше места, или вообще сдвинуть их на край карты, куда обычным юнитам доступа нет, чтобы они не маячили перед глазами. Если вы так сделали – они станут чёрными, это ничего, так и должно быть. Теперь отключим стандартные триггеры, предназначенные для обычной карты. Для этого запустите «Редактор Триггеров». Вы найдёте его в верхней части окна. Кнопка с жёлтой буквой «а». Или просто нажмите горячую кнопку F4. Перед вами появится ещё одно окно поделённое на 3 окна. Первое – левый столбик – это название триггеров. Лучше всего его писать латинскими буквами, потому-что некоторые версии игр не смогут прочитать триггеры. На сервере battle.net карта может не пойти, потому-что скажем немецкий World Editor не знает русского шрифта и просто откажется читать триггеры. Думаю всё ясно. Пишем всё латинскими буквами. В Редакторе триггеров функция переименовать отсутствует для этого выделите нужный триггер или папку и просто сделайте на нём 1 клик левой кнопкой мыши и подождите 1-2 секунды. Теперь можно переименовать. Слово «Инициализация» переименуйте к примеру в «Triggers», а триггер «Иниц. Сражений» вообще удалите. Теперь закройте Редактор Триггеров, но мы к нему ещё вернёмся.
Название и описание карты.
Рабочии Панели
Эта панель позволяет рисовать вам саму карту как нравится. Менять типы текстур, создавать порчу, реки. Создавать ямы и горы, укалоны и впадины. Ничего сложного – главное фантазия.
Здесь вы можете выбирать юниты и расствлять их по карте. Но перед тем как начать расставлять, не забудьте выбрать игрока для которого вы их расставляете. Так же можно менять расу. Одному игркоу могут пренадлежать юниты разных рас. Юниты так же как декорации можно крутить с помощью кнопки CTRL. Можно так же выбрать юнитов из кампаний. Например Архимонда или Артаса. После того как поставили юнита (лучше героя). Нажмите на него 2 раза. Вы увидите сколько всего можно у него изменить.
Здесь можно указать уровень героя, и кол-во маны изначально, поставить заранее ему умения, сделать добавить к нему в инвентарь предметы и даже сделать чтоб когда он умирает из него вывалилваись предметы.
Здесь вы можете рисовать области на карте. Эти области не будут видны во время игры. Но без них в принцыпе не могут существовать карты. Эти области нужны для триггеров. В разделе Редактор Триггеров разберёмся с ними по подробней. Попробуйте нарисовать небольшую область и сделайте даблклик на неё. Появится небольшое окно в котором можно будет внести изменения в этой областе.
Редактор Объектов
Способности
Ice Aura, [|cffffcc00Уровень %d|r] (|cffffcc00I|r)
Редактор Триггеров
Откройте редактор триггеров F4. Для начала расскажу как устроен триггер. Триггер – это переключатель состоящий из 3 функций: Событие, Условие и Действие.
Условие – эта функция, которая проверяет, будет ли работать определённое действие. Условий тоже очень много.
Действие – эта функция как раз содаёт все действия. Действие можно сделать практически любым.
И так попробоуем создать нетрудный триггер. Задумка такая. Рисуем небольшую область. И когда к Артес (именно Артес) будет заходить в эту область то в данной области будет создаваться юнит – охотница.
Создаём новый триггер. Назовём его к примеру Arthas. (поните что лучше писать латинскими буквами). Нарусуйте область, если ещё не нарисовали.
Нажимаем правой кнопкой на слово «Событие» и выбераем Новое Событие.
Событие пусть будет «Боевая Единица – Unit enters Region» увидите слово Region подчёркнутое красным. Нажмите на это слово, появится ещё одно окно и выбирете регион, который нарисовали. Нажмите кнопку «Выбрать» и выбирете этот регион. Жмите ОК, а потом ещё раз. Событие готово. Теперь нам надо сделать чтобы оно происходило только если Артес наступает в област, а ни кто-то другой. Для этого нажмите правой кнопкой на «Условие». И создайте условие. Условие выбирете Unit Comparison. Нажмите на слово (triggering unit) и измените его на «Реакция на событие – Entering Unit», жмём ОК. слово «РАВНО» оставляем. Теперь нажимаем на Value и выбираем с помощью кнопки «Выбрать» – Артеса на карте и указываем его. (Он у вас должен быть уже поставлен на карте) Жмём Ок и ещё раз Ок. Условие готово. Теперь самое главное – действие. Мы решили что будет создаваться охотница. Значит это связано с юнитом. Создаём «Действие». Как вы видите действий намного больше чем условий и событий, потому-что возможностей очень много, и каждое действие может делать сразу несколько других действий. Нам нужно найти действие «Боевая единица – Create Unit Facing Angle». Появятся много синих слов. Первое обозначает кол-во создаваемых юнитов. Сделаем 1.
Второе – создаваемого юнито (пехотнец по умлочанию, нажмите на него, переключите расу в появившемся меню на Ночных Эльфов и укажите охотницу). Жмём ОК. Следующее обозначает игрока для которого создаётся юнит. Оставляем красного, т.к. вы и есть красный. Следующее обозначает место где создаётся. Мы решили, что она появится в центре области в которую вошёл Артес. Нажимаем эту строчку, появляется окно. В окне указано Center of Playble Map Are, но нам нужен ни Центр игровой области, а центр нашей области, значит Playble Map Area нужно поменять на нашу область, для этого нажмите на неё и выбирете область, как написано выше. Ок 2 раза. Последнее обозначает на сколько градусов появившийся юнит будет развёрнут, предлагаю оставить «Стандартную ориентацию здяния» это где-то 165 градусов. Жмём ок.
Запомните где находится ваша область или пометье её каким нибудь рельефом, т.к. в игре вы область не видите. Сохраняем карту и тестируем F9.
Добавление звуков и спецэффектов в триггеры
Поздравляю, теперь вы научились делать простые триггеры и не только.
Если чего-то непонятно, то можно скачать карту, которую я выкладываю. Там есть все примеры и при случае можно подсмотреть. Но лучше всё-таки сделать самому.
Как сделать исходную позицию
Данная тема содержит ответы на самые частозадаваемые вопросы картостроителей-новичков и не только.
Крайне настоятельно рекомендуется ознакомится с ней перед тем как задавать свой вопрос.
Для удобства FAQ был разделен на тематические разделы:
— 1. Первое знакомство с WE (самые первые вопросы, возникающие при открытие редактора)
— 2. Тригеры и Редактор объектов (скрещивание нескольких предметов в один; респаун крипов; мультиборд и т.д. )
— * JASS (небольшой FAQ по языку JASS, тем не менее мы надеемся расширить его в ближайшее время)
— * Ландшафт (теоритический минимум по создаю рельефа к картам а также много всего полезного для професионального дизайнера)
— 3. Разное (множество полезной информации про работу с MPQ, протектом/депротектом карт и т.д.)
— 4. Формулы WE (расчет получаемого героем опыта, расчет брони, урон юнита)
— 5. Авторы-составители, а также благодарности
Также тут принимаются идеи по развитию FAQ’а и добавлению новых вопросов. Итак.
1. Первое знакомство с WE.
1.2 Как сделать героя, который будет прокачиваться дальше 10 уровня?
Необходимо зайти в Дополнительно=> Игровые константы=> Максимальный уровень героя и поставить нужный уровень. Теперь при прокачке герой будет качаться до уровня, указанного вами.
1.3 Как сделать чтобы герой не получал опыт находясь вдали от битвы?
Убрать галочку в игровых константах из параметра Опыт героя – Общее распределение (Global Experience) и поставить галочку напротив «Использовать нестандартные игровые константы».
1.4 Как запретить игрокам менять исходные параметры в списке при создании игры?
Заходим в Сценарий=> Свойства игрока\клана и ставим галочку напротив «Фиксировать параметры игроков».
1.5 Как мне сделать, чтобы игроки начинали только на своих стартовых позициях и с заданной расой?
Зайдите в «Свойства игрока» (Главное меню=> Сценарий=> Свойства игрока) поставьте галочку «Фикс исх. позиция». Затем перейдите на закладку «Кланы» и поставьте две галочки :»Нестандартные кланы» и «Фикс. параметры клана».
1.7 Как увеличить лимит еды?
«Игровые Константы» (Главное Меню=> Дополнительно=> Игровые Константы), поставить галочку напротив «Использовать нестандартные игровые константы» и изменить значение поля «Ограничение пищи» на нужное значение.
2. Тригеры и Редактор объектов.
2.2 Как сделать скрещивание предметов? Как сделать складывание зарядов в предметах?
Самый простой вариант: создаем в редакторе объекта все части предмета и скрещенный предмет и создаем триггер:
2.3 Как сделать, чтоб при взятии предмета (например меч), у юнита в руке появился меч?
Необходимо взять cпособность (Ability) сфера Молний поменять ей модель на нужную и указать параметре Графика особый объект воздействия нужную точку приложения эффекта.
Однако помните, что далеко не у всех моделей есть все эти точки, они описываются именно в моделях.
И уже в зависимости от произошедших событий вызывать их.
2.7 Как триггерами проиграть звук?
Для того, чтобы триггером програть звук, нужно сначала добавить его в список. Чтобы это сделать, откройте Редактор Звука, в списке слева найдите нужный звук и, нажав кнопку Use As Sound, добавьте его в список.
2.8 Я сделал декорацию с моделью башни, но она почему то все время меняет анимацию.
В левой стороне, в окне предпросмотра файла модели найдите вашу башню и посмотрите там название нужной анимации. Потом создайте триггер:
2.10 Как сделать декорацию с моделькой «мертвого» юнита?
Создаём разрушаемый объект(например на базе бочонка) и даём ему модель юнита, труп которого требуется поставить. Далее ставим эту декорацию на карту, выбираем и нажимаем Enter. В появившемся окне указываем количество жизней 0.
2.11 Что такое тригерная магия?
Это нестандартные способности, часть действий которых выполняется с помощью тригеров. Как правило тригер запускается с событие A unit начинает применять способность (для активных спелов) и A unit приобретает способность (для пассивных магий). Далее уже в условиях стоит отловить то, с какой именно способность было произведено действие (условия из разделов Ability comparison и Hero Skill comparison). Также в триггерной магии часто используется даммикаст.
Рекомендуется ознакомится со следующими статьями:
Помните, что создание тригерной магии на JASS куда более качественное.
2.13 Что такое JASS?
Внутренний язык програмирования, используемый в WarCraft. Возможности написания скриптов на JASS куда более полноценны чем на редакторе триггеров. По сути триггеры являются надстройкой для JASS.
Статьи по данной теме:
В этой статье достаточно подробно рассматривается этот вопрос.
2.18 Возможно ли в варе проиграть анимацию задом наперед
Да! Достаточно указать скорость анимации меньше 0. Вот статья.
2.20 Как в редакторе объектов ставить отрицательные значения?
Файл=> Параметры=> Общие=> поставить галочку напротив «Разрешить использование в редакторе объектов отрицательных значений».
Выбрать необходимое поле, зажать Shift и нажать Enter (или двойной клик мышкой). Теперь можно воодить отрицательное значение.
На основе этого возможно сделать ауру, отнимающщую броню, отрицательную регенерацию здоровья и многое другое=)
2.24 Я сделал герою способность, чтобы он проглатывал врагов, но когда я загружаю карту, и выбираю эту способность, то игра вылетает и появляется ошибка. Почему?
Необходимо так же давать способности «пассажир» и «еда». Рекомендую посмотреть к примеру как это сделано у кодоя.
2.26 Как вывести текст не в левом нижнем углу экрана?
Это возможно только с использованием JASS.
Вот статья о редактирование карты путей: ACPL Method.
2.29 Как сделать чтобы юнит завис в воздухе? Как сделать эффект матрицы?
Либо действием Pause Unit (или Pause All Units), либо действием Set Unit Animation Speed to 0.0%
По этому вопросу есть пара отличных роликов, наглядно иллюстрирующих спецэффект во всей красе:
Более детально вопрос обсуждался в этой теме.
2.31 Как отключить читы в сингл плеере?
Это невозможно так как при вводе строки-чита триггер с событием, отлавливающем ввод строки просто несрабатывает. Однако существует возможность отловить следствие чита, к примеру проверяя не стала ли какая либо местность видна игроку, проверяя ресурсы игрока и т.д.
2.32 Что такое равкод (ID объекта)?
Уникальный идентификатор типа объекта (не порядковый, а именно типа, напимер, тип-пехотинец представлен в виде ‘hfoo’, глобальные переменные, сгенерированые редактором тоже включают в себя равкод объекта, и его порядковый номер на карте, например gg_unit_hfoo_0013), представлен 4-мя символами. В триггерах и JASS может быть передан как целоисчисленное значение, обозначающее тип объекта, например local integer BuffId = ‘B000’
Что бы узнать его нужно нажать Ctrl+D в редакторе объектов или в меню «Вид» поставить галочку напротив пункта «Показать названия переменных».
3.3 Как ускорить процесс загрузки и работы World Editor’a?
Во-первых зайдите в меню Файл=> Параметры => Общие и уберите галочку рядом с надписью «При запуске создавать новую карту»
Цитата:А также:
— не открывайте несколько карт одновременно и не запускайте какие либо сторонние программы;
— зайдите в меню окно и отключите не нужные вам панели, особое торможение вызывает список кистей. Повторите эти действия для окна редактора объектов и редактора тригеров;
— настроить меню вид, отключив ненужные параметры, зажать Ctrl и колесиком мышки приблизить дальную границу камеры;
— если у вас слабая видеокарта будет иметь смысл уменьшение качества анимации и текстур;
— Gem (Камень) может вызывать торможение так как дополнительно нагружает память и процессор.
— импортируется blp-текстура размером 2х2 пикселя, в таком случае игра не может ее открыть и полностью перекрывает обзор миникарты (если не задан war3mapPreview, то вместо миникарты на стандартном загрузочном экране будет знак вопроса на синем фоне, а в игре окно миникарты будет пусто и мертво, на нем даже ping-и не будут отображаться)
— импортируется blp-текстура размером 256х256 пикселей, в таком случае просто фоновая картинка ландшафта будет замещена нашей текстурой, оставаясь фоновой (поверх видны иконки и ping-и)
3.6 Как сделать загрузочный экран со своим импортированным изображением?
Ставим в Сценарий=> Экран загрузки карты загрузочный экран «Титры». далее импортировать текстуры.
3.7 Как сделать что бы импортированная пиктограмка не становилась иногда «зеленым квадратом»?
Кроме обычной (BTN) иконки нужно закачивать и её «нерабочую» версию (DisBTN). А помогут вам разобраться в этом безобразии следующая статья:
Программы, работающие с MPQ архивами:
Статья, описывающая назначения файлов в данном архиве:
w3m and w3x filis format
Для депротекта используем данные утилы:
Также опытные картостроители могут легко взломать катру через WinMPQ или MPQ Master.
Вот темы, в которых рассматривался вопрос депротекции и взлома карт:
3.11 Моя карта долго грузится, что делать?
Оптимизировать. При оптимизации в отличие от депротекта целью является снизить вес карты и скорость ее загрузки, при этом неоткрываемость карты в редакторе является лишь следствием.
Также стоит удалить ненужный импорт. Вот программы, которые оптимизируют карты:
3.12 Что такое slk?
Это так называемый формат экспорта данных MS Excel. В Warcraft III slk таблицы используются для хранения данных о войсках, заклинаниях, декорациях, разрушаемых объектах, улучшениях. Там хранятся данные о всех характеристиках, кроме текстовых данных. По возможностям редактирования SLK намного эффективневнее простого Редактора Объектов.
4.2 Минимальное и максимальное повреждение юнита:
Min = Damage Base + Number of Dice (количество костей)
Max = Damage Base + Number of Dice * Sides per Die (кол-во костей*урона с каждой кости)
4.3 Формулы для подсчета требований опыта для следующего уровня, наград опыта за убийство героя и наград опыта за убийство крипа:
Следует отметить что в поле NeedHeroXP может содержаться массив чисел, в этом случае в качестве требований опыта берутся эти числа, в том порядке в котором они записаны. Если этих чисел нехватает, то последнее из них берется в качестве числа BASE и дальнейшие требования высчитываются по описанной ниже формуле. Если поле пустое, то используется одно стандартное значение 200.
Не указанные в таблице NeedHeroXP требования находятся по рекурсивной формуле, то есть требование опыта для текущего уровня находится исходя из требований предыдущего:
Требования(для уровня N) = Требования(для уровня N-1) * A + B * N + С
Пример:
Пусть заданы значения
BASE = 100
A = 2
B = 50
C = 9
Тогда таблица требований опыта будет выстраиваться следующим образом:
2 уровень 100
3 уровень 359 = 100 * 2 + 50 * 3 + 9
4 уровень 927 = 359 * 2 + 50 * 4 + 9
5 уровень 2113 = 927 * 2 + 50 * 5 + 9
6 уровень 4535 = 2113 * 2 + 50 * 6 + 9
.
Если мы хотим посчитать эти значение не-рекурсивно, а формулой общего вида, то в качестве параметра S в формуле следует использовать число 2, а в качестве параметра BASE использовать последнее заданное в таблице значение 100.
Стандартная таблица опыта имеет параметры:
BASE = 200
A = 1
B = 100
C = 0
и выглядит следующим образом:
2 уровень 200
3 уровень 500 = 200 * 1 + 100 * 3
4 уровень 900 = 500 * 1 + 100 * 4
5 уровень 1400 = 900 * 1 + 100 * 5
6 уровень 2000 = 1400 * 1 + 100 * 6
7 уровень 2700 = 2000 * 1 + 100 * 7
8 уровень 3500 = 2700 * 1 + 100 * 8
9 уровень 4400 = 3500 * 1 + 100 * 9
10 уровень 5400 = 4400 * 1 + 100 * 10
Если мы хотим посчитать эти значение не-рекурсивно, а формулой общего вида, то в качестве параметра S в формуле следует использовать число 2, а в качестве параметра BASE использовать последнее заданное в таблице значение 200.
Почему я так много внимания уделил этой формуле? Потому что она широко используется в этой игре.
Таблица наград опыта за убийство героев рассчитывается по той же формуле, по умолчанию имеет параметры:
BASE(GrantHeroXP) = 100,120,160,220,300
A(GrantHeroXPFormulaA) = 1
B(GrantHeroXPFormulaB) = 0
C(GrantHeroXPFormulaC) = 100
Тогда стандартная таблица наград опыта имеет вид:
1 уровень 100
2 уровень 120
3 уровень 160
4 уровень 220
5 уровень 300
6 уровень 400 = 300 * 1 + 100
7 уровень 500 = 400 * 1 + 100
8 уровень 600 = 500 * 1 + 100
9 уровень 700 = 600 * 1 + 100
10 уровень 800 = 700 * 1 + 100
Если мы хотим посчитать эти значение не-рекурсивно, а формулой общего вида, то в качестве параметра S в формуле следует использовать число 5, а в качестве параметра BASE использовать последнее заданное в таблице значение 300.
Таблица наград опыта за убийство крипа рассчитывается по той же формуле, по умолчанию имеет параметры:
BASE(GrantHeroXP) = 25
A(GrantHeroXPFormulaA) = 1
B(GrantHeroXPFormulaB) = 5
C(GrantHeroXPFormulaC) = 5
Тогда стандартная таблица наград опыта имеет вид:
1 уровень 25
2 уровень 40 = 25 * 1 + 5 * 2 + 5
3 уровень 60 = 40 * 1 + 5 * 3 + 5
4 уровень 85 = 60 * 1 + 5 * 4 + 5
5 уровень 115 = 85 * 1 + 5 * 5 + 5
6 уровень 150 = 115 * 1 + 5 * 6 + 5
7 уровень 190 = 150 * 1 + 5 * 7 + 5
8 уровень 235 = 190 * 1 + 5 * 8 + 5
9 уровень 285 = 235 * 1 + 5 * 9 + 5
10 уровень 340 = 285 * 1 + 5 * 10 + 5
.
Если мы хотим посчитать эти значение не-рекурсивно, а формулой общего вида, то в качестве параметра S в формуле следует использовать число 1, а в качестве параметра BASE использовать последнее заданное в таблице значение 25.
4.4 Вот еще несколько интересных формул.
Советуем ознакомиться.