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

Принятый ответ

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

ответ
Что такое "назначить пользовательский параметр юнита или предмета" и как им пользоваться?
Используется для сохранения каких-нибудь своих данных в этот конкретный предмет или юнита
Добрые люди, как присвоить глобальной переменной (целочисленной) цену определенного предмета (так чтобы если изменить цену в редакторе объектов, то в редакторе триггеров она сама изменялась) или какая главная характеристика определенного героя (разум, сила, ловкость).
Никак, только руками указывать или использовать это xgm.guru/p/fly-data
ответ
Steal nerves:
Мне не нужно сохранять героя, в этом то и проблема, так бы я просто скопировал чужую наработку.
Все, мне помог один очень хороший человек.
ответ
8gabriel8,
Если что, скидывай карту.
Беда в том, что эта карта из кампании, там всё очень много весит, потому не буду.
PT153,
ну как там дела?
Пока никак, ибо из-за сессии отложил редактор в сторону (собственно, даже сюда времени зайти не было, к сожалению)
Рад, что ты предложил выход, но я, боюсь, твой код себе никак не перенесу, ибо, как писал в вопросе, лишь на GUI могу работать.
8gabriel8,
мне кажется, проблема не в этом триггере, а в другом, который запускает триггеры и таймеры.
Триггер, запускающий таймер, вряд ли многое испортить может
Мдаааа... Я свою ошибку таки нашёл. Она была в самом тупом месте из всех возможных.
Я действительно не понимаю, это у меня голова не работает совершенно, или в редакторе какие-то баги
Цитата из вопроса, у меня не работает голова.
Так вот, это я дурак полный.
Запихнул обнуление своей переменной ВНИМАНИЕ! в триггер, который игрокам-компьютерам каждые 2 секунды обновляет ресурсы. А вместе с этим и обнуляет снова и снова мою переменную. Обнаружил ли я это через дебаги? Нет, просто от скуки и безнадёжности положения начал прокручивать и листать все триггеры.
Спасибо всем, кто пытался помочь, это было очень приятно) Мне жаль, что вы ломали голову и тратили время впустую по моей глупости и невнимательности.
ответ
Простым способом это не сделаешь, т.к нельзя отловить кол-во полученного золото с убийства (патч 1.26). Но, если игрок не получает больше неоткуда золото, кроме убийства крипов, то можно ловить изменения голды игрока.
ответ
Black Soul:
Вот пример того, как можно сделать:
Карта:

0
26
4 года назад
0
зачем вообще так делать?
0
5
4 года назад
0
Hate:
зачем вообще так делать?
Ну чтобы триггеры не конфликтовали между собой, вдруг применятся сразу два разных заклинания, а у них одинаковые caster[16]?
0
26
4 года назад
0
что то всегда выполнится первым
0
5
4 года назад
0
Hate:
что то всегда выполнится первым
Ну тогда еще вот: У caster[16] в первом триггере заклинание долгосрочна, а на втором мгновенная. И как я знаю, надо чистить за ними, дабы не захламлять память (все это проделываю в GUI). Ну со вторым все понятно, применил спелл, почистил, а для первого нужно дождаться, пока заклинание не прекратит действовать и лишь потом почистить переменную.
0
37
4 года назад
Отредактирован ScorpioT1000
0
Введи константы
MY_AWESOME_SPELL = 15
GODDAMN_ABIL = 16

... = Caster[GODDAMN_ABIL]
0
19
4 года назад
0
Комментарии оставляй на местах, где не закончил.
Принятый ответ
0
26
4 года назад
0
Stress:
Hate:
что то всегда выполнится первым
Ну тогда еще вот: У caster[16] в первом триггере заклинание долгосрочна, а на втором мгновенная. И как я знаю, надо чистить за ними, дабы не захламлять память (все это проделываю в GUI). Ну со вторым все понятно, применил спелл, почистил, а для первого нужно дождаться, пока заклинание не прекратит действовать и лишь потом почистить переменную.
локальные переменные например
0
11
4 года назад
0
Ну самый простой способ это записать в карте индекс массива
0
21
4 года назад
0
Зачем вообще использовать массивы? Всегда думал зачем так делают гуишники.
0
15
4 года назад
0
У меня Caster без массива, конфликтов не было, когда я только начинал делать думал как ты про массив
0
11
4 года назад
0
Desgul, конфликтов нет, если записывать для 5 способностей Кастера в одну переменную для одного героя. А если уже записывать другие параметры и спелы посложнее будут то будут приветы
0
21
4 года назад
0
Я не про массивы в целом, а про те темповые массивы, которые используют гуйщики. Caster[1], Caster[2], Caster[3] и т.д. Можно использовать Caster без массива. Или создавать другую переменную.

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

И не будлет никакой путаницы с индексами.
0
17
4 года назад
Отредактирован GetLocalPlayer
0
Например: 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
0
28
4 года назад
Отредактирован PT153
0
Никогда не использовал StringHash. В vJass есть тип key, который при должном умении запросто заменяет это.

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