Веду хеш таблицы, чтобы проверять доступность героя. Тип юнита unavailable равно да/нет. На скрине показано как я проверяю доступность. Ессно, есть триггер, который записывает данные в хэш таблицы, чтобы сделать героя недоступным.
Но вопрос в том, если данные не были прописаны в таблицу, какой результат они…
Вопрос
10 68
9
WilliamBz, хотя, кажется я нашёл ответ.
    Set UnitType = Medivh
    Custom script: set udg_TempInteger = udg_UnitType
    Hashtable - Save 100 as 0 of TempInteger in YourHashtable
9
konvan5, а как мне тогда использовать unit type как ключ?
Есть ли способ через гуи легко конвертировать unit type в integer?
Спасибо большое за ответ!
25
Итак, у тебя как минимум 2 ошибки в понимании происходящего:
  1. Конвертация типа юнита в строку и в число потом будет равно 0. Потести на разных вариантах. Выведи в чат результат. Поэтому даже используя разные типы юнитов ты всегда сохраняешь в одну ячейку все данные перезаписывая старые данные других юнитов.
  2. Предположим первую проблему ты решил. Тебе надо проверить, существует ли вообще значение, сохранял ли, прежде чем его загрузить? Ну так используй действие на проверку, а потом уже загружай и проверяй, true там или false. Вот тебе быстрый пример такой проверки:
Загруженные файлы
Принятый ответ
9
IzobretatelBoom, а может быть у меня неверно указан ключ?
До этого я пробовал использовать ключ unit type напрямую, но всегда возвращалось false. Тогда я заместо ключа стал использовать integer, который получаю из строки, которую получаю от unit type.
Я это тестанул и это работало. Но в другом триггере это уже не работает.
Непонятно все. Непредсказуемо с этим варкрафтом ничего.
9
IzobretatelBoom, непонятно вообще.
Допустим герой доступен (его ещё не купили). Получается:
Hero unavailable = false
И вот как выглядит триггер:
If Hero unavailable = false
Then приказать алтарю покупать героя
Else do nothing
Тоесть следуя этой логике, мой герой доступен. А раз он доступен то алтарь должен его нанять. Но происходит ничего.
Функция покупки героя работает, проверено. Проблема в проверке условия. Оно выдает противоположный результат.
В SharpCraft очень удобно сделали, что можно изменять описание способностей. Можно переводить триггерно карту на любой язык.
Можно ли в SharpCraft или стандартном редакторе изменить описание юнита?
Вопрос
4 67
9
Smeto, к сожалению у меня не реф, а 1.29.2. Видимо это невозможно.
9
Если у тебя рефа, то можно поменять имя
call BlzSetUnitName
Или подменять юнита ReplaceUnitBJ
Либо 100% ВИЗУАЛЬНО рабочий вариант через фреймы
local framehandle tooltipFrame = BlzCreateFrame("MyTooltipTemplate", ...
call BlzFrameSetText(tooltipFrame, "Новое описание юнита")
Принятый ответ
Восточные Пустоши - карта на прохождение (like a "Охотники"), где игрокам предстоит исследовать древние пустоши и познакомиться с её обитателями.
Карта
7 1 639
15
RvzerBro, мое почтение, только вчера в топик заходил и подумал, что похоже автор подзабил на карту, а тут на тебе. Работа то движется! Так держать!