Воскрешение в форме друида
Герой использует превращение, как у медведя друида.
Проблема в том, что переменная не всегда понимает что умерла превращенная форма и не считает вторую форму тем же героем, от чего воскрешение может иногда не срабатывать.
переменная глобалка ,udg_Shakal[1] , то есть вначале присваивается только этому герою и больше ни кому. Событие: боевая единица умирает, условие udg_Shakal[1]
Задумался еще вот о чем. Ведь записывается тип боевой единицы в переменную которая вошла один раз в область и потом триг выключается То есть заморфленная форма это как бы другая боевая единица? То есть это происходит н всегда, но иногда варик словно забывает воскрешать заморфленную форму!
function Trig_Select_Shakal_Conditions takes nothing returns boolean
if ( not ( GetUnitTypeId(GetEnteringUnit()) == 'O00G' ) ) then
return false
endif
return true
endfunction
set udg_Shakal[1] = GetEnteringUnit()

Лучший ответ:
map_maiker:
SсRealm:
map_maiker:
Почему нельзя при морфе перезаписать переменную?
Конкретно, указать тип единицы не выходит, можно только дать абилку пустышку, чтобы он ее перезаписал и записался в новую переменную
Причём тут тип единицы?
Просто на событие каста навесить перезапись.
Варик не поймет, что кастанул Превращение в медведя ю то ест он не поймет, что появилась другая единица после превращения. Говорю же, просто дать пустышку способку и при ее касте записать героя в переменную

Короче закрываю вопрос. Морф это полная хрень. Близзы не предполагали, что способку можноо будет давать герою, в том плане что его нужно будет воскрешать, а в этом случае рандом. в какой форме он воскресится, кроме того теги анимации , проигранные через триг сбиваются и выходит, что дальний бой это ближний, ближний это дальний. По старинке сделаю через мое любимое 4 поколение, когда просто подменяется один герой на другой, и ставятся те ж самые характеристики жизни ,манны, прокачки, опыта и всего остального. Так и не глючит и по крайней мере работает.


Views: 103

map_maiker #1 - 1 week ago 0
Голосов: +0 / -0
Помню упоминание бага когда хендл героя менялся. Но я не знаю с чем связано это. Мб и не в этом дело.
И да, можно глянуть триггеры целиком?
Borodach #2 - 1 week ago 0
Голосов: +0 / -0
Морф считается другой БЕ, ссилка shakal[1] пустая будет. При входе на карту юнита с типом морфа, перезаписывай переменную.
SсRealm #3 - 1 week ago 0
Голосов: +0 / -0
Borodach:
Морф считается другой БЕ, ссилка shakal[1] пустая будет. При входе на карту юнита с типом морфа, перезаписывай переменную.
Она работает. Но когда у варика большой загруз не срабатывает триггер воскрешения, иногда.
Попробую. Просто после превращения буду давать еще одну пустую абилку и на единицу, ее использующую попробую перезаписать в эту же переменную
rsfghd #4 - 1 week ago 0
Голосов: +0 / -0
Borodach, не будет пустой ссылка, у меня триггеры спокойно с морфами работали. Вот если юзать замену, то будет пустой
map_maiker #5 - 1 week ago 0
Голосов: +0 / -0
Почему нельзя при морфе перезаписать переменную?
SсRealm #6 - 1 week ago 0
Голосов: +0 / -0
map_maiker:
Почему нельзя при морфе перезаписать переменную?
Конкретно, указать тип единицы не выходит, можно только дать абилку пустышку, чтобы он ее перезаписал и записался в новую переменную
map_maiker #7 - 1 week ago 0
Голосов: +0 / -0
SсRealm:
map_maiker:
Почему нельзя при морфе перезаписать переменную?
Конкретно, указать тип единицы не выходит, можно только дать абилку пустышку, чтобы он ее перезаписал и записался в новую переменную
Причём тут тип единицы?
Просто на событие каста навесить перезапись.
SсRealm #8 - 1 week ago -1
Голосов: +0 / -1

map_maiker:
SсRealm:
map_maiker:
Почему нельзя при морфе перезаписать переменную?
Конкретно, указать тип единицы не выходит, можно только дать абилку пустышку, чтобы он ее перезаписал и записался в новую переменную
Причём тут тип единицы?
Просто на событие каста навесить перезапись.
Варик не поймет, что кастанул Превращение в медведя ю то ест он не поймет, что появилась другая единица после превращения. Говорю же, просто дать пустышку способку и при ее касте записать героя в переменную

Короче закрываю вопрос. Морф это полная хрень. Близзы не предполагали, что способку можноо будет давать герою, в том плане что его нужно будет воскрешать, а в этом случае рандом. в какой форме он воскресится, кроме того теги анимации , проигранные через триг сбиваются и выходит, что дальний бой это ближний, ближний это дальний. По старинке сделаю через мое любимое 4 поколение, когда просто подменяется один герой на другой, и ставятся те ж самые характеристики жизни ,манны, прокачки, опыта и всего остального. Так и не глючит и по крайней мере работает.
map_maiker #9 - 1 week ago 0
Голосов: +0 / -0
Варик не поймет, что кастанул Превращение в медведя ю то ест он не поймет, что появилась другая единица после превращения. Говорю же, просто дать пустышку способку и при ее касте записать героя в переменную
Что значит "не поймёт"?
Borodach #10 - 1 week ago (изм. ) 0
Голосов: +0 / -0
SсRealm, Когда то я делал так: при касте записал в переменную, ждал время превращения, после присваивал глобалке юнита из переменной каста. Вроде так было...
SсRealm #11 - 1 week ago 0
Голосов: +0 / -0
Borodach:
SсRealm, Когда то я делал так: при касте записал в переменную, ждал время превращения, после присваивал глобалке юнита из переменной каста. Вроде так было...
Ждать времени нет. Герой должен активно менять способки, а игрок не страдать и не ловить глюки. Да, можно было бы тупо сделать кулдаун способки, но вот не задача! У меня на карте Акцент ставится именно на взаимодействие между игроками( делать совместные магии, меняться оружием) И как раз Один из героев, с которым взимодействует мой персонаж имеет способку обнуления чужих Кулдаунов!
В общем, я уже сделал второго героя- двойника, и он замечательно подменяется и воскрешается. В перспективе еще сделаю третьего, двойника, у которого будет снайперка и уведичится дальность атаки. Можно сделать через длинноствольные мушкеты,но там гемор откатывать назад абилки
map_maiker #12 - 6 days ago 2
Голосов: +2 / -0
Я всё ещё не понял момент с незаписью юнита в переменную. При каких условиях это возникает?

Сейчас дал герою морф медведя, сделал триггер, который после морфа через секунду убивает и ещё через секунду ресает. Несколько раз покастовал - всё норм.

Скрин триггера:
Прикрепленные файлы
SсRealm #13 - 6 days ago 0
Голосов: +0 / -0
map_maiker:
Я так и не нашел закономерность. Да, у меня воскрешается через глобалку. Ну то есть я могу конечно скопировать значение глобала в локалку, а потом это все провернуть, но не думаю, что это прямо что то кординально изменит. Опять же воскрешение в разных формах не предсказуемо.
Да и я уже сделал через подмену героя. Ну только что баффы не наследуются, но для карты на удержание героями это вообще не принципиально
map_maiker #14 - 6 days ago 0
Голосов: +0 / -0
Я так и не нашел закономерность.
Так понимаю, это редко?
Да, у меня воскрешается через глобалку.
А перезаписаться не может? Имею в виду, в другом месте, другим юнитом, чисто по ошибке/случайно.
SсRealm #15 - 5 days ago 0
Голосов: +0 / -0
map_maiker:
Я так и не нашел закономерность.
Так понимаю, это редко?
Да, у меня воскрешается через глобалку.
А перезаписаться не может? Имею в виду, в другом месте, другим юнитом, чисто по ошибке/случайно.
Рандом. Нет , не может. Только у этого юнита есть переменная с его значением.
Вообще, скорее всего потому что это триггеры и глобалки. Я за шесть лет не однократно замечал, что даже идеальный триггер в принципе, может "тормозить" от случая к случаю. Глобальные иногда вообще " не успевают" просто. Как то так
map_maiker #16 - 5 days ago 0
Голосов: +0 / -0
Рандом. Нет , не может. Только у этого юнита есть переменная с его значением.
Я к тому, что может по ошибке где-то перезаписывается.
Ради интереса, это именно триггеры или как? А то мб jass с мемхаком и из-за неаккуратной работы с память такое происходит.