Код
define persistant = [""]
$ persistant.achieve1_unlocked = False
$ persistant.achieve2_unlocked = False
$ persistant.achieve3_unlocked = False
$ persistant.achieve4_unlocked = False
$ persistant.achieve5_unlocked = False
$ persistant.achieve6_unlocked = False
$ persistant.achieve7_unlocked = False
$ persistant.achieve8_unlocked = False
$ persistant.achieve1_unlocked = False
$ persistant.achieve2_unlocked = False
$ persistant.achieve3_unlocked = False
$ persistant.achieve4_unlocked = False
$ persistant.achieve5_unlocked = False
$ persistant.achieve6_unlocked = False
$ persistant.achieve7_unlocked = False
$ persistant.achieve8_unlocked = False
Просто убери этот код, должно все заработать. В питоне не нужно заранее объявлять или инициализировать переменные.
Для примера, вот как это сделано у меня:
Код
screen main_menu():
## Этот тег гарантирует, что любой другой экран с тем же тегом будет
## заменять этот.
tag menu
style_prefix "main_menu"
add gui.main_menu_background
if persistent.menu_unlocked_aliya: # Unlocked Aliya
add gui.main_menu_background_aliya_unlocked
else:
add gui.main_menu_background_aliya_locked
## Этот тег гарантирует, что любой другой экран с тем же тегом будет
## заменять этот.
tag menu
style_prefix "main_menu"
add gui.main_menu_background
if persistent.menu_unlocked_aliya: # Unlocked Aliya
add gui.main_menu_background_aliya_unlocked
else:
add gui.main_menu_background_aliya_locked
И вот как я ставлю эту переменную в игре:
Код
$ persistent.menu_unlocked_aliya = True
И все работает без дополнительных инициализации