Как сделать состояние предмета вкл./выкл.?
Дело в том,что я создал предмет со способностью,за основой которой было взято "Превращение в медведя".Я создал двух юнитов,один с моделью оружия,другой без.Идея в том,что когда юнит подбирает предмет и использует его,он превращается во второго юнита с оружием,но после этого он не может вернуть назад свой облик,если использовать предмет... Только выбросив предмет вернётся исходный юнит...
Искал на сайте,не нашёл ничего похожего.
UPD Первостепенная задача: Сделать у предмета переключатель (вкл./выкл.)
(Ответ от 8gabriel8)
Второстепенная задача: Сделать у предмета возможность морфиться(перевоплощаться)
(Ответ от 8gabriel8)

Лучший ответ:
Интересно про звук смерти, ранее на это внимания не обращал. Но вообще сами модели не менял, просто сделал копии модели портрета для всех игровых вооружённых моделей.

Проверил звук предсмертного крика, похоже на проблемы с самими вооружёнными моделями, а именно звук смерти не привязан к кости и выставлен не на то время анимации. Потому что не только звук проигрывается позже, но и при смерти одного бойца, проигрывания крика в период разложения тела, а потом смерти другого бойца, вскоре опять кричит первое тело. Но посмотрю модели опять позже.
Как ты мог заметить, работаю над картой лишь по чуть-чуть вечерами. Потому что много дел, банально до тебя очередь доходит лишь перед сном. Поэтому проверяй и тестируй работу триггеров уж самостоятельно, ну то есть всё, как у нас обычно происходит)
В этот раз с триггерами вроде всё закончил.
Приказы на выкидывание/передачу предмета из инвентаря не получилось отследить, по крайней мере проверка не показала, что это приказ Щелчок правой кнопкой мыши, потому сделал костыльные методы. Теперь система состоит из 5 триггеров:
  • Первый триггер отлавливает использование оружия, чтобы в нём не срабатывали события костыльных триггеров на потерю предмета, устанавливаю в начале логической переменной значение Да. Костыльные триггеры срабатывают, лишь когда значение переменной Нет. Потом циклом по А просматриваем слоты инвентаря юнита, когда в слоте будет лежать используемое оружие, присваеваем его номер переменной, запоминаем в переменную тип предмета и уничтожаем его, обнулив те значения, которые мы заблаговременно запомнили. Далее соотносится каждое оружие с типом предмета, если совпало, то создаём в запомненном слоте аналог Разоружиться для этого оружия и накидываем соответствующий Тёмный. И потом опять цикл проверки слотов, кроме того, где использованное оружие, но уже цикл по В, так как два цикла по одному значению в одном триггере обычно сбоят. Этот цикл проверяет остальные предметы на разные Разоружиться, если вдруг юнит просто меняет, например, пистолет на автомат, и заменяет Разоружиться соответствующим оружием. В самом конце логическую переменную устанавливаем на Нет;
  • Второй триггер реагирует на использование Разоружиться, в нём тоже запоминаем слот и тип предмета перед удалением, потом даём юниту соответствующее оружие, а установка безоружного Тёмного для уменьшения объёма выполняется в костыльном триггере;
  • Третий триггер заменяет Разоружиться у бойца на соответствующее оружие, если оно было передано ему другим бойцом;
  • Четвёртый триггер устанавливает безоружного Тёмного, когда юнит теряет этот предмет, а заодно назначает переменную для предмета и запускает минимальный таймер, что необходимые для пятого триггера;
  • Пятый триггер проверяет через минимальное время, есть ли предмет на карте, так как при передаче кому-то Разоружиться было бы удалено. Если бы был удалён, то тип предмета не определялся бы, триггер не выполнился бы по условию. Далее запоминается тип предмета и его локация, он удаляется, а на его месте создаётся соответствующее оружие.



Просмотров: 739

Extremator #1 - 5 месяцев назад 1
Через предмет и абилку превращения в нём ничего не получится.
Так что ищи другой вариант... Мб кто-что предложит.
Но то что ты сделал - точно не будет работать как надо.
Единственное решение у тебя там - дать сверху еще один предмет, с еще одним превращентем, проюзать его, и выбросить. Тогда юнита откатит во вторую форму на постоянку (вроде так багалось, хотя может и ошибаюсь).
8gabriel8 #2 - 5 месяцев назад 0
Подменяй предмет просто.
Bergi_Bear #3 - 5 месяцев назад 0
8gabriel8, никогда не проверял, но там кажется какие то баги с подменой и Extremator, прав, мне тоже мысль о подмене пришла, ибо это самый легчайший способ
GIAGTA #4 - 5 месяцев назад 2
8gabriel8:
Подменяй предмет просто
Как именно ты предлагаешь это сделать?
Extremator #5 - 5 месяцев назад 1
GIAGTA, он скорее всего не понял что потеря предмета вызывает сброс превращения.
8gabriel8 #6 - 5 месяцев назад 0
Bergi_Bear, не приходилось сталкиваться, может вспомнишь, что конкретно имелось ввиду?
GIAGTA, сейчас подумал, что тебе может быть нужна анимация превращения, а не мгновенное перевоплощение юнита в другого. В таком случае немного иначе делается, к тому же нужно знать, есть ли у модели юнита анимации превращения и какие, либо нужно как-то иначе реализовать? А под подменой предмета имел ввиду, что предмет на 0.1 секунды будет заменяться на такую же пустышку, потом снова пустышку менять на предмет.
Extremator, понял, но твой комментарий породил второй вопрос. А нужно ли сохранять форму, если предмет выпадает?
GIAGTA #7 - 5 месяцев назад 2
8gabriel8:
Про подмену предмета я понял,Extremator: понял про что я толковал.Без разницы какое будет перевоплощение,мгновенное или с анимацией (разницы как по мне нету),у моей модели нету анимации перевоплощения.
Extremator #8 - 5 месяцев назад 0
8gabriel8, ему надо что бы морф легко делал вкл/выкл, без заморочек.
Но используя предмет нельзя прожать в абилке отмену морфа.
pro100master #9 - 5 месяцев назад 1
а не проше 2 итемный ловить? А там уже определить если
  • тип предмета равно равкод
  • тип юнита не равно какой то левый морф
Действие: вернуть тот указаный морф
то есть чекаем чужих морф и идет обратный морф я давно такое делал.. Но как выше и сказали есть и баги.
GIAGTA #10 - 5 месяцев назад 2
pro100master:
Так,а можно ещё раз и попонятнее?
quq_CCCP #11 - 5 месяцев назад 0
Автор, таки тебе нужен предметный морф или предмет переключатель?
Если морфы, они плохо работают у предметов.
Для переключателя потребуется 2 предмета, вкл и выкл, ну а сам морф делать руной, в моей статье подробно описано как.
8gabriel8 #12 - 5 месяцев назад 0
Объяснять все нюансы довольно долго, проще карту показать:
Версия с одним предметом.
Сделал не через превращение в медведя, а через способность Тёмный. Задержка перед выдачей способности обязательна, она предотвращает баг, когда здоровье или же статы героя удваиваются, хотя тут не стал проверять. Копируй три способности, предмет и триггер, описание с иконкой у предмета подгонишь под себя. Способность Канал-это пустышка для кулдауна предмета.
прикреплены файлы
quq_CCCP #13 - 5 месяцев назад 0
8gabriel8, темный неочень для героев, багуют бонусы от стаов, предметов.
8gabriel8 #14 - 5 месяцев назад 0
quq_CCCP, но вейтом это лечил, когда багались.
Чего-то никак красиво не получается версия с двумя предметами.
GIAGTA, короче, получилась реально какая-то дрянь с двумя предметами, надоело с ней возиться. Скинь лучше карту с твоими юнитами, чтобы ровно под них сделать. И такой юнит только один у игрока может быть или одновременно несколько?
Boyazitov #15 - 5 месяцев назад 0
xgm.guru/p/wc3/powerups Юзай морф через руну, сам так делаю
GIAGTA #16 - 5 месяцев назад 2
8gabriel8:
quq_CCCP, но вейтом это лечил, когда багались.
Чего-то никак красиво не получается версия с двумя предметами.
GIAGTA, короче, получилась реально какая-то дрянь с двумя предметами, надоело с ней возиться. Скинь лучше карту с твоими юнитами, чтобы ровно под них сделать. И такой юнит только один у игрока может быть или одновременно несколько?
Держи
прикреплены файлы
8gabriel8 #17 - 5 месяцев назад 0
Как обычно осмотр карты кардинально меняет подход) Пока занят, попозже сделаю.
Steal nerves #18 - 5 месяцев назад (отредактировано ) 0
8gabriel8:
quq_CCCP, но вейтом это лечил, когда багались.
это все равно багается. проверил вашу карту только что. я артефакт с бонусной защитой взял, и у меня бронька увеличивалась. думал найден рецепт, придется руной
8gabriel8 #19 - 5 месяцев назад 1
GIAGTA, опять с одним предметом всё получилось элементарно, а с двумя долго промучался с триггерами, пока через несколько дебагов не обнаружил, что проблема была в редакторе объектов, где создал вторые версии предметов не из имевшегося оружия, а на основе рун, то есть с другими свойствами. В карте две категории триггеров - для одного предмета и для двух, когда включаешь одну категорию, вторую отключай. Причём вторую категорию ещё предстоит доделать, там скорее всего получится немного оптимизировать триггеры, нужно сделать, чтобы предмет экипированного оружия становился неэкипированным, когда вооружаешься другим оружием, нужно сделать, чтобы экипированный предмет при выбрасывании на землю оказывался именно там, куда его выбросили, а пока он появляется в позиции юнита. По идее это делать не очень долго, но мне сегодня уже надоело с этим оружием сидеть.
P. S. Как видишь, твоя система с двумя предметами-переключателями, получается весьма большой. Может быть стоило попробовать способ с морфами, описанный в статье quq_CCCP, но на этапе проектирования он мне показался не менее громоздким, так как всё равно потребовалось бы заменять предметы при морфе.
Steal nerves, да, броня героев при баффах багает. Проверил, не будет бага, только снимая предметы с повышением защиты за 0.02 секунды до наложения Тёмного, а также защитные баффы, например, Доспехи веры. Но у автора вопроса всё равно обычные юниты, а не герои, для них Тёмный не багает. Единственный минус по сравнению с морфом, что текущий приказ сбивается.

GIAGTA, да, ещё поставил твоим вооружённым бойцам портреты, а то уныло тестировать было, глядя в черноту)
прикреплены файлы
GIAGTA #20 - 5 месяцев назад 2
8gabriel8:
Система получилась большой конечно).Но там при касте "Разоружиться" предмет появляется на земле (в инвентаре лежит оружие).Ну это уже я сам доделаю).Возможно есть ещё недочёты,я ещё не всё проверил.
8gabriel8 #21 - 5 месяцев назад 0
GIAGTA:
там при касте "Разоружиться" предмет появляется на земле (в инвентаре лежит оружие).
Какое-то конкретное оружие или все этим страдают? Потому что проверял, всё на месте было.
Система получилась большой конечно)
Честно говоря, занимаюсь этим, чтобы освежить воспоминания по работе с предметами, а то, судя по другим вопросам, допускаю серьёзные ошибки. Так бы просто систему с одним предметом показал, а про систему из двух указал бы, что это муторное излишество)
GIAGTA #22 - 5 месяцев назад 2
8gabriel8:
Тестировал систему с двумя предметами,все оружия за исключением (вроде как) винтовки страдают этим.Щас смотрю с 1 предметом.Ты ведь за основу морфа Тёмный взял?Я просто с обычного WE щас сижу.
8gabriel8 #23 - 5 месяцев назад 1
Да, Тёмный. С обычного редактора тогда мне тоже надо будет запустить и проверить.
Но там при касте "Разоружиться" предмет появляется на земле
Винтовка тоже страдает этим, просто не тот предмет ей поставил, у которого модель невидима. Позанимался системой из двух предметов, чуть сократил первые два триггера, но потом первый вырастил, чтобы при смене оружия прежнее Разоружиться заменялось соответствующим оружием. Триггер на выброс оружия надо будет сделать иначе, по идее это должно быть два триггера с приказами Щелчок правой кнопкой мыши для предметов или слотов инвентаря, направленных на объект или точку. Сделаю опять уже не сегодня.
прикреплены файлы
GIAGTA #24 - 5 месяцев назад 2
8gabriel8:
Кстати говоря,после изменения тобой модели,анимации смерти стали вести себя неестественно,т.е при смерти они раньше издавали звук смерти,параллельно падая,теперь они сначала падают,потом кричат).Ну в целом с морфом ты мне помог,возьму на заметку с тёмным,пасиб)
8gabriel8 #25 - 5 месяцев назад 0

Интересно про звук смерти, ранее на это внимания не обращал. Но вообще сами модели не менял, просто сделал копии модели портрета для всех игровых вооружённых моделей.

Проверил звук предсмертного крика, похоже на проблемы с самими вооружёнными моделями, а именно звук смерти не привязан к кости и выставлен не на то время анимации. Потому что не только звук проигрывается позже, но и при смерти одного бойца, проигрывания крика в период разложения тела, а потом смерти другого бойца, вскоре опять кричит первое тело. Но посмотрю модели опять позже.
Как ты мог заметить, работаю над картой лишь по чуть-чуть вечерами. Потому что много дел, банально до тебя очередь доходит лишь перед сном. Поэтому проверяй и тестируй работу триггеров уж самостоятельно, ну то есть всё, как у нас обычно происходит)
В этот раз с триггерами вроде всё закончил.
Приказы на выкидывание/передачу предмета из инвентаря не получилось отследить, по крайней мере проверка не показала, что это приказ Щелчок правой кнопкой мыши, потому сделал костыльные методы. Теперь система состоит из 5 триггеров:
  • Первый триггер отлавливает использование оружия, чтобы в нём не срабатывали события костыльных триггеров на потерю предмета, устанавливаю в начале логической переменной значение Да. Костыльные триггеры срабатывают, лишь когда значение переменной Нет. Потом циклом по А просматриваем слоты инвентаря юнита, когда в слоте будет лежать используемое оружие, присваеваем его номер переменной, запоминаем в переменную тип предмета и уничтожаем его, обнулив те значения, которые мы заблаговременно запомнили. Далее соотносится каждое оружие с типом предмета, если совпало, то создаём в запомненном слоте аналог Разоружиться для этого оружия и накидываем соответствующий Тёмный. И потом опять цикл проверки слотов, кроме того, где использованное оружие, но уже цикл по В, так как два цикла по одному значению в одном триггере обычно сбоят. Этот цикл проверяет остальные предметы на разные Разоружиться, если вдруг юнит просто меняет, например, пистолет на автомат, и заменяет Разоружиться соответствующим оружием. В самом конце логическую переменную устанавливаем на Нет;
  • Второй триггер реагирует на использование Разоружиться, в нём тоже запоминаем слот и тип предмета перед удалением, потом даём юниту соответствующее оружие, а установка безоружного Тёмного для уменьшения объёма выполняется в костыльном триггере;
  • Третий триггер заменяет Разоружиться у бойца на соответствующее оружие, если оно было передано ему другим бойцом;
  • Четвёртый триггер устанавливает безоружного Тёмного, когда юнит теряет этот предмет, а заодно назначает переменную для предмета и запускает минимальный таймер, что необходимые для пятого триггера;
  • Пятый триггер проверяет через минимальное время, есть ли предмет на карте, так как при передаче кому-то Разоружиться было бы удалено. Если бы был удалён, то тип предмета не определялся бы, триггер не выполнился бы по условию. Далее запоминается тип предмета и его локация, он удаляется, а на его месте создаётся соответствующее оружие.
прикреплены файлы
GIAGTA #26 - 5 месяцев назад 2
8gabriel8:
Блин,ну ты радуешь своими наработками,да и ещё большими).Система с двумя айтемами проделана до мелочей (возможно).Но в двух системах есть одна особенность (ну это уже мои капризы),когда берёшь базуку,стреляешь её автоатакой,берёшь другое оружие (я брал пистолет),то юнит ждёт пока пройдут секунды каждой атаки (скорость атаки) базуки.
UPD
При убийстве всех юнитов с оружием (кроме автоматчика) с них не дропаются соответствующее оружие.
8gabriel8 #27 - 5 месяцев назад 0
В вопросе ты отметил, что нужен предмет-переключатель и предмет-морф. А чем не подходит предмету-переключателю в карте вариант с одним предметом? Хочется другую реализацию?
GIAGTA #28 - 5 месяцев назад (отредактировано ) 2
В вопросе ты отметил, что нужен предмет-переключатель и предмет-морф. А чем не подходит предмету-переключателю в карте вариант с одним предметом? Хочется другую реализацию?
Нет,с реализацией всё нормально,просто отметил некоторые особенности,которые стоит доработать.
8gabriel8 #29 - 5 месяцев назад 0
Сегодня не делал, мы отмечаем с одногруппниками окончание ВУЗа.
Сегодня тоже не делаю, так как отхожу в постели от выпускного) Завтра попробую.
8gabriel8 #30 - 5 месяцев назад 0
Вчера решил ещё раз отоспаться.
GIAGTA:
При убийстве всех юнитов с оружием (кроме автоматчика) с них не дропаются соответствующее оружие.
Да, почему-то в РО предметов только автомату поставил Падает на землю.
они сначала падают,потом кричат
В самих моделях так было установлено, чтобы кричали потом, при этом воспроизводится аж по два или три крика смерти. Поставил время воспроизведения звуков смерти нормально внутри модели. Не стал удалять крики смерти, может автор специально добивался так какого-то красивого эффекта, хотя правильнее было бы оставить лишь звук смерти Крестьянина.
анимации смерти стали вести себя неестественно
Там не только со звуками смерти проблема, но и по какой-то причине юнит умирает, очень быстро погружается под землю, потом мгновенно поднимается и начинает погружаться очень медленно. Не знаю почему, надо искать, но уже не мне. Подозреваю только, что стандартный набор анимаций смерти простого юнита состоит из Death, Decay Flesh и Decay Bone, так как Decay Bone нет, то игра быстренько воспроизводит Decay Flesh, а потом опять Decay Flesh вместо Decay Bone.
прикреплены файлы