Made a skin color screen [Solved] See her new 6 shades

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.
Message
Author
User avatar
beastcarving
Regular
Posts: 139
Joined: Mon May 13, 2019 5:03 pm
Completed: Pulse Cage https://beastcarving.itch.io/pulse-cage-the-full-series
Projects: Your Brother's Religion
Organization: BeastCarving Studio
IRC Nick: BeastCarving
Tumblr: beastcarving
Deviantart: beastcarving
Github: beastcarving
itch: beastcarving
Contact:

Made a skin color screen [Solved] See her new 6 shades

#1 Post by beastcarving »

I need help making a dress-up screen. I've seen other's but they aren't what I'm looking for. I only want to make a skin color option. And I want to make it so the custom character has multiple facial expressions. I need help with this. I tried to make one on my own just I need to start fresh.
Last edited by beastcarving on Fri Nov 08, 2019 6:16 pm, edited 1 time in total.
Image Pulse Cage (full game)Image Your Brother's Religion (Demo)
PLAY HERE: https://beastcarving.itch.io/
Love my work: https://www.patreon.com/beastcarving

User avatar
Per K Grok
Miko-Class Veteran
Posts: 882
Joined: Fri May 18, 2018 1:02 am
Completed: the Ghost Pilot, Sea of Lost Ships, Bubbles and the Pterodactyls, Defenders of Adacan Part 1-3, the Phantom Flyer
itch: per-k-grok
Location: Sverige
Contact:

Re: Help! I need to make a skin color screen/dress-up screen [Help! unsolved]

#2 Post by Per K Grok »

beastcarving wrote: Sat Oct 26, 2019 4:32 pm I need help making a dress-up screen. I've seen other's but they aren't what I'm looking for. I only want to make a skin color option. And I want to make it so the custom character has multiple facial expressions. I need help with this. I tried to make one on my own just I need to start fresh.

Well, a dress-up game would basically be a number of images put in layers over each other. With buttons and/or sliders for picking what images will be used at a given time. For cloths, drag and drop might be an option.

Different skin colors could either be a number of images with different colors or one image that you use a tint, colorize or hue function to change the color on (I have not tried any of those in Ren'py so I don't know what would work best, but there are a number of these type of functions in the manual).

For different facial expressions you would have a face without features as your base and add different images for different expressions.

User avatar
beastcarving
Regular
Posts: 139
Joined: Mon May 13, 2019 5:03 pm
Completed: Pulse Cage https://beastcarving.itch.io/pulse-cage-the-full-series
Projects: Your Brother's Religion
Organization: BeastCarving Studio
IRC Nick: BeastCarving
Tumblr: beastcarving
Deviantart: beastcarving
Github: beastcarving
itch: beastcarving
Contact:

Re: Help! I need to make a skin color screen/dress-up screen [Help! unsolved]

#3 Post by beastcarving »

I thought about doing it that way, but I need to be able to change the lip color as the mouth changes expression.
Image Pulse Cage (full game)Image Your Brother's Religion (Demo)
PLAY HERE: https://beastcarving.itch.io/
Love my work: https://www.patreon.com/beastcarving

User avatar
Per K Grok
Miko-Class Veteran
Posts: 882
Joined: Fri May 18, 2018 1:02 am
Completed: the Ghost Pilot, Sea of Lost Ships, Bubbles and the Pterodactyls, Defenders of Adacan Part 1-3, the Phantom Flyer
itch: per-k-grok
Location: Sverige
Contact:

Re: Help! I need to make a skin color screen/dress-up screen [Help! unsolved]

#4 Post by Per K Grok »

beastcarving wrote: Wed Oct 30, 2019 4:57 pm I thought about doing it that way, but I need to be able to change the lip color as the mouth changes expression.
So you have lips as a separate image/layer and handle that the same way as skin color.

User avatar
isobellesophia
Miko-Class Veteran
Posts: 979
Joined: Mon Jan 07, 2019 2:55 am
Completed: None
Projects: Maddox and Friends! (AI Teacher friend), Friendly Universities! (Soon)
Organization: Friendly Teachers series
Deviantart: SophBelle
itch: Child Creation
Location: Philippines, Mindanao
Contact:

Re: Help! I need to make a skin color screen/dress-up screen [Help! unsolved]

#5 Post by isobellesophia »

If you want to change the different mouth and the lip, then you are going to use a if variables.
I am a friendly user, please respect and have a good day.


Image

Image


User avatar
beastcarving
Regular
Posts: 139
Joined: Mon May 13, 2019 5:03 pm
Completed: Pulse Cage https://beastcarving.itch.io/pulse-cage-the-full-series
Projects: Your Brother's Religion
Organization: BeastCarving Studio
IRC Nick: BeastCarving
Tumblr: beastcarving
Deviantart: beastcarving
Github: beastcarving
itch: beastcarving
Contact:

Re: Help! I need to make a skin color screen/dress-up screen [Help! unsolved]

#6 Post by beastcarving »

Can I see an example of this if statement and where it would go in the dress-up screen.
Image Pulse Cage (full game)Image Your Brother's Religion (Demo)
PLAY HERE: https://beastcarving.itch.io/
Love my work: https://www.patreon.com/beastcarving

User avatar
Per K Grok
Miko-Class Veteran
Posts: 882
Joined: Fri May 18, 2018 1:02 am
Completed: the Ghost Pilot, Sea of Lost Ships, Bubbles and the Pterodactyls, Defenders of Adacan Part 1-3, the Phantom Flyer
itch: per-k-grok
Location: Sverige
Contact:

Re: Help! I need to make a skin color screen/dress-up screen [Help! unsolved]

#7 Post by Per K Grok »

beastcarving wrote: Fri Nov 01, 2019 3:31 pm Can I see an example of this if statement and where it would go in the dress-up screen.
So, lets say you have 4 images for different skin colors, skin first, skin second, skin third and skin forth.

You have four buttons to set the value of 'skinType' to 1-4.

If you are showing your papperdoll in a label you could go,

Code: Select all

if skinType==1:
    show skin first:
        pos (20, 50)
        
elif skinType==2:
    show skin second:
        pos (20, 50)      
        
elif skinType==3:
    show skin third:
        pos (20, 50)  
        
else:
    show skin forth:
        pos (20, 50)
        

If you show the doll in a screen you could do the same thing using 'add'.

User avatar
beastcarving
Regular
Posts: 139
Joined: Mon May 13, 2019 5:03 pm
Completed: Pulse Cage https://beastcarving.itch.io/pulse-cage-the-full-series
Projects: Your Brother's Religion
Organization: BeastCarving Studio
IRC Nick: BeastCarving
Tumblr: beastcarving
Deviantart: beastcarving
Github: beastcarving
itch: beastcarving
Contact:

Re: Help! I need to make a skin color screen/dress-up screen [Help! unsolved]

#8 Post by beastcarving »

This is what I got so far, but it's not working. I want to set a group of images to only show up if skin1 is selected. However I'd like skin1, 2, & 3 to be defined with the same name like "girlskinsad" that way anytime I type girlskinsad it will know which skin was selected and which girl to show. I barely know what I'm doing here. I'd most appreciate anyone that can help me with this.

example: Image

