Warcraft 3 как сделать таблицу

Обновлено: 30.06.2024

Александр Зайцев


Александр Зайцев ответил DELETED

Максим, потом переменную типа целочислительная и отряд
(триггер смены раундов)
создать таймер
По истечению таймера телепортируешь не состоящих в отряде в зону нужную тебе
раунд можно проверять таким образом - если целочислительная равна 1 то телепортировать на арену для мобов, если 3 то допустим на арену босса
Показать полностью.
При входе в область арены добавляешь входящего юнита в отряд
Если выходит оттуда убрать из отряда(это во 2 триггере делать)
При окончании таймера если юнит не находиться в отряде то телепортировать его в центр Область 1
Установить переменную типа целочислительна= целочислительная +1
создание юнитов
создать еще 2 области
Создать юнитов в 2 областях и приказать им атаковать всех героев в отряде
Добавить в другой отряд созданных юнитов(пусть будет отряд 2)
Включить триггер 2
каждые 0,03 секунды
если все юниты в отряде 2 мертвы то телепортировать их в зону базы(область)

Warcraft 3 как сделать таблицу

Элементарная таблица.

Уровень статьи: 5 of 5.
В этом уроке мы поговорим как сделать самую простую таблицу с количеством убийств. Для начала создадим новую карту, неважно какую, можно выбрать уже существующую карту. После откроем редактор триггеров и создадим новый триггер. Назовем его « Table ». Создадим событие «Время – времени прошло».


Не стоит создавать событие «Инициализация карты» т.к при инициализации таблица не будет создаваться.

После того как мы создали событие, пора создать действие, которое создаст таблицу. Создадим действие «Таблица рекордов – Создать» и дадим таблице имя «Таблица».


После этого нужно добавить игрока в таблицу. Сделаем это действием «Таблица рекордов – Добавить игрока».


И такими же действиями добавляем еще двух игроков (Синего и бирюзового). Можно добавить всех игроков, но нам пока это не нужно. После всех действий триггер должен выглядеть вот так:


В игре таблица будет выглядеть вот так:


Только, сколько бы вы не убивали монстров, значения в ней не изменятся без специального триггера. Так создадим его!

Создадим новый триггер с названием Table 2. Добавим событие «Боевая единица – Общее событие Отряда – Событие Умирает ».


Добавим 2 условия. (Для получения очков убийств только за нейтрально-враждебных).

1. Сравнение игрока – (Владелец (Умирающий юнит)) равно Нейтрально-враждебный.


2. Сравнение игрока – (Владелец (Убивающий юнит)) равно Игрок 1 (красный).


Если вы хотите чтобы очки начислялись за всех убитых, то не создавайте первое условие.

Теперь перейдем к действиям. Для начала создадим переменную Целочисленную - массив. Назовем ее Kills .


Теперь создадим действие «Таблица рекордов – Изменить значение игрока». Изменить значение для Игрок 1 (красный) в (Последняя панель) на Kills [1] - Массив 1 будет красным игроком, массив 2 – синим, массив 3 – бирюзовым и т.д.


Теперь добавим действие «Установить переменную».


Установить Kills [1] = ([Арифметика] Kills [1] +1). Теперь триггер выглядит вот так:


Чтобы перенастроить эту таблицу под синего игрока достаточно заменить некоторые строки.

Условия
(Владелец (Убивающий юнит)) равно Игрок 2 (синий)

Действия
Установить Kills [2] = ( Kills [2] + 1)
Таблица рекордов – Изменить значение для Игрок 2 (синий) в (Последняя панель) на Kills [2]

Важно чтобы действие «Установить переменную» было перед Таблицей рекордов!

Warcraft 3 как сделать таблицу

Илья Сора

Я тут решил сделать подобие эволюции ,но с другим геймплеем и сразу наткнулся на некоторые проблемы:
1)Как обычного юнита сделать героем(чтобы стандартный футмен стал героем)
2)Как установить стартовые ресы?
3)Как сделать так чтобы можно было закупаться в круге(на старте) из любой точки карты?
4)Как сделать так чтобы редактор не предлагал установить стартовые точки для игроков.
5)Как задать юнитам в редакторе команду патрулировать/идти и т.п.?
6)И как сделать так чтобы ульт улучшал предыдущие способности?ну улучшал урон,снижал кд(необязательно к ответу)
И если знаете сайты где есть гайды по ворлд едитору то дайте сслыку

Евгений Оленчук

Серега Шс

такой вопрос в игре при убийстве крипов сильно подлагивает и за чего такое может быть?

Евгений Оленчук

Возможно, твой триггер, срабатывающий на убийства, слишком нагружен

Серега Шс

Серега Шс

такой вопрос еще возможно ли сделать чтобы союзы во время игры заключались че
через меню союзы?

Евгений Оленчук

Серега, если это есть в игре, значит можно. Однако, я так и не смог разобраться как это делается.

Гадель Миннкаев

Евгений Оленчук

Обычный, она есть в моей открытой версии, причем в двух вариантах

