Install Steam
login
|
language
简体中文 (Simplified Chinese)
繁體中文 (Traditional Chinese)
日本語 (Japanese)
한국어 (Korean)
ไทย (Thai)
Български (Bulgarian)
Čeština (Czech)
Dansk (Danish)
Deutsch (German)
Español - España (Spanish - Spain)
Español - Latinoamérica (Spanish - Latin America)
Ελληνικά (Greek)
Français (French)
Italiano (Italian)
Bahasa Indonesia (Indonesian)
Magyar (Hungarian)
Nederlands (Dutch)
Norsk (Norwegian)
Polski (Polish)
Português (Portuguese - Portugal)
Português - Brasil (Portuguese - Brazil)
Română (Romanian)
Русский (Russian)
Suomi (Finnish)
Svenska (Swedish)
Türkçe (Turkish)
Tiếng Việt (Vietnamese)
Українська (Ukrainian)
Report a translation problem
I'm sorry, but an uncaught exception occurred.
While running game code:
File "D:/Steam/steamapps/workshop/content/331470/392818466/mods_rad/mod_selector/mod_selector.rpy", line 80, in <module>
RuntimeError: dictionary changed size during iteration
-- Full Traceback ------------------------------------------------------------
Full traceback:
File "C:/Program Files (x86)/Steam/steamapps/workshop/content/331470/392818466/mods_rad/mod_selector/mod_selector.rpyc", line 73, in script
File "C:\Program Files (x86)\Steam\steamapps\common\Everlasting Summer\renpy\ast.py", line 785, in execute
renpy.python.py_exec_bytecode(self.code.bytecode, self.hide, store=self.store)
File "C:\Program Files (x86)\Steam\steamapps\common\Everlasting Summer\renpy\python.py", line 1449, in py_exec_bytecode
exec bytecode in globals, locals
File "D:/Steam/steamapps/workshop/content/331470/392818466/mods_rad/mod_selector/mod_selector.rpy", line 80, in <module>
RuntimeError: dictionary changed size during iteration
Windows-7-6.1.7601-SP1
Ren'Py 6.99.4.467
Everlasting Summer 1.2
While running game code:
File "D:/Steam/steamapps/workshop/content/331470/392818466/mods_rad/mod_selector/mod_selector.rpy", line 73, in script
init 9000 python:
File "D:/Steam/steamapps/workshop/content/331470/392818466/mods_rad/mod_selector/mod_selector.rpy", line 80, in <module>
for m in mod_tags:
RuntimeError: dictionary changed size during iteration
-- Full Traceback ------------------------------------------------------------
Full traceback:
File "D:/Steam/steamapps/workshop/content/331470/392818466/mods_rad/mod_selector/mod_selector.rpy", line 73, in script
init 9000 python:
File "D:\Steam\steamapps\common\Everlasting Summer\renpy\ast.py", line 785, in execute
renpy.python.py_exec_bytecode(self.code.bytecode, self.hide, store=self.store)
File "D:\Steam\steamapps\common\Everlasting Summer\renpy\python.py", line 1449, in py_exec_bytecode
exec bytecode in globals, locals
File "D:/Steam/steamapps/workshop/content/331470/392818466/mods_rad/mod_selector/mod_selector.rpy", line 80, in <module>
for m in mod_tags:
RuntimeError: dictionary changed size during iteration
Windows-7-6.1.7601-SP1
Ren'Py 6.99.4.467
Everlasting Summer 1.2
While running game code:
File "game/mods_rad/mod_selector/mod_selector.rpy", line 66, in <module>
RuntimeError: dictionary changed size during iteration
-- Full Traceback ------------------------------------------------------------
Full traceback:
File "C:\Program Files (x86)\Steam\steamapps\common\Everlasting Summer\renpy\bootstrap.py", line 288, in bootstrap
renpy.main.main()
File "C:\Program Files (x86)\Steam\steamapps\common\Everlasting Summer\renpy\main.py", line 366, in main
game.context().run(node)
File "C:/Program Files (x86)/Steam/steamapps/workshop/content/331470/562240996/mods_rad/mod_selector/mod_selector.rpyc", line 51, in script
�m }$�5̥~�� �A��j%ƃ�ԏ#�<\y'��\D�� |���0b�
File "C:\Program Files (x86)\Steam\steamapps\common\Everlasting Summer\renpy\ast.py", line 785, in execute
renpy.python.py_exec_bytecode(self.code.bytecode, self.hide, store=self.store)
File "C:\Program Files (x86)\Steam\steamapps\common\Everlasting Summer\renpy\python.py", line 1449, in py_exec_bytecode
exec bytecode in globals, locals
File "game/mods_rad/mod_selector/mod_selector.rpy", line 66, in <module>
RuntimeError: dictionary changed size during iteration
Windows-8-6.2.9200
Ren'Py 6.99.4.467
Everlasting Summer 1.2
I'm sorry, but an uncaught exception occurred.
While loading <'Image' u'mods_rad/side_menu.png'>:
IOError: Couldn't find file 'mods_rad/side_menu.png'.
-- Full Traceback ------------------------------------------------------------
Full traceback:
File "renpy/common/_layout/screen_main_menu.rpym", line 28, in script
python hide:
File "renpy/ast.py", line 923, in execute
renpy.python.py_exec_bytecode(self.code.bytecode, self.hide, store=self.store)
File "renpy/python.py", line 2235, in py_exec_bytecode
exec(bytecode, globals, locals)
File "renpy/common/_layout/screen_main_menu.rpym", line 28, in <module>
python hide:
File "renpy/common/_layout/screen_main_menu.rpym", line 35, in _execute_python_hide
ui.interact()
File "renpy/ui.py", line 298, in interact
rv = renpy.game.interface.interact(roll_forward=roll_forward, **kwargs)
File "renpy/display/core.py", line 3276, in interact
repeat, rv = self.interact_core(preloads=preloads, trans_pause=trans_pause, pause=pause, pause_start=pause_start, **kwargs)
File "renpy/display/core.py", line 3793, in interact_core
self.draw_screen(root_widget, fullscreen_video, (not fullscreen_video) or video_frame_drawn)
File "renpy/display/core.py", line 2521, in draw_screen
renpy.config.screen_height,
File "render.pyx", line 492, in renpy.display.render.render_screen
File "render.pyx", line 263, in renpy.display.render.render
File "renpy/display/layout.py", line 814, in render
surf = render(child, width, height, cst, cat)
File "render.pyx", line 170, in renpy.display.render.render
File "render.pyx", line 263, in renpy.display.render.render
File "renpy/display/transition.py", line 368, in render
top = render(self.new_widget, width, height, st, at)
File "render.pyx", line 170, in renpy.display.render.render
File "render.pyx", line 263, in renpy.display.render.render
File "renpy/display/layout.py", line 814, in render
surf = render(child, width, height, cst, cat)
File "render.pyx", line 170, in renpy.display.render.render
File "render.pyx", line 263, in renpy.display.render.render
File "renpy/display/layout.py", line 814, in render
surf = render(child, width, height, cst, cat)
File "render.pyx", line 170, in renpy.display.render.render
File "render.pyx", line 263, in renpy.display.render.render
File "renpy/display/screen.py", line 681, in render
child = renpy.display.render.render(self.child, w, h, st, at)
File "render.pyx", line 170, in renpy.display.render.render
File "render.pyx", line 263, in renpy.display.render.render
File "renpy/display/layout.py", line 814, in render
surf = render(child, width, height, cst, cat)
File "render.pyx", line 170, in renpy.display.render.render
File "render.pyx", line 263, in renpy.display.render.render
File "renpy/display/layout.py", line 1238, in render
st, at)
File "render.pyx", line 170, in renpy.display.render.render
File "render.pyx", line 263, in renpy.display.render.render
File "renpy/display/layout.py", line 814, in render
surf = render(child, width, height, cst, cat)
File "render.pyx", line 170, in renpy.display.render.render
File "render.pyx", line 263, in renpy.display.render.render
File "renpy/display/transform.py", line 715, in render
return transform_render(self, width, height, st, at)
File "accelerator.pyx", line 140, in renpy.display.accelerator.transform_render
File "render.pyx", line 263, in renpy.display.render.render
File "renpy/display/im.py", line 607, in render
return cache.get(self, render=True)
File "renpy/display/im.py", line 271, in get
surf = image.load()
File "renpy/display/im.py", line 688, in load
raise e
IOError: Couldn't find file 'mods_rad/side_menu.png'.
Windows-10-10.0.17763
Ren'Py 7.4.8.1895
Everlasting Summer 1.2
Sun Sep 26 19:29:18 2021
```
В стандартном меню данной ошибки не возникает
Уточню, в переменную mods передаётся не текст
Очень странно, не могу воспроизвести ошибку.
По коду mods тоже не как текст обрабатывается. В mods[k] тоже всё нормально должно быть, ибо там должна быть строка с названием мода, а чистая установка работает без проблем, поэтому сложно сказать, что не так.
Могло ли ещё что-то повлиять на переменную mods извне? Другой мод, например.
На это влияет конкретно мой мод, который модифицирует отдельно кнопку моего мода. Вместо замены полного экрана (например, как в Одержимой, чего стоило бы избегать, ИМХО), в mods[k] записывается значение, являющееся экземпляром класса renpy.display.behavior.ImageButton от чего, само собой, выскакивает трейс, т.к. ваш мод подразумевает, что mods[k] может содержать только текст, что в корне неверно (тк существуют вещи, которые стандартный экран обработает правильно). Бл не обрабатывает содержимое mods[k], а кладёт содержимое в button, от чего данной ошибки, само собой, не возникает
Как вариант решения, при переборе модов проверять, является ли то, что находится в mods[k] строкой
Если да - обрабатываем, нет - ставим дефолтные настройки или считываем их из другого места, если мод разрешает это
При этом есть ещё один немаловажный момент
textbutton данный тип, скорее всего, не поддерживает, от чего придется использовать button (если правильно помню код)
Ну начнём с того, что это не совсем баг моего мода. Класть в mods что-то кроме текста — это скорее хак, чем фича. В Одержимой, полагаю, поэтому и решили заменить полностью экран, чтобы избавить себя от таких проблем.
Главная проблема здесь в том, что все варианты предусмотреть не выйдет заранее, поэтому скорее всего, для каждого придётся делать отдельно, хотя я бы предпочёл что-то, что покрывает большинство случаев.
Вот тут бы поконкретнее. Что подразумевается под дефолтными настройками? Из какого другого места считывать?
Возможно оно и так, но с другой стороны это решение будет работать вне зависимости, менял ли другой мод данное меню или же нет. Если логика отображения обычных кнопок не менялась - оно будет работать
Вполне себе возможно предусмотреть, по крайней мере, большинство случаев отображения, как пример: