That is easy and I've got it sorted, however I've got these lists in multiple different screens and so my code is duplicated several time at the moment.
I'd like to just call a python function that returns a vbox list given a tag, sort of like:
Code: Select all
def generateEventList(tag)
Currently my code for the function is:
Code: Select all
def generateEventList(eventTag):
# eventList is a global list with each event in the format
# { "trigger": "", "title": "", "tag": "", "replay": "", "color": ""}
for item in eventList:
if item["tag"] == eventTag:
if globals()[item["trigger"]] == True:
return textbutton str("{s}"+item["title"].replace("!player_name!", player_name)+"{/s}"):
text_style "replaybutton"
action Replay(item["replay"],scope={"player_name": player_name}, locked=False )
else:
return text _(str(str("{color=#eee}" if item["color"] == "" else item["color"]) + "{size=-5}"+item["title"].replace("!player_name!", player_name)+"{/size}{/color}"))
Code: Select all
File "game/events.rpy", line 60: invalid syntax
return textbutton str("{s}"+item["title"].replace("!player_name!", player_name)+"{/s}"):