Anivisual Contest #4 · Пользователи · Новые посты · Правила форума · Поиск по форуму · · · Регистрация
Форум о визуальных новеллах » Для разработчиков » Ren'Py » Помощь по Rep'Py (Вопрос\Ответ)
Помощь по Rep'Py (Вопрос\Ответ)

Ternox
Дата: Вторник, 30 Сентября 2014, 21:50 | Сообщение # 1
Администратор
Сообщений: 549
Награды: 44
Сюда пользователи сайта могут писать вопросы о тех или иных функциях движка Ren'Py, а мы попытаемся на них ответить:)


Прежде чем писать мне в ЛС, загляните в FAQ, возможно там уже есть ответ на ваш вопрос.


dmit
Дата: Среда, 26 Декабря 2018, 14:22 | Сообщение # 526
Проверенный
Сообщений: 160
Награды: 0
Замечания: 0%
Ищите в документации - Gallery
Прикрепления: 2428553.gif(46.9 Kb)


планета FOREVER!!!

JustSpace
Дата: Понедельник, 14 Января 2019, 17:31 | Сообщение # 527
Проверенный
Сообщений: 3
Награды: 0
Замечания: 0%
Всем привет, есть пара вопросов.
1) Можно ли как-нибудь дизэйблнуть авточтение во время игры, ну или сделать так, чтобы игрок должен был кликнуть для продолжения? pause и renpy.pause(None) не помогают, {w} не подходит, т.к. это у меня происходит во время показа скрина на весь экран, а {w} - текстовый тег
2) Можно ли задать минимальное значение afm? Просто я убрал в игре возможность скипа, но фактически, она осталась, достаточно просто поставить auto forward time на 0, а скорость текста на максимум.

dmit
Дата: Вторник, 15 Января 2019, 12:06 | Сообщение # 528
Проверенный
Сообщений: 160
Награды: 0
Замечания: 0%
https://lemmasoft.renai.us/forums/viewtopic.php?t=31339
или кратко:
$ config.locked = False
$ config.skipping = None #this should actually work now regardless of original value
$ config.locked = True
для скрина:
$ renpy.pause(100, hard=True)

Ну а вообще, что это за такая книга которую нельзя просто пролистать? :)
$ preferences.afm_time = 1000
и отключить в настройках слайдер


планета FOREVER!!!

Сообщение отредактировал dmit - Вторник, 15 Января 2019, 12:23

JustSpace
Дата: Четверг, 17 Января 2019, 19:56 | Сообщение # 529
Проверенный
Сообщений: 3
Награды: 0
Замечания: 0%
Cпасибо большое, dmit! Не хотел, юзать паузу, но, видимо, другого пути нет, ну да ладно. Afm поставил на 4, а слайдер отключил ток в некоторых частях игры. В 90%-95% случаев слайдер включён, и книгу можно листать) Ну и ещё раз большое спасибо, ибо я не мог это нигде загуглить, и на lemma soft forums мне никто не ответил, ну и ты единственный, кто смог помочь

CHMOnika
Дата: Понедельник, 04 Марта 2019, 16:58 | Сообщение # 530
Проверенный
Сообщений: 4
Награды: 0
Замечания: 0%
Код

I'm sorry, but an uncaught exception occurred.

While running game code:
  File "renpy/common/00start.rpy", line 203, in script call
    if not _restart and auto_load and renpy.can_load(auto_load):
  File "renpy/common/00keymap.rpy", line 446, in script
    python hide:
  File "renpy/common/00keymap.rpy", line 446, in <module>
    python hide:
  File "renpy/common/00keymap.rpy", line 456, in _execute_python_hide
    renpy.load("_reload-2")
Exception: Couldn't find a place to stop rolling back. Perhaps the script changed in an incompatible way?

-- Full Traceback ------------------------------------------------------------

Full traceback:
  File "renpy/common/00start.rpy", line 203, in script call
    if not _restart and auto_load and renpy.can_load(auto_load):
  File "renpy/common/00keymap.rpy", line 446, in script
    python hide:
  File "D:\renpy-7.1.3-sdk\renpy\ast.py", line 881, in execute
    renpy.python.py_exec_bytecode(self.code.bytecode, self.hide, store=self.store)
  File "D:\renpy-7.1.3-sdk\renpy\python.py", line 1913, in py_exec_bytecode
    exec bytecode in globals, locals
  File "renpy/common/00keymap.rpy", line 446, in <module>
    python hide:
  File "renpy/common/00keymap.rpy", line 456, in _execute_python_hide
    renpy.load("_reload-2")
  File "D:\renpy-7.1.3-sdk\renpy\loadsave.py", line 730, in load
    log.unfreeze(roots, label="_after_load")
  File "D:\renpy-7.1.3-sdk\renpy\python.py", line 1868, in unfreeze
    self.rollback(0, force=True, label=label, greedy=greedy, on_load=True)
  File "D:\renpy-7.1.3-sdk\renpy\python.py", line 1696, in rollback
    raise Exception("Couldn't find a place to stop rolling back. Perhaps the script changed in an incompatible way?")
Exception: Couldn't find a place to stop rolling back. Perhaps the script changed in an incompatible way?

Windows-7-6.1.7601-SP1
Ren'Py 7.1.3.1092
"Название новеллы"
Mon Mar 04 16:57:21 2019


Вот такая вот шняга вылетает, хотела добавить галерею, но что-то пошло не так wow


Вареник

Сообщение отредактировал CHMOnika - Понедельник, 04 Марта 2019, 16:59

dmit
Дата: Понедельник, 04 Марта 2019, 19:50 | Сообщение # 531
Проверенный
Сообщений: 160
Награды: 0
Замечания: 0%
Вы взяли галерею из документации?

планета FOREVER!!!

dmit
Дата: Понедельник, 04 Марта 2019, 20:03 | Сообщение # 532
Проверенный
Сообщений: 160
Награды: 0
Замечания: 0%
Вы взяли галерею из документации?

планета FOREVER!!!

CHMOnika
Дата: Вторник, 05 Марта 2019, 14:03 | Сообщение # 533
Проверенный
Сообщений: 4
Награды: 0
Замечания: 0%
Цитата dmit ()
Вы взяли галерею из документации?


Да, видимо в этом проблема?

UPD:
Я что-то намутила, вылезло теперь такое ХД
Прикрепления: 2017392.png(12.7 Kb)


Вареник

Сообщение отредактировал CHMOnika - Среда, 06 Марта 2019, 12:21

dmit
Дата: Среда, 06 Марта 2019, 19:51 | Сообщение # 534
Проверенный
Сообщений: 160
Награды: 0
Замечания: 0%
Наоборот, старые версии реализации галереи требуют доработки.
зачем if в этой строке?)


планета FOREVER!!!

GCStudio
Дата: Понедельник, 08 Апреля 2019, 14:04 | Сообщение # 535
Друг сайта
Сообщений: 63
Награды: 2
Замечания: 0%
Всем привет. Есть запырка с функцией.
В общем, есть несколько переменных, пусть будут name1, ..., nameN
Нужна функция, которой будут скармливаться имя переменной и значение, и которая должна, в том числе, присваивать переменной нужное значение.

вызов из кода игры идет как-то так:

Код
$ myfunc  (name1, 2)


Поначалу написал какой-то такой вариант:
Код
init python:
   def myfunc (fname, amount):
        fname1 = amount


Закономерно не работает. Можно сделать вот таким костылем, в объявлением возможной пемеренной, сравнением итд, тогда работает, но нафиг некрасиво и геморно. И в перспективе список переменных будет сильно расширяться.

Код
init python:
   def myfunc (fname, amount):
       global name1
       if fname == name1:
           name1 = amount


Как-бы это сделать попроще и красивее? Чтобы хотя бы не объявлять весь список переменных в функции?


Сообщение отредактировал GCStudio - Понедельник, 08 Апреля 2019, 15:50

TGrave
Дата: Понедельник, 08 Апреля 2019, 16:10 | Сообщение # 536
Проверенный
Сообщений: 23
Награды: 0
Замечания: 0%
Если речь о динамическом доступе к глобальным переменным, то можно так:
Код
globals()[fname] = amount

А можно просто сделать глобальный словарь:
Код
global var_dict
var_dict[fname] = amount

Ну и обращаться к нему через var_dict. Только нужно не забыть его инициализировать где-то в начале:
Код
global var_dict
var_dict = {}

GCStudio
Дата: Понедельник, 08 Апреля 2019, 16:17 | Сообщение # 537
Друг сайта
Сообщений: 63
Награды: 2
Замечания: 0%
Нет, не работает. Сделал вот такой примерчик в IDLE

Код
def myfunc (fname, amount):
    globals()[fname] = amount

a = 0
myfunc  (a, 2)
        
print a    


И на выхлопе все равно ноль получил. Или объявлять прям обязательно? Со словарем тоже довольно много возни заполнять его. И это не проще, чем просто сделать перечисление всех возможных для этой функции переменных.


Сообщение отредактировал GCStudio - Понедельник, 08 Апреля 2019, 16:36

TGrave
Дата: Понедельник, 08 Апреля 2019, 16:35 | Сообщение # 538
Проверенный
Сообщений: 23
Награды: 0
Замечания: 0%
Так функции передавать нужно имя переменной, а не ее саму :)
Код
> myfunc ("a", 2)
> a
2
>


Сообщение отредактировал TGrave - Понедельник, 08 Апреля 2019, 16:36

GCStudio
Дата: Понедельник, 08 Апреля 2019, 16:40 | Сообщение # 539
Друг сайта
Сообщений: 63
Награды: 2
Замечания: 0%
Действительно, протупил. Да, так все работает, спасибо.

Nary
Дата: Понедельник, 08 Апреля 2019, 18:05 | Сообщение # 540
Проверенный
Сообщений: 5
Награды: 0
Замечания: 0%
Как автоматически переключать сцены или реплики в Ren'py ,без кликанья ?
Форум о визуальных новеллах » Для разработчиков » Ren'Py » Помощь по Rep'Py (Вопрос\Ответ)
Поиск: