Faq по world editor - створення карт - каталог статей - warcraft 3 the frozen throne

Чи є яке-небудь обмеження на розмір карти в мультіплеере?
Так це 4.1-4.2 мб. У сінгплеере обмеження на розмір карти відсутня.

Карти з кампанії. Де їх можна знайти?
ROC: в war3.mpq в папці Maps # 92; Campaign
TFT: в war3xlocal.mpq в папці Maps # 92; FrozenThrone # 92; Campaign

Після установки патча WorldEditor просить вставити CD - як від цього позбутися?
Або знайти Nocd або завантажити Daemon Tools. Це програма емулятор є універсальним Nocd для всіх версій Warcraft'a і WorldEdit'a.
Для установки необхідно встановити саму програму емулятор. Далі правий клік на інформацію, що з'явилася іконку в правому нижньому кутку, пункт меню Virtual Cd # 92; Dvd-rom => Set Number Of Devices => 1 drive, далі пункт меню Virtual Cd # 92; Dvd-rom => Device 0 => Mount Image / у діалозі шукаємо файл warcraft.mds (є в архіві з утилітою). Все насолоджуємося.

Як зробити героя, рівень якого більше 10?
Відповідь: необхідно зайти в Додатково => Ігрові константи => Максимальний рівень героя і поставити потрібний рівень. Тепер при прокачуванні герой буде гойдатися більше 10-го.

Як мені зробити, щоб гравці починали тільки на своїх стартових позиціях і з заданою расою?
Натисніть кнопку "Властивості гравця" (Головне меню => сценарій => Властивості гравця) поставте галочку "Фікс вих. Позиція". Потім перейдіть на закладку "Клани" і поставте дві галочки: "Нестандартні клани" та "Фікс. Параметри клану"

Камінь Включено / Виключено Що це?
Це кривої переклад. Кнопочка включає програвання голосів і анімацій у військ, вони з вами говорять і вмирають зі звуком, якщо ви їх видаляєте.

Мені потрібно помістити в інвентар до героя більше 6 предметів. Як?
Стандартними засобами це не можливо. Можна використовувати напрацювання DimonT'a ось і ось. Сергія - ось. NETRAT'a - ось

Як зробити, щоб герой прокачувався на Кріпі більше п'ятого рівня?
Для цього треба зайти в ігрові константи і знайдіть поле Hero XP Gained - Creep Reduction Table. Номер рядка відповідає рівню героя (тобто перший рядок - перший рівень, друга - другий і т. Д.). Число це відсоток досвіду, одержуваного на кожному рівні.

Моя карта дуже довго завантажується, чи є способи збільшити швидкість її завантаження?
Тобто, перше видалити зайві іконки, моделі і музику, які ви завантажили в свою карту.
Також хочу порекомендувати наступні утиліти для оптимізації швидкості завантаження карти:
TOT
Vexorians Map Optimizer
Warcraft III Widgetizer

Як Тригерні накласти на мету заклинання?
Це не можливо, так як ми це розуміємо. Ми можемо лише віддати юниту наказ страйкувати заклинання.
Дія виду Unit - Unit issue order of.

Як зробити підключення до гри свого MPQ архіву, як в деяких модах?
Для цього вам, швидше за все, знадобляться знання якогось компилируемого мови програмування. Для того щоб підключити свій архів, вам доведеться змінити ім'я стандартного архіву war3patch.mpq, потім змінити ім'я у архіву вашого мода на war3patch.mpq. Для відключення мода - повернути назад ім'я свого архіву і відновити ім'я для стандартного архіву war3patch.mpq. Таким чином, для повноцінного мода вам знадобиться зовнішня програма, яка на час гри буде робити описані зміни з іменами файлів, а після завершення гри, повертати все на місце.

Що таке custom script (custom code) карти?
Щоб побачити Custom script карти потрібно клацнути по самому верхньому рядку в списку тригерів, на місці де зазвичай відображається сам тригер, в більшості випадків буде пусте поле - це і є поле кастом коду, весь Jass-код в ньому виконується в першу чергу. Часто саме в нього потрібно вписати код багатьох напрацювань.

ландшафт

Як поставити юніта на декорацію?
Для цього необхідно вказати йому висоту переміщення, в рядках "рух", тепер сміливо можна ставити. Для того щоб юніт ходив по замкнутому просторі (наприклад, кріпосна стіна) і необхідно додати навколо замкнутого простору блокатори шляху (Декорації такі).

Коли я створюю міст, він ставиться вище за землю. Як це виправити?
Поставте міст і відрегулюйте його висоту за допомогою Ctrl + PgUp або Ctrl + PgDown.

Як зробити, щоб юніт зміг піднятися на будь-яку декорацію?
Для цього потрібно:
1. Декорацію перемістити в "Типи декорацій - Мости".
2. Дати декорації галочку "можна ставити на схилах".
3. Дати декорації параметр максимальний кут крену = 90 градусів.
4. Прибрати pathline декорації.

До речі як можна зробити, щоб, наприклад, стояв стрілок на вежі?
Як варіант - поставити юниту тип переміщення "літаючий", задати висоту польоту, рівну висоті вежі, а по периметру вежі поставити блокіратори шляху для літаючих військ. Детальніше це питання обговорювалося в темі

Як ставити декорації впритул один до одного?
При розміщенні декорацій затисніть Shift - тоді їх фізичний розмір не буде враховуватися.

Що таке JASS?
Рекомендую прочитати наступні статті:
текстові тригери
освоюємо JASS

У мене проблема: Я зробив тригер, в якому кожні 5 секунд генеруються випадкове число. Але кожен раз, коли я запускаю карту послідовність цих чисел завжди однакова. Наприклад, 78,62,29,6.
Як зробити, щоб кожен раз генерувалися різні числа?
File-> Prefernces-> Test Map-> Uncheck "Use fixed random seed"

Чому лідерборди # 92; Мультіборд # 92; діалоги не хочуть створюватися при запуску карти?
Деякі функції не можуть виконуватися прямо після запуску карти. Поставте перед ними дію 'Wait 0.01 seconds' або перенесіть дію в тригер з подією Timer - Elapsed time is 0.01 seconds.

Як зробити так, щоб на початку гри на стартовій локації не з'являвся міський центр і робочі?
Відкрийте вікно Trigger Editor і в тригері Melee Initialization видаліть дію Melee Game - Create starting units (for all players)

Я зробив декорацію з моделлю вежі, але воно чомусь завжди змінює моделі.
У лівій стороні, у вікні анімації знайдіть ту вежу, яку вам треба і створіть тригер:
Event - Map initialization
Animation - Play (ваша вежа) 's (потрібна анімація) animation

Чи можна зробити так, щоб, якщо в магазині річ була куплена, то вона зникла зовсім? Тобто не перезаряджується і з часом знову з'являлася, а зовсім зникла: купив - і все вона твоя і ні у кого іншого її не буде.
можна, можливо.
там є цілий набір тригерів для цих цілей
Нейтральне будівля - remove item-type (---) прибирає предмет
Нейтральне будівля - add item-type (---) додає предмет
в дужках там написано:
(From marketplace) з одного магазину
(From all marketplace) з усіх
те ж саме можна робити з найманими військами.

Як скасувати кинематику по Esc звичайними тригерами, без всяких там Jass 'івських if> then?
Створити змінну Boolean і дати їй значення False
У тригері самого кінематика перед дією Wait поставити, що якщо змінна дорівнює True - пропустити всі дії.
Потім створити тригер.
- Event - player skips cinematic
- Action - Поставити змінної значення True, зробити все, що повинно бути після кінематика (розставити юнітів по місцях і так далі.) І вимкнути тригер.

Як зробити, щоб тіла юнітів коли зникали, А як поклав, так і лежали всю гру?
Створюємо руйнується об'єкт (наприклад, на базі бочки) і даємо йому модель юніта, труп якого потрібно поставити.
Далі ставимо дудад і кількість життів прирівнюємо до 0.

Як зробити, щоб юніт завис в повітрі?
Як зробити ефект матриці?
Якою дією Pause Unit (або Pause All Units), або дією Set Unit Animation Speed ​​to 0.0%
З цього питання є пара відмінних роликів, що унаочнюють спецефект у всій красі:
The Vision
Rox Battle
Більш детально питання обговорювалося в цій темі.

Як зробити респаун (respawn) Крип (creeps)?
Як зробити, щоб Крип відроджувалися?
З цього питання рекомендується подивитися теми:
Простий критичний спосіб
З використанням Jass'а

Як зробити так, щоб юніта можна було виділити?
Дайте йому здатність Locust (ALoc в версіях нижче 1.13). Так само юніт з цією здатністю стане невразливим. (Москіти)

Як зробити, щоб при взятті предмета (наприклад, меч), ​​на моделі юніта це теж відображалося?
Необхідно взяти здатність (Ability) сфера Блискавок, поміняти їй модель на потрібну і вказати в параметрі Графіка особливий об'єкт впливу потрібну точку прикладання ефекту.
overhead - над головою, не приліплюється до анімації
head - голова, прикріплюється до анімації
chest - тулуб
origin - зазвичай у ніг юніта
hand - рука (може бути left і right)
foot - ноги
weapon (Для героїв) - зброя
sprite, medium, large - для будівель
Однак пам'ятайте, що далеко не у всіх моделей є всі ці точки, вони описуються саме в моделях.

Щось я не наздоганяю, як зробити з не-героя героя?
Це неможливо з причини того, що герой і не-герой є різними типами об'єктів. Якщо заглянути в тригери, то ми побачимо, що існують тригери окремо для юнітів і окремо для героїв. Єдиний вихід з ситуації, що склалася створити героя на базі іншого героя.

Щось я не наздоганяю, де міняти фізичний розмір дудадов (doodads)?
Розміру у них немає, є тільки "текстура шляху". pathing texture - визначає, де за цією моделлю можна ходити, а де ні, де можна літати над нею, а де ні, де можна крізь цю модель проходити, а де ні.
Також можна створити свою Pathing Textures. Для прикладу можна взяти з mpq-архіву з папки PathTextures / одну таку текстуру (формат TGA 8-біт) і подивитися. Pathing Texture являє собою зображення, в якому кожен піксель відповідає за ігрову клітку.

Як зі звичайного будинку зробити таверну або Магазин, щоб на карті позначалося "будиночком"?
"Характеристики - Нейтральне будівля: піктограма показана на міникарті" поставити. Так (True)

Зробив герою здатність, щоб він ковтав ворогів, але коли я завантажую карту, і вибираю цю здатність, то гра вилітає і з'являється помилка. Чому?
Необхідно так само давати здатності "пасажир" і "їжа". Рекомендую подивитися, наприклад, як це зроблено у Кодо.

Зниження отриманого шкоди за одиницю броні:
Damage Reduction = Multiplier * Armor / (1 + Multiplier * Armor);
де Multiplier - це значення з Gameplay Constants - Combat - Armor Damage Reduction Multiplier, за замовчуванням рівне 0.06

Мінімальна і максимальна пошкодження юніта:
Min = Damage Base + Number of Dice
Max = Damage Base + (Number of Dice * Sides per Die)

Формули для підрахунку вимог досвіду для наступного рівня, нагород досвіду за вбивство героя і нагород досвіду за вбивство кріпа

У таблиці констант щодо вимог досвіду для отримання рівня зустрічаються такі константи:
Герою потрібно досвіду: таблиця (NeedHeroXP) - позначимо за BASE
Герою потрібно досвіду: попереднє значення фактора (NeedHeroXPFormulaA) - позначимо за A
Герою потрібно досвіду: фактор рівня (NeedHeroXPFormulaB) - позначимо за B
Герою потрібно досвіду: фактор константи (NeedHeroXPFormulaC) - позначимо за C

Слід зазначити, що в поле NeedHeroXP може міститися масив чисел, в цьому випадку в якості вимог досвіду беруться ці числа, в тому порядку, в якому вони записані. Якщо цих чисел не вистачає, то останнє з них береться в якості числа BASE, і подальші вимоги вираховуються за описаною нижче формулою. Якщо поле пусте, то використовується одне стандартне значення 200.

Чи не зазначені в таблиці NeedHeroXP вимоги знаходяться по рекурсивної формулою, тобто вимога досвіду для поточного рівня знаходиться виходячи з вимог попереднього:
Вимоги (для рівня N) = вимоги (для рівня N-1) * A + B * N + С

Рекурсивну формулу можна записати в загальному вигляді:

У цій формулі L - це рівень, для якого ми вважаємо вимоги досвіду (тобто не поточний рівень юніта, а наступний), а S - це останній рівень, для якого задано табличне значення, а BASE - це як раз це останнє задане табличне значення .
Хоча вона не так проста для розуміння як рекурсивна вона працює не гірше =)

приклад:
Нехай задані значення
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 (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

Схожі статті