26

» WarCraft 3 / Как сделать MUI через глобалки? - [Jass]

LastUchiha, сделай абилку на 1 юнита, я тебе помогу сделать с массивами для многА юнитов :D
Ну и скинь сюда эту карту с такой абилкой.
26

» WarCraft 3 / Как обойти проблему, что ИИ в сражении стопорится в развитии, если ограничить подготовку героев до 1

Мб переписать этот ИИ, ибо видимо там заложено условие, что дальше развитие должно пойти после найма 2 героя. А так, как ты ограничил найм внешне, он не может это сделать и стопорится, бесконечно ждет второго героя.

По сути писать свой кастом ИИ.
26

» WarCraft 3 / Как сделать MUI через глобалки? - [Jass]

мммм, а в чем проблема?)
Сделаем абилку, которая будет хилять юнита (кастующего) каждую секунду на 10 хп а противника (цель) уменьшать хп на 10 в секунду в течении 5 секунд.
Ну как вариант:
  1. Создаем массивы всех данных, что использует твоя способка, к примеру Heroes, Targets, Times
  2. Создаем переменную, означающую количество активных способок ACount
Далее 2 варианта сохранения и удаления данных из массива. А именно, когда абилка завершила свое действие, надо удалить ее данные из массива. Что делаем с остальными абилками идущими после этого индекса? Если ничего, то остается пустое место в середине массива, куда сможем записать новую абилку. Либо лучше сместить все данные после текущей абилки влево, закрыв пустое место и уменьшив счетчик ACount.
Тут как раз таки главная проблема в том, как ты будешь ориентироваться и находить данные этой способки в течении всего жизненного цикла ее, чтобы не потерять связь между этими данными.
Как один из вариантов, будем сдвигать все данные влево при уничтожении абилки.
Использую псевдокод чтобы был понятен смысл и мне лень вспоминать какие там функции в варике и как они выглядят.
  1. При касте способки сохраняем все данные в массив под индексом ACount + 1:
index = ACount + 1
Heroes[index] = КастующийЮнит()
Targets[index] = ЦельКаста()
Times[index] = 5
  1. Далее будет какой-то глобальный таймер или событие "каждую секунду" запускающий триггер:
цикл для i от 1 до ACount делаем
	Если Heroes[i] жив и Target[i] жив то
		устанавливаем хп Target[i] на Target[i] - 10.
		устанавливаем хп Heroes[i] на Heroes[i] + 10.
		устанавливаем время Times[i] = Times[i] - 1
	Иначе 
		Times[i] = 0
  1. Далее надо сместить (удалить) все способки, что закончили свое действие. В этом же триггере:
free = -1 // индекс свободной ячейки
цикл для i от 1 до ACount делаем
	если Times[i] == 0 то
		если free < 0 то
			free = i
	иначе
		если free > 0 то
		Heroes[free] = Heroes[i]
		Targets[free] = Targets[i]
		Times[free] = Times[i]
		free = free + 1 
конец цикла
Если free > 0 то
	ACount = free - 1
  1. Если тебе нужно будет в какой-то момент получить данные способки, просто ищем этого юнита в массиве Heroes[] и далее используй тот-же индекс для получения остальных данных из других массивов. Усе.
Можно еще добавить про "правильное" очищение ссылок переменных но это уже вопрос оптимизации.

И да, хэштаблицу проще использовать, чем параллельные массивы данных. Но я постарался ответить именно на твой вопрос с примером, как можно было бы сделать и оно будет работать.
26

» WarCraft 3 / Декорации лагеря гноллов

Думаю для Рефа они лучше подойдут, слишком гладкий декор, выделяется)

Хотя бочонки и сумки можно и на SD
26

» WarCraft 3 / Batle for Quel'Thalas

автор, думаю будет полезно
пссс, посмотри
Battle for Quel'Thalas
А также:
Попробуй защитить солнечный колодец, или воскресить в нём лича Кел'Тузада, или возродить империю Амани.
26

» WarCraft 3 / Пак моделей из игр на движке Gold Source.

jasonrus96, так и пропадают ресурсы в бездне и никто их не видит и не находит, даже если действительно нужно...
26

» WarCraft 3 / Сбрасываются триггерные способности

Какой ты хочешь ответ на вопрос "У меня не работает, что делать?". Ну сделай так, чтобы работало :D
Поисследуй, что именно у тебя ломается после загрузки. Не все же способки ломаются а некоторые?
А еще лучше, если ты выложишь карту с указанными способками, чтобы могли посмотреть код, потестить, найти причину. Можно даже вынести способки на отдельную пустую карту если не хочешь палить свою карту.
26

» WarRaft / -jass2lua

nazarpunk, я тоже подумал о подобном варианте для старта, но в идеале да, сделать бы проверку на существующие имена, хех. Интересный проект получается, очень полезный)
26

» WarRaft / -jass2lua

Интересно, как решить проблему зарезервированных имен?)
Попросить ввести замену или автоматически на что-то заменить?
Или просто отказаться конвертировать пока код не поправят по этой причине.
26

» Администрация XGM / Починить просмотрщик mdx

EugeAl, почему бы и нет, можно и текстурку)
Главное чтобы было понятно, где вообще земля :D
26

» Администрация XGM / Починить просмотрщик mdx

Предлагаю добавить сетку с векторами/осями из центра модели. С галочками в настройках, чтобы показывать или прятать их. А то есть модели (пример), которые не понятно, где верх а где низ если крутишь и вообще крутишь ли :D
Загруженные файлы
26

» WarCraft 3 / Где найти наработку?

Altrrik_derff34, если это просто одноразовая катсцена - то ответ изи, вот:
(и в обратную сторону так-же отдать приказ)
Загруженные файлы