Code: Select all

    init python:
        dressup_show = False
        dressup_button_show = False
        skin = 3
        skin_styles_num = 3
        # define images as:
        # "base.png"
        # "skin1.png", "skin2.png", "skin3.png"(skin_styles_num)

        def draw_girl(st, at):
            return LiveComposite(
                (257, 560),
                (0, 0), "base.png",
                (0, 0), "skin%d.png"%skin,
                ),.1

        def draw_girl_side(st, at):
            return LiveComposit9e(
                (257, 560),
                (-100, 530), im.FactorScale("base.png", 1.35, 1.35),
                (-100, 530), im.FactorScale("skin%d.png"%skin, 1.35, 1.35),
                ),.1

    init:
        image girl = DynamicDisplayable(draw_girl)
        $ girl = Character('You', color="#700a1b", show_two_window=True,show_side_image=DynamicDisplayable(draw_girl_side))

    screen dressup_button:
        if dressup_button_show and not dressup_show:
            imagemap:
                ground "get.png"
                idle "get.png"
                hover "get1.png"
                cache False
                hotspot (344, 283, 707, 219) action SetVariable("dressup_show", True)


    screen dressup:
      if dressup_show:
        add "girl" xalign 0 yalign 0 xpos 500
        python:
            skin_n = skin + 1
            skin_p = skin - 1
            if skin_p < 1:
                skin_p = skin_styles_num
            if skin_n > skin_styles_num:
                skin_n = 1

            y = 50
            ui.imagebutton("arrowL.png", "arrowL.png", clicked=SetVariable("skin", skin_p), ypos=y, xpos=50)
            ui.imagebutton("arrowR.png", "arrowR.png", clicked=SetVariable("skin", skin_n), ypos=y, xpos=250)

            ui.textbutton("Return", clicked=SetVariable("dressup_show", False))

            if skin==1:
                show asadskin1:
                    pos (20, 50)

            elif skin==2:
                show asadskin2:
                    pos (20, 50)

            elif skin==3:
                show asadskin3:
                    pos (20, 50)

    label starting:
       show screen dressup_button
       show screen dressup
       $ dressup_button_show = True
       $ dressup_show = False
Image Pulse Cage (full game)Image Your Brother's Religion (Demo)
PLAY HERE: https://beastcarving.itch.io/
Love my work: https://www.patreon.com/beastcarving

User avatar
Per K Grok
Miko-Class Veteran
Posts: 882
Joined: Fri May 18, 2018 1:02 am
Completed: the Ghost Pilot, Sea of Lost Ships, Bubbles and the Pterodactyls, Defenders of Adacan Part 1-3, the Phantom Flyer
itch: per-k-grok
Location: Sverige
Contact:

Re: Help! I need to make a skin color screen/dress-up screen [Help! unsolved]

#9 Post by Per K Grok »

beastcarving wrote: Sun Nov 03, 2019 12:50 am This is what I got so far, but it's not working. I want to set a group of images to only show up if skin1 is selected. However I'd like skin1, 2, & 3 to be defined with the same name like "girlskinsad" that way anytime I type girlskinsad it will know which skin was selected and which girl to show. I barely know what I'm doing here. I'd most appreciate anyone that can help me with this.

----

I'm not quite clear on what it is you want to do.

This is a simple setup for a papperdoll with three images of the body in different skin colors and one dress image.
Is this what you want to do? I get a feeling you might want to do something different, but if so, I don't understand it.

Code: Select all

image bg gray="#777"

default skinNumber=1

screen papperdoll():

    if skinNumber==1:
        add "images/skin1.png" pos (40,50)
    elif skinNumber==2:
        add "images/skin2.png" pos (40,50)
    elif skinNumber==3:
        add "images/skin3.png" pos (40,50)

    add "images/dress.png" pos (40,50)

    textbutton "1" action SetVariable("skinNumber", 1) pos (10, 50)
    textbutton "2" action SetVariable("skinNumber", 2) pos (10, 70)
    textbutton "3" action SetVariable("skinNumber", 3) pos (10, 90)


label start:
    scene bg gray
    show screen papperdoll

    $ renpy.pause(hard=True)

User avatar
beastcarving
Regular
Posts: 139
Joined: Mon May 13, 2019 5:03 pm
Completed: Pulse Cage https://beastcarving.itch.io/pulse-cage-the-full-series
Projects: Your Brother's Religion
Organization: BeastCarving Studio
IRC Nick: BeastCarving
Tumblr: beastcarving
Deviantart: beastcarving
Github: beastcarving
itch: beastcarving
Contact:

Re: Help! I need to make a skin color screen/dress-up screen [Help! unsolved]

#10 Post by beastcarving »

