Вопросы начинающих

  1. ‹ Older
  2. 2 months ago

    Vtroll

    Oct 30 User since 2016
    Edited 2 months ago by Vtroll

    peter Можно и формировать имя на лету:

    _G["room"..tostring(i)"]()

    Это вызов глобальной ф-ции

    небольшая ошибка. работает так:
    _G["room"..tostring(i)]()

  3. 2 weeks ago

    Ruido

    Jan 5 User since 2016

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

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

  4. Irremann

    Jan 5 Постоялец User since 2014

    Поставь на начальные три фразы tag = 'начало' например. На выходе из диалога, впиши pjump 'начало'; перед back(); Тогда разговор будет переводить в начальную ветку и сразу завершаться.

  5. Ruido

    Jan 5 User since 2016

    Помогло. Спасибо.

  6. Допустим в игре за время перемещения между комнатами, затрачивается какое-то время.
    Следовательно время в игре увеличивается.

    Допустим, нам нужно переместиться из комнаты "А" в комнату "В".
    Но, перед перемещением игра проверит время и, если оно будет больше 21.00 - потребует сделать привал.

    Привал я понимаю как переход в специальную комнату, где будет совершён пересчёт переменных.
    И после нажатия Далее... необходимо вернуться опять в комнату "А".
    Время будет установлено на 06.00 и переход в комнату "В" станет возможным.

    Какой командой лучше совершать такой возврат?
    Ведь изначально неизвестно, где будет момент действия игры к 21.00

  7. Irremann

    Jan 6 Постоялец User since 2014

    В привальной комнате я бы просто сделал путь:

    way = {vroom('>> Далее', from())};

    Или добавил объект в сцену:

    obj = {vway("next", "{>> Далее.}", from())};

    Можно еще xact впилить, но не советую =).

    В общем нужная тебе команда from(); смотри подробнее в документации.

  8. skiminok1986

    Jan 6 Постоялец Курган User since 2014
    Edited 2 weeks ago by skiminok1986

    Есть ещё один вариант. Сделать примерно так в комнате привала:

    act = function(s, w)
       if w == "done" then
          back()
       end
    end,
    obj = {vobj("done", "{>> Далее}")},

    По крайней мере так бы сделал я =)

  9. Irremann

    - как работает from() я не понял, в документации команда упоминается всего два раза, и как ей пользоваться я не разобрался.

    skiminok1986

    - а вот Ваш вариант мне подошёл, как работает не совсем понимаю, но ведь главное работает =) Использую этот принцип, в том числе и для возврата из комнат поединков.
    Спасибо Вам за оперативную помощь. Буду обращаться...

  10. last week

    skiminok1986

    Jan 11 Постоялец Курган User since 2014

    Vault Factory, функция from() возвращает предыдущую сцену. Функция back() совершает переход в предыщую сцену.

or Sign Up to reply!