В этой теме я постараюсь
написать как можно больше маленьких трюков в редакторе, которые явно не тянут
на отдельную статью, но могут принести очень много пользы.
Если вы знаете такие хитрости - присылайте их мне и я помещу их сюда с
указанием вашего имени. Заранее спасибо всем, кто откликнется на эту идею.
ВНИМАНИЕ! Эта тема будет обновляться, однако на форуме не будет видно
что в сообщении появились новые пункты.
- Как
запретить игрокам выделение юнита, но чтобы при этом юнит оставался
юнитом?
Добавьте ему в редакторе объектов умение Unknown - ALoc (в версии
1.13 и выше оно называется Locust (в русской версии - Москиты)).
Если вам нужно временно запретить выбор юнита, дайте ему это умение в игре
при помощи триггера Unit - Add Ability. Это умению идеально подходит
для саммонов в стиле Diablo. - Как
выводить текстовые сообщение одному игроку в произвольном месте экрана, а
не внизу слева?
Очень просто - в разделе кода (щелкните на название карты и справа вы
сможете писать) добавьте этот текст:
Код:
function Text takes player PlayerID, string Text, real Time, real HValue, real VValue returns nothing if PlayerID == GetLocalPlayer() then call DisplayTimedTextToPlayer(PlayerID, HValue, VValue, Time, Text) endif endfunction
Теперь в месте, где вы хотите вывести текст для одного
игрока, используйте действие Custom Script:
call Text(Player(Номер игрока от 0 до 11),
T, X, Y, "Текст")
X, Y
- Координаты в долях экрана - от 0.0 до 1.0. Ноль считается с нижнего левого
угла экрана.
T - Время показа текста в секундах.
Например: call Text(Player(0), 3, 0.5, 0.5, "Hello!") покажет текст
Hello! в середине экрана красному игроку в течение 3-х секунд. Работа с этой
функцией требует хотя бы минимального знания JASS.
- Как
дать геройскую способность юниту, который не является героем или добавить
ее в спеллбук?
Для этого у нужного умения снимите галочку Stats - Hero Ability (Относится
к герою), дайте это умение юниту или добавьте его в спеллбук, а потом
снова поставьте в свойствах спелла эту галочку. Теперь не герой будет
обладать геройской способностью. - Как временно запретить у юнита или спеллбука какую-либо
способность или магию?
Сделайте в редакторе объектов custom-юнита на основе летающей овцы.
Поставьте ему любую малозаметную модель, минимальный масштаб, уберите все
галочки в поле Targeted As, добавьте способность Locust (о
ней - см. выше), а также установите Collision Size равным нулю.
Теперь зайдите в редактор умений и выберите нужное вам умение. После этого
поставьте галочку "Techtree - Check dependencies" и
добавьте только что сделанного вами юнита в поле "Techtree -
Requirements" способности.
Теперь эта способность у игрока будет неактивна до тех пор, пока у него не
появится ваш custom-юнит. Создайте этого юнита на карте, после создания
спрячьте (Unit - Hide Unit), а во время игры триггером в нужный
момент меняйте этому юниту владельца. Когда способность должны быть
доступна игроку, отдавайте триггером юнита этому игроку (через Unit -
Change Owner). Когда способность должна быть отключена, отдавайте
юнита нейтральному игроку (Neutral Passive).
- О
том, как сделать лучников на башнях и стенах.
Создайте custom - destructible doodad на основе любого малого доодада
(например, дорожного столба). В редакторе объектов в качестве модели
поставьте ему модель лучника или солдата. Поместите его на нужное место в
башне, теперь при помощи Ctrl-PgUp / PgDown поднимайте или опускайте его
до уровня пола башни. С юнитами, как известно, такое делать нельзя.
Теперь создайте триггер, который в нужный момент заставит этот доодад
проигрывать нужную анимацию (через действие - Destructible - Play
Animation), в том числе анимацию атаки / магии и т.д.
Вот два гораздо лучших способа,:
1) Сделать custom-юнита с моделью стрелка, дать ему в редакторе объектов
возможность летать и поставить фиксированную высоту полета, равную высоте
башни. После этого окружить башню Pathing Blockers (Air Only) чтобы
стрелок не улетел
2) Сделать внутри башни невидимые платформы (Invisible Platforms),
поднять их на нужную высоту и поставить туда юнита. Однако это можно будет
сделать только триггерами. - Как
сделать корабль, стреляющий во все стороны, причём даже во время движения?
Просто - создаём умение на базе Phoenix fire (Огонь феникса
в русской версии), меняем ему вид снаряда (Projectile Art) c огня
феникса на ядро, убираем Duration, чтобы не было горения,
увеличиваем кулдаун, чтобы не получился пулемёт. Очень впечатляет когда
корабль, уплывая, обстреливает своих преследователей.
- Как
триггером добавить юниту свойства, которых нет в триггерном списке
свойств?
Пример - сделать юнита из Melee стрелком; cменить cкорость атаки и / или
вид атаки; сменить внешний вид; добавить умения, которые нельзя делать
зависимыми от апгрейдов (таких очень много). Видели в игре как танк людей
после апгрейда мог стрелять ракетами одновременно по 9 целям? Или в
кампании RoC'а в одной из миссий за орков после того, как Grom попил из
фонтана крови, все орки заменялись на орков хаоса? Всё это делаеться без
триггеров, с помощью умения Chaos (Тёмный в русской версии).
Его действие: после апгрейда оно заменяет всех юнитов, имеющих это умение,
на другой юнит, при этом даже вновь появляющихся после апгрейда. Берёте
это умение и переделываете. Добавляете нужному типу юнитов, а затем
триггерами меняете уровень апгрейда.
- Как
уменьшить тормоза в редакторе?
1) Вам понадобится мощный компьютер, слабый может повиснуть. Вызываете Task
Manager (кнопки Ctrl-Alt-Del), идете на вкладку процессов,
находите процесс WorldEdit.exe, щелкаете на него правой кнопкой
мыши, заходите в свойства приоритета и ставьте приоритет повыше. Не
ставьте слишком высокий приоритет на слабых компьютерах! Режим Real-Time
рекомендуется исключительно для владельцев самого мощного железа.
2) В настройках редактора File -> Preferences поставьте
количество уровней Undo не 256, а 10-20. На вкладке Video
поставьте все параметры на Low.
3) В меню View отключите галочки: Sky, Fog Effects, Lightning.
Когда вам не нужен показ доодадов, отключайте его. Аналогично и с юнитами. - Как
поставить в редакторе объектов отрицательные значения у полей?
Зайдите в настройки редактора (в меню File -> Preferences) и
установите галочку "Allow Negative Real Values in the Object
Editor" (в русской версии - "Разрешить использование
отрицательных значений в редакторе объектов"). Теперь вы можете
ставить отрицательные значения у аур, магий и т.д. Очень полезная вещь для
всех картостроителей.
- Как
поставить любые значения полей с ограничениями в редакторе объектов?
Первый способ:
Сначала измените поле с широким диапазоном (например, дальность), нажмите
на значении правой кнопкой мыши и скопируйте в буфер обмена (Copy).
Затем таким же образом вставте скопированное значение в нужное поле (у
которого есть ограничения на максимум) при помощи Paste и верните
оригинальное значение дальности (или том полю, откуда копировали
значение).
Второй способ:
Зажав кнопку Shift, делаете два клика по нужному полю. После этого
вводите нужное значение и нажимаете ОК. Ограничения будут
проигнорированы.
- Как
заставить юнита стрелять по многим целям сразу?
Возьмите апгрейд альянса "ракеты" и смените тип на "герой"
или "воин". Установите нужные параметры (число целей,
повреждение и т.д.), также смените тип атаки на нужный вам. Добавить
апгрейд нужному юниту и готово!
Источник: http://warcraft3ft.info/board/10-1-0-83 |