Ren'Py [SOLVED] Character object and multiple condition arguments.

AmazonessKing

Amazoness Entrepreneur
Aug 13, 2019
1,898
2,917
So, I have a problem. I want a textbox to change depending on specific conditions. However, I, for the life of me, can't find a way to make this work. Here's my code:
Python:
    if inpsyche == True and clock.psychename == ["CHARLOTTE"]:
        background Image("gui/textboxcharlotte.png", xalign=0.5, yalign=1.0)
    elif inpsyche == True and clock.psychename == ["LAURA"]:
        background Image("gui/textboxlaura.png", xalign=0.5, yalign=1.0)
    elif inpsyche == True and clock.psychename == ["VALERIE"]:
        background Image("gui/textboxvalerie.png", xalign=0.5, yalign=1.0)
    elif inpsyche == True and clock.psychename == ["LAURA"]:
        background Image("gui/textboxlaura.png", xalign=0.5, yalign=1.0)
Obviously, that doesn't work with Character Object, because I need a python line, but that doesn't work because the arguments repeat themselves.
Python:
define narrator = Character(
conditional='if inpsyche == True and clock.psychename == ["CHARLOTTE"]: window_background="gui/textboxcharlotte.png", xalign=0.5, yalign=1.0',
conditional='elif inpsyche == True and clock.psychename == ["LAURA"]: window_background="gui/textboxlaura.png", xalign=0.5, yalign=1.0',
conditional='elif inpsyche == True and clock.psychename == ["VALERIE"]: window_background="gui/textboxvalerie.png", xalign=0.5, yalign=1.0',
conditional='elif inpsyche == True and clock.psychename == ["LAURA"]: window_background="gui/textboxlaura.png", xalign=0.5, yalign=1.0)')



How can I implement a changing textbox? It doesn't need to be on the character object, but I even tried in the screen file and that sends me this.
Python:
style window:
    xalign 0.5
    xfill True
    yalign gui.textbox_yalign
    ysize gui.textbox_height

    if inpsyche == True and clock.psychename == ["CHARLOTTE"]:
        background Image("gui/textboxcharlotte.png", xalign=0.5, yalign=1.0)
    elif inpsyche == True and clock.psychename == ["LAURA"]:
        background Image("gui/textboxlaura.png", xalign=0.5, yalign=1.0)
    elif inpsyche == True and clock.psychename == ["VALERIE"]:
        background Image("gui/textboxvalerie.png", xalign=0.5, yalign=1.0)
    elif inpsyche == True and clock.psychename == ["LAURA"]:
        background Image("gui/textboxlaura.png", xalign=0.5, yalign=1.0)
    else:
        background Image("gui/textbox.png", xalign=0.5, yalign=1.0)
Code:
File "game/screens.rpy", line 139: end of line expected.
    if inpsyche == True and clock.psychename == ["CHARLOTTE"]:
    ^
I tried some variations of that, but same result.
 

Porcus Dev

Engaged Member
Game Developer
Oct 12, 2017
2,582
4,690
It's the morning and I have a bad cold... so don't pay much attention to me... but maybe like this:

Code:
if inpsyche == True:            ### In all cases this value is always True, so you can put it only once
    if clock.psychename == "CHARLOTTE":
        background Image("gui/textboxcharlotte.png", xalign=0.5, yalign=1.0)
    if clock.psychename == "LAURA":
        background Image("gui/textboxlaura.png", xalign=0.5, yalign=1.0)
    if clock.psychename == "VALERIE":
        background Image("gui/textboxvalerie.png", xalign=0.5, yalign=1.0)
    if clock.psychename == "LAURA":
        background Image("gui/textboxlaura.png", xalign=0.5, yalign=1.0)
    else:
        background Image("gui/textbox.png", xalign=0.5, yalign=1.0)
 

the66

beware, the germans are cumming
Modder
Donor
Respected User
Jan 27, 2017
7,655
23,750
if you want to redefine the narrator character use this
Python:
image narrator_textbox = ConditionSwitch(
                            'inpsyche and psychename == "CHARLOTTE"', "gui/textboxcharlotte.png",
                            'inpsyche and psychename == "LAURA"', "gui/textboxlaura.png",
                            'inpsyche and psychename == "VALERIE"', "gui/textboxvalerie.png",
                            'True', "gui/textbox.png")