Алексей Детковский

Не побоюсь что меня загрызут и спрошу какие пасхалки .

Серега Шс

Серега Шс

такой вопрос как иниацилизировать хэш таблицу ? во бщем мне вот это надо перенести в свою карту (гуи версия) и чтобы оно работало но вот с хэш таблицей разобратса не могу

Евгений Оленчук

создаешь переменную типа хэш таблица, а в триггере инициализации задаешь этой переменной значение "новая хэш таблица"

Серега Шс

Серега Шс

и еще тригер иницилизации это тригер с событием иницилизация карты? тоесть в этом тригере добавить действиие навая хэш таблица

Серега Шс

Евгений, можно более подробно вот создал я хеш таблицу дал ей произвольное имя
(heh) например и где мне ее теперь включить и как просто не совсем понял что такое (тригер иницилализации)
и ведь когда создаеш новое действие хэщ таблица там только (креате хештейбл) и еще какие то готовые но моей созданой нету

Серега Шс

Денис Фельдман

Вопросы продвинутого уровня
1) Следует-ли героям-танкам (Саппортам и прочим не сильно фармящим героям) ставить дополнительное увеличение получаемого бонуса исключительно ради баланса?
2) Как сделать руну воскрешения одноразовым предметом?
3) Можно-ли сделать любой баф, изменяющий тип атаки или её дополнительные свойства (Сменить обычную атаку с отравлением на дальнюю с эффектом сферы теней)? Если можно - как?
4) В одной из melee карт я видел нечто на подобии опыта для юнитов (не героев). Можно описать, как это сделать?
5) После реформы альянса на героев, я заметил что те или иные юниты требуют "технологию" героя. После изучения редактора объектов я так и не нашел её. Где она?
Заранее благодарен, все средства пойдут на помощь бедным сиротам из Африки.

Евгений Оленчук

1) Все зависит от того, насколько большая разница в скорости прокачки между быстро фармящими и остальными. Если очень большая, то идея имеет место быть, но в моем случае я делал расчет на командную игру, поэтому в толковой команде должен быть быстро фармящий герой, помогающий союзникам.
2) Я не понял
3) Да, но эта возможность сильно ограничена. Можно сделать по тому же принципу, что используется у сфер. Каждый юнит обладает двумя атаками, которые могут быть абсолютно разными (одна ближняя, другая дальняя или же они атакуют разные типы юнитов). Эти атаки нужно задать в самом редакторе, также там их можно сделать неактивными. Сферы же обладают способностью, которая открывает эти самые атаки, а также добавляет некий эффект, но уже другой способностью.
4) В самом варкрафте изначально есть некая прокачка для обычных юнитов. Они могут поменять статус при убийстве определенного числа врагов, но на самом юните это никак не сказывается. То, что ты описал, скорее всего реализовано через триггеры, а как именно, пока не скажу. Тут нужно подумать.
5) Это не технология. Дело в том, что любому юниту/способности/улучшению/постройке можно в требованиях задавать не только технологии, но и требование других юнитов/построек, что я и использовал. При эволюции в одного из героев людей, триггерно создается юнит-пустышка с именем этого героя, наличие которого и необходимо для создания юнитов.

Денис Фельдман

Евгений,
1) Спасибо. А данную функцию можно применить к золоту?
2) Я хочу сделать одноразовый артефакт, имеющий скилл "воскрешение", однако основанного на руне. Обычно я просто задаю рунам (Например, защиты) то или иное время действия, однако руна воскрешения используется сразу после покупки. Мне нужно взять руну в инвентарь с помощью магазина.
4) Задать событие при условии убийстве (пример) нерубом футмена?

FAQ по World Editor


События
Боевая единица - A unit Получает предмет
Условия
Or - Any (Conditions) are true
Условия
(Item-type of (Item being manipulated)) равно Предмет 1
(Item-type of (Item being manipulated)) равно Предмет 2
(Item-type of (Item being manipulated)) равно Предмет 3
Действия
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
Если - Условия
((Hero manipulating item) has an item of type Предмет 1) равно Да
((Hero manipulating item) has an item of type Предмет 2) равно Да
((Hero manipulating item) has an item of type Предмет 3) равно Да
То - Действия
Предмет - Remove (Item carried by (Hero manipulating item) of type Предмет 1)
Предмет - Remove (Item carried by (Hero manipulating item) of type Предмет 2)
Предмет - Remove (Item carried by (Hero manipulating item) of type Предмет 3)
Герой - Create Предмет 4 and give it to (Hero manipulating item)
Иначе - Действия


Восстановление срубленных, уничтоженных деревьев через промежуток времени в 360 сек.

События
Время - Every 360.00 seconds of game time
Условия
Действия
Декорация - Pick every destructible in (Playable map area) and do (Actions)
Цикл - Действия
Декорация - Resurrect (Picked destructible) with (Max life of (Picked destructible)) life and Показать birth animation


