Required parameter has no value (even tho it does)

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
Elliot Dreemurr
Newbie
Posts: 17
Joined: Fri Aug 13, 2021 5:38 pm
Projects: Only You
Discord: 💙 Elliot/Ellie Dreemurr 💙#2000
Contact:

Required parameter has no value (even tho it does)

#1 Post by Elliot Dreemurr »

so i keep getting errors whenever i call the phone messaging system and seems 2 ignore what i input and says theres nothing there but if i ignore the exceptions and move on it still displays everything just fine so im not sure why its telling me theres something wrong when there clearly isnt

Code: Select all

I'm sorry, but an uncaught exception occurred.

While running game code:
  File "game/script.rpy", line 16, in script call
    call chapter02
  File "game/route chara.rpy", line 3, in script call
    call phone
  File "game/messages.rpy", line 26, in script call
    call phone_start(0)
  File "game/definitions.rpy", line 75, in script
    label message_start(who, what):
Exception: Required parameter who has no value.

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

Full traceback:
  File "game/script.rpy", line 16, in script call
    call chapter02
  File "game/route chara.rpy", line 3, in script call
    call phone
  File "game/messages.rpy", line 26, in script call
    call phone_start(0)
  File "game/definitions.rpy", line 75, in script
    label message_start(who, what):
  File "renpy/ast.py", line 864, in execute
    values = apply_arguments(self.parameters, renpy.store._args, renpy.store._kwargs)
  File "renpy/ast.py", line 159, in apply_arguments
    return parameters.apply(args, kwargs, ignore_errors)
  File "renpy/ast.py", line 123, in apply
    raise Exception("Required parameter %s has no value." % name)
Exception: Required parameter who has no value.

Windows-10-10.0.19041
Ren'Py 7.4.8.1895
Only You 1.0
Sat Sep 11 06:33:24 2021
here is what i have 4 the phone messaging stuff

Code: Select all

label phone_msg:

if device == "character":
    call phone_start(1)
elif device == "player":
    call phone_start(0)

if chapter == 1:
    call message_start("Unknown Number", "Free food, my shop. Don't take too long please, Georgie works today.")
    
if device == "character":
    call phone_end(1)
elif device == "player":
    call phone_end(0)

return
and here is all the internal functions and displays

Code: Select all

image phone0 = "images/Phone/phone0.png"
image phone1 = "images/Phone/phone1.png"
image bubble_send = "images/Phone/bubble-send.png"
image bubble_receive = "images/Phone/bubble-receive.png"
image receive_pointer = "images/Phone/pointer-tip-receive.png"
image send_pointer = "images/Phone/pointer-tip-send.png"

label phone_start(face):
    window hide
    if face == 0:
        show phone0 at pickup
    else:
        show phone1 at pickup
        pause 0.5
        return

label message_start(who, what):
    show screen message(who, what)
    return

label msg:
    $ renpy.pause()
    hide screen message
    $ renpy.pause(0.1)
    return

label msg2:
    $ renpy.pause()
    hide screen message2
    $ renpy.pause(0.1)
    return

label after_menu:
    hide screen message
    hide screen message2
    hide screen message_image
    hide screen message_image2
    $ renpy.pause(0.1)
    return

label message(who, what):
    $ renpy.pause()
    hide screen message
    hide screen message2
    hide screen message_image
    hide screen message_image2
    $ renpy.pause(0.1)
    show screen message(who, what)
    return

label message_img(who, what, img):
    $ renpy.pause()
    hide screen message
    hide screen message2
    hide screen message_image
    hide screen message_image2
    $ renpy.pause(0.1)
    if who.lower() == "me":
        show screen message_image2(what, img)
    else:
        show screen message_image(who, what)
        return

label reply(what):
    $ renpy.pause()
    hide screen message
    hide screen message2
    hide screen message_image
    hide screen message_image2
    $ renpy.pause(0.1)
    show screen message2(what)
    return

label phone_end(face):
    $ renpy.pause()
    hide screen message
    hide screen message2
    hide screen message_image
    hide screen message_image2
    $ renpy.pause(0.65)
    if face == 0:
        show phone0 at putaway
    else:
        show phone1 at putaway
        $ renpy.pause(0.2)
    return

screen message(who, what):
    text person style "name"
    vbox at incoming:
        style_group "message"
        add "receive_pointer" at message_bubble_tip
        frame:
            style_group "message"

            vbox:
                style "message_contents"
                text what style "message_what"

screen message2(what):
    text person style "name"
    vbox at incoming:
        style_group "send_message"
        add "send_pointer" at message_bubble_tip2

        frame:
            style_group "send_message"

            vbox:
                style "send_message_contents"
                text what style "send_message_what"

screen message_image(who, what, img):
    text person style "name"
    vbox at incoming:
        add "receive_pointer" at message_bubble_tip

        frame:
            style_group "message"

            vbox:
                style "message_contents"
                text what style "message_what"
                imagebutton idle images[img].thumb:
                    action Show("closeup", dissolve, images[img].images)
                    xalign 0.5
                    yalign 0.5

screen message_image2(what, img):
    text person style "name"
    vbox at incoming:
        style_group "send_message"

        add "send_pointer" at message_bubble_tip2

        frame:
            style_group "send_message"

            vbox:
                style "send_message_contents"
                text what style "send_message_what"
                imagebutton idle images[img].thumb:
                    action Show("closeup", dissolve, images[img].images)
                    xalign 0.5
                    yalign 1.0

screen closeup(images):

    imagebutton idle images[closeup_page]:
        action [SetVariable("closeup_page", 0), Hide("closeup", dissolve)]
        xalign 0.5
        yalign 1.0
        background "fff8"

screen reply(reply1, label1, reply2, label2):
    modal True
    vbox:
        xalign 0.5
        yalign 0.85
        spacing 20

        textbutton "[reply1]" action Jump(label1) style "reply"
        textbutton "[reply2]" action Jump(label2) style "reply"

screen reply3(reply1, label1, reply2, label2, reply3, label3):
    modal True
    vbox:
        xalign 0.5
        yalign 0.5
        spacing 5

        textbutton "[reply1]" action Jump(label1) style "reply"
        textbutton "[reply2]" action Jump(label2) style "reply"
        textbutton "[reply3]" action Jump(label3) style "reply"

init python:
    closeup = 0
    class phone:
        def __init__(self, images, thumb):
            self.images = images
            self.thumb = thumb

    phone_images = []
    phone_images.append (phone(["img0"], "thumb0"))
    phone_images.append (phone(["img1"], "thumb1"))
    phone_images.append (phone(["img2"], "thumb2"))

transform pickup:
    ypos 1200 xalign 0.5
    easein 0.5 ypos 0

transform putaway:
    ypos 0 xalign 0.5
    easein 0.5 ypos 1200

transform message_bubble_tip:
    xoffset 20
    yoffset 1

transform message_bubble_tip2:
    xoffset -165
    yoffset 1

transform scrolling_out_message:
    easeout 0.4 ypos -300 alpha 0

transform incoming:
    yoffset 550 xoffset -150
    alpha 0
    pause 0.25
    parallel:
        easein 0.5 alpha 1
    parallel:
        easein 0.5 yoffset 500
    on hide:
        scrolling_out_message


init 5:

    style send_message_frame:
        text_align 1.0
        xalign 1.0
        xoffset -443
        background Frame("bubble_send", 10,10,10,10)
        ypadding 10
        xpadding 10

    style message_frame:
        background Frame("bubble_receive", 10,10,10,10)
        ypadding 10
        xpadding 10

    style send_message_what is message:
        xalign 1.0
        text_align 1.0
        color "#ffffff"
        size 20

    style message_what is message:
        color "#ffffff"
        size 20

    style send_message_vbox:
        textalign 1.0
        xalign 1.0
        yalign 0.5
        ypos -150
        xsize 315
        xoffset 110

    style message_vbox:
        xalign 0.5
        yalign 0
        ypos -230
        xsize 300
        xoffset 135

    style send_message_contents:
        text_align 1.0
        spacing 10

    style message_contents:
        spacing 10

    style send_message is say_dialogue:
        xoffset 0
        outlines []
        text_align 1.0
        xalign 1.0
        yalign 0

    style message is say_dialogue:
        xoffset 0
        outlines []
        xalign 1.0
        yalign 0

    style reply is default:
        size 18
        xalign 0.5
        xsize 330
        background Solid("#666")
        hover_background Solid("#78E8A0")
        ypadding 10
        xpadding 10

    style reply_text:
        xalign 0.5

    style name:
        ypos 53
        xpos 545
        text_align 0.5
        color "#ffffff"

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: Required parameter has no value (even tho it does)

#2 Post by Remix »

If if face == 0: in label phone_start you do not hit a return so the script continues to the next label which uses who...
Frameworks & Scriptlets:

User avatar
Elliot Dreemurr
Newbie
Posts: 17
Joined: Fri Aug 13, 2021 5:38 pm
Projects: Only You
Discord: 💙 Elliot/Ellie Dreemurr 💙#2000
Contact:

Re: Required parameter has no value (even tho it does)

#3 Post by Elliot Dreemurr »

god darn it i found it and its fixed now thank u lol

Post Reply

Who is online

Users browsing this forum: Ahrefs [Bot], Majestic-12 [Bot]