Форум Anivisual закрыт. Вы не можете создавать новые темы или писать ответы. Форум будет работать в режиме архива.
Пользователи · Поиск по форуму · · · Регистрация

  • Страница 2 из 2
  • «
  • 1
  • 2
Форум о визуальных новеллах » Записи участника » NRFX [28]
Результаты поиска

NRFX

#16 | Тема: Как во время игры поменять меню?
Сейчас расскажу в чём идея:
включаете игру там меню, интерфейс и всё такое... Играете в новеллу ничего не подозреваете.
А потом делайте выбор и этот выбор меняет меню и интерфейс навсегда (не поможет перезагрузка (persistent)). И таких поворотов несколько.

Я хочу релизовать это с помощью 1 числовой переменной, который описан в файле script.rpy и который должен влиять на файл screens.rpy.
Переменная в файле script.rpy:

Код
define zamena_menu = 0
1) Как заставить файл screens "следить" за переменной, которая находится не в нём?
после возникнет следующий вопрос.
---
2) Такой код правелен? В файле screens.rpy:
Код
if zamena_menu = 0:

    [Стандартный код файла]

if zamena_menu = 1:

    jump screens2.rpy
(в screens2.rpy будет другой интерфейс и меню) Как правильнее?
Сообщение отредактировал NRFX - Пятница, 30/Июл/2021, 15:52

NRFX

#17 | Тема: Как во время игры поменять меню?
Ну под словом "навсегда" можно понять такую логику:
когда срабатывает скрипт "перехода" screens.rpy на screens2.rpy...
---
К этим вопросам добавляется ещё один: Я знаю что можно файлы сценария (script.rpy) разделять как вздумается - программа воспринимает как один файл. И это распространяется и на технические файлы (gui.rpy, options.rpy, screens.rpy)?
---
...при повторном запуске игры пользователем, теперь игра должна обращается не к screens.rpy, а screens2.rpy. Я опять же не знаю как это реализовать?

NRFX

#18 | Тема: Как во время игры поменять меню?
Цитата pirsus ()
Вводишь перманентную переменную.init python:
def persistent.zamena_menu = 0

Обрати внимание, что прописывать постоянную переменную надо в блоке ПИТОН, потому что она будет запускаться до блока INIT
1) Вводить init python в файл сценария (script.rpy) до обычного init (если он есть)?
2) А в файл screens.rpy вводить/"обозначить о существовании" не надо т.к. за такой переменной файлы будут следить автамотически? Если нет, то первый вопрос (в теме) остаётся в силе.
3)Если я решу сделать несколько файлов сценария (script.rpy, script_2game.rpy, и т.д) (будет удобно разделить сценарий на "разные игры") то:
3.1) хватит ли постого:

Код
jump script_2game.rpy
чтобы игрок при нажатии продолжить игру (допустим, поиграв уже в сценарий, написаный в файле script_2game, игрок не сохранился) начинал игру не в начале script.rpy, а в начале script_2game.rpy?
3.2) также в script_2game.rpy не надо заново прописывать (только с изменённым значением) переменную т.к. он будет также следить за ней автоматически? Если нет, то в script_2game надо написать:

Код
init python:    
def persistent.zamena_menu = 1
Или нет?
Цитата pirsus ()
И меню пишешь:if zamena_menu == 3:
твое меню
elif zamena_menu == 2:
твое меню
elif zamena_menu == 1:
твое меню
else:
твое начальное меню
Хорошо. Напишу всё в одном файле - тоже можно.

NRFX

#19 | Тема: Как во время игры поменять меню?
Цитата pirsus ()
init python:
    def persistent.zamena_menu = 0

Неожиданно, но RenPy не понимает:

Код
init pyton:

Понимает:

Код
$ init pyton:
И дальше, следственно идут такие ошибки:

нужно удалить пробелы.

вот тут хз.
Я в растерянности. Почему он не понимает?
Если что, то "init pyton" до "init" прописан
Прикрепления: 8551602.png (6.6 Kb) · 6773294.png (11.1 Kb) · 0151260.png (7.8 Kb) · 4293477.png (21.1 Kb)

NRFX

#20 | Тема: Как во время игры поменять меню?
Цитата FreQl ()
во первых вроде как правильно python, а не pyton
Ой, лоханулся. Спасибо.
Цитата FreQl ()
во вторых persistent объявляют так:Код
define persistent.zamena = 0
Игра включилась без ошибок, спасибо. Но...
---
Итак... Я сделал всё как нужно (надеюсь), но не получилось. Вот как делал:
В файле сценария:

Я добавил перманентную переменную "define persistent.zamena = 0" т.к даже если правильно написать python при любом раскладе будет ошибка. И добавил "$ persistent.zamena = 1".
Кстати всё ровно как написать:

Код
$ persistent.zamena = 1
или

Код
$ zamena = 1
Конкретно в моём примере это не влияет на неудавшийся результат.
По логике в этом примере должно произойти вот что:
Игрок нажимает нажимает на "начать игру" (и вот здесь у меня зародилось предположение, но я его скажу в "Итоге").
Игра говорит: Вы создали новую игру Ren'Py.
Перманентная переменная увеличивается на 1.
Игра выходит на уже заменённое меню.
Если всё правильно переходим к тому что измениться.
---
В этом примере должно измениться название игры и кнопки меню.
Цитата pirsus ()
if zamena_menu == 3: твое меню
elif zamena_menu == 2:
твое меню
elif zamena_menu == 1:
твое меню
else:
твое начальное меню

Здесь соотвественно ты расставляешь меню задом наперед, от последнего к начальному.

В файле options.rpy можно поменять название игры. Нахожу раздел "основное" и пишу так как в цитате:

Конкретно в моём примере всё ровно "elif" или "else" - это не влияет на неудавшийся результат.
То есть по логике:
когда игра выйдет в глав. меню, название игры в меню с "Название 1" поменяется на "Название 2".
Перейдём в файл screens.rpy.
Нахожу раздел "экран навигации" и меняю также (1):

Кстати я пробовал по другому (2):

Но тогда будут ошибки, подтверждающее моё предположение:

Так, вернёмся к (1).
В "else" находятся кнопки меню без изменений:

А в "if zamena == 1" находятся изменённые. В примере кнопки "сохранить", "загрузить", "Настройки", "об игре" и "помощь" должны исчезнуть:

То есть по логике (задумке):
когда игра выйдет в глав. меню, кнопки "сохранить", "загрузить", "Настройки", "об игре" и "помощь" должны исчезнуть.
---
Итак смотрим результат:...
---
Кстати когда я только начал писать это сообщение было всё нормально, но как только поменял в "экране навигации" С (1) на (2) (и также наоборот) выдаёт исключение в файле 00keymap.rpy:

нажимаешь "игнорировать" и выключаешь при повторном запуске вижу такой такой результат:

Если что я не менял последовательность: все кнопки внизу, а сокрощённое кол-во - вверху (и до этого отображалось правильно, а сейчас...) и откуда "помощь" взялась? её нет в верху.

Какой то бред...
Всё ровно такой же результат.
---
Новый результат:

нажимаем начать. Название игры "Название 1"

Дальше игра выбрасывает в главное меню и... Всё остаётся таким же...
Итог: Надеюсь я всё понятно разъяснил. Моё предположение:
перманентная переменная должна запускаться одновременно с меню, а не с игрой. Когда игра выходит в меню переменная выключается, хоть и навсегда сохраняет информацию. Поэтому, думаю, всё таки её надо прописывать не в сценарии а в файле с окнами. Хотя может и не так.
Что делать теперь?

Добавлено (04.08.2021, 15:16)
---------------------------------------------
Я продублировал "define persistent.zamena = 0" во все файлы, ничего не изменилось. Даже ошибок нет.

Прикрепления: 6597921.png (51.9 Kb) · 7963011.png (40.4 Kb) · 9342865.png (46.9 Kb) · 2283320.png (44.8 Kb) · 7961331.png (78.0 Kb) · 0619060.png (74.6 Kb) · 0780501.png (58.2 Kb) · 8045103.png (49.8 Kb) · 8521753.png (11.5 Kb) · 4569343.png (30.1 Kb)

NRFX

#21 | Тема: Как во время игры поменять меню?
Цитата FreQl ()
Скорее всего это меняется через стили, но не уверен...
Хм... Вполне.
-----
Я свой пример приблизил к реальным условиям, тем самым  упростил (Надеюсь не усугубил) задачу.
И так в файле сценария я сделал выбор:

Цитата
renpy.set_style_preference(preference, alternative)Устанавливает выбранную альтернативу для настройки стиля.
То есть у меня стиль "menu1" замениться на стиль "menu2". И...

Цитата
Предупреждение! Названные стили не сохраняются как часть игровых данных. Это означает, что
изменения в них не будут сохранены в течение цикла сохранения и
загрузки.
..."Навсегда". Грубо говоря до переустановки игры. (А если надо чтобы игрок захотел пройти заново, то в кнопке "начать" нужно вписать "$ renpy.set_style_preference(menu2, menu1)" чтобы игра реально началась заново?)

А в файле screens.rpy я меню сделал с помощью "imagemap" (у меня будут именно так сделанные меню):

Вот так выглядят меню в примере:


Надеюсь не зависеть  от "screen navigation" это упрощение, а не усугубление.
---
Теперь вопросы:
1) как "imagemap" запихнуть в стили (название "menu1" и "menu2")?
2) а потом эти стили запихнуть в renpy.register_style_preference? Точнее как будут выглядеть значения style, property, value?
Я вот читаю свои вопросы и понимаю, что стили и preference с alternative - это разные вещи.
Короче как правильно: 1)как "imagemap" запихнуть в настройки стиля?
2) для какого стиля будут эти настройки или как запихнуть в renpy.register_style_preference?
3) как эту бурду запихнуть в "screen main_menu()"?
Прикрепления: 9924022.png (31.7 Kb) · 7016001.png (68.0 Kb) · 6223121.png (13.9 Kb) · 8241991.png (32.2 Kb)

NRFX

#23 | Тема: Вопрос по новелле "Люси -Вечность, которую она желала-"
В "комментариях разработчиков" было написано что игра является ремейком... И у меня возникли вопросы. А как выглядит оригинал? Где он (я не нахожу)? И есть ли перевод?
Вот скрин где это написано:
Прикрепления: 6951573.png (527.5 Kb)

NRFX

#27 | Тема: Не понимаю один момент в прохождении Ever 17
Значит пишу свою схему прохождение, рассматриваю иностранную схему и не понимаю одного:

Те кто проходил, можете разъяснить?
Прикрепления: 5826512.jpg (37.2 Kb)
Форум о визуальных новеллах » Записи участника » NRFX [28]
  • Страница 2 из 2
  • «
  • 1
  • 2
Поиск: