Character Creator Crashing
Posted: Mon Apr 22, 2024 2:40 am
Hello. I recently got into RenPy and started working on a visual novel. I'm working on a character creator where you will choose colors to define other body parts. By that, I mean selecting a "blond" hair color and having the hair and eyelashes match. The option buttons for the eyes or hair limit them only to shape, not to cycle through all the different color options. Although I thought I had it figured out, my game crashed with no error report. I've posted my code below - any help would be appreciated. (Also, I'm aware there is only one hairstyle right now - currently making the asset for the other)
Code: Select all
# Character Creation
label start:
scene bg creation
with fade
default hair = 1
default eyeshape = 1
default eyecolor = 1
default nose = 1
default lips = 1
default skin = 1
layeredimage player:
# Hairstyle and color
if hair == 1 and haircolor == 1:
"\images\cc-hair-wavy-black.png"
if hair == 1 and haircolor == 2:
"\images\cc-hair-wavy-blonde.png"
if hair == 1 and haircolor == 3:
"\images\cc-hair-wavy-brown.png"
if hair == 1 and haircolor == 4:
"\images\cc-hair-wavy-dark-brown.png"
if hair == 1 and haircolor == 5:
"\images\cc-hair-wavy-ginger.png"
if hair == 1 and haircolor == 6:
"\images\cc-hair-wavy-light-brown.png"
# Eye shape and color
if haircolor == 1 and eyeshape == 1:
"\images\cc-eyeshape-large-black.png"
if haircolor == 2 and eyeshape == 1:
"\images\cc-eyeshape-large-blond.png"
if haircolor == 3 and eyeshape == 1:
"\images\cc-eyeshape-large-brown.png"
if haircolor == 4 and eyeshape == 1:
"\images\cc-eyeshape-large-dark-brown.png"
if haircolor == 5 and eyeshape == 1:
"\images\cc-eyeshape-large-ginger.png"
if haircolor == 6 and eyeshape == 1:
"\images\cc-eyeshape-large-light-brown.png"
if haircolor == 1 and eyeshape == 2:
"\images\cc-eyeshape-small-black.png"
if haircolor == 2 and eyeshape == 2:
"\images\cc-eyeshape-small-blond.png"
if haircolor == 3 and eyeshape == 2:
"\images\cc-eyeshape-small-brown.png"
if haircolor == 4 and eyeshape == 2:
"\images\cc-eyeshape-small-dark-brown.png"
if haircolor == 5 and eyeshape == 2:
"\images\cc-eyeshape-small-ginger.png"
if haircolor == 6 and eyeshape == 2:
"\images\cc-eyeshape-small-light-brown.png"
# Eye color
if eyecolor == 1:
"\images\cc-eyecolor-blue.png"
if eyecolor == 2:
"\images\cc-eyecolor-brown.png"
if eyecolor == 3:
"\images\cc-eyecolor-dark-brown.png"
if eyecolor == 4:
"\images\cc-eyecolor-green.png"
if eyecolor == 5:
"\images\cc-eyecolor-grey.png"
if eyecolor == 6:
"\images\cc-eyecolor-hazel.png"
# Nose shape and color
if skin == 1 and nose == 1:
"\images\cc-nose-large-brown.png"
if skin == 2 and nose == 1:
"\images\cc-nose-large-dark-brown.png"
if skin == 3 and nose == 1:
"\images\cc-nose-large-fair.png"
if skin == 4 and nose == 1:
"\images\cc-nose-large-medium.png"
if skin == 5 and nose == 1:
"\images\cc-nose-large-olive.png"
if skin == 6 and nose == 1:
"\images\cc-nose-large-pale.png"
if skin == 1 and nose == 2:
"\images\cc-nose-small-brown.png"
if skin == 2 and nose == 2:
"\images\cc-nose-small-dark-brown.png"
if skin == 3 and nose == 2:
"\images\cc-nose-small-fair.png"
if skin == 4 and nose == 2:
"\images\cc-nose-small-medium.png"
if skin == 5 and nose == 2:
"\images\cc-nose-small-olive.png"
if skin == 6 and nose == 2:
"\images\cc-nose-small-pale.png"
# Lips shape and color
if skin == 1 and lips == 1:
"\images\cc-lips-large-brown.png"
if skin == 2 and lips == 1:
"\images\cc-lips-large-dark-brown.png"
if skin == 3 and lips == 1:
"\images\cc-nose-large-fair.png"
if skin == 4 and lips == 1:
"\images\cc-nose-large-medium.png"
if skin == 5 and lips == 1:
"\images\cc-nose-large-olive.png"
if skin == 6 and lips == 1:
"\images\cc-nose-large-pale.png"
if skin == 1 and lips == 2:
"\images\cc-lips-small-brown.png"
if skin == 2 and lips == 2:
"\images\cc-lips-small-dark-brown.png"
if skin == 3 and lips == 2:
"\images\cc-nose-small-fair.png"
if skin == 4 and lips == 2:
"\images\cc-nose-small-medium.png"
if skin == 5 and lips == 2:
"\images\cc-nose-small-olive.png"
if skin == 6 and lips == 2:
"\images\cc-nose-small-pale.png"
# Skin color
if skin == 1:
"\images\cc-skin-brown.png"
if skin == 2:
"\images\cc-skin-dark-brown.png"
if skin == 3:
"\images\cc-skin-fair.png"
if skin == 4:
"\images\cc-skin-medium.png"
if skin == 5:
"\images\cc-skin-olive.png"
if skin == 6:
"\images\cc-skin-pale.png"
screen dollmaker():
hbox:
yalign 0.5
xalign 0.5
spacing 100
vbox:
text "haircolor"
hbox:
textbutton "Prev" action Function(change_player, "haircolor", "-")
textbutton "Next" action Function(change_player, "haircolor", "+")
text "hair"
hbox:
textbutton "Prev" action Function(change_player, "hair", "-")
textbutton "Next" action Function(change_player, "hair", "+")
text "eyeshape"
hbox:
textbutton "Prev" action Function(change_player, "eyeshape", "-")
textbutton "Next" action Function(change_player, "eyeshape", "+")
text "eyecolor"
hbox:
textbutton "Prev" action Function(change_player, "eyecolor", "-")
textbutton "Next" action Function(change_player, "eyecolor", "+")
text "nose"
hbox:
textbutton "Prev" action Function(change_player, "nose", "-")
textbutton "Next" action Function(change_player, "nose", "+")
text "lips"
hbox:
textbutton "Prev" action Function(change_player, "lips", "-")
textbutton "Next" action Function(change_player, "lips", "+")
text "skin"
hbox:
textbutton "Prev" action Function(change_player, "skin", "-")
textbutton "Next" action Function(change_player, "skin", "+")
add "player"
textbutton "Done" action Return()
init python:
def change_player(aspect, way):
global haircolor
global hair
global eyeshape
global eyecolor
global nose
global lips
global skin
if aspect == "haircolor":
if way == "+":
haircolor += 1
if way == "-":
haircolor -= 1
if haircolor > 6:
haircolor = 1
if haircolor < 1:
haircolor = 6
if aspect == "hair":
if way == "+":
hair += 1
if way == "-":
hair -= 1
if hair > 1:
hair = 1
if hair < 1:
hair = 1
if aspect == "eyeshape":
if way == "+":
eyeshape += 1
if way == "-":
eyeshape -= 1
if eyeshape > 2:
eyeshape = 1
if eyeshape < 1:
eyeshape = 2
if aspect == "eyecolor":
if way == "+":
eyecolor += 1
if way == "-":
eyecolor -= 1
if eyecolor > 6:
eyecolor = 1
if eyecolor < 1:
eyecolor = 6
if aspect == "nose":
if way == "+":
nose += 1
if way == "-":
nose -= 1
if nose > 2:
nose = 1
if nose < 1:
nose = 2
if aspect == "lips":
if way == "+":
lips += 1
if way == "-":
lips -= 1
if lips > 2:
lips = 1
if lips < 1:
lips = 2
if aspect == "skin":
if way == "+":
skin += 1
if way == "-":
skin -= 1
if skin > 6:
skin = 1
if skin < 1:
skin = 6