F.A.Q. по созданию карт
Гостям скачивать запрещено
Просмотров: 2064
Комментариев: 3
Рейтинг: 4.2 Добавил: Гость
Дата добавления: 17.12.2017
Читать больше про Warcraft III Маппинг


1. Как сделать героя, который будет прокачиваться дальше 10 уровня?
Необходимо зайти в Дополнительно=> Игровые константы=> Максимальный уровень героя и поставить нужный уровень. Теперь при прокачке герой будет качаться до уровня, указанного вами.

2. Как сделать чтобы герой не получал опыт находясь вдали от битвы?
Убрать галочку в игровых константах из параметра Опыт героя – Общее распределение (Global Experience) и поставить галочку напротив "Использовать нестандартные игровые константы".

3. Как запретить игрокам менять исходные параметры в списке при создании игры?
Заходим в Сценарий=> Свойства игрока\клана и ставим галочку напротив "Фиксировать параметры игроков".

4. Как мне сделать, чтобы игроки начинали только на своих стартовых позициях и с заданной расой?
Зайдите в "Свойства игрока" (Главное меню=> Сценарий=> Свойства игрока) поставьте галочку "Фикс исх. позиция". Затем перейдите на закладку "Кланы" и поставьте две галочки :"Нестандартные кланы" и "Фикс. параметры клана".

5. Камень Включён\Выключен - Что это?
Это кривой перевод. Кнопочка включает проигрывание голосов и анимаций у войск, они с вами говорят и умирают со звуком, если вы их удаляете из карты в WE.

6. Как увеличить лимит еды?
"Игровые Константы" (Главное Меню=> Дополнительно=> Игровые Константы), поставить галочку напротив "Использовать нестандартные игровые константы" и изменить значение поля "Ограничение пищи" на нужное значение.

7. Как сделать, чтобы герой прокачивался на крипах больше пятого уровня?
Для этого зайдите в игровые константы и найдите поле Hero XP Gained – Creep Reduction Table (или HeroFactorXP в альтернативном виде). Номер строки соответствует уровню героя (т.е. первая строка - первый уровень, вторая - второй и тд.). Число это процент опыта, получаемого на каждом уровне. Если чисел меньше чем уровней, то игра будет использовать последнее указанное в списке значение для всех остальных уровней.

8. Как сделать из негероя героя?
Стандартными средствами это невозможно, да и по сути в этом нет необходимости - достаточно создать героя на основе стандартного и уже потом добавить ему необходимые свойства.

9. Меня интересует, что такое гуи, где его можно достать?
GUI (Graphic User Interface) - это триггеры с графическим интерфейсом т.е обычные триггеры в редакторе триггеров.

10. Что такое JASS?
Внутренний язык програмирования, используемый в WarCraft. Возможности написания скриптов на JASS куда более полноценны чем на редакторе тригеров. По сути тригеры являются надстройкой для JASS.

11. Как сделать так, чтобы в начале игры на стартовой локации не появлялся городской центр и рабочие?
Откройте окно Trigger Editor и и триггере Melee Initialization удалите действие Melee Game - Create starting units (for all players)
Если Вы делаете не Melee карту (тоесть катру не на расстройку) то рекомендуется удалить весь тригер.

12. Как сделать, чтоб при взятии предмета (например меч), у юнита в руке появился меч?

Необходимо взять cпособность (Ability) сфера Молний поменять ей модель на нужную и указать параметре Графика особый объект воздействия нужную точку приложения эффекта.


Quote
overhead - над головой, не приклепляется к анимации
head - голова, приклепляется к анимации
chest - туловище
origin - обычно у ног юнита
hand - рука (может быть left и right)
foot - ноги
weapon (Для героев) - оружие
sprite, medium, large - для зданий


Однако помните, что далеко не у всех моделей есть все эти точки, они описываются именно в моделях.

13. Как сделать юнита неуязвимым или невыбираемым?
Либо дать юниту способность «Неуязвимый(нейтральный)». Либо использовать действие: Боевая еденица - Make Invulnerable/vulnerable.
Для невыбираемости дать ему способность "Москиты" (Locust), но не геройскую а именно способность самих москитов. Также эта способность сделает юнита неуязвимым. Так же можно сделать триггерно:


Quote
Событие: Unit Selected
Действие: Clear Selection For Player (или просто Clear Selection)


14. Почему лидерборды\мультиборды\диалоги не хотят создаваться при запуске карты?
Некоторые функции не могут выполнятся прямо после запуска какрты. Поставьте перед ними действие Wait 0.01 seconds или перенесите действие в триггер с событием Timer - Elapsed time is 0.01 seconds, второе предпочтительнее.

15. Как создать в карте свои квесты?
Нужно использовать действие: Quest - Create Quest – используется для создания новых квестов, также могут понадобиться эти действия:


Quote
Задание - Mark Quest as Completed – Квест выполнен
Задание - Mark Quest as Failed – Квест провален


И уже в зависимости от произожедших событий вызывать их.

16. Как триггерами проиграть звук?
Для того что бы триггером програть звук нужно сначала добавить его в список. Чтобы это сделать откройте Редактор Звука, в списке слева найдите нужный звук и нажав кнопку Use As Sound добавьте его в список.

17. Я сделал декорацию с моделью башни, но она почему то все время меняет анимацию.
В левой стороне, в окне предпросмотра файла модели найдите вашу башню и посмотрите там название нужной анимиции. Потом создайте триггер:


Quote
Событие:
Map initialization
Действие:
Декорация - Play (ваша башня)'s (нужная анимация) animation


18. Как сделать декорацию с моделькой "мертвого" юнита? 
Создаём разрушаемый объект (например на базе бочёнка) и даём ему модель юнита, труп которого требуеться поставить. Далее ставим эту декорацию на карту, выбираем и нажимаем Enter. В появившемся окне указываем количество жизней 0.

19. Что такое тригерная магия?
Это нестандартные способности, часть действий которых выполняется с помощью тригеров. Как правило тригер запускается с событие A unit начинает применять способность (для активных спелов) и A unit приобретает способность (для пассивных магий). Далее уже в усовиях стоит отловить то, с какой именно способность было произведено действие (условия из разделов Abilyty compastion и Hero Skill compastion). Также в тригерной магии часто используется даммикаст.
Помните, что создание тригерной магии на JASS куда более качественное.

20. У меня проблема: Я сделал триггер в котором каждые 5 секунд генерируются случайное число. Но каждый раз когда я запускаю карту последовательность этих чисел всегда одинаковая. Например 78,62,29,6... Как сделать, чтобы каждый раз генерировались разные числа?
Файл=> Параметры=> Проверка карты=> Фиксировать случайный разброс - уберите галочку напротив данного параметра.

21. Если я копирую много тригеров из другой карты мне нужно создавать все переменные вручную?
Нет. Они создаются автоматически если поставить галочку в пункте меню Файл=> Параметры=> Общие=> напротив "Автом. Создавать неизв. переменные во время вставки триггеров". После этого просто копируем триггеры - переменые создадутся автоматически.

22. Как делать ролики?
Основной инструмент - это действие Спецеффекты - Cinematic mode. По сути лишает игрока возможности делать что либо. Дальше уже идет работа с камерой и т.д.

23. Я видел, как в роликах у юнитов поворачивалась голова, как это сделать?
Нужно использовать действие: Анимация - Lock body-part facing, также может понадобиться действие: Анимация - Reset body-part facing чтобы отменить поворот головы.

24. Как сделать скрещивание предметов? Как сделать складывание зарядов в предметах?
Самый простой вариант: создаем в редакторе объекта все части предмета и скрещенный предмет и создаем триггер:


Quote
Скрещивание:

Событие:
Боевая еденица - A unit Acquires an item
Условие:
((Hero manipulating item) has (Часть 1)) Equal to True*
((Hero manipulating item) has (Часть 2)) Equal to True*
Дейтсвие:
Предмет - Remove (Item carried by (Hero manipulating item) of type Часть 1)
Предмет - Remove (Item carried by (Hero manipulating item) of type Часть 2)
Hero - Create Скрещенный предмет and give it to (Hero manipulating item)

*Boolean Compastion

Складывание зарядов:

Событие:
Боевая еденица - A unit Acquires an item
Условие:
Or - any (Condition) are true
Условия:
(Item type of(Item begin manipulated)) равно <тип предмета1>*
(Item type of(Item begin manipulated)) равно <тип предмета2>*
(Item type of(Item begin manipulated)) равно <тип предмета3>*
Действия:
Set it**=(Item type of(item begin manipulated))
For each (Integer A) from 1 to 6 do (Actions)
Цикл - Действия
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
Если - Условия
(Item type of(Item carried by (Triggering unit) in slot (Integer A))) равно it
(Item carried by (Triggering unit) in slot (Integer A)) не равно (Item begin manipulated)
То - действия
Предмет - Set charges remaining in (Item carried by (Triggering unit) in slot (Integer A)) to ((Charges remaining in (Item carried by (Triggering unit) in slot (Integer A)) + (Charges remaining in (Item begin manipulated)))
Предмет - Remove (Item begin manipulated)
Иначе - действия

*Тип предмета, данный тригер универсален, и может складывать заряды всех типов предметов, указанных в условии
**Переменная типа "Тип предмета"


25. Как отменить ролик по нажатию Esc? 
Создать переменую типа Boolean и дать ей значение нет (False), в триггере самого ролика перед действием поставить Wait, и если наша переменная равна True - пропустить все действия. Потом вызвать тригер, который сделает все пост роликовые действия. Затем создать триггер:


Quote
Событие:
Player skips cinematic
Действие:
set (наша переменная) = Да (true)
Триггер - turn off (This Trigger)
Триггер - Run (Построликовый триггер) (Ignoring Conditions)


26. Как в редакторе объектов ставить отрицатильные значения?
Файл=> Параметры=> Общие=> поставить галочку напротив "Разрешить использование в редакторе объектов отрицательных значений".
Выбрать необходимое поле, зажать Shift и нажать Enter (или двойной клик мышкой). Теперь можно воодить отрицательное значение.
На основе этого возможно сделать ауру, отнимающщую броню, отрицательную регенерацию здоровья и многое другое=)

27. Что такое custom script (custom code) карты?
Чтобы увидеть Custom script карты нужно щелкнуть по самой верхней строке в списке триггеров, на месте где находятся обычно отображается сам триггер, в большинстве случаев будет пустое поле - это и есть поле "своего кода", весь JASS код в нем выполняется в до инициализации тригеров и после обьявления глобальных переменных. Часто именно в него требуется вписать код многих наработок.

28. Как реализован выбор каких-то параметров игры, через выводящиеся на экран кнопки (как при нажатии F10)?
Чтобы это сделать нужно создать переменную типа Диалог, после чего заполнить диалог кнопками, действием: Диалог - Create Dialog Button и обязательно поместить наши кнопки в переменные - без этого они будут бесполезными.
После использовать действие: Диалог - Show/Hide. Также следует создать тригер с событием Dialog Button Click в условие которого с помощью Dialog Button Compastion отлавливать какая именно кнопка была нажата и запускать соответствующие действия.

29. Как из обычного здания сделать Таверну или Магазин, чтоб на карте обозначалось "домиком"?
Характеристики=> Нейтральное здание: пиктограмма показана на миникарте - поставить Да (True).

30. Я сделал герою способность, чтобы он проглатывал врагов, но когда я загружаю карту, и выбираю эту способность, то игра вылетает и появляется ошибка. Почему?
Необходимо так же давать способности "пассажир" и "еда". Рекомендую посмотреть к примеру как это сделано у кодоя.

31. Как изменить по ходу игры дистанцию атаки?
Два вариант: добавить юниту улучшение "Длинноствольные мушкеты" или поставить в Редакторе обьктов юниту большую дистанцию атаки, и ограничить ее дистанцией получения приказа (дистанция атаки не может быть больше последней). Тригерно устанавливать дистанцию получения приказа: Боевая еденица - Set Asquisition Range.

32. Мне нужно поместить в инвентарь к герою больше 6 предметов. Как?
Это возможно только собственными наработками.

33. Как сделать чтобы юнит завис в воздухе? Как сделать эффект матрицы?
Либо действием Pause Unit (или Pause All Units), либо действием Set Unit Animation Speed to 0.0%

34. Как сделать респаун (respawn) крипов (creeps) т.е. как сделать чтобы крипы возраждались после смерти через некоторое время?

Мы создаем переменную creep типа боевая единица в редакторе переменных (желтая буква X). Это будет глобальная переменная.


Quote
События:
Боевая единица - the unit owned of Нейтрально-враждебный умирает
Дествия:
CS: local unit creep
Set creep = (Dying unit)
CS: set creep = udg_creep
Wait 15.00 seconds
CS: set udg_creep = creep
Боевая единица - Create 1 (Unit type of creep) for Нейтрально-враждеьный...


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

36. Что такое равкод (ID объекта) ?
Уникальный идентификатор типа объекта (не порядковый, а именно типа, напимер, тип-пехотинец представлен в виде 'hfoo', глобальные переменные, сгенерированые редактором тоже включают в себя равкод объекта, и его порядковый номер на карте, например gg_unit_hfoo_0013), представлен 4-мя символами. В триггерах и JASS может быть передан как целоисчисленное значение, обозначающее тип объекта, например local integer BuffId = 'B000'
Что бы узнать его нужно нажать Ctrl+D в редакторе объектов или в меню "Вид" поставить галочку напротив пункта "Показать названия переменных".

37. Есть ли какое нибудь ограничение на размер карты в мультиплеере?
В патчах до 1.24:
Да - это 4.1-4.2 мб.
В патчах с 1.24:
Да - это 8 мб.
В сингплеере ограничение на размер карты отсутствует.

38. Карты из кампании - где их можно найти?
ROC: в war3.mpq \ Maps \ Campaign
TFT: в war3xlocal.mpq \ Maps \ FrozenThrone \ Campaign

39. Как импортировать свою картинку вместо миникарты?
Сохраните картинку в формате 32 бита с расширением .tga, импортруйте изображение с помощью Import Manager'a, два раза кликните на файл в окне импорта и сотрите весь путь до названия файла. Далее само название поменяйте на war3mapPreview.tga
Для замены игровой миникарты необходимо заменить файл war3mapMap.blp, причем возможны 2 варианта.

- импортируется blp-текстура размером 2х2 пикселя, в таком случае игра не может ее открыть и полностью перекрывает обзор миникарты (если не задан war3mapPreview, то вместо миникарты на стандартном загрузочном экране будет знак вопроса на синем фоне, а в игре окно миникарты будет пусто и мертво, на нем даже ping-и не будут отображаться)

- импортируется blp-текстура размером 256х256 пикселей, в таком случае просто фоновая картинка ландшафта будет замещена нашей текстурой, оставаясь фоновой (поверх видны иконки и ping-и)

40. Что такое карта?
Карта - это MPQ архив, который содержит файлы определенного формата, отвечающие за рельеф, скрипты, нестандартные обьекты и т.д.

41. Что такое slk и slk-оптимизация?
Это так называемый формат экспорта данных MS Excel. В Warcraft III slk таблицы используются для хранения данных о войсках, заклинаниях, декорациях, разрушаемых объектах, улучшениях. Там хранятся данные о всех характеристиках, кроме текстовых данных. По возможностям редактирования SLK намного эффективневнее простого Редактора Объектов.

Slk оптимизация - это вид оптимизации, при котором данные ваших из ваших файлов w3u, w3o, w3d, w3a еtc. записываю в Slk таблицы, из которых удаляются данные о всех неиспользуемых объектах. Данный слк помещается в карту, незначительно увеличивая её размер, но при этом повышая скорость загрузки карты многократно. SLK оптимизация реализована в Warcraft III Widgetizer'е.

42. Как создать загрузочный экран?
Для этого вы можете использовать ME. Вам нужна картинка 512 на 512 в формате BLP. Откройте ME, запустите "генератор загрузочных картинок" во вкладке "дополнительно". Там выберите в окошке свою картинку (если картинка у вас не 512 на 512 или не формата BLP, то кнопкой "Сгенерировать" вы сможете установить данное разрешение для картинки или формат) и нажмите "ОК". теперь нажмите "Файл", "Сохранить как...", вписывайте название + .mdx Теперь у нас есть модель загрузочного экрана и текстура к нему. Все это мы импортируем, стираем путь war3Imported, оставляя лишь названия и сохраняем карту. Теперь выбираем наш экран во вкладке "Загрузочный экран" в WE.

43. Импортировал свои иконки - BTNicon.blp и DISBTNicon.blp, но проблема в том, что когда ставлю иконку на предмет или спелл, то вместо иконок просто показывает зелёный квадрат! В чем суть?
Это неправильный импорт. Вот, что нужно делать:
Импортируешь иконку, потом щелкаешь два раза на нее, делаешь галочку нестандартный путь:
и потом пишешь путь для BTN:


Quote
ReplaceableTextures\CommandButtons\BTN + <название вашей кнопки> + .blp (или tga)


для DISBTN:


Quote
ReplaceableTextures\CommandButtonsDisabled\DISBTN + <название вашей кнопки> + .blp (или tga)


После этого сохрани карту. И теперь ты можешь выбирать иконку для предмета или спелла.

44. Как настроить размер карты больший, чем 256 на 256?
Для этого вы можете использовать UMS WE. Максимальный размер вашей карты будет 480 на 480.

45. Что такое музыкальный список и как его активировать?
Все ответы на вопросы по музыкальному списку вы найдете вот в этой статье.

By Gam_Over & XGM



Всего комментариев: 3
Deamonic   (10.07.2012 11:36)
 Большое спасибо, узнал много нового happy happy

+2   Спам
АК-47   (30.07.2011 16:30)
 ага up

+1   Спам
DRAGO_MAN   (30.06.2011 19:46)
 Очень даже полезная вещь cool

Добавлять комментарии могут только зарегистрированные пользователи.