Доброго времени суток!
Вот во время создания карты я не раз забрасывал карту, и бывало что забывал на какой целочисленной в переменных остановился, например я остановился на переменной "Caster[16] = применяющий способность юнит", забросил карту на полгода, вернулся и забыл на какой целочисленной остановился, и дабы не перелистать все триггеры в поисках "Caster[16] = применяющий способность юнит" спрошу: Есть ли какой-нибудь способ узнать это? То есть на какой целочисленной?

Комментарии оставляй на местах, где не закончил.
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
11
Ну самый простой способ это записать в карте индекс массива
21
Зачем вообще использовать массивы? Всегда думал зачем так делают гуишники.
15
У меня Caster без массива, конфликтов не было, когда я только начинал делать думал как ты про массив
11
Desgul, конфликтов нет, если записывать для 5 способностей Кастера в одну переменную для одного героя. А если уже записывать другие параметры и спелы посложнее будут то будут приветы
21
Я не про массивы в целом, а про те темповые массивы, которые используют гуйщики. Caster[1], Caster[2], Caster[3] и т.д. Можно использовать Caster без массива. Или создавать другую переменную.

Например: DeatCoil_caster, DeathCoil_damage, HolyLight_caster, Bladestorm_caster и т.д. Так все глобалки одной способности будут находиться рядом в редакторе переменных.

И не будлет никакой путаницы с индексами.
15
Например: DeatCoil_caster, DeathCoil_damage, HolyLight_caster, Bladestorm_caster и т.д. Так все глобалки одной способности будут находиться рядом в редакторе переменных.
Я тут заметил, что гуишник не пользуются хэшом строки в сочетании с таблицей. Вообще. Никогда. Это бы им сильно упростило жизнь
Save Handle of Unit as StringHash("Target") of StringHash("DeathCoil")
В том числе как громоздкая замена CustomScript вставкам. Например, если есть некая таблица FunctionTable
// Дескать, как передача параметров в функцию
Save 250 as StingHash("H") of StingHash("GetParabolaZ") in FunctionTable
Save 1000 as StingHash("D") of StingHash("GetParabolaZ") in FunctionTable
Save 380 as StingHash("X") of StingHash("GetParabolaZ") in FunctionTable
// Дескать, как вызов функции
Trigger - Run GetParabolaZ <gen> (ignoring conditions) 
// Дескать, возвращаемое значение
Change (Triggering unit) flying height to (Load StringHash("Result") of StringHash("GetParabolaZ") from FunctionTable) at 0.00
У кодера, конечно, глаза на лоб полезут от такого, но для гуишников в самый раз. Все StringHash они могут при инициализации заменить на целые переменные и получить простое
Save 250 as H of "GetParabolaZ in FunctionTable
Save 1000 as D of GetParabolaZ in FunctionTable
Save 380 as X of GetParabolaZ in FunctionTable
Trigger - Run GetParabolaZ <gen> (ignoring conditions)
Change (Triggering unit) flying height to (Load Result of GetParabolaZ from FunctionTable) at 0.00
28
Никогда не использовал StringHash. В vJass есть тип key, который при должном умении запросто заменяет это.

К тому же я не уверен, что не существует двух разных строк, что дают одинаковый хеш. В то же время все key между собой всегда будут различными.
26
даже в гуи можно использовать числа для ключей
28
GetLocalPlayer, я не понял, причём тут хеш и хеш-таблицы, в обсуждениях выше не увидел их упоминания.
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.