Image
Image
I just want to know how I can make the "paperdoll" change expressions while staying customized. How do I go about doing that? I can't make blank faces in each shade, and then add the expressions over them. I want each face expression exclusive to a shade. So if face "white" is selected, how do I only make the white "happy, mad and sad" expressions show up. If by default I show this customize as, "show paperdoll at center with dissolve" how do I make it so I can make the paperdoll shown change the expression to mad or sad while still remembering the skin shade selected?
Image Pulse Cage (full game)Image Your Brother's Religion (Demo)
PLAY HERE: https://beastcarving.itch.io/
Love my work: https://www.patreon.com/beastcarving

User avatar
isobellesophia
Miko-Class Veteran
Posts: 979
Joined: Mon Jan 07, 2019 2:55 am
Completed: None
Projects: Maddox and Friends! (AI Teacher friend), Friendly Universities! (Soon)
Organization: Friendly Teachers series
Deviantart: SophBelle
itch: Child Creation
Location: Philippines, Mindanao
Contact:

Re: Help! I need to make a skin color screen/dress-up screen [Help! unsolved]

#11 Post by isobellesophia »

I see what you're getting into, might as well taking a look at this one, just the code you want to customize.

viewtopic.php?t=45589


i'll talk later, just gotta go to school.
I am a friendly user, please respect and have a good day.


Image

Image


User avatar
Per K Grok
Miko-Class Veteran
Posts: 882
Joined: Fri May 18, 2018 1:02 am
Completed: the Ghost Pilot, Sea of Lost Ships, Bubbles and the Pterodactyls, Defenders of Adacan Part 1-3, the Phantom Flyer
itch: per-k-grok
Location: Sverige
Contact:

Re: Help! I need to make a skin color screen/dress-up screen [Help! unsolved]

#12 Post by Per K Grok »

beastcarving wrote: Mon Nov 04, 2019 8:03 pm ---
I just want to know how I can make the "paperdoll" change expressions while staying customized. How do I go about doing that? I can't make blank faces in each shade, and then add the expressions over them.
---
Yes you can.

Code: Select all


image bg gray="#777"

default skinNumber=1
default face='h'

screen papperdoll():

    if skinNumber==1:
        add "images/skin1.png" pos (40,50)
        if face=='h':
            add *images/happy1.png* pos (40,50)
        elif face=='m':
            add *images/mad1.png* pos (40,50)
        elif face=='s':
            add *images/sad1.png* pos (40,50)
    elif skinNumber==2:
        add "images/skin2.png" pos (40,50)
        if face=='h':
            add *images/happy2.png* pos (40,50)
        elif face=='m':
            add *images/mad2.png* pos (40,50)
        elif face=='s':
            add *images/sad2.png* pos (40,50)
    elif skinNumber==3:
        add "images/skin3.png" pos (40,50)
        if face=='h':
            add *images/happy3.png* pos (40,50)
        elif face=='m':
            add *images/mad3.png* pos (40,50)
        elif face=='s':
            add *images/sad3.png* pos (40,50)
          
    add "images/dress.png" pos (40,50)

    textbutton "1" action SetVariable("skinNumber", 1) pos (10, 50)
    textbutton "2" action SetVariable("skinNumber", 2) pos (10, 70)
    textbutton "3" action SetVariable("skinNumber", 3) pos (10, 90)
    textbutton "happy" action SetVariable("face", 'h') pos (10, 110)
    textbutton "mad" action SetVariable("face",'m') pos (10, 130)
    textbutton "sad" action SetVariable("face", 's') pos (10, 150)

label start:
    scene bg gray
    show screen papperdoll

    $ renpy.pause(hard=True)


This code could be used for a paper doll game. If you want to customize a player character and use that in game in different scenes you would use something like layered images. The principle for building up the image in different layers depending on values of variables could still be the same.

User avatar
beastcarving
Regular
Posts: 139
Joined: Mon May 13, 2019 5:03 pm
Completed: Pulse Cage https://beastcarving.itch.io/pulse-cage-the-full-series
Projects: Your Brother's Religion
Organization: BeastCarving Studio
IRC Nick: BeastCarving
Tumblr: beastcarving
Deviantart: beastcarving
Github: beastcarving
itch: beastcarving
Contact:

Re: Help! I need to make a skin color screen/dress-up screen [Help! unsolved]

#13 Post by beastcarving »

What do I write to change the expression? I put, "show h" but it won't show the image. An undefined image shows up instead.
Image Pulse Cage (full game)Image Your Brother's Religion (Demo)
PLAY HERE: https://beastcarving.itch.io/
Love my work: https://www.patreon.com/beastcarving

User avatar
Per K Grok
Miko-Class Veteran
Posts: 882
Joined: Fri May 18, 2018 1:02 am
Completed: the Ghost Pilot, Sea of Lost Ships, Bubbles and the Pterodactyls, Defenders of Adacan Part 1-3, the Phantom Flyer
itch: per-k-grok
Location: Sverige
Contact:

Re: Help! I need to make a skin color screen/dress-up screen [Help! unsolved]

#14 Post by Per K Grok »

beastcarving wrote: Tue Nov 05, 2019 11:04 pm What do I write to change the expression? I put, "show h" but it won't show the image. An undefined image shows up instead.
I did one mistake when typing this line

add *images/happy1.png* pos (40,50)

I used * instead of " around the address to the image (tired and bad lightning maybe), and then copied and pasted that mistake to each line about expressions.

Now, since you are talking about show it would seem you are not rendering the images in the screen, but rather under a label. If you could then do

Code: Select all

if face== 'h':
   show happy1:
       pos (40, 50)
if the name of the image you want to show is happy1.png.

User avatar
beastcarving
Regular
Posts: 139
Joined: Mon May 13, 2019 5:03 pm
Completed: Pulse Cage https://beastcarving.itch.io/pulse-cage-the-full-series
Projects: Your Brother's Religion
Organization: BeastCarving Studio
IRC Nick: BeastCarving
Tumblr: beastcarving
Deviantart: beastcarving
Github: beastcarving
itch: beastcarving
Contact:

Re: Help! I need to make a skin color screen/dress-up screen [Help! unsolved]

#15 Post by beastcarving »

this is what I have so far. I am using a screen and not a label.

Code: Select all

    screen dressup:
        if dressup_show:
            add "girl" xpos 0.1 yanchor 0.3 
        if girl==1:
            add "skin1.png"
            if girl=="sad":
                #show skinsadl
                add "skinsadl.png"
            elif girl=="m":
                add "skinsadl.png"
            elif girl=="s":
                add "skinsadl.png"
        elif girl==2:
            add "skin2.png"
            if girl=="sad":
                add "skinsadm.png"
            elif girl=='m':
                add "skinsadm.png"
            elif girl=='s':
                add "skinsadm.png"
        elif girl==3:
            add "skin3.png"
            if girl=="sad":
                add "skinsadd.png"
            elif girl=='m':
                add "skinsadd.png"
            elif girl=='s':
                add "skinsadd.png"

        python:
            skin_n = skin + 1
            skin_p = skin - 1
            if skin_p < 1:
                skin_p = skin_styles_num
            if skin_n > skin_styles_num:
                skin_n = 1


            y = 50
            ui.imagebutton("arrowL.png", "arrowL.png", clicked=SetVariable("skin", skin_p), ypos=y, xpos=50)
            ui.imagebutton("arrowR.png", "arrowR.png", clicked=SetVariable("skin", skin_n), ypos=y, xpos=250)
Every time I try to show the "sad" image I always get an error. Here is what I've been typing.

Code: Select all

    label starting:
       show screen dressup_button
       show screen dressup
       $ dressup_button_show = True
       $ dressup_show = False
    show sad 
    "hello. I'm sad"  
Image Pulse Cage (full game)Image Your Brother's Religion (Demo)
PLAY HERE: https://beastcarving.itch.io/
Love my work: https://www.patreon.com/beastcarving

Post Reply

Who is online

Users browsing this forum: Google [Bot], Ocelot, snotwurm