Основные понятия World Editor
- Игровые константы:
- Как изменить максимальный уровень героя?
Откройте редактор рельефа, вкладка "Дополнительно" --> Игровые константы --> поставьте галочку "Использовать нестандартные игровые константы", найдите пункт "Максимальный уровень героя" и установите нужное значение.
Что нужно сделать, чтобы герой продолжал получать опыт за убийство нейтрально-враждебных войск, даже после пятого уровня?
Откройте редактор рельефа, вкладка "Дополнительно" --> Игровые константы --> поставьте галочку "Использовать нестандартные игровые константы", найдите пункт "Набранный героем опыт: таблица сокращения монстров:" и измените число 0 на любое положительное число.
Объяснение: Первое число в списке показывает сколько процентов опыта от должного количества будут получать герои за убийство нейтрально-враждебных войск на первом уровне, второе число в списке - процент на втором уровне и т.д. Т.к. пятое число в списке - 0, то на пятом уровне герои получают 0% опыта, т.е. не получают опыта вовсе. Последнее число в списке распространяется на все последующие уровни, если уровней больше чем чисел в списке. Т.е. если у вас на всех уровнях герои получают один и тот же процент опыта, то в списке будет достаточно одного числа.
Как изменить максимальное количество пищи?
Откройте редактор рельефа, вкладка "Дополнительно" --> Игровые константы --> поставьте галочку "Использовать нестандартные игровые константы", найдите пункт "Ограничение пищи" и установите нужное значение. Но помните, что оно не может превышать 300.
- Редактор Рельефа и Объектов:
- Что нужно сделать, чтобы в игре все не разведанные участки карты были полностью затемнены, т.е. на них ничего не было видно?
Откройте редактор рельефа, вкладка "Сценарий" --> Параметры карты --> Уберите галочку с пункта "Скрытые области частично видимы".
Что нужно сделать, чтобы в Редакторе объектов можно было указывать отрицательные числа?
Откройте редактор рельефа, вкладка "Файл" --> Параметры --> поставьте галочку "Разрешить использ. отриц. значений в Редакторе объектов.
Как поднимать или опускать декорацию, например мост?
Выделите нужную декорацию. ctrl + Page Up - поднять, ctrl + Page Down - опустить.
Можно ли как-то ставить декорации вплотную?
Да, для этого зажмите shift и не отпуская его ставьте нужные декорации без учета физических размеров.
Как проще всего поворачивать объекты на карте?
Выделите нужный объект(ы) и зажав ctrl кликните левой кнопкой мыши в место, в сторону которого должен быть повернут объект(ы).
Я изменяю в Редакторе объектов у юнита дальность атаки, а в игре она остаётся прежней. Почему?
Помимо параметра "Бой - Атака 1(2) - Дальность:" нужно изменить параметр "Бой - Дистанция получения приказа:".
Что нужно сделать, чтобы при получении юнитом предмета (шлема, оружия, щита и т.п.) предмет отображался на юните?
Создайте нестандартную способность на основе какой-нибудь предметной способности, например "Предмет: Повышение защиты" или "Сфера Молнии". Обнулите все параметры вроде бонусной защиты. Измените параметр "Графика - цель", указав в нем модель шлема/оружия/щита. Затем отредактируйте параметр "Графика - Воздействие на цель 1:", укажите в нем точку прикрепления модели. Основные точки прикрепления:
head - голова
chest - грудь (туловище)
hand right - правая рука
hand left - левая рука
weapon - оружие
foot - ноги
origin - под ногами у юнита
overhead - над головой
Добавьте эту способность предмету.
Ссылка на подробную статью по этому вопросу.
Как добавить юнитов и предметы в здание, чтобы потом можно было в этом здании их нанимать/покупать?
У зданий есть параметр "Технологии - обучено войск:", добавьте в него юнитов, чтобы потом обучать их в этом здании. Чтобы здание могло продавать предметы, добавьте ему способности "Общие магазины", "Лавка: купить предмет". Предметы, продаваемые в здании, можно настроить в параметре "Технологии - предметов сделано".
Камень включен/отключен - что это дает?
Если "Камень" включен, то юниты в редакторе рельефа будут разговаривать с вами при выделении их, а также проигрывать анимацию и звук смерти при удалении их с карты. Если у вас проблемы с быстродействием, то лучше не включать "Камень".
Что нужно сделать, чтобы игроки не могли менять исходные параметры перед началом игры?
Откройте редактор рельефа, вкладка "Сценарий" --> Свойства игрока --> Поставьте галочку "Фикс. исх. позиция" и Свойства клана --> Поставьте галочку "Фикс. параметры игрока".
Как делать цветной текст?
Перед текстом, который должен быть цветным, нужно писать специальный код. Каждый цвет имеет свой код. Чтобы обозначить конец цветного текста надо написать "|r". Существует множество программ-генераторов цветных кодов. Color Master - одна из них. Ссылка http://warcraft3ft.info/load/%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5%20%D0%BA%D0%B0%D1%80%D1%82/39-1-0-5868.
Как увеличить размер описания предмета?
Об этом у многих других вещах связанных с описаниями объектов можно узнать из ЭТОЙ статьи http://warcraft3ft.info/board/opisanija_predmetov_geroev_sposobnostej/22-1-0-1389.
- Редактор триггеров:
Что такое GUI?
GUI расшифровывается как Graphical User Interface - графический интерфейс пользователя. Это триггеры, не переведенные в текст.
Вопрос: Что такое JASS?
Ответ: JASS расшифровывается как Just Another Scripting Syntax — событийно-ориентированный скриптовый язык программирования, который используется в триггерах при создании сценариев. Ссылка на обучающую статью по JASS.
Я в совершенстве овладел GUI. Хочу освоить Jass, но не знаю с чего начать.
Советую вам эту статью http://warcraft3ft.info/forum/29-28531-1.
Что такое нестандартный код карты и где его искать?
Откройте редактор триггеров - и у верху, будет файл с названием вашей карты, кликните на него, и там можно будет вводить нестандартный код карты.
Как перевести триггеры на русский язык?
Для этой цели существуют руссификаторы триггеров. Ссылка на один из них. Еще один - не полный, но более качественный. http://warcraft3ft.info/load/rusifikator_trigerov/39-1-0-8715.
http://warcraft3ft.info/forum/29-24126-1#1110061
Как создать способность с помощью триггеров?
Вам поможет статья Основы триггерных спеллов, а также советую посмотреть стандартные сценарии Blizzard, например "Конфетные Войны" (Extreme Candy War 2004). http://warcraft3ft.info/forum/22-14347-1#744499.
Что нужно сделать, чтобы в начале не появлялись работники и ратуша (или аналог), и вообще отменить все правила игры в сражение (чтобы потом установить собственные)?
Нужно удалить папку с триггерами "Иниц. сражения".
Что нужно сделать, чтобы игра начиналась с утра, а не с вечера?
Создайте новый триггер, или поместите действие в имеющийся триггер с событием "Map initialization".
События:
Map initialization
Условия:
-
Действия:
Режим сражения: Use Melee Time of Day
или можете установить любое время суток действием
Игра - Set Time of Day
Я сделал действие "Окружение - Create Weather Effect" установил правильно область, а погодный эффект почему-то не создается. В чем проблема?
Для создания погодного эффекта мало применить действие "Окружение - Create Weather Effect", нужно также этот эффект включить действием "Окружение: Enable/Disable Weather Effect", поставьте его сразу после действия создания эффекта, и укажите "Last Created Weather Effect".
За убийство юнитов игрока-противника мне не дается золото. Что делать?
Ответ: Создайте новый триггер, или поместите действие в имеющийся триггер с событием "Map initialization".
События:
Map initialization
Условия:
-
Действия:
Игрок: Turn Player Flag On/Off: Turn Награда за убийство Вкл. for <игрок, за убийство юнитов которого требуется давать золото>
Настроить конкретные значения золота, получаемого за убийство юнита можно в редакторе объектов (РО), найдя требуемого юнита и отредактировав параметры
"Характеристики - награда за уничтожение - базовая: "
"Характеристики - награда за уничтожение - кол-во граней у кости: "
"Характеристики - награда за уничтожение - кол-во костей: "
Как сделать скрещивание предметов?
Сперва создайте все необходимые предметы в редакторе объектов, затем сделайте триггер:
События:
Боевая единица - Generic Unit Event: A unit Получает предмет
Условия:
Boolean Comparison - Hero Has Item of Type: (Triggering unit) has an item of type <Предмет-ингредиент №1> равно Да
Boolean Comparison - Hero Has Item of Type: (Triggering unit) has an item of type <Предмет-ингредиент №2> равно Да
Действия:
Предмет - Remove: Remove (Item Carried By Hero of Type - Item carried by (Triggering unit) of type <Предмет-ингредиент №1> )
Предмет - Remove: Remove (Item Carried By Hero of Type - Item carried by (Triggering unit) of type <Предмет-ингредиент №2> )
Герой - Create Item For Hero: Create <конечный предмет> and give it to (Triggering unit)
Как сделать суммирование зарядов в предметах?
Создайте переменную ItemType типа "Тип предмета", далее триггер:
События:
Боевая единица - Generic Unit Event: A unit Получает предмет
Условия:
Or, Multiple Conditions:
Or- Any (Conditions) Are True:
Item Type Comparison - Item-type of (Реакция на событие - Item Being Manipulated) равно <тип предмета №1>
Item Type Comparison - Item-type of (Реакция на событие - Item Being Manipulated) равно <тип предмета №2>
Item Type Comparison - Item-type of (Реакция на событие - Item Being Manipulated) равно <тип предмета №3>
типов предметов может быть сколько угодно
Действия:
Общие параметры - Set Variable: Set ItemType = Item Type of (Item Being Manipulated)
Общие параметры - For Each Integer A Do Multiple Actions: For each (Integer A) from 1 to 6, do (Actions):
Цикл-действия
Общие параметры - If/Then/Else, Multiple Functions: If (All Conditions Are True) then do (Then Actions) else do (Else Actions):
Если - Условия
Item Type Comparison - Item-type of (Item carried by (Triggering unit) in slot (Integer A)) равно ItemType
Item Comparison - Item-type of (Item carried by (Triggering unit) in slot (Integer A)) не равно (Item Being Manipulated)
То-Действия
Предмет - Set Charges Remaining: Set charges remaining in Item carried by (Triggering unit) in slot (Integer A) to Arithmetic (Предмет - Item charges remaining in Item carried by (Triggering unit) in slot (Integer A) + Предмет - Item charges remaining in (Item Being Manipulated)
Предмет - Remove (Item Being Manipulated)
Что нужно сделать, чтобы когда юнит наступал на "Ножной переключатель" выполнялись мои действия, например, создавался энергетический мост?
Создайте область прямо на "Ножном переключателе":
Затем создайте триггер:
События:
Боевая единица - Unit Enters Region: A unit enters <область на переключателе>
Условия:
Никакие условия необязательны, но если вам нужно сделать проверку например на какого-то определенного юнита, вы, конечно же, можете сделать её.
Действия:
Триггер - Turn Off: Turn off (This trigger) - это действие нужно для того, чтобы при повторном входе в эту область триггер не сработал снова.
Декорация - Kill: Kill <ножной переключатель, на котором находится область> - это действие нужно для того, чтобы создать визуальный эффект, что переключатель был приведен в действие.
Далее идут любые ваши действия, например, создание энергетического моста:
Декорация - Create: Create a Энергетический мост (З-В) at Center of <область, в которой должен появится мост> facing <угол, под которым создается мост (т.е. в какую сторону смотрит)> with <размер, обычно ставится 1> and variation <вариация, у мостов 0>
Как сделать табличку в правом верхнем углу экрана что бы она показывала сколько каждый игрок убил монстров?
Откройте редактор триггеров, создайте переменную типа "целочисленная", поставьте галочку "массив", назвать её можно например Kills. Создайте переменную типа "Таблица рекордов", назовите её, например, TheLeaderBoard. Создайте переменную типа "Группа игроков", назовите её, например, Playersgroup. Добавьте в эту переменную всех игроков действием Группа игроков - Add Player.
Теперь создайте 3 триггера: Set Up Leaderboard, Update Leaderboard, Change Value.
Триггер Set Up Leaderboard:
События:
Map initialization
Условия:
-
Действия:
Общие параметры - For Each Integer A, Do Action: For each (Integer A) from 1 to 4 (4 - количество игроков), do Общие параметры - Set Variable: Set Kills[(IntegerA)] = 0
Общие параметры - Wait: Wait 1.00 seconds
Таблица рекордов - Create: create a leaderboard for (All Players) titled Врагов убито
Общие параметры - Set Variable: Set TheLeaderBoard = Last created leaderboard
Общие параметры - If/Then/Else: If (Player Slot Status Comparison - Игрок 1 (красный) slot status равно Играет) then do Таблица рекордов - Add Player: Add Игрок 1 (красный) to Last created leaderboard with label (Игрок - Player Name: Name of Игрок 1 (Красный)) and value 0
Общие параметры - If/Then/Else: If (Player Slot Status Comparison - Игрок 2 (синий) slot status равно Играет) then do Таблица рекордов - Add Player: Add Игрок 2 (синий) to Last created leaderboard with label (Игрок - Player Name: Name of Игрок 2 (синий)) and value 0
Общие параметры - If/Then/Else: If (Player Slot Status Comparison - Игрок 3 (сине-зеленый) slot status равно Играет) then do Таблица рекордов - Add Player: Add Игрок 3 (сине-зеленый) to Last created leaderboard with label (Игрок - Player Name: Name of Игрок 3 (сине-зеленый)) and value 0
Общие параметры - If/Then/Else: If (Player Slot Status Comparison - Игрок 4 (фиолетовый) slot status равно Играет) then do Таблица рекордов - Add Player: Add Игрок 4 (фиолетовый) to Last created leaderboard with label (Игрок - Player Name: Name of Игрок 4 (фиолетовый)) and value 0
и так для всех игроков.
Триггер Update Leaderboard:
События:
-
Условия:
-
Действия:
Таблица рекордов - Change Player Value: Change the value for Игрок 1 (красный) in TheLeaderBoard to Kills[1]
Таблица рекордов - Change Player Value: Change the value for Игрок 2 (синий) in TheLeaderBoard to Kills[2]
Таблица рекордов - Change Player Value: Change the value for Игрок 3 (сине-зеленый) in TheLeaderBoard to Kills[3]
Таблица рекордов - Change Player Value: Change the value for Игрок 4 (фиолетовый) in TheLeaderBoard to Kills[4]
и так для всех игроков.
Триггер Change Value:
События:
Боевая единица Player-Owned Unit Event: A unit owned by Игрок 12 (коричневый) Умирает
Условия:
Boolean Comparison - Игрок - Player In Player Group: Owner of Unit - Owner of (Killing unit) is in Playersgroup равно Да
Действия:
Общие параметры - Set Variable: Set Kills[Игрок - Player Number: Player number of (Owner of Killing unit)] = Arithmetic: Kills[Игрок - Player Number: Player number of (Owner of Killing unit)] + 1
Триггер - Run (ignoring conditions): Run Update Leaderboard <gen> (ignoring conditions)
Таблица рекордов готова.
Как уменьшить лаги в карте?
Лаги в карте могут возникнуть по многим причинам. Но наиболее частая причина их - утечки в коде. Если вы хотите научиться вручную удалять утечки прочтите ЭТУ статью. Если вы не хотите заморачиваться или просто ленивы вам СЮДА
- Импорт:
- Как правильно импортировать иконки?
Иконки бывают шести видов: Button (Active), Passive, Autocast, Info-Basic, Info-Upgrade и Disabled. К Button (Active), Passive и Autocast должны прилагаться Disabled варианты этих иконок. Импортировав иконку (и её Disabled вариант) с помощью менеджера импорта, не выходя из менеджера импорта, кликните 2 раза на иконку и поставьте галочку "Использовать нестандартный путь".
Для Button (Active) иконки установите следующую строку: ReplaceableTextures\CommandButtons\BTNИмя иконки.blp
Для её Disabled варианта: ReplaceableTextures\CommandButtonsDisabled\DISBTNИмя иконки.blp
Для Passive иконки: ReplaceableTextures\CommandButtons\PASИмя иконки.blp
Для её Disabled варианта: ReplaceableTextures\CommandButtonsDisabled\DISPASИмя иконки.blp
Для Autocast иконки: ReplaceableTextures\CommandButtons\ATCИмя иконки.blp
Для Disabled варианта: ReplaceableTextures\CommandButtonsDisabled\DISATCИмя иконки.blp
Сохранить карту не выходя из менеджера импорта.
Как вставить свою картинку вместо миникарты на экране предпросмотра, и как поставить свою картинку на экран во время загрузки карты?
Чтобы вставить вашу картинку вместо изображения миникарты на экране предпросмотра, вы должны импортировать картинку как 128х128 или 256х256 TGA файл названный war3mapPreview.tga и стереть путь к ней в менеджере импорта (файл картинки не должен находится ни в одной директории, включая war3mapImported).
На счет этого и загрузочного экрана есть подробная статья: Как установить загрузочный экран и нестандартное изображение миникарты. Также ответы на эти вопросы есть в комментариях к триггерам стандартного сценария "Монолит", однако они на английском языке.
Смотрите другую тему в этом разделе. Там есть обьяснение, как создать муини-превью и загрузочный экран.
Как узнать путь к текстуре, если нет файла readme с путем для текстуры?
Откройте модель, к которой прилагается эта текстура через блокнот, нажмите ctrl+f (поиск), введите .blp, нажмите "найти далее". Находите нужную текстуру и смотрите, какой путь к ней стоит.
Спасибо за внимание!