16

» WarCraft 3 / И ещё один баг

Используй четвёртую функцию снизу "Реакция на событие - Item Being Manipulated".
Загруженные файлы
16

» WarCraft 3 / Array Timer

С хеш-таблицами не разобрался.
Doc:
И да вы все тут пытаетесь симулировать хеш-таблицы или параллельные массивы через индексы, когда вам уже все инструменты даны.
Приведи цитаты всех, где мы пытаемся.
16

» WarCraft 3 / Array Timer

Да, на 20 секунд. Если не трудно, напиши карту пример, я уже убегаю по делам.
Напишу. Жди.
Таймеры идут одинаковое время. Отсюда следует, что первый запущенный таймер завершится только первым. Второй запущенный - только вторым. Третий - только третьим. Они не могут поменяться местами, а значит, инкрементом можно отследить их индекс.
Либо, если бы у тебя были таймеры с разным временем, но версия Warcraft III не меньше 1.26 (в нём добавили хеш-таблицы), то с помощью хеш-таблиц, если я их правильно понимаю, можно отследить индекс.
ssbbssc:
однако триггер с таймером сработал только один раз и больше не фурычил =\
Внезапно обнаружил. До какого индекса будут создаваться таймеры, определяет "Раз.". Например, если бы ты указал "Раз." равным 5, у тебя бы сработало 5 таймеров.
Чтобы это обойти, , перед запуском таймера, нужно создавать новый таймер строкой кода "Custom script: set udg_TheTimer[udg_TheTimerIndex] = CreateTimer()".
Сделал и прикрепляю карту с первым способов (инкремент). Попробую ещё с помощью хеш-таблиц.
Загруженные файлы
16

» WarCraft 3 / Array Timer

Подскажите выход.
А у тебя каждый таймер запускается на одинаковое количество секунд? Если да, я догадываюсь, как можно отследить индекс.
ssbbssc:
однако триггер с таймером сработал только один раз и больше не фурычил =\
Можно создавать триггер действием, новым действием задавать ему событие. Пусть единственным действием созданного триггера будет вызов нужного тебе триггера.
16

» WarCraft 3 / Карта вылетает

В данном случае воспользуешься MPQ-редактором и исправишь, но что ты сделаешь, если карта начнёт вылетать не из-за модели? Такие случаи видел не 1 раз. А разгадка одна - нужно делать бэкапы карт.
16

» WarCraft 3 / Array Timer

ssbbssc:
naxim:
ты подкинул мне отличную идею, точнее напомнил про одну полезную функцию. сейчас попробую
Какую функцию?
naxim:
Можно триггерно создавать новый триггер и назначать ему новое событие с нужным индексом. Могу сделать карту-пример.
Уже написал, а теперь понял, что индекс и этим способом не достать.
Но если вместо таймера использовать "Wait" и локальные переменные в одном триггере, то получится.
16

» WarCraft 3 / Array Timer

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

» WarCraft 3 / Какие не очевидные особенности Warcraft III вы знаете?

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

» WarCraft 3 / Какие не очевидные особенности Warcraft III вы знаете?

Nosferoh:
Я думаю, если кодой проглотит морлока, то облако не дамажит уже никого.
Проглотивший хватает дамаг.
Это только с морлоком проглотивший хватает дамаг? Проверил на пехотинце. Проглотивший его кодой дамаг от ядовитого облака не получает.
Загруженные файлы
16

» WarCraft 3 / Какие не очевидные особенности Warcraft III вы знаете?

морлока кодоя
Кто такой? Чем знаменит?
Nosferoh:
изнутри дамажит
Как можно дамажить изнутри или не изнутри?
16

» WarCraft 3 / Взаимосвязь

Я нашел кучу способов сделать это в три действия
Что за способы?
16

» WarCraft 3 / Взаимосвязь

