Ren'Py Description Menus (Beginner Friendly!)
Ren'Py Description Menus
I've always wished character profiles were built into Ren'py, so have a quick plugin to add it in!
There are 4 premade layouts with each containing 8 character pages. All you need to do on your end is fill in what the default variables say for it to show up on your menu! Take a peek into the sample game if you need an example of how to change the variables mid-game as well.
To add this into your project you need to:
- Take the .rpy script out of the folder and throw it into your 'game' folder.
- Place the images into your 'gui' folder!
- Add the line "show screen onscreenmenubutton" in your script.rpy after the start label.
- Open the script and fill your character's information to the default variables!
Features
- Everything is a variable so you can change it during the story.
- Buttons and backgrounds are images (Assets included)
- Tons of script comments to help you along the way!
If you have questions, requests, or errors, please comment them! Thank you!
| Status | Released |
| Category | Assets |
| Release date | 83 days ago |
| Rating | Rated 5.0 out of 5 stars (2 total ratings) |
| Author | Rev |
| Made with | Ren'Py |
| Tags | Asset Pack, Ren'Py, Royalty Free |
| Code license | MIT License |
| Asset license | Creative Commons Zero v1.0 Universal |
Download
Download NowName your own price
Click download now to get access to the following files:
PACK A 1.4 MB
PACK B 1.6 MB
PACK C 1.4 MB
PACK D 1.4 MB
Sample Game Files 8.4 MB
Aldriix's Menu Code Edit 29 kB




Comments
Log in with itch.io to leave a comment.
Hello ! First, thanks for this code, it's really cool !
I'm using Pack A and I wanted to know, is there a way to "hide" the characters (even if it's just changing the name for NO DATA and disabling the option to check the menu) until something happen (like, the MC meet the character for the first time) ?
I'm kinda new with ren'py so excuse my question if the answer's way easier than I think, and thanks for your help !
First you want to make a variable for whether you met the character. You would add code like this in the area where the variables are defined:
You should always leave a character set to true so the menu isn't empty! This will determine whether a character shows up in the menu, so when you're writing the script you can add the line $ metcharacter2 = True to make them show up! Alternatively you can make it False to hide the character again.
Then you need to set up the list inside of each menu. Just slap them into some if statements!
The list is different for each screen, so ensure you make this change on each screen so everything is consistent. This should be ready and working after that!
But remember there's always the option to just make the menu appear later on in the game after people are established too. You don't have to add the line "show screen onscreenmenubutton" at the very start of the script! I've always liked the idea of setting the name as "?" until you meet the character too! If something is unclear please follow up, good luck!
Oh my, thank you so much for taking the time to lay out everything like this, it's so clear and easy now ! I did exactly this and it works perfectly, thank you !
I decided to put the "show screen onscreenmenubutton" after the introduction rather than at the start of the script and used your method to hide away the characters until we've meet them !
Thank you again for your time and kind answer, I really appreciate it ! Have a great day !
oooo i love this!!! a couple questions, though (I'm using Pack B for context):
In example, each character profile has a line that says #layout starts and #layout ends, between these you can paste this code:
vbox:
spacing 10
frame:
background gui.selected_color
padding (10, 10)
label "{color=#000}{size=50}[character1]{/size}"
label "{color=[gui.accent_color]}{size=25}[character1title]{/color}"
frame:
ysize scrollframeheight
has viewport:
draggable True
mousewheel True
label "{color=#fff}[character1description]"
vbox:
frame:
background gui.selected_color
padding (10, 10)
textbutton "Return" action Return() xalign 0.5 #You can uncenter the return button by removing "xalign 0.5"
xalign 0.5
And that should get you where you're trying to go! I made a new layout code and posted it on the download page for you if you want to pop that in and give it a try, it'll save you the effort of renaming all the stuff and whatnot!
Let me know if you come across any errors or if something doesn't make enough sense, good luck!
OH WAIT THATS AWESOME i cant try it out now but i will do so first thing tomorrow !! thank you so much :D
this is like exactly what i needed :0 one last question- is there any way the name section can scroll if you need more characters?
I'll show some pictures of my code so you can see what to change! You must make this change for every separate character screen, so you'll likely need to copy+paste it in each!
frame:
ysize scrollframeheight
has viewport:
draggable True
mousewheel True
vbox:
textbutton "[character1]" action ShowMenu("character1") xalign 0.5
textbutton "[character2]" action ShowMenu("character2") xalign 0.5
textbutton "[character3]" action ShowMenu("character3") xalign 0.5
textbutton "[character4]" action ShowMenu("character4") xalign 0.5
textbutton "[character5]" action ShowMenu("character5") xalign 0.5
textbutton "[character6]" action ShowMenu("character6") xalign 0.5
textbutton "[character7]" action ShowMenu("character7") xalign 0.5
textbutton "[character8]" action ShowMenu("character8") xalign 0.5
Also the frame's border bothers me, so you can add this line of code to remove it if you'd like.
Good luck!!!!!
ur like so sick and awesome for this holy shit ty.... im normally so good at coding i swear but the scrolling vexed me lmao
Anytime! :D
THANKS!
Looks cool >:)
Oh this is so cool! Will def have to try this out at some point!