Advanced Renpy Phone Project 2
A downloadable asset pack
A more advanced Ren'py phone project than the previous Phone message system for Ren'py.
The file you download is a complete project with instructions and a demonstration of the phone use the renpy launcher to launch the project and see what it can do.
Changes made from the first version:
- 9 possible background screens that can be locked and unlocked
- A progress bar in the music player for the song being played
- Complete rework of the message screen for easier messages and how they are displayed
- Fixed the "VPGrid not full" error for renpy 8 (you do NOT need to add define config.allow_underfull_grids = True anymore to make it work)
- turning off the phone now stops the music that it is playing
- an extremely simple choice menu for 2-3 items only
- icons on the main and relationship screen will now display what they are for or the persons name when the mouse is on an icon
Now all the messages are saved and can be scrolled through. Music screen play your favorite tunes while you're playing. Keep track of your in game money on your phone. Get stat on the people in your game. Change the background (up to 9 different background images available). Send and receive images that can be clicked to make them full-screen. Optional to turn the phone off if they don't charge the battery or when they really need to make a call
Photoshop .psd files included to make icons, backgrounds and other things needed.
- mobile.rpy does most of the work
- all-phone-images.rpy takes care of the images that are sent and received
- all-messages.rpy is where the messages are stored at
- copy the above three (3) rpy files as well as the images/mobile folder inside the images folder into your game directory to use
- Should work with any renpy project, maybe? (up to at least 8.1...)
- Look over the scripts for examples and instructions
- functional icons on the main screen for
- Patreon
- discord
- subscribestar
- buy me a coffee
- you can add your own as needed or remove them if you want
You will need the Ren'py SDK to run this, it is un-compiled.
This was originally made by Cr8tive M3dia for his game https://cr8tive-m3dia.itch.io He asked me to help make some changes and I got a little carried away.
Enjoy and Stay safe out there.
-->ERROR ALERT<--
with the new versions of renpy 8.2 and higher, an error occurs when you move the scripts to the newer version of renpy (as pointed out to me by a Reddit user) and commenting out line 398 will fix this error (I'm not going to publish an update till i get all the other thing implemented
bar:
value AudioPositionValue(channel='music')
xpos 1620
ypos 400
ysize 20
xsize 250
# xmaximum 250 <--this line here
Status | Released |
Category | Assets |
Rating | Rated 4.7 out of 5 stars (3 total ratings) |
Author | BadMustard |
Download
Click download now to get access to the following files:
Development log
- ERROR ALERT for the Phone Project 2Apr 27, 2024
- Advanced Renpy Phone project8 v1.2Oct 11, 2023
- Bug fixJul 12, 2023
- Advanced Renpy Phone project v2Jun 16, 2023
Comments
Log in with itch.io to leave a comment.
Hey, there is no information regarding usage and licencing? As an asset pack I'm assuming It's made for other people to use, but I see no information regarding this.
use it, abuse it, confuse it, don't claim it as your own, add me in your credits if you want, same licensing as Ren'Py
no the only way to update the messages is to close the message screen and re-open it
ok, thanks. Last thing and i don t bother you anymore :
Is there a way to create a line of script that would block the progress of the scenario until the player hasn t looked at the phone?
In the message system how do I keep the messages going without closing the phone. I want to send and receive messages but I can only get it to work when I have to open and close the phone
yes the only way to get it to update is to close the phone as that was how it was originally setup to be used
II love this.
This looks so cool
Just a question.
Can I use this in a commercial project?
yes you can
Thank you
you're welcome
good luck with your project
Not sure if this is a version specific issue, or a problem with some tweaks I made, but on my current renpy version, 8.2.3.24061702, the phone steps dialogue forward a step between the relationships screen, and the phonePal screen, despite both being modal.
Quick hacked together fix I've managed, change all numbered instances of
Call("phonePal", 1, girl1_name, girl1_love, girl1_lust, girl1_dominance, girl1_submissive, girl1_pregnant)
to
Show("central_stats", girl=1, name=girl1_name, love=)girl1_love, lust=girl1_lust, dominance=girl1_dominance, submissive=girl1_submissive, pregnant=girl1_pregnant)
It's a bit messy, but I believe that should work nearly as well as your the current implementation and it gets rid of the problem for me.
Is this free to use and distribute?
it is free to use in a project that you distribute
Great help, but any chance you could make the phone positioning programmatic? (I admit I'm completely new to Python.. but I've tried everything to move the phonepos and none of the contents appear anchored to the phone frame.) Sorry if I'm just an idiot.. this Python/RenPy is completely foreign, unlike C# or Java. lol
no it's not set up like that and would probably be need to full re-write to be able to do that
Thank you for the response.
you're welcome
good luck with your project
Is there anyway to use this where the messages don't all show up at once? I've tried using the msg_count option but that doesn't change anything if the player isn't looking at the phone when that happens, and if they are in the phone and want to go to the next message they have to close the phone, click to go to the next line, and then go back into the phone to see the next message.
provided you are using the correct _msg_count it will change for that particular (message sender)/person and the only way to update that screen is to open/show it so you have to close it
Hi , newbie coder here, how do you only make the phone show select messages, for example i have an if statement that triggers says message 1 and 5 but it also shows the messages in between .
hope that makes sense, this was an amazing asset and thanks
you can NOT show a message out of sequence from the list
i.e. you can NOT show #1 then #5, you would have to show #1-5
or re-organize the list
ok thanks i had hoped there was a way with .pop or remove but no such joy .
thanks for the quick reply
I don't have anything set in place to do, but you can do it manually like this
$ girl1_message.pop(0) # that would remove the first message in the list for girl1
if you do, keep in mind that since you removed the first message number (0) zero, now message (1) one is the new message (0) zero
it shifts everything below it to fill in the empty space and it can NOT be reversed or put back (the message is burned forever (unless you restart the game)), good way to gaslight your character i guess
Thanks i did try that before but i then run into an empty list error attempting a work around .
amazing coding btw and thanks for showing what it all does.
yes the list must have something in it before you pop it. (and being python zero (0) is the first entry and number 1 is the second.
as long as you follow the format $ nameOfTheList.pop(entryNumber)
I can't take all the credit Cr8tiveM3dia did some of the coding to.
I know this is years after the fact, but for anyone here in the future, you can just implement the messages via the label and dialogue system rather than placing them in the messages section of the script and trying to pop out the ones you don't want, this allows for modular dialogue to play out, which I think is what the asker was going for here. For example I'm using a hacked together copy of the message system to pop up a fake text screen in the center of the screen, and implement the messages like this :
Adding new messages in that method makes filling out the array rollback safe, and the message isn't added to the chat system until that section of the label is reached, so if you talk to her about something else sooner, or choose to not have this conversation, it won't go into the chat history.
So are you able to play out the messages sequentially WITHOUT closing and opening the text window? Because thats my only issue with this phone system...
I want to be able to have the text convos live like they are immersive building tension/delivering story with the app staying open.
If you are doing that with this system without having to use nvl or something that would be awesome to know
Yes and no, technically I am using a fake message screen, one I have set up to show up in the center of the screen. It's in the normal label system, so each click takes you a step forward, and it's rollback safe. You get the texts at set periods of time (It'd be doable to choose to do them at any time, but a bit messy) so you're never actually in the "real" text window.
Here's an imgur gallery of what's happening, between each image is a single click, no phone navigation (Please ignore the separate font on image 3, these were wip images and I fixed up the menu options later, and had decided to swap to the default font for the phone because it's easier to read the smaller text)
To do that I added this to the bottom of mobile.rpy
I also added this to screens.rpy, under the choice screen section, which you can find with ctrl+f "screen choice(items):"
When you want to use the text message choice screen for menus, you simply add "$ isTexting = True" before the menu choice, and then "$ isTexting = False" when you are done texting.
A full example dialogue (The one in the imgur gallery) looks like this
I believe this would be tweakable to work in the "real" phone, but imo I think having the conversation brought up to the center of the screen works better than hiding it off in the corner.
If you want to make it so that you can jump to the conversations from the phone at any time, you'd have to create a label specifically for the conversation, and then some various if statement checks to figure out which label to go to every time you interact with the texting system on the phone. I considered that when I started working on things, but this just ended up being easier for me. You can still open the conversation history on the phone when you want to look back at things.
by setting bg1-9 to True like this
$ bg2 = True
I had bg1 as True by default in the script.rpy and it was the default background on the phone