Пользователи · Поиск по форуму · · Вход в аккаунт · Регистрация |
Форум о визуальных новеллах Для разработчиков Ren'Py Помощь по Ren'Py (Вопрос\Ответ) |
Помощь по Ren'Py (Вопрос\Ответ) |
Akinoya#1321Вопрос может быть странный, но надеюсь все же поможет кто-нибудь.
Делаю магазин. И проблема возникла с тем, чтобы при покупке количество товара менялось и в других местах, например, в инвентаре. Магазин у меня на отдельном экране. Если меняю значение какой-либо переменной на этом экране "магазин", то на других значение этой же переменной не меняется. Почему?!( Например, герой покупает книги, в магазине "вы купили еще книгу, у вас 2", в инвентаре по-прежнему "у вас 1 книга", хотя переменная, отвечающая за книги, одна и та же. У меня ощущение, что я неимоверно туплю в простых вещах, но у меня чего-то никак не получается преодолеть эту проблему. Может кто подскажет, что я делаю не так? Ну и еще была бы благодарна, если кто подсказал, возможно уже есть в открытом доступе решение, как сделать магазин) |
dmit#1322Akinoya, вы не привели код как вы меняете переменные в магазине. Могу только предположить, что меняете локальные переменные (в экране будет отображаться правильно), а вам надо глобальные. Проверьте видимость переменных.
планета FOREVER!!! Unkenbro team
|
Akinoya#1323dmit, кода нет, потому что спросить решила внезапно и с работы).
Цитата Могу только предположить, что меняете локальные переменные (в экране будет отображаться правильно), а вам надо глобальные. Спасибо! Но если не то, приду жаловаться с кодом) |
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#1325krokot11, не вдаваясь в код, очевидно что при клике пкм происходят события , которые мешают получить функции FileDelete(slot) этот самый slot. А полученный при наведении мыши на слот теряется. Второй вариант - абсолютно правильное решение, единственно не очевидное. Обычно вставляют кнопку удаления [х] в каждый слот сохранения для наглядности.
планета FOREVER!!! Unkenbro team
|
Ilvia#1327Привет всем,
Подскажите пожалуйста что можно сделать тут? Когда открываю Renpy открывается черное окошко а потом только запускается проект, как от черного окошка можно избавится? тут находится скриншот проблеммы: https://ibb.co/d5LsnjN спасибо) Сообщение отредактировал Ilvia - Понедельник, 28/Мар/2022, 21:43
|
asaaddxasaadd#1328Можно ли сделать высоту диалогового окна динамической, чтобы если текст не помещается оно становилось больше?
Особенно в nvl такое бесит -- вроде у тебя весь экран под текст, но пишешь ты маленькими кусочками. |
dmit#1329asaaddxasaadd,
в файле gui ## Высота доступных строчек в режиме NVL. Установите на None, чтобы строчки ## динамически регулировали свою высоту. define gui.nvl_height = 0 #96 Прикрепления:
22.txt
(1.9 Kb)
Сообщение отредактировал dmit - Пятница, 08/Апр/2022, 18:43
планета FOREVER!!! Unkenbro team
|
dmit#1331byrvik, вы можете посмотреть как это реализовано в экране настройки, создав новый проект.
планета FOREVER!!! Unkenbro team
|
dmit#1333byrvik, в файле 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#1335span4ev,
в файле 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
|
| |||