[Solved] "Unknown keyword arguments: what, who" But... it's right there.

Discuss how to use the Ren'Py engine to create visual novels and story-based games. New releases are announced in this section.
Forum rules
This is the right place for Ren'Py help. Please ask one question per thread, use a descriptive subject like 'NotFound error in option.rpy' , and include all the relevant information - especially any relevant code and traceback messages. Use the code tag to format scripts.
Post Reply
Message
Author
User avatar
VAPMichaelaLaws
Regular
Posts: 196
Joined: Mon Dec 10, 2012 2:11 am
Completed: Check Signature!
Projects: Check Signature!
Organization: Seraphim Entertainment
Tumblr: thebunnyofevil
Contact:

[Solved] "Unknown keyword arguments: what, who" But... it's right there.

#1 Post by VAPMichaelaLaws »

Okay so I've been working on the Complete Edition of Seduce Me's story and, for some reason, Ren'Py seems to think I have not defined ANY of my characters. Like, at ALL.

I have defined in my script.rpy file:
define n = Character(" ", color="#ffffff")

Because I am reusing the defines I made from 2014 instead of being a cool kid and using narrator (I'm old and cranky and don't want to spend time relearning something that still works)

However, when I go in and choose to play Seduce Me 1 (which I've used action Start("sm1start") in the screens menu), I get this:

Code: Select all

I'm sorry, but an uncaught exception occurred.

While running game code:
  File "game/SM1.rpy", line 44, in script
    n "This is a fictional interactive narrative. Any character resemblences to real-life people are purely coincidental."
Exception: Unknown keyword arguments: what, who

-- Full Traceback ------------------------------------------------------------

Full traceback:
  File "game/SM1.rpy", line 44, in script
    n "This is a fictional interactive narrative. Any character resemblences to real-life people are purely coincidental."
  File "D:\DOCUMENTS\renpy-7.1.3-sdk\renpy\ast.py", line 708, in execute
    renpy.exports.say(who, what, *args, **kwargs)
  File "D:\DOCUMENTS\renpy-7.1.3-sdk\renpy\exports.py", line 1345, in say
    who(what, *args, **kwargs)
  File "D:\DOCUMENTS\renpy-7.1.3-sdk\renpy\character.py", line 1142, in __call__
    self.do_display(who, what, cb_args=self.cb_args, **display_args)
  File "D:\DOCUMENTS\renpy-7.1.3-sdk\renpy\character.py", line 842, in do_display
    **display_args)
  File "D:\DOCUMENTS\renpy-7.1.3-sdk\renpy\character.py", line 552, in display_say
    what_text = renpy.display.screen.get_widget(what_text[0], what_text[1], what_text[2])
  File "D:\DOCUMENTS\renpy-7.1.3-sdk\renpy\display\screen.py", line 1299, in get_widget
    screen.update()
  File "D:\DOCUMENTS\renpy-7.1.3-sdk\renpy\display\screen.py", line 625, in update
    self.screen.function(**self.scope)
  File "D:\DOCUMENTS\renpy-7.1.3-sdk\renpy\ast.py", line 158, in apply_arguments
    return parameters.apply(args, kwargs, ignore_errors)
  File "D:\DOCUMENTS\renpy-7.1.3-sdk\renpy\ast.py", line 145, in apply
    raise Exception("Unknown keyword arguments: %s" % ( ", ".join(values.keys())))
Exception: Unknown keyword arguments: what, who

Windows-8-6.2.9200
Ren'Py 7.3.5.606
The Seduce Me Arc 1.0
Mon Feb 03 16:27:17 2020
Skipping forward, apparently, NONE of my characters are being acknowledged as defined.

Am I forced to use start.rpy? All my defined characters and images are in script.rpy (no duplicates), but to let the player choose what game to play (be it SM1, SM2, or between 13 individual episodes), I have the screens start directly at their respective labels instead (action Start("sm1start"), action Start(sm2start), etc). **The episodes and games alone still work on their own, so I can only assume I am forced to use start.rpy, which will make my job even harder.

It was working before and it's bothering me now as to why, all of a sudden, the game won't recognize my defined characters.
Last edited by VAPMichaelaLaws on Thu Feb 06, 2020 11:09 pm, edited 1 time in total.
Voice Actress | Singer | Writer | Producer | Director
http://www.michaelaamandalaws.com/
--------
Completed Projects: My Teacher (NaNoReno2013), Pizz'Amore, My Lady, Our School Love (Otome Audio CD), Our Honeymoon (Otome Audio CD), Seduce Me, Maid With Perfection (NaNoReno2015), Blind Love (ILUjam 2015), Love And Romance: A Study Of Intimacy, Seduce Me 2: The Demon War, Remember, Remember
Projects Still In Production: All For You

User avatar
gas
Miko-Class Veteran
Posts: 842
Joined: Mon Jan 26, 2009 7:21 pm
Contact:

Re: "Unknown keyword arguments: what, who" But... it's right there.

#2 Post by gas »

When exactly you're calling that story screen selector?
If you want to debate on a reply I gave to your posts, please QUOTE ME or i'll not be notified about. << now red so probably you'll see it.

10 ? "RENPY"
20 GOTO 10

RUN

User avatar
Imperf3kt
Lemma-Class Veteran
Posts: 3792
Joined: Mon Dec 14, 2015 5:05 am
itch: Imperf3kt
Location: Your monitor
Contact:

Re: "Unknown keyword arguments: what, who" But... it's right there.

#3 Post by Imperf3kt »

is there possibly a missing apostrophe or other quotation?
Warning: May contain trace amounts of gratuitous plot.
pro·gram·mer (noun) An organism capable of converting caffeine into code.

Current project: GGD Mentor

Twitter

User avatar
VAPMichaelaLaws
Regular
Posts: 196
Joined: Mon Dec 10, 2012 2:11 am
Completed: Check Signature!
Projects: Check Signature!
Organization: Seraphim Entertainment
Tumblr: thebunnyofevil
Contact:

Re: "Unknown keyword arguments: what, who" But... it's right there.

#4 Post by VAPMichaelaLaws »

gas wrote: Mon Feb 03, 2020 7:38 pm When exactly you're calling that story screen selector?
I'm using 3 different screens:
MM.png

Code: Select all

##############################################################################
# Main Menu 
#
# Screen that's used to display the main menu, when Ren'Py first starts
# http://www.renpy.org/doc/html/screen_special.html#main-menu

screen main_menu():

    # This ensures that any other menu screen is replaced.
    tag menu

    imagemap:   
        ground "mainmenuani"
        idle "GUI/mm_idle.png"
        hover "GUI/mm_hover.png"
        alpha False
        
        hotspot (174, 568, 114, 50) action ShowMenu("wheretobegin") ###<<<--- That is where you pick which game to play
        hotspot (337, 568, 198, 50) action ShowMenu("load")
        hotspot (586, 568, 172, 60) action ShowMenu("preferences")
        hotspot (810, 569, 142, 49) action ShowMenu("extras")
        hotspot (1004, 568, 101, 58) action Quit(confirm=False) 
        
        cache False


init -2 python:

    # Make all the main menu buttons be the same size.
    style.mm_button.size_group = "mm"
    
titlechoice.png

Code: Select all

##############################################################################
# MM2
#
#
# 

screen wheretobegin():
    
    tag menu

    imagemap:   
        ground "GUI/titlechoice_ground.png"
        idle "GUI/titlechoice_idle.png"
        hover "GUI/titlechoice_hover.png"
        alpha False
        
        hotspot (105, 191, 397, 257) action Start("sm1start")  ###<<<--- That SHOULD start the label for Seduce Me 1, located in "SM1.rpy"
        hotspot (731, 199, 446, 234) action ShowMenu("demonwarchoice") ###<<<--- This goes to the menu for picking Seduce Me 2
        hotspot (442, 441, 399, 256) action ShowMenu("episodechoice") ###<<<--- This goes to the menu for picking the Seduce Me Episodes
        hotspot (1155, 676, 123, 42) action ShowMenu("main_menu")
        
        cache False

sm2men.png

Code: Select all

##############################################################################
# MM3
#
# Screen that's used to display the main menu, when Ren'Py first starts
# http://www.renpy.org/doc/html/screen_special.html#main-menu

screen demonwarchoice():

    # This ensures that any other menu screen is replaced.
    tag menu

    imagemap:   
        ground "GUI/sm2men_ground.png"
        idle "GUI/sm2men_idle.png"
        hover "GUI/sm2men_hover.png"
        alpha False
        
        hotspot (554, 19, 167, 148) action Start("sambutton") ####<<<--- Starts SM2 Sam Route
        hotspot (315, 151, 167, 148) action Start("jamesbutton") ####<<<--- Starts SM2 James Route
        hotspot (796, 151, 167, 148) action Start("matthewbutton") ####<<<--- Starts SM2 Matthew Route
        hotspot (315, 421, 167, 148) action Start("erikbutton") ####<<<--- Starts SM2 Erik Route
        hotspot (796, 421, 167, 148) action Start("damienbutton") ####<<<--- Starts SM2 Damien Route
        hotspot (557, 545, 167, 148) action Start("dianabutton") ####<<<--- Starts SM2 Diana Route
        hotspot (1155, 676, 123, 42) action ShowMenu("wheretobegin")
        
        cache False
        
epimen.png

Code: Select all

##############################################################################
# MM4
#
# 
# 

screen episodechoice():

    # This ensures that any other menu screen is replaced.
    tag menu

    imagemap:   
        ground "GUI/epimen_ground.png"
        idle "GUI/epimen_idle.png"
        hover "GUI/epimen_hover.png"
        alpha False
        
        hotspot (48, 275, 225, 90) action Start("lessoninromance") ####<<<--- This and EVERYTHING ELSE BELOW Starts An Episode, each labeled as such
        hotspot (288, 275, 225, 90) action Start("myprincess")
        hotspot (528, 275, 225, 90) action Start("shallwedance")
        hotspot (768, 275, 225, 90) action Start("simonsrevenge")
        hotspot (1008, 275, 225, 90) action Start("citylights")
        hotspot (48, 385, 225, 90) action Start("succubussacrifice")
        hotspot (288, 385, 225, 90) action Start("burninghotlove")
        hotspot (528, 385, 225, 90) action Start("beach")
        hotspot (768, 385, 225, 90) action Start("holiday")
        hotspot (1008, 385, 225, 90) action Start("haremepisode")
        hotspot (48, 495, 225, 90) action Start("princevsbrute")
        hotspot (288, 495, 225, 90) action Start("purrfect")
        hotspot (528, 495, 225, 90) action ShowMenu ("justanotherday") ###<<<--- This is a different menu for an audio collection, not part of the game
        hotspot (768, 495, 225, 90) action Start("wedding")
        hotspot (1008, 495, 225, 90) action ShowMenu ("aftereverafter") ###<<<--- This is a different menu for an audio collection, not part of the game
        
        hotspot (1155, 676, 123, 42) action ShowMenu("wheretobegin")
        
        cache False

I'm basically skipping script.rpy ENTIRELY other than filling it with defines for characters and images. However, whenever it goes to "Start" any of the games/episodes, it runs THAT error as if no characters have been defined (confirmed by rolling through to other character lines)
Imperf3kt wrote: Mon Feb 03, 2020 9:05 pm is there possibly a missing apostrophe or other quotation?
I WISH that was the case, but running the games individually in their own separate game builds work each time without issue. It's strangely not recognizing the character exists when I compile all the scripts together into one build (different .rpy files for each game respectively with their own labels.)
Voice Actress | Singer | Writer | Producer | Director
http://www.michaelaamandalaws.com/
--------
Completed Projects: My Teacher (NaNoReno2013), Pizz'Amore, My Lady, Our School Love (Otome Audio CD), Our Honeymoon (Otome Audio CD), Seduce Me, Maid With Perfection (NaNoReno2015), Blind Love (ILUjam 2015), Love And Romance: A Study Of Intimacy, Seduce Me 2: The Demon War, Remember, Remember
Projects Still In Production: All For You

User avatar
VAPMichaelaLaws
Regular
Posts: 196
Joined: Mon Dec 10, 2012 2:11 am
Completed: Check Signature!
Projects: Check Signature!
Organization: Seraphim Entertainment
Tumblr: thebunnyofevil
Contact:

Re: "Unknown keyword arguments: what, who" But... it's right there.

#5 Post by VAPMichaelaLaws »

UPDATE: Solutions I have tried are as follows:
  • Placed all scripts of every game (including their labels) into script.rpy - Same Error.
  • Wrote " " "Blahblahblah" into script to check if that define method works - Same Error with message:

Code: Select all

While running game code:
  File "game/SM1.rpy", line 44, in script
    " " "This is a fictional interactive narrative. Any character resemblences to real-life people are purely coincidental."
  File "renpy/common/00library.rpy", line 268, in say
    who(what, interact=interact, *args, **kwargs)
Exception: Unknown keyword arguments: what, who
I'm at a loss. The other games run JUST FINE in Ren'Py and on their own. It's just THIS GAME that somehow is getting this error and I have only changed the location of the games (all games are in seperate .rpy files with proper labels to direct commands to)
Voice Actress | Singer | Writer | Producer | Director
http://www.michaelaamandalaws.com/
--------
Completed Projects: My Teacher (NaNoReno2013), Pizz'Amore, My Lady, Our School Love (Otome Audio CD), Our Honeymoon (Otome Audio CD), Seduce Me, Maid With Perfection (NaNoReno2015), Blind Love (ILUjam 2015), Love And Romance: A Study Of Intimacy, Seduce Me 2: The Demon War, Remember, Remember
Projects Still In Production: All For You

philat
Eileen-Class Veteran
Posts: 1910
Joined: Wed Dec 04, 2013 12:33 pm
Contact:

Re: "Unknown keyword arguments: what, who" But... it's right there.

#6 Post by philat »

Honestly, why not just run it on 2014 Ren'py? I don't have your files and I can't verify, but that sounds like an instance where ren'py's internal workings have changed enough that they're not working with your old screens. In any case, is there a particular reason you need to be running this on 7.3.5 anyway?

User avatar
gas
Miko-Class Veteran
Posts: 842
Joined: Mon Jan 26, 2009 7:21 pm
Contact:

Re: "Unknown keyword arguments: what, who" But... it's right there.

#7 Post by gas »

Ok, I SUPPOSE the error trigger by showing a menu screen with ShowMenu() (entering the menu context) and then try to start the game from that.

On easy solution is to have a start button that normally start the game (like a main title for your collection), then immediately call the screen to select your episodes and use jumps instead of Start().
Hopefully that doesn't trigger some side effect I can't predict, but should work.
If you want to debate on a reply I gave to your posts, please QUOTE ME or i'll not be notified about. << now red so probably you'll see it.

10 ? "RENPY"
20 GOTO 10

RUN

User avatar
VAPMichaelaLaws
Regular
Posts: 196
Joined: Mon Dec 10, 2012 2:11 am
Completed: Check Signature!
Projects: Check Signature!
Organization: Seraphim Entertainment
Tumblr: thebunnyofevil
Contact:

Re: "Unknown keyword arguments: what, who" But... it's right there.

#8 Post by VAPMichaelaLaws »

philat wrote: Tue Feb 04, 2020 8:31 pm Honestly, why not just run it on 2014 Ren'py? I don't have your files and I can't verify, but that sounds like an instance where ren'py's internal workings have changed enough that they're not working with your old screens. In any case, is there a particular reason you need to be running this on 7.3.5 anyway?
Because I am also releasing this game on Android and iPhone devices, so the Ren'Py system needs to be updated to the latest update as to work with the newest Android/iPhone integrations. Plus, I've updated the games back in 2018 using the latest Ren'Py then and did not have this issue.
gas wrote: Tue Feb 04, 2020 9:37 pm Ok, I SUPPOSE the error trigger by showing a menu screen with ShowMenu() (entering the menu context) and then try to start the game from that.

On easy solution is to have a start button that normally start the game (like a main title for your collection), then immediately call the screen to select your episodes and use jumps instead of Start().
Hopefully that doesn't trigger some side effect I can't predict, but should work.
Same error occurs. I have the start hotspot to "action Start()" and have the label start as

Code: Select all

label start:
    
    call screen wheretobegin with dissolve
It still will not recognize that I have defined characters in that script.rpy file.
Voice Actress | Singer | Writer | Producer | Director
http://www.michaelaamandalaws.com/
--------
Completed Projects: My Teacher (NaNoReno2013), Pizz'Amore, My Lady, Our School Love (Otome Audio CD), Our Honeymoon (Otome Audio CD), Seduce Me, Maid With Perfection (NaNoReno2015), Blind Love (ILUjam 2015), Love And Romance: A Study Of Intimacy, Seduce Me 2: The Demon War, Remember, Remember
Projects Still In Production: All For You

User avatar
Remix
Eileen-Class Veteran
Posts: 1628
Joined: Tue May 30, 2017 6:10 am
Completed: None... yet (as I'm still looking for an artist)
Projects: An un-named anime based trainer game
Contact:

Re: "Unknown keyword arguments: what, who" But... it's right there.

#9 Post by Remix »

Do any of the other files redefine screen say ?

If not, do a project wide search for the term "who" and try to think whether it makes sense in modern Ren'Py. Some function, method or screen is being passed those keywords when it doesn't expect them...
Frameworks & Scriptlets:

philat
Eileen-Class Veteran
Posts: 1910
Joined: Wed Dec 04, 2013 12:33 pm
Contact:

Re: "Unknown keyword arguments: what, who" But... it's right there.

#10 Post by philat »

*shrug* Good luck then. It's not a matter of the character definition itself--it's what Remix said. I would imagine it's likely the say screen but it may be something else.

User avatar
VAPMichaelaLaws
Regular
Posts: 196
Joined: Mon Dec 10, 2012 2:11 am
Completed: Check Signature!
Projects: Check Signature!
Organization: Seraphim Entertainment
Tumblr: thebunnyofevil
Contact:

Re: "Unknown keyword arguments: what, who" But... it's right there.

#11 Post by VAPMichaelaLaws »

So RenPyTom takes the credit on figuring it out (it was such an odd situation)

Apparently, there was a duplicate say screen in one of the hidden .rpyc files pre-compile which was breaking everything. One sweep and force completely deletes the duplicate and things run smooth once more.

Not sure how that happened in the first place but UGH that was a weird bug...
Voice Actress | Singer | Writer | Producer | Director
http://www.michaelaamandalaws.com/
--------
Completed Projects: My Teacher (NaNoReno2013), Pizz'Amore, My Lady, Our School Love (Otome Audio CD), Our Honeymoon (Otome Audio CD), Seduce Me, Maid With Perfection (NaNoReno2015), Blind Love (ILUjam 2015), Love And Romance: A Study Of Intimacy, Seduce Me 2: The Demon War, Remember, Remember
Projects Still In Production: All For You

Post Reply

Who is online

Users browsing this forum: MisterPinetree