BlackCascade:
Обьясните связь, почему построенный обьект не удаляется в след триггере
Потому, что в следующем триггере ты пытаешься обратиться к построенному объекту с помощью функции "Реакция на событие - Constructed Structure". Но эта функция не вернёт юнит, т.к. она возвращает юнит только когда событием была постройка здания. У тебя же событие "Боевая единица - Unit Enters Region" и в нём не происходит постройка здания. В нём происходит вход в регион и оно возвращает уже юнит, вошедший в регион, а никак не построенное здание.
разобраться бы во всем этом еще.
Когда юнит завершает строительство, игра сохраняет построенно здание в переменную UnitOfDeath[RectOfDeathLength], назначает новому триггеру новое событие, что в область вокруг построенного здания вошёл юнит. Эту область игра сохраняет в переменной RectOfDeath[RectOfDeathLength]. Когда событие срабатывает, цикл проверяет, в какой из этих областей находится вошедший юнит и удаляет здание, которое было связано с этой областью переменной UnitOfDeath[RectOfDeathLength].
16

» WarCraft 3 / Взаимосвязь

Так?
А почему нельзя удалять все здания в области, когда нужный юнит в неё войдёт?
16

» WarCraft 3 / Взаимосвязь

naxim, ты говоришь о заранее созданной области ?
Нет. Область будет высчитана в месте построенного здания. Почти сделал.
16

» WarCraft 3 / Взаимосвязь

naxim, сделай пожалуйста
Нашёл способ реализовать нужный тебе функционал. При входе в область будет уничтожаться связанное с ней здание. Сейчас сделаю карту.
16

» WarCraft 3 / Взаимосвязь

После того, как здание построилось создаётся новое событие для 1 и того же триггера. Но есть действие, которое позволяет создать новый триггер. И к нему уже можно прикрепить новое событие. Могу сделать карту-пример.
16

» WarCraft 3 / Мигающая пиктограмма способности

как выделялись различные пиктограммы приказов, найма юнитов и т.д.
Скриншот в студию.
16

» WarCraft 3 / Невозможность выбора расы

Сценарий -> Свойства клана. Устанавливаешь флажки "Нестандартные кланы" и "Фикс. параметры игрока".
16

» WarCraft 3 / Магическая защита.

Из описания способности "Магическая защита": "Приобрести невосприимчивость к магии ценой снижения скорости перемещения на <Adef,DataC1,%>%.".
Ты не знаешь где взять пассивную способность "Неуязвимость к магии" и как снизить скорость перемещения?
И какие юниты обладают этой способностью?
16

» WarCraft 3 / Перенос героя в другую локацию

Bariy vad:
Карты а мне надо их выложить,может компанию недоделанную скинуть?
Я уже сам решил проблему пока ждал комментариев.
Как решил?
16

» WarCraft 3 / Ворота.

Способ I:
Действие 1. Открываешь редактор.
Действие 2. Нажимаешь клавишу D, чтобы открыть панель декораций.
Действие 3. Среди деревьев и разрушаемых объектов находишь ворота.
Действие 4. Выставляешь найденные ворота на карту.
Действие 5. Выделяешь ворота.
Действие 6. Нажимаешь клавишу Enter или дважды щёлкаешь по воротам.
Действие 7. В открывшемся диалоговом окне устанавливаешь значение параметра "Прочность" равному 0.
Способ 2:
Повторяешь действия с 1 по 4.
Действие 5. Нажимаешь клавишу F4, чтобы открыть редактор триггеров.
Действие 6. Нажимаешь клавишу Ctrl+T, чтобы создать новый триггер.
Действие 7. Нажимаешь клавишу Ctrl+E, чтобы создать новое событие.
Действие 9. Раскрываешь выпадающий список.
Действие 10. Выбираешь событие "Map initialization".
Действие 11. Нажимаешь кнопку OK.
Действие 12. Нажимаешь клавишу Ctrl+R, чтобы создать новое действие.
Действие 13. Раскрываешь выпадающий список.
Действие 14. Выбираешь действие "Декорация - Kill".
Что-то мне лень дальше писать. В общем остался ты без ворот.