I never saw the copy button before, thought I'd have to type all of it up!
Here it is below.
I didn't have this problem when I was purely testing the call screen schedule before, but maybe I've changed some code that I didn't remember.
The screen also calls additional screens in loops as well, I've pasted the code for the screens further below.
Code: Select all
I'm sorry, but an uncaught exception occurred.
While running game code:
File "game/script.rpy", line 14, in script call
call setSchedule(npc_catherine)
File "game/script.rpy", line 62, in script
call screen schedule(character)
File "renpy/common/000statements.rpy", line 485, in execute_call_screen
store._return = renpy.call_screen(name, *args, **kwargs)
ValueError: generator already executing
-- Full Traceback ------------------------------------------------------------
Full traceback:
File "game/script.rpy", line 14, in script call
call setSchedule(npc_catherine)
File "game/script.rpy", line 62, in script
call screen schedule(character)
File "/Users/dev/Documents/renpy-6.99.14.1-sdk/renpy/ast.py", line 1801, in execute
self.call("execute")
File "/Users/dev/Documents/renpy-6.99.14.1-sdk/renpy/ast.py", line 1789, in call
return renpy.statements.call(method, parsed, *args, **kwargs)
File "/Users/dev/Documents/renpy-6.99.14.1-sdk/renpy/statements.py", line 169, in call
return method(parsed, *args, **kwargs)
File "renpy/common/000statements.rpy", line 485, in execute_call_screen
store._return = renpy.call_screen(name, *args, **kwargs)
File "/Users/dev/Documents/renpy-6.99.14.1-sdk/renpy/exports.py", line 2655, in call_screen
rv = renpy.ui.interact(mouse="screen", type="screen", roll_forward=roll_forward)
File "/Users/dev/Documents/renpy-6.99.14.1-sdk/renpy/ui.py", line 287, in interact
rv = renpy.game.interface.interact(roll_forward=roll_forward, **kwargs)
File "/Users/dev/Documents/renpy-6.99.14.1-sdk/renpy/display/core.py", line 2624, in interact
repeat, rv = self.interact_core(preloads=preloads, trans_pause=trans_pause, **kwargs)
File "/Users/dev/Documents/renpy-6.99.14.1-sdk/renpy/display/core.py", line 3224, in interact_core
self.idle_frame(can_block, expensive)
File "/Users/dev/Documents/renpy-6.99.14.1-sdk/renpy/display/core.py", line 2720, in idle_frame
result = self.prediction_coroutine.send(expensive)
ValueError: generator already executing
Darwin-17.4.0-x86_64-i386-64bit
Ren'Py 6.99.14.1.3218
Due Process Alpha 0.1
Sat Apr 7 12:27:22 2018
Screen code:
Code: Select all
init 10:
python:
screen_meal_description = ""
screen_task_description = ""
screen schedule(character):
$ padding = 20
frame:
yalign 1.0
xalign 1.0
top_padding padding
bottom_padding padding
left_padding padding
right_padding padding
vbox:
spacing 20
label character.name.title():
xalign 0.5
hbox:
spacing 10
frame:
xminimum 300
xmaximum 300
vbox:
label "Breakfast"
textbutton scheduleOptions["meals"]["breakfast"] action [Call("scheduleMeal", "breakfast", character), Return(True)]
label "Task"
textbutton scheduleOptions["tasks"]["breakfast"] action [Call("scheduleTask", "breakfast", character), Return(True)]
frame:
xminimum 300
xmaximum 300
vbox:
label "Lunch"
textbutton scheduleOptions["meals"]["lunch"] action [Call("scheduleMeal", "lunch", character), Return(True)]
label "Task"
textbutton scheduleOptions["tasks"]["lunch"] action [Call("scheduleTask", "lunch", character), Return(True)]
frame:
xminimum 300
xmaximum 300
vbox:
label "Dinner"
textbutton scheduleOptions["meals"]["dinner"] action [Call("scheduleMeal", "dinner", character), Return(True)]
label "Task"
textbutton scheduleOptions["tasks"]["dinner"] action [Call("scheduleTask", "dinner", character), Return(True)]
textbutton "Finished":
xalign 0.5
action Return("finished")
label scheduleMeal(meal, character):
$ screen_meal_description = ""
$ smloop = True
while smloop:
call screen scheduleMeal(meal, character)
if _return != None:
$ scheduleOptions["meals"][meal] = _return
$ smloop = False
return
screen scheduleMeal(meal, character):
$ padding = 20
frame:
yalign 0.5
xalign 0.5
top_padding padding
bottom_padding padding
left_padding padding
right_padding padding
xminimum 900
xmaximum 900
vbox:
spacing 20
label meal.title() + " for [character.name]"
hbox:
spacing 20
frame:
vbox:
for meal in meals.getMealsByType(meal):
textbutton meal.name:
hovered [SetVariable("screen_meal_description", meal.description)]
action Return(meal.name)
text screen_meal_description
label scheduleTask(meal, character):
$ screen_task_description = ""
$ stloop = True
while stloop:
call screen scheduleTask(meal, character)
if _return != None:
$ scheduleOptions["tasks"][meal] = _return
$ stloop = False
return
screen scheduleTask(meal, character):
$ padding = 20
frame:
yalign 0.5
xalign 0.5
top_padding padding
bottom_padding padding
left_padding padding
right_padding padding
xminimum 900
xmaximum 900
vbox:
spacing 20
label meal.title() + " for [character.name]"
hbox:
spacing 20
frame:
vbox:
for task in tasks.getTasksByMeal(meal):
textbutton task.name:
hovered [SetVariable("screen_task_description", task.description)]
action Return(task.name)
text screen_task_description