ДИАЛОГИ с ВАРИАНТАМИ ОТВЕТОВ на Unity | Создание игр

Поделиться
HTML-код
  • Опубликовано: 11 янв 2025

Комментарии • 50

  • @HitsarOrig
    @HitsarOrig  9 месяцев назад +1

    У кого возникают ПРОБЛЕМЫ с КНОПКАМИ ОТВЕТОВ, убедитесь что в AnswerButtons Start заменён на Awake!!

  • @LeWoWGuides
    @LeWoWGuides 11 месяцев назад +3

    Чисто в теории насколько сложно создать систему где ответ на один диалог влияет на то какие потом будут сюжетные повороты/ответы на другие диалоги.(Игра ДнД по типу shakes and fidget т.е. и не новелла, но и нет прямого взаимодействия с миром) Типо персонаж ответил на просьбу нипа нет, и потом к нему больше не будет подходить этот нип с просьбами(а нип дает квесты и получается что сюжетная ветка с этим нипом полностью закрыта или потом откроется после какого-то квеста) - это более-менее простой и понятный пример который могу сформулировать, но суть в том что в кнопке помимо продолжения диалога есть действие, и это действие можно полностью менять от ответа к ответу(т.е. какой-то ответ будет: менять характеристики или давать новый квест, начинать драку, менять сюжетную линию и т.д.) Просто еще ни разу не делал диалоги и в моем представлении это создавать unityaction для каждого типа действий.

    • @HitsarOrig
      @HitsarOrig  11 месяцев назад

      Что первое пришло на ум это по твоему считывать что ответил игрок и там уже менать. Для этого он и создавался по сути

  • @marinaemikh
    @marinaemikh Год назад +4

    Умничка) очень хорошая подача

  • @soyys
    @soyys Год назад +1

    Что делать у меня в скрипте DialogueStory пишет что KeySelector не существует в данном контексте

    • @HitsarOrig
      @HitsarOrig  Год назад

      Возможно ты не правильно написал тег в кнопке ответа

  • @criepp7645
    @criepp7645 Год назад

    Как потом вызвать определенный диалог, каким методом?

    • @HitsarOrig
      @HitsarOrig  Год назад

      ChangeStory, передаёшь тег диалога который надо включить и готово :>

  • @Наталья-я1х6у
    @Наталья-я1х6у 11 месяцев назад

    а если делать такой диалог, который будет появляться при приближении игрока к нпс?
    я сделала так, чтобы Dialogue при попадании в триггерную зону нпс показывался, а при выходе из нее скрывался
    но само окошко то показывается, а кнопки с дефолтным текстом и не нажимаются(соответственно и диалога дальнейшего нет)
    пыталась в скрипт, где описываю видимости, как-то кнопки привязать, но, ожидаемо, не работает
    как в таком случае нужно прописывать видимость, чтобы диалог оставался работающим?
    (возможно ответ очевиден, но я совсем недавно начала изучать юнити....)

    • @HitsarOrig
      @HitsarOrig  11 месяцев назад +1

      Надо при включении диалога выбрать диалог вызвав метод ChangeStory
      Кстати у меня уже лежит система взаимодействия, как-раз то что тебе надо, но видео я пока не снимал

  • @-animated-cu3de
    @-animated-cu3de 10 дней назад

    А как начать диалог?

  • @Keklik44
    @Keklik44 11 месяцев назад

    Подскажите, пожалуйста, как поправить код
    Диалог начинает работать по триггеру (при вхождении в зону работы триггера, появляется кнопка "начать диалог", после нажатия на кнопку, через функцию SetActive появляется само диалоговое окно. После покидания зоны работы триггера, и кнопка, и диалоговое окно, пропадают)
    Как сделать так, чтобы при новом вхождении в триггер или при каждом новом нажатии на кнопку, диалог начинался сначала? (Сейчас при этом действии, диалог открывается с последней фразы)
    Как передать тег первого диалога в ChangeStory?
    Сейчас реализация выглядит так:
    Скрипт триггера и кнопки подключены к namespace Dialogue. При вхождении в скрипт срабатывает
    DialogueBox.SetActive(true);
    _dialogueStory = GetComponent();
    _dialogueStory.ChangeStory('tag0');
    DialogueBox - GameObject диалогового окна
    tag0 - тег первой фразы в диалоге, которая запускает всю цепочку
    Очевидно, что у меня ошибка и, скорее всего, глупая)
    Скорее всего, я или неправильно передаю данные в ChangeStory, или делаю что-то неправильно по самой сути работы методов...
    P.S. На скрипте работы кнопки тоже есть такой же кусочек кода, чтобы запускать диалог сначала и при выходе из триггера, и при новом нажатии на кнопку. Понятное дело, это не меняет ситуацию)

    • @HitsarOrig
      @HitsarOrig  10 месяцев назад

      Я скоро буду делать видео про систему взаимодействия как-раз та которая тебе нужна:3
      По идее ты всё сделал верно, после нажатия на кнопку начала диалога передавай тег 1 диалога в ChangeStory. Что конкретно не работает?

    • @Keklik44
      @Keklik44 10 месяцев назад

      @@HitsarOrig Не срабатывает как раз сама передача тега в ChangeStory. В моём случае строка выглядит как:
      _dialogueStory.ChangeStory('tag0');
      Возможно, ошибка в синтаксисе или я просто как-то не так передаю тег...
      P.S. При попытке поставить не одиночные кавычки, а двойные, выдаёт ошибку о том, что слишком много символов

    • @HitsarOrig
      @HitsarOrig  10 месяцев назад

      @@Keklik44 ' ' это символ
      " " это строка
      Тебе надо писать двойные кавычки

    • @Keklik44
      @Keklik44 10 месяцев назад

      @@HitsarOrig Спасибо :3
      Поправил, перестало ругаться)
      Ошибку у себя, кстати, тоже нашёл... Несколько дней в упор не видел, что прикрепил не тот скрипт к объекту. Правил один скрипт, а на объекте висел другой🥲

  • @MakCorp
    @MakCorp 6 месяцев назад

    А что делать когда у меня не находит Serializable и Action в скрипте DialogueStory?

    • @HitsarOrig
      @HitsarOrig  6 месяцев назад +1

      проверь добавлен ли у тебя using System;

  • @данилка2004
    @данилка2004 10 месяцев назад

    Идея реализация интересная. Но теги через строку делать не очень хорошо, т.к. есть возможность опечатки. Понятно, что ты будешь стараться делать это все внимательно, но рано или поздно можешь ошибиться, а потом голову будешь ломать

    • @HitsarOrig
      @HitsarOrig  10 месяцев назад

      ты прав, и я задумывался над этим, в конце я предложил идею где можно написать все возможные теги в массиве а потом из выпадающего списка выбирать их, но это требует навыки эдитор скриптинга которых у меня нет.
      В скоре я начну ноды для этой системы делать, так что всё будет чики пуки :3
      но в любом случае в ошибке пишется какой тег отсутствует в словаре, так что хоть как то можно отследить

  • @Game_Studio.12
    @Game_Studio.12 Год назад +1

    Привет , много игр сделал уже ?

    • @HitsarOrig
      @HitsarOrig  Год назад

      Привет, сделал довольно много, но это скорее прототипы, в основном я не делаю проекты один

    • @Game_Studio.12
      @Game_Studio.12 Год назад

      @@HitsarOrig понятно

    • @Game_Studio.12
      @Game_Studio.12 Год назад

      Ты конечно лайкнул слово и я вспомнил просто мне нужна помащь по игре готов платить но если не ошибаюсь ты меня заблокал

    • @HitsarOrig
      @HitsarOrig  Год назад

      @@Game_Studio.12 помочь могу, вряд ли я тебя блокал

    • @Game_Studio.12
      @Game_Studio.12 Год назад

      @@HitsarOrig ну по нику это ты

  • @polinashepelevich3395
    @polinashepelevich3395 9 месяцев назад

    Почему-то не прожимаются кнопки. Если жать, ничего не происходит, диалог не сменяется
    В чем может быть проблема?

    • @HitsarOrig
      @HitsarOrig  9 месяцев назад

      Должен быть объект EventSystem
      На канвасе должен быть GraphicRaycaster
      Кнопки не должны перекрываться другим UI (проверь может есть прозрачный) чем ниже в иерархии тем выше отображается
      Interwctable модет выключен (но скрипт должен жто контролировать)
      Должны на image быть Галочка на Raycast target

    • @polinashepelevich3395
      @polinashepelevich3395 9 месяцев назад

      Спасибо огромное, все работает 🙏

  • @nobice1
    @nobice1 Год назад

    Кайф)
    Продолжай

  • @ogonek3588
    @ogonek3588 7 месяцев назад

    не хочешь сделать гайд про движение, чтобы можно было приседать и наклонятся вправо влево

    • @HitsarOrig
      @HitsarOrig  7 месяцев назад

      Я как-раз собирался делать обновление старому:3
      Думаю лучше для шутера когда буду делать добавлю

  • @Суп_с_котом
    @Суп_с_котом Год назад

    Имба

  • @kelafac6261
    @kelafac6261 8 месяцев назад +2

    Посмотрев 2 прошлых видео по этой теме могу сказать что мне хватило одной минуты просмотра этого видео, что бы сразу сказать что лучшего видоса на эту тему уже не будет, хоть код хороший

    • @HitsarOrig
      @HitsarOrig  8 месяцев назад +1

      Спасибо:3

  • @SeGa_PIay
    @SeGa_PIay 7 месяцев назад

    Крутое видео 10/10

  • @Sanya_guse
    @Sanya_guse 5 месяцев назад +3

    1 запутанно.
    2 ваще не оптимизированная система
    3 я не гипард чтоб с такой скоростью все понимать

  • @vsochicepoce3788
    @vsochicepoce3788 6 месяцев назад

    делай нормальные переходы в этом моменте 0:58 не видно что там ты дописал

    • @HitsarOrig
      @HitsarOrig  6 месяцев назад +1

      вобще это было сделано специально. я уже понял что плохая идея😅

    • @vsochicepoce3788
      @vsochicepoce3788 6 месяцев назад

      @@HitsarOrigокей

    • @nomidorchik3257
      @nomidorchik3257 5 месяцев назад

      А что там после ChangedStory(_stories[0]. написано? Всё, что я успел разглядеть это букву t

    • @HitsarOrig
      @HitsarOrig  5 месяцев назад

      Tag
      думаю логично учитывая что и название аргумента такое и есть такое свойство Tag в Story :3

    • @Scary_game-f4u
      @Scary_game-f4u 2 месяца назад

      А вы не пробовали с увеличенным качеством уменьшить скорость и ставить на паузу?
      Мне всё видно и понятно

  • @Артем-я4л9з
    @Артем-я4л9з 11 месяцев назад

    че так быстро я ничего не успеваю

    • @HitsarOrig
      @HitsarOrig  11 месяцев назад +1

      Я пытаюсь делать медленней но на частях с кодом пока не получается
      Паузу никто не удалял если что

  • @Артем-я4л9з
    @Артем-я4л9з 11 месяцев назад +5

    дизлайк, все очень быстро и не понятно