1. Я создал screen mainquestpage на котором располагается картинка во весь экран и кнопка, при нажатии на которую происходит Hide("mainquestpage"). Проверил - все работает, логично, ошибок нет.
2. Я решил показать этот экран не сразу, а после определенного момента игры. Ну и вот прописал всякие 'спец. эффекты', чтобы это выглядело прикольно, ну и вот на этот моменте, собственно, и возникла проблема.
Когда я получил возможность нажать на кнопку, я сразу же решил протестировать и вернуться обратно, ну и при нажатии появился экран, все ок, а потом когда я НАВЕЛ на кнопку, по которой нужно вернуться обратно, у меня вылетела ошибОЧКА: 'unicode' object is not callable
Она указывала на элемент pause 2.0 в скрипте. Ну я и подумал, что он просто второй раз паузу не может нажать, значит, подожду, пока пройдет пауза. Подождал. После еще раз нажал, вышла точно такая же ошибка, но уже на другой кусок кода, последний, там где я поставил $ renpy.pause(hard=True) и пишет, что вот никак не может это сделать. Ну и поменял эту строку на call screen который мне нужно, но он опять выдал ту же самую ошибку, только уже со скрином, и мне втирая, что не может сделать call screen вот никак.
Почитал в инете, там предлагали перезапустить комп, ну и ничего не произошло. Из советов там больше ничего не было, были только другие проблемы других людей. В общем и целом, что делать с такой ошибкой? По какой причине она вообще появляется? Кусок кода я прикрепил ниже.
Код №1: то место, где я показываю screen mainquestpage и где происходит всё это безобразие:
Код
# дополнительно поясняю, что сначала там просто шел диалог через ""
window hide
hide twi1 with dissolve
$ questactive1 = True
show screen questbutton with dissolve
show screen questhint with dissolve
pause 2.0
hide screen questhint with dissolve
show screen twiroom
$ renpy.pause(hard=True)
window hide
hide twi1 with dissolve
$ questactive1 = True
show screen questbutton with dissolve
show screen questhint with dissolve
pause 2.0
hide screen questhint with dissolve
show screen twiroom
$ renpy.pause(hard=True)
Код №2: показываю screen questbutton, mainquestpage:
Код
#mainquestpage
screen mainquestpage:
imagemap:
ground "questpage.png"
hotspot (1070, 526, 202, 169) action Hide("mainquestpage")
imagebutton:
xpos 1071 ypos 526
idle "btg.png"
hovered "btg hovered.png"
action Hide("mainquestpage")
text "Квесты:" color '#000000' size 18 xpos 75 ypos 75
if questactive1 and questcomp1 == False:
vbox xpos 100 ypos 100 spacing 30:
text "[questname1]" color '#000000' size 18
text "[questdesc1]" color '#000000' size 18
if questcomp1:
text "[questname1] выполнен." color '#ffffff' size 18 ypos 200 xpos 200
#questbutton
screen questbutton:
imagebutton:
xpos 950 ypos 15
idle "qb.png"
hover "qb hovered.png"
action Show("mainquestpage")
screen mainquestpage:
imagemap:
ground "questpage.png"
hotspot (1070, 526, 202, 169) action Hide("mainquestpage")
imagebutton:
xpos 1071 ypos 526
idle "btg.png"
hovered "btg hovered.png"
action Hide("mainquestpage")
text "Квесты:" color '#000000' size 18 xpos 75 ypos 75
if questactive1 and questcomp1 == False:
vbox xpos 100 ypos 100 spacing 30:
text "[questname1]" color '#000000' size 18
text "[questdesc1]" color '#000000' size 18
if questcomp1:
text "[questname1] выполнен." color '#ffffff' size 18 ypos 200 xpos 200
#questbutton
screen questbutton:
imagebutton:
xpos 950 ypos 15
idle "qb.png"
hover "qb hovered.png"
action Show("mainquestpage")
Код №3 (мало ли): показываю screen questhint:
Код
#questhint
screen questhint:
text "Квесты ->" color '#ff0000' size 18 xpos 850 ypos 50
screen questhint:
text "Квесты ->" color '#ff0000' size 18 xpos 850 ypos 50
Правка: показываю ошибку с $ renpy.pause(hard=True), которая не только с этой строкой возникает:
Код
I'm sorry, but an uncaught exception occurred.
While running game code:
File "game/script.rpy", line 192, in script
$ renpy.pause(hard=True)
File "game/script.rpy", line 192, in <module>
$ renpy.pause(hard=True)
TypeError: 'unicode' object is not callable
-- Full Traceback ------------------------------------------------------------
Full traceback:
File "game/script.rpy", line 192, in script
$ renpy.pause(hard=True)
File "C:\Programs\Renpy\renpy-7.3.5-sdk\renpy\ast.py", line 914, in execute
renpy.python.py_exec_bytecode(self.code.bytecode, self.hide, store=self.store)
File "C:\Programs\Renpy\renpy-7.3.5-sdk\renpy\python.py", line 2028, in py_exec_bytecode
exec bytecode in globals, locals
File "game/script.rpy", line 192, in <module>
$ renpy.pause(hard=True)
File "C:\Programs\Renpy\renpy-7.3.5-sdk\renpy\exports.py", line 1480, in pause
rv = renpy.ui.interact(mouse='pause', type='pause', roll_forward=roll_forward)
File "C:\Programs\Renpy\renpy-7.3.5-sdk\renpy\ui.py", line 297, in interact
rv = renpy.game.interface.interact(roll_forward=roll_forward, **kwargs)
File "C:\Programs\Renpy\renpy-7.3.5-sdk\renpy\display\core.py", line 2702, in interact
repeat, rv = self.interact_core(preloads=preloads, trans_pause=trans_pause, **kwargs)
File "C:\Programs\Renpy\renpy-7.3.5-sdk\renpy\display\core.py", line 3515, in interact_core
rv = renpy.display.focus.mouse_handler(ev, x, y)
File "C:\Programs\Renpy\renpy-7.3.5-sdk\renpy\display\focus.py", line 407, in mouse_handler
return change_focus(new_focus, default=default)
File "C:\Programs\Renpy\renpy-7.3.5-sdk\renpy\display\focus.py", line 369, in change_focus
rv = widget.focus(default=default)
File "C:\Programs\Renpy\renpy-7.3.5-sdk\renpy\display\behavior.py", line 819, in focus
rv = run(self.hovered)
File "C:\Programs\Renpy\renpy-7.3.5-sdk\renpy\display\behavior.py", line 320, in run
return action(*args, **kwargs)
TypeError: 'unicode' object is not callable
While running game code:
File "game/script.rpy", line 192, in script
$ renpy.pause(hard=True)
File "game/script.rpy", line 192, in <module>
$ renpy.pause(hard=True)
TypeError: 'unicode' object is not callable
-- Full Traceback ------------------------------------------------------------
Full traceback:
File "game/script.rpy", line 192, in script
$ renpy.pause(hard=True)
File "C:\Programs\Renpy\renpy-7.3.5-sdk\renpy\ast.py", line 914, in execute
renpy.python.py_exec_bytecode(self.code.bytecode, self.hide, store=self.store)
File "C:\Programs\Renpy\renpy-7.3.5-sdk\renpy\python.py", line 2028, in py_exec_bytecode
exec bytecode in globals, locals
File "game/script.rpy", line 192, in <module>
$ renpy.pause(hard=True)
File "C:\Programs\Renpy\renpy-7.3.5-sdk\renpy\exports.py", line 1480, in pause
rv = renpy.ui.interact(mouse='pause', type='pause', roll_forward=roll_forward)
File "C:\Programs\Renpy\renpy-7.3.5-sdk\renpy\ui.py", line 297, in interact
rv = renpy.game.interface.interact(roll_forward=roll_forward, **kwargs)
File "C:\Programs\Renpy\renpy-7.3.5-sdk\renpy\display\core.py", line 2702, in interact
repeat, rv = self.interact_core(preloads=preloads, trans_pause=trans_pause, **kwargs)
File "C:\Programs\Renpy\renpy-7.3.5-sdk\renpy\display\core.py", line 3515, in interact_core
rv = renpy.display.focus.mouse_handler(ev, x, y)
File "C:\Programs\Renpy\renpy-7.3.5-sdk\renpy\display\focus.py", line 407, in mouse_handler
return change_focus(new_focus, default=default)
File "C:\Programs\Renpy\renpy-7.3.5-sdk\renpy\display\focus.py", line 369, in change_focus
rv = widget.focus(default=default)
File "C:\Programs\Renpy\renpy-7.3.5-sdk\renpy\display\behavior.py", line 819, in focus
rv = run(self.hovered)
File "C:\Programs\Renpy\renpy-7.3.5-sdk\renpy\display\behavior.py", line 320, in run
return action(*args, **kwargs)
TypeError: 'unicode' object is not callable
Ну вот и все. Спасибо за прочтение, надеюсь на помощь.