init 1400:
    define narrator = Character(None, kind=adv, what_style='say_thought', window_background='narrator_textbox')
if not, you don't need to specify the init level for the character definition.
 

anne O'nymous

I'm not grumpy, I'm just coded that way.
Modder
Donor
Respected User
Jun 10, 2017
10,302
15,172
Like mgomez0077 implied, the main error is here : == ["CHARLOTTE"]:
You are asking "if the value is a list that contain only the string 'CHARLOTTE'", while I assume that clock.psychename contain in fact just the string.

As for the error you get, it's because a style block can only take and nothing more, while you're trying to use if blocks in it.


Code:
image narrator_textbox = ConditionSwitch(
                            'inpsyche and psychename == "CHARLOTTE"', "gui/textboxcharlotte.png",
                            'inpsyche and psychename == "LAURA"', "gui/textboxlaura.png",
                            'inpsyche and psychename == "VALERIE"', "gui/textboxvalerie.png",
                            'True', "gui/textbox.png")
Changing psychename in clock.psychename.


if not, you don't need to specify the init level for the character definition.
Even if you're redefining the narrator, you don't need the init level. You aren't passing the displayable as literal value, but as value that will be proceeded each time the narrator will say something. narrator.window_args["background"] contain a string, not a displayable.

Therefore, it doesn't matter if the define statements are proceeded before or after image ones. In fact, you can even create the image after the game started. It's bad and you should never do this, but it will absolutely not bother Ren'py :
Python:
# I'm lazy
image altBox = "whatever.png"

define narrator = Character(None, kind=adv, window_background="testBox")

label start:
    # Note the error message.
    "So, the game is started..."
    "Oop's, did I forgot something ?"
    "Oh, yes, to create the image for the background"
    # NEVER DO THIS AT HOME, It's really bad.
    $ renpy.game.context().init_phase = True
    $ renpy.image( "testBox", renpy.get_registered_image( "altBox" ) )
    $ renpy.game.context().init_phase = False
    "It's better now."
    "END"
    return
 

the66

beware, the germans are cumming
Modder
Donor
Respected User
Jan 27, 2017
7,655
23,750
correct, but when redefining a narrator from the orig. narrator object define narrator = Character(kind=narrator, window_background="whatever") you need this init level unless you use it after the init phase $ narrator = Character(kind=narrator, window_background="whatever").
 

AmazonessKing

Amazoness Entrepreneur
Aug 13, 2019
1,898
2,917
It's the morning and I have a bad cold... so don't pay much attention to me... but maybe like this:
I tried a variation of this originally that went like this
You don't have permission to view the spoiler content. Log in or register now.
That way, since inpsyche isn't always true, it can display the normal textbox when it's false. However, as Anne said, since it's an style block, seems like style blocks don't accept conditionals. I think it's still worth mentioning since it would show the normal textbox if not inpsyche, meaning the normal textbox is the default.

Changing psychename in clock.psychename.
Just a question. I need to also change it for the main character, I only used the narrator as an example of character, something I should have mentioned before. So will this work for all characters? That would be better, since I originally wanted to change the text box of each character by using window_background="example.png" on each. I will try with the narrator nonetheless.
However, I just tested the code, and it doesn't display the different gui.
You don't have permission to view the spoiler content. Log in or register now.
For the record, I do use slightly modified conditional switches, and even though those are working as intended, the normal conditional switch in this case isn't, dunno if it's because of these ones having more than one condition at the same time:
You don't have permission to view the spoiler content. Log in or register now.
EDIT:
Even when changing it to a single condition, it doesn't display.
Python:
define narrator = Character(ctc="ctc_charlotte", what_style='say_thought', window_background='custom_textbox')
define p = Character("[povname]", ctc="ctc_charlotte", window_background='custom_textbox')

image custom_textbox = ConditionSwitch(
    'clock.psychename == "CHARLOTTE"', "gui/textboxcharlotte.png",
    'clock.psychename == "LAURA"', "gui/textboxlaura.png",
    'clock.psychename == "VALERIE"', "gui/textboxvalerie.png",
    'True', "gui/textbox.png")
correct, but when redefining a narrator from the orig. narrator object define narrator = Character(kind=narrator, window_background="whatever") you need this init level unless you use it after the init phase $ narrator = Character(kind=narrator, window_background="whatever").
Do you? Pretty sure the narrator is only an and it can be modified as a character with some exceptions.
 
Last edited:

anne O'nymous

I'm not grumpy, I'm just coded that way.
Modder
Donor
Respected User
Jun 10, 2017
10,302
15,172
correct, but when redefining a narrator from the orig. narrator object [...]
Which is useless but totally normal, since you're asking Ren'py to copy the properties of the object given as reference. Therefore you need to wait for the init level 1400 (in which the said object is created as alias of the effective narrator sayer). But by using the original (_narrator) instead of the alias, you don't need to specify a particular init level.


Just a question. I need to also change it for the main character, I only used the narrator as an example of character, something I should have mentioned before. So will this work for all characters?
the66's method can works for all the characters, just remember to correct it with clock.psychename. And unless you want to effectively have a different background for each character, you don't need to create another image.


For the record, I do use slightly modified conditional switches, and even though those are working as intended, the normal conditional switch in this case isn't, dunno if it's because of these ones having more than one condition at the same time:
As long as you haven't overwrote the original one, it should still works as intended :/

This said, if really the ConditionSwitch don't works, there's a work around. The value of the window_background property is an interpolated text, therefore you can switch the background in real time without the need of an evil solution :
Python:
init python:
    def switchPsyche( state=None ):
        if state is None: store.psyche = not psyche
        else:             store.psyche = state
        store.sayBackground = "defaultSayBackground" if psyche is False else "psycheSayBackground"

image defaultSayBackground = "gui/textbox.png"
# WARNING, now the names are "textboxCHARLOTTE.png"
# It will works fine on Windows, but Linux/Mac OS X, take the case in count,
# so you need to rename the images accordingly.
image psycheSayBackground = "gui/textbox[clock.psychename].png"

# Name of the actual background
default sayBackground = "defaultSayBackground"

define narrator = Character(None, [whatever you want], window_background="[sayBackground]")
define myChar = Character("his name", [whatever you want], window_background="[sayBackground]")

label whatever:
    # Activate psyche - will also pass the background to /psycheSayBackground/
    $ switchPsyche( True )
    [...]
    # Deactivate psyche - will also pass the background to /defaultSayBackground/
    $ switchPsyche( False )
    [...]
    # Inverse the value of psyche - will also inverse the background
    $ switchPsyche()
    [...]
I haven't tested it explicitly, but it should works ; minus the always possible typo while writing the code.


Do you? Pretty sure the narrator is only an and it can be modified as a character with some exceptions.
Without exceptions. The only thing that make it a narrator is that it have None as name. But it's the sole difference, it's the same object that all the characters and it have the exact same behavior than them. The difference is located in the "say" screen which will not display the name box if the name is None.

Edit: typo
 

AmazonessKing

Amazoness Entrepreneur
Aug 13, 2019
1,898
2,917
anne O'nymous the normal method is indeed not working as intended, and when I tried to run yours:
Code:
I'm sorry, but an uncaught exception occurred.

While running game code:
  File "game/script.rpy", line 25, in script
    p "TEST OUT"
  File "game/script.rpy", line 25, in script
    p "TEST OUT"
  File "renpy/common/000window.rpy", line 98, in _window_auto_callback
    _window_show()
  File "renpy/common/000window.rpy", line 60, in _window_show
    renpy.with_statement(trans)
Exception: DynamicImage u'gui/textbox[clock.psychename].png': could not find image. (u"gui/textbox[u'CHARLOTTE', u'JULIA', u'VALERIE', u'LAURA', u'EILEEN'].png")
Code:

Python:
init python:
    def switchPsyche( state=None ):
        if state is None: store.psyche = not psyche
        else:             store.psyche = state
        store.sayBackground = "defaultSayBackground" if psyche is False else "psycheSayBackground"

image defaultSayBackground = "gui/textbox.png"
image psycheSayBackground = "gui/textbox[clock.psychename].png"
default sayBackground = "defaultSayBackground"

define narrator = Character(ctc="ctc_charlotte", what_style="say_thought", window_background="[sayBackground]")
define p = Character("[povname]", ctc="ctc_charlotte", window_background="[sayBackground]")

label start:

    scene black
    $ switchPsyche(True)
    p "TEST OUT"
    $ clock.psychename = ["CHARLOTTE"]
    p "TEST CHARLOTTE"
    $ clock.psychename = ["JULIA"]
    p "TEST JULIA"
    $ clock.psychename = ["VALERIE"]
    p "TEST VALERIE"
    $ clock.psychename = ["LAURA"]
    p "TEST LAURA"
    $ switchPsyche(False)
    p "TEST OUT"
I tried deleting eileen from the string since I don't have her textbox, but that didn't work either.
textbox.PNG
 

Porcus Dev

Engaged Member
Game Developer
Oct 12, 2017
2,582
4,690
anne O'nymous the normal method is indeed not working as intended, and when I tried to run yours:
Code:
I'm sorry, but an uncaught exception occurred.

While running game code:
  File "game/script.rpy", line 25, in script
    p "TEST OUT"
  File "game/script.rpy", line 25, in script
    p "TEST OUT"
  File "renpy/common/000window.rpy", line 98, in _window_auto_callback
    _window_show()
  File "renpy/common/000window.rpy", line 60, in _window_show
    renpy.with_statement(trans)
Exception: DynamicImage u'gui/textbox[clock.psychename].png': could not find image. (u"gui/textbox[u'CHARLOTTE', u'JULIA', u'VALERIE', u'LAURA', u'EILEEN'].png")
Code:

Python:
init python:
    def switchPsyche( state=None ):
        if state is None: store.psyche = not psyche
        else:             store.psyche = state
        store.sayBackground = "defaultSayBackground" if psyche is False else "psycheSayBackground"

image defaultSayBackground = "gui/textbox.png"
image psycheSayBackground = "gui/textbox[clock.psychename].png"
default sayBackground = "defaultSayBackground"

define narrator = Character(ctc="ctc_charlotte", what_style="say_thought", window_background="[sayBackground]")
define p = Character("[povname]", ctc="ctc_charlotte", window_background="[sayBackground]")

label start:

    scene black
    $ switchPsyche(True)
    p "TEST OUT"
    $ clock.psychename = ["CHARLOTTE"]
    p "TEST CHARLOTTE"
    $ clock.psychename = ["JULIA"]
    p "TEST JULIA"
    $ clock.psychename = ["VALERIE"]
    p "TEST VALERIE"
    $ clock.psychename = ["LAURA"]
    p "TEST LAURA"
    $ switchPsyche(False)
    p "TEST OUT"
I tried deleting eileen from the string since I don't have her textbox, but that didn't work either.
View attachment 418440
Try it without the claudators:
Code:
label start:

    scene black
    $ switchPsyche(True)
    p "TEST OUT"
    $ clock.psychename = "CHARLOTTE"
    p "TEST CHARLOTTE"
    $ clock.psychename = "JULIA"
    p "TEST JULIA"
    $ clock.psychename = "VALERIE"
    p "TEST VALERIE"
    $ clock.psychename = "LAURA"
    p "TEST LAURA"
    $ switchPsyche(False)
p "TEST OUT"[/CODE]
 

AmazonessKing

Amazoness Entrepreneur
Aug 13, 2019
1,898
2,917
Try it without the claudators:
Didn't work. I also tried making an image statement inside the code, didn't work either.
Python:
init python:
    def switchPsyche( state=None ):
        if state is None: store.psyche = not psyche
        else:             store.psyche = state
        store.sayBackground = "defaultSayBackground" if psyche is False else "psycheSayBackground"

init python:
    def switchPsyche( state=None ):
        if state is None: store.psyche = not psyche
        else:             store.psyche = state
        store.sayBackground = "defaultSayBackground" if psyche is False else "psycheSayBackground"

image textboxCHARLOTTE = "gui/textboxcharlotte.png"
image textboxJULIA = "gui/textboxjulia.png"
image textboxVALERIE = "gui/textboxvalerie.png"
image textboxLAURA = "gui/textboxlaura.png"
image defaultSayBackground = "gui/textbox.png"
image psycheSayBackground = "textbox[clock.psychename]"
default sayBackground = "defaultSayBackground"

define narrator = Character(ctc="ctc_charlotte", what_style="say_thought", window_background="[sayBackground]")
define p = Character("[povname]", ctc="ctc_charlotte", window_background="[sayBackground]")

label start:

    scene black
    $ switchPsyche(True)
    p "TEST OUT"
    $ clock.psychename = ["CHARLOTTE"]
    p "TEST CHARLOTTE"
    $ clock.psychename = ["JULIA"]
    p "TEST JULIA"
    $ clock.psychename = ["VALERIE"]
    p "TEST VALERIE"
    $ clock.psychename = ["LAURA"]
    p "TEST LAURA"
    $ switchPsyche(False)
    p "TEST OUT"
Code:
While running game code:
  File "game/script.rpy", line 25, in script
    p "TEST OUT"
  File "game/script.rpy", line 25, in script
    p "TEST OUT"
  File "renpy/common/000window.rpy", line 98, in _window_auto_callback
    _window_show()
  File "renpy/common/000window.rpy", line 60, in _window_show
    renpy.with_statement(trans)
Exception: DynamicImage u'textbox[clock.psychename]': could not find image. (u"textbox[u'CHARLOTTE', u'JULIA', u'VALERIE', u'LAURA']")
for some reason it can't find the dynamic image even though it's right there.
 
Last edited:

anne O'nymous

I'm not grumpy, I'm just coded that way.
Modder
Donor
Respected User
Jun 10, 2017
10,302
15,172
Wait, wait, wait... There's something wrong here. Either in your code, in your intent, or in our interpretation of what you want according to your example :

Code:
Exception: DynamicImage u'gui/textbox[clock.psychename].png': could not find image. (u"gui/textbox[u'CHARLOTTE', u'JULIA', u'VALERIE', u'LAURA', u'EILEEN'].png")
clock.psychename is a list ?????

What are you trying to do exactly ? Because things like your initial :
Code:
    if inpsyche == True and clock.psychename == ["CHARLOTTE"]:
        background Image("gui/textboxcharlotte.png", xalign=0.5, yalign=1.0)
    elif inpsyche == True and clock.psychename == ["LAURA"]:
        background Image("gui/textboxlaura.png", xalign=0.5, yalign=1.0)
make no sense if it's a list.
I mean, there will be more than one entry on it, therefore more than one condition that can be True.

Are you trying to have a different background according to the order of the girls ? Something like, if "CHARLOTTE" is also in the list, it will be her background, else if "LAURA" is also in the list it's her background, else... in which case you should write the conditions like this :
Code:
    if inpsyche == True and "CHARLOTTE" in clock.psychename:
        background Image("gui/textboxcharlotte.png", xalign=0.5, yalign=1.0)
    elif inpsyche == True and "LAURA" in clock.psychename:
        background Image("gui/textboxlaura.png", xalign=0.5, yalign=1.0)
Or are you effectively expecting only one name, the one of the current girl ? In which case all the codes gave to you works, it's your clock.psychename that don't have the expected value.
 

AmazonessKing

Amazoness Entrepreneur
Aug 13, 2019
1,898
2,917
clock.psychename is a list ?????
Python:
init python:
    class Calendar(object):

            def __init__(self):
                self.day = 0
                self.hourclock = 0
                self.weekdays = ["MONDAY","TUESDAY","WEDNESDAY","THURSDAY","FRIDAY"]
                self.psychename = ["CHARLOTTE","JULIA","VALERIE","LAURA"]
                self.hour_of_day = ["08:00 A.M.", "12:00 P.M.", "04:00 P.M.", "08:00 P.M.", "12:00 A.M."]
                self.time_of_day = ["MORNING", "NOON", "NIGHT"]

            @property
            def personpsyche(self):
                return self.psychename[0]

            @property
            def weekday(self):
                if self.day > 4:
                    self.day = 0
                return self.weekdays[self.day]

            @property
            def hour(self):
                if self.day > 4:
                    self.day = 0
                return self.hour_of_day[self.hourclock]

            @property
            def time(self):
                if (self.hourclock<=1):
                    return self.time_of_day[0]
                elif (self.hourclock==2):
                    return self.time_of_day[1]
                elif (self.hourclock>=1):
                    return self.time_of_day[2]

            def advance_weekday(self, step=1):
                self.day += step
                return fade

            def advance_hour(self, step=1):
                self.hourclock += step
                return fade

default clock = Calendar()

screen clock_marker:
    add "clock_display.png" xalign 0.0 yalign 0.0
    vbox:
        xalign 0.05
        yalign 0.02
        spacing 10
        if inpsyche == True:
            text "{font=digital-7.ttf}[clock.personpsyche]{/font}"
        else:
            text "{font=digital-7.ttf}[clock.weekday]{/font}"
        text "{font=digital-7.ttf}[clock.time]{/font}"
        text "{font=digital-7.ttf}[clock.hour]{/font}"
What are you trying to do exactly ? Because things like your initial : [...] make no sense if it's a list.
My intent is that if the condition for inpsyche is true AND I'm in an specific string psychename (I just realized personpsyche may be reduntand), that the textbox changes. For example, if I do this in the character object:
Python:
define p = Character("[povname]", ctc="ctc_charlotte", window_background="gui/textboxvalerie.png")

label start:
    scene black
    "NO CONDITIONAL EFFECTS BECAUSE THE BACKGROUND IS SET TO THIS SPECIFIC ONE."
It will throw me this:
background.PNG
However, What I want is textbox background to change depending on what string is in psychename AND whether or not inpsyche is true. If inpsyche is true, is will display the textbox of whatever string is in psychename at that moment. If not, it will show the default screen. I hope that's a good enough explanation.

In which case all the codes gave to you works, it's your clock.psychename that don't have the expected value.
As you can see in the error message, the names given by clock.psychename are accurate, but for some reason it insists on that image not existing. In last instance, what I tried giving a $ clock.psychename = ["JULIA"] and the error changed slightly:
Code:
I'm sorry, but an uncaught exception occurred.

While running game code:
  File "game/script.rpy", line 26, in script
    p "TEST OUT"
  File "game/script.rpy", line 26, in script
    p "TEST OUT"
Exception: DynamicImage u'gui/textbox_[clock.psychename].png': could not find image. (u"gui/textbox_[u'JULIA'].png")
So then, still, it says it doesn't find the image, despite renaming my image to match the textbox_JULIA.png scheme.
 

the66

beware, the germans are cumming
Modder
Donor
Respected User
Jan 27, 2017
7,655
23,750
your attribute clock.psychename is always a list and even if you use your clock.personpsyche method, you'll always get only your 1st list member.
and stopy using [] if you don't want to use lists.
 
  • Like
Reactions: AmazonessKing

AmazonessKing

Amazoness Entrepreneur
Aug 13, 2019
1,898
2,917
your attribute clock.psychename is always a list and even if you use your clock.personpsyche method, you'll always get only your 1st list member.
Actually, mate, I couldn't be more happy that you are actually wrong. This did the trick. I changed clock.psychename for clock.personpsyche like I do with my clock because you are right in something: psychename only throws the list and thus the first member, but personpsyche throws the any string I put there.

For example, if I put Charlotte name, since it's the first member, it will throw 0, instead of all the list. Likewise, Laura is the fourth member, so it will throw a 3.

SO THANKS, MATE! YOU INDIRECTLY SAVED ME.
You don't have permission to view the spoiler content. Log in or register now.
 
Last edited:

anne O'nymous

I'm not grumpy, I'm just coded that way.
Modder
Donor
Respected User
Jun 10, 2017
10,302
15,172
If inpsyche is true, is will display the textbox of whatever string is in psychename at that moment.
But there's all the strings in psychename, and obviously you can't have all the background at the same time.


As you can see in the error message, the names given by clock.psychename are accurate, but for some reason it insists on that image not existing.
Of course, since it search for an image literally named gui/textbox[u'CHARLOTTE', u'JULIA', u'VALERIE', u'LAURA', u'EILEEN'].png.
That's where the problem is, all what you say really tend to "I want one girl at the time", but your code always give you all the girls every time. And when it don't, it still not return what you're expecting ; like the66 said, it return the first entry of the list, therefore always "CHARLOTTE".


In last instance, what I tried giving a $ clock.psychename = ["JULIA"] and the error changed slightly:
But WHY do you want it to be a list ? $ clock.psychename = "JULIA" would make all the solution given to you works perfectly. There's no reason to have a list when the only thing you have to store and manipulate is one string.
 

AmazonessKing

Amazoness Entrepreneur
Aug 13, 2019
1,898
2,917
anne O'nymous thanks for your help, as you can see, you were right as well, the problem was the code and, rather, the line I was introducing. The line I should have use was the same line I use in my clock display clock.personpsyche, because this one throws a single value from that list, which I can define at any moment. So it works now!
WORKS!.PNG
Simply put: My problem was trying to put the list, not just a single value of it as I did with the clock display.
And, in the meantime, I solved the linux/MAC problem by just making an image object, so I don't need to change the filename either!