9

» WarCraft 3 / Как работают незаполненные данные в хэш-таблицах?

WilliamBz, хотя, кажется я нашёл ответ.
    Set UnitType = Medivh
    Custom script: set udg_TempInteger = udg_UnitType
    Hashtable - Save 100 as 0 of TempInteger in YourHashtable
9

» WarCraft 3 / Как работают незаполненные данные в хэш-таблицах?

konvan5, а как мне тогда использовать unit type как ключ?
Есть ли способ через гуи легко конвертировать unit type в integer?
Спасибо большое за ответ!
9

» WarCraft 3 / Как работают незаполненные данные в хэш-таблицах?

IzobretatelBoom, а может быть у меня неверно указан ключ?
До этого я пробовал использовать ключ unit type напрямую, но всегда возвращалось false. Тогда я заместо ключа стал использовать integer, который получаю из строки, которую получаю от unit type.
Я это тестанул и это работало. Но в другом триггере это уже не работает.
Непонятно все. Непредсказуемо с этим варкрафтом ничего.
9

» WarCraft 3 / Как работают незаполненные данные в хэш-таблицах?

IzobretatelBoom, непонятно вообще.
Допустим герой доступен (его ещё не купили). Получается:
Hero unavailable = false
И вот как выглядит триггер:
If Hero unavailable = false
Then приказать алтарю покупать героя
Else do nothing
Тоесть следуя этой логике, мой герой доступен. А раз он доступен то алтарь должен его нанять. Но происходит ничего.
Функция покупки героя работает, проверено. Проблема в проверке условия. Оно выдает противоположный результат.
9

» WarCraft 3 / Как работают незаполненные данные в хэш-таблицах?

IzobretatelBoom, почему-то у меня данные выдаются как true. Хотя я не записывал их так.
Видимо где-то в моих триггерах есть баги.
9

» WarCraft 3 / Помогите найти ошибку в системе выбора героя у ИИ

С помощью дебагов обнаружил, что функция Hashtable - Load Integer of X of get handle ( units of type ) не работает.
Методом многочисленных проб и ошибок я смог найти как обойти баг с Units of Type в Хэштаблицах. Нужно сделать следующее:
Key ( Convert String to Integer ( Convert Unit type to String)
Т.е. нам нужно представить ключ в хэш таблице как число. Конвертировать строку в число. Конвертировать тип юнита в строку. Чтобы в конечном счёте получить зашифрованное число типа юнита. Т.к. хэш таблицы понимают только числа.
Если кто знает способ лучше - сообщите.
9

» WarCraft 3 / Заставить ИИ кастовать заклинания из спеллбука

Мне кажется, проще для ИИ накидывать способности из спеллбука отдельно, без самого спеллбука. Спеллбук больше обёрточка для игрока.
9

» WarCraft 3 / Melee Campaign Heroes Pack - 167 maps

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

» WarCraft 3 / как поменять размер кода

Только если установить какой-нибудь Better Triggers. Это самый безопасный варик.
Ещё можно использовать SharpCraft. Но тогда откатиться на стандартный редактор уже не получится. Ты навечно застрянешь со своей картой в этом редакторе. Вернуться можно будет только если полностью переписать триггеры.
9

» WarCraft 3 / как заставить юнит(танк) вращать свою башню при атаке через триггеры?

Пришла идея, сделать башню отдельным юнитом, который просто телепортировать каждые 0,01 секунды на позицию танка.
9

» WarCraft 3 / Melee Campaign Heroes Pack - 167 maps

Saen Taar, мне кажется это реально. У меня в голове крутятся мысли это реализовать. Либо в следующем патче, либо в через один попробую это добавить.
Интересно, смогут ли боты строить в произвольных местах верфи, или они будут пытаться строить из на базе. От этого зависит вообще буду ли я это делать.
9

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

Makeba, я пробовал делать через стандартный train unit в гуях. Не получалось. Это у тебя видимо какая-то другая функция, джассовская?
9

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

quq_CCCP, не получается, т.к. ограниченное количество выбираемых героев. Он будет пытаться выбрать героя которого нет и фризить.
Может есть код который проверит Available героя. Или количество доступных для summon героев?
9

» WarCraft 3 / Делаю рандом на пик героев но почемуто герои повторяюся.

EnergyFrost, а если рандом будет каждый раз выпадать на 1, а этот номер будет уже занят? Возможны ведь тогда фризы и вылет, теоретически.
9

» WarCraft 3 / Проверка победил ли кто-нибудь из игроков

konvan5, ок, спасибо. Вот так сделал. Норм?
Выцепляем номер команды среди не проигравших;
Проверяем на соответствие к команде;
Если какой-то из игроков не соответствует, то пропускаем оставшиеся условия.
Загруженные файлы
9

» WarCraft 3 / Проверка победил ли кто-нибудь из игроков

konvan5, а как это сделать? Взять случайного игрока, и сравнить его тиму с тимами оставшихся? Ну можно и так. Но проблема всё равно оказалось в другом - что я рукожоп. Как обычно. Заменил игрока для убитого юнита, а потом удивлялся почему ничего не работает.
9

» WarCraft 3 / Проверка победил ли кто-нибудь из игроков

konvan5, если остались 3 команды в игре, значит ещё никто не победил. Триггер будет срабатывать только если осталась одна команда.
9

» WarCraft 3 / Проверка победил ли кто-нибудь из игроков

Нашёл в чём косяк. На скрине видны триггеры которые отключены. Я их отключил для наглядности, чтобы вы понимали где формула. Короче там все юниты игрока меняют игрока на пассивного. И соответственно дальше в моей формуле считается уже пассивный игрок. Поэтому ничего не работало. А так всё работает.
9

» WarCraft 3 / Проверка победил ли кто-нибудь из игроков

konvan5, с назначением побед проблем нет. У меня стандартный модификатор Melee, который сам проверяет проигравших и победивших. Но мне понадобилось отследить, если кто-то победил. Но как триггерно это сделать - хз. Вроде бы сделал, но почему-то не запускается.