Система объединения 2х однотипных предметов в другой предмет.
События
Боевая единица - A unit Получает предмет
Условия
Or - Any (Conditions) are true
Условия
(Item-type of (Item being manipulated)) равно Предмет 1
Действия
Триггер - Turn off (This trigger)
Предмет - Remove (Item carried by (Hero manipulating item) of type Предмет 1)
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
Если - Условия
((Hero manipulating item) has an item of type Предмет 1) равно Да
То - Действия
Предмет - Remove (Item carried by (Hero manipulating item) of type Предмет 1)
Герой - Create Предмет 2 and give it to (Hero manipulating item)
Иначе - Действия
Герой - Create Предмет 1 and give it to (Hero manipulating item)
Триггер - Turn on (This trigger)



Как при помощи WinMPQ извлечь *.j файл из защищенной карты.
Для начала надо запустить WinMPQ, после запуска мы увидим следующее окно:

Теперь мы идем в меню Options, там во вкладку File Lists, нажимаем на кнопку Add List File… и выбираем лист файлы, они должны лежать в папке с программой, должно получиться как на рисунке:

На этом все приготовления сделаны, теперь жмем кнопку ОК, идем в меню File и выбираем Open…, открывается диалоговое окно:

В этом меню, там где написано MPQ Archives (над кнопкой Открыть) выбираем All Files, теперь программа видит все файлы. Идем в папку с интересующей нас картой, выбираем карту, и нажимаем Открыть, должно получиться что-то подобное:

Мы видим все составляющие части карты, нам нужен файл war3map.j, в этом файле содержится весь скриптовый код карты. Когда мы нашли этот файл, то жмем на него правой клавишей мыши, появляется менюшка:

Выбираем Extract…, после чего появляется диалоговое окно сохранения файла, выбираем место, куда сохранить файл и жмем кнопку ОК. Вот в принципе и все.


Моя Наработка v1.0
Описание:
В этой наработке показано, как в одном заклинании сделать несколько заклинаний.
То есть как в предмете "Книга заклинаний" - на нее нажимаешь, и там открывается несколько заклинаний. Если кому нужно - объясню как реализовать.


Ссылка в предыдущем посте не работает — истёк срок, просьба обновить ссылку

Итак скидываю вам статью из самой первой темы сюда, думаю она полезна будет многим

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

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

У некоторых юнитов я видел отрицательные значения (регенерация маны сфинкса к примеру), но у меня они не ставяться. Это что очередное ограничение ворлдэдитора?
Зайдите: Файл-параметры-вкладка "общие"-Разрешить использование в редакторе объектов отрицательных значений. Выскочит окно "имейте ввиду". Теперь зайдя в редактор объектов вы сможете выставлять отрицательные значения.

В некоторые поля все еще нельзя вводить любые значения, как с этим бороться?
Для этого следует зажать кнопку Shift и сделать двойной щелчек по этому полю.

Как сделать чтобы созданный мной герой, при вызове его игроком строился только один раз?
Необходимо: открыть игровые константы, найти строки "Технологии зависимости(эквиваленты) - герои"(где вы должны прописать своих героев, если они не стандартные), "Технологии зависимости(эквиваленты) - алтарь"(здесь вы указываете ваш алтарь если он не стандартный, далее в строках "центр поселения" указываете ваши ратуши, если они не стандартные.
Затем заходим в свойства героя в редакторе объектов и проставляем необходимые требования. В итоге - всё работает. Также предлагаю вам прочитать эту статью по игровым константам.
Хотя, можно обойтись и без констант: запустить дефолтный (melee) триггер режим сражения - Limit Heroes to 1 per Hero-type (for all players)

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

Моя карта очень долго загружается, есть ли способы увеличить скорость её загрузки?
Есть, первое поудалять лишнии иконки, модели и музыку, которые вы загрузили в свою карту =)
Также хочу порекомендовать следующие утилиты для оптимизации скорости загрузки карты:
TOT
Vexorians Map Optimizer
Warcraft III Widgetizer

Как поставить юнита на декорацию?
Для этого необходимо указать ему высоту перемещения, в строках "движение", теперь смело можно ставить. Для того, чтобы юнит ходил по замкнутому пространству(например крепостная стена) и необходимо добавить вокруг замкнутого пространства блокираторы пути(Декорации такие).

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

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

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

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

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

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

Можно ли сделать так, чтобы, если в магазине вещь была куплена, то она изчезла совсем? Т.е. не перезаряжадась и со временем снова появлялась, а совсем исчезла: купил - и все она твоя и ни у кого другого ее не будет.
можно.
там есть целый набор триггеров для этих целей
Нейтральное здание - remove item-type (---) убирает предмет
Нейтральное здание - add item-type (---) добавляет предмет
в скобках там написано:
(from marketplace) из одного магазина
(from all marketplace) изо всех
тоже самое можно делать с нанимаемыми войсками

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

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

Как сделать юнита неуязвимым?[list][*] Либо дать юниту способность «Неуязвимый(нейтральный)».[*] Либо использовать действие: Unit - Make Invulnerable/vulnerable.

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

Читайте также: