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

Помощь по Ren'Py (Вопрос\Ответ)

Admin

#1
Сюда пользователи сайта могут писать вопросы о тех или иных функциях движка Ren'Py, а мы попытаемся на них ответить:)

Akinoya

#1321
Вопрос может быть странный, но надеюсь все же поможет кто-нибудь. 

Делаю магазин. И проблема возникла с тем, чтобы при покупке количество товара менялось и в других местах, например, в инвентаре. 

Магазин у меня на отдельном экране. Если меняю значение какой-либо переменной на этом экране "магазин", то на других значение этой же переменной не меняется. Почему?!(

Например, герой покупает книги, в магазине "вы купили еще книгу, у вас 2", в инвентаре по-прежнему "у вас 1 книга", хотя переменная, отвечающая за книги, одна и та же.

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

Ну и еще была бы благодарна, если кто подсказал, возможно уже есть в открытом доступе решение, как сделать магазин)

dmit

#1322
Akinoya, вы не привели код как вы меняете переменные в магазине. Могу только предположить, что меняете локальные переменные (в экране будет отображаться правильно), а вам надо глобальные. Проверьте видимость переменных.
планета FOREVER!!!      Unkenbro team

Akinoya

#1323
dmit, кода нет, потому что спросить решила внезапно и с работы).

Цитата
Могу только предположить, что меняете локальные переменные (в экране будет отображаться правильно), а вам надо глобальные.
я думала в эту сторону. Но вот сейчас еще раз прочитала про видимость в питоне, и у меня возникла идея, где именно я там накосячила. Надо будет проверить дома.
Спасибо! Но если не то, приду жаловаться с кодом)

krokot11

#1324
Сап! Я даже не знаю, с чего начать. У меня довольно стандартный проект, я сильно не ковырял код меню. Хотел сделать так, чтобы нажатие на ПКМ удаляло сохранение, как нажатие на delete.

Прописал в 00keymap.rpy это:

        # Delete a save.
        save_delete = [ 'mousedown_3', 'K_DELETE' ],

С остальными изменениями управления (rollback / rollforward, dismiss и т.п.) сработало, а тут -- нет. Методом проб и ошибок я выяснил, что при таком коде правая кнопка мыши всё же удаляет сохранения, НО... Только автосохранение, и только если их 6 штук (полная страница).

В screens rpy я смог добиться желаемого результата, используя такой код:

button:
                        action FileAction(slot)
                        alternate FileDelete(slot)

                        has vbox

                        add FileScreenshot(slot) xalign 0.5

                        text FileTime(slot, format=_("{#file_time}%A, %d %B %Y, %H:%M"), empty=_("Пустой слот")):
                            style "slot_time_text"

                        text FileSaveName(slot):
                            style "slot_name_text"

                        key "save_delete" action FileDelete(slot)

Но меня интересует, почему не получилось решить проблему просто сменой клавиш управления.

dmit

#1325
krokot11, не вдаваясь в код, очевидно что при клике пкм происходят события , которые мешают  получить функции FileDelete(slot) этот самый slot. А полученный при наведении мыши на слот теряется. Второй вариант - абсолютно правильное решение, единственно не очевидное. Обычно вставляют кнопку удаления [х] в каждый слот сохранения для наглядности.
планета FOREVER!!!      Unkenbro team

Ilvia

#1327
Привет всем,

Подскажите пожалуйста что можно сделать тут?

Когда открываю Renpy открывается черное окошко а потом только запускается проект, как от черного окошка можно избавится?

тут находится скриншот проблеммы: https://ibb.co/d5LsnjN

спасибо)
Сообщение отредактировал Ilvia - Понедельник, 28/Мар/2022, 21:43

asaaddxasaadd

#1328
Можно ли сделать высоту диалогового окна динамической, чтобы если текст не помещается оно становилось больше?
Особенно в nvl такое бесит -- вроде у тебя весь экран под текст, но пишешь ты маленькими кусочками.

dmit

#1329
asaaddxasaadd,
в файле gui
## Высота доступных строчек в режиме NVL. Установите на None, чтобы строчки
## динамически регулировали свою высоту.
define gui.nvl_height = 0 #96
Прикрепления: 22.txt (1.9 Kb)
Сообщение отредактировал dmit - Пятница, 08/Апр/2022, 18:43
планета FOREVER!!!      Unkenbro team

byrvik

#1330
Всем привет.
Кто в курсе подскажите пожалуйста, как в RenPy сделать чекбокс и радиобаттон?
Я думал, что это одна из базовых функций, но не могу нигде найти информацию.

dmit

#1333
byrvik, в файле screens.rpy есть экран настроек - screen preferences, и в нём реализованы radio и check кнопки. Заметьте, что в action вы прописываете какое-либо действие (например изменение переменной) ренпи сам определяет, что переменная уже равна этому и выделяет кнопку (ставит галку, точку и т.п. как вы задали графику)
планета FOREVER!!!      Unkenbro team

span4ev

#1334
Кто-нибудь знает, как в sdk:

1. Выставить auto-reload по умолчанию после запуска? Попросту неудобно каждый раз вкл., особенно после регулярных крашей.
2. Отключить вывод traceback.txt в редактор перед крашем проекта и закрытием окна?
Я экспериментирую с пайтоном, так что трейсбек в данный момент не нужен, мне достаточно того, что это не сработало (эксперимент провалился) и вынуждает совершать лишние действия по закрытию документа.

3. Кто работает на пайтоне в ренпае, знаете ли как импортировать в script.rpy данные из файла .py (модули)? Можно ли так:
Я помещаю (не важно зачем так делать, просто как теория) константы в питоновский файл, затем импортирую из него значения в основной. Например:

файл functions_variables.PY


Код
a = Character('Ash')
ash_something = 13
some_func(): ...

файл  scripts.RPY

Код
init python:
    import functions_variables

label start

Я бы хотел функции и константы хранить в отдельном файле, а не в скрипт.рпу и подгружать их либо по мере необходимости, либо все сразу.
В питоне используется:
import all_functions as funcs (импортировать всё, и присвоить название для ссылки на объект)
from all_functions  import * (импортировать всё)
from SOME_CLASS import some_class (импортировать класс)

я попробовал импортировать несколько переменных, как показано выше в коде и получил исключение. Нужно ли как-то экранировать переменные в какой-то блок в файле .py?

(не знаю почему ссылка не экранируется, хоть помещена в тег URL. При редактировании коммента всё нормально. После публикации - безобразие
Просто  [url=http://ru.renpypedia.shoutwiki.com/wiki/%D0%9E%D0%BF%D0%B5%D1%80%D0%B0%D1%82%D0%BE%D1%80%D1%8B_%D0%B2_%D1%8F%D0%B7%D1%8B%D0%BA%D0%B5_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F_Python_(Python_Statements)]здесь[/url] пишут такое:
В любом случае модуль или пакет можно импортировать из init python блока:
init python: import requests
Сообщение отредактировал span4ev - Пятница, 27/Май/2022, 00:43

dmit

#1335
span4ev,
в файле functions_variables
Код
import renpy.store as store
import renpy.exports as renpy
def some_func():
    .....
    return
Код
init python:
    import functions_variables

label start:
    $ result = functions_variables.some_func()
Сообщение отредактировал dmit - Пятница, 27/Май/2022, 20:02
планета FOREVER!!!      Unkenbro team
Поиск: