I'm New to Ren'Py Questions
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.
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.
Duh.PyTom wrote:When using non-ASCII characters in Python code, you need to prefix the string with a 'u', for unicode. So you'd want to write:
Ditto for the Character's name.Code: Select all
init: $ window.title = u"Ðóññêèé"
Code: Select all
init:
$ window.title = u"Ðóññêèé"
Code: Select all
I'm sorry, but an exception occured while executing your Ren'Py
script.
NameError: name 'window' is not defined
While executing init code:
- script at line 2 of C:\ή㡿 로renpy-6.2.0\Try1/game/script.rpy
- python at line 2 of C:\ή㡿 로renpy-6.2.0\Try1/game/script.rpy.
-- Full Traceback ------------------------------------------------------------
File "C:\Downloads\à擄᭬읒en-Py\renpy-6.2.0\renpy\bootstrap.py", line 197, in bootstrap
File "C:\Downloads\à擄᭬읒en-Py\renpy-6.2.0\renpy\main.py", line 259, in main
File "C:\Downloads\à擄᭬읒en-Py\renpy-6.2.0\renpy\execution.py", line 171, in run
File "C:\Downloads\à擄᭬읒en-Py\renpy-6.2.0\renpy\ast.py", line 489, in execute
File "C:\Downloads\à擄᭬읒en-Py\renpy-6.2.0\renpy\python.py", line 860, in py_exec_bytecode
File "C:\ή㡿 로renpy-6.2.0\Try1/game/script.rpy", line 2, in <module>
NameError: name 'window' is not defined
While executing init code:
Ren'Py Version: Ren'Py 6.2.0c
Code: Select all
$ config.window_title = u"Ðóññêèé"
But Character's and Save name now works perfectly.
Thank you very much!!!
And sorry for lengthy post without much meaning.
-
- Newbie
- Posts: 16
- Joined: Mon Jan 01, 2007 9:27 pm
- Location: United States
- Contact:
Okay, so between normal dramas of daily life, I have come back with an extremely unorthodox coded "Bookmark" feature that pretty much explains I have no idea what the hell I am doing.
This is my "bookmark.rpy", which is basically a total rip from the cookbook. Yes, I mangled it into something totally unrecognizable:
As clearly seen by, I assume, anyone that knows anything about Ren'Py scripting, it doesn't work. I don't know why, I don't even know the vaguest clue as to how to get it working!
But I'm posting it here as an example of the type of effect that I want: I want a button on the main menu that goes to a loading screen with three buttons for each three saves. Ditto for the save menu: three buttons that will create three saves that I can load from. I'd also very much like the saves to record the time/date it was saved and which "scene" it was saved on (there are a total of 53 "scenes" in the game). But I think that's going a bit further than I want at this point as I'd just like the save and load functions to work period.
I'm at the end of my rope and getting rather frustrated with my inability to do what seems to be so simple to everyone else, but I'm here to learn and I'd appreciate any advice on getting the above code to work or someone to show me a better, gentler way of doing what I want.
Thanks in advance!
This is my "bookmark.rpy", which is basically a total rip from the cookbook. Yes, I mangled it into something totally unrecognizable:
Code: Select all
## Save Bookmark Labels
label _save_bookmark_one:
$ renpy.save('savebookmark1', _('Save Bookmark 1'))
$ ui.text(_('The game has been saved using bookmark slot one.'), xpos=0.5, xanchor='center', ypos=0.5, yanchor='center')
return
label _save_bookmark_two:
$ renpy.save('savebookmark2', _('Save Bookmark 2'))
$ ui.text(_('The game has been saved using bookmark slot two.'), xpos=0.5, xanchor='center', ypos=0.5, yanchor='center')
return
label _save_bookmark_one:
$ renpy.save('savebookmark3', _('Save Bookmark 3'))
$ ui.text(_('The game has been saved using bookmark slot three.'), xpos=0.5, xanchor='center', ypos=0.5, yanchor='center')
return
## Load Bookmark Labels
label _load_bookmark_one:
$ renpy.load('savebookmark1')
return
label _load_bookmark_two:
$ renpy.load('savebookmark2')
return
label _load_bookmark_three:
$ renpy.load('savebookmark3')
return
# New Right-click Game Menu. "_game_menu_screen" is set to "_save_bookmark_menu" in options.
label _save_bookmark_menu:
scene white
ui.textbutton(_("Save Bookmark 1"), xpos=0.98, ypos=0.02, xanchor='right', yanchor='top', clicked=renpy.curried_call_in_new_context('_save_bookmark_one'))
ui.textbutton(_("Save Bookmark 2"), xpos=0.98, ypos=0.12, xanchor='right', yanchor='top', clicked=renpy.curried_call_in_new_context('_save_bookmark_two'))
ui.textbutton(_("Save Bookmark 3"), xpos=0.98, ypos=0.22, xanchor='right', yanchor='top', clicked=renpy.curried_call_in_new_context('_save_bookmark_three'))
return
# This is the load bookmark menu you recieve when you click on "Load Bookmark" at the main menu.
label _load_bookmark_menu:
scene white
ui.textbutton(_("Load Bookmark 1"), xpos=0.98, ypos=0.02, xanchor='right', yanchor='top', clicked=renpy.curried_call_in_new_context('_load_bookmark_one'))
ui.textbutton(_("Load Bookmark 2"), xpos=0.98, ypos=0.12, xanchor='right', yanchor='top', clicked=renpy.curried_call_in_new_context('_load_bookmark_two'))
ui.textbutton(_("Load Bookmark 3"), xpos=0.98, ypos=0.22, xanchor='right', yanchor='top', clicked=renpy.curried_call_in_new_context('_load_bookmark_three'))
return
But I'm posting it here as an example of the type of effect that I want: I want a button on the main menu that goes to a loading screen with three buttons for each three saves. Ditto for the save menu: three buttons that will create three saves that I can load from. I'd also very much like the saves to record the time/date it was saved and which "scene" it was saved on (there are a total of 53 "scenes" in the game). But I think that's going a bit further than I want at this point as I'd just like the save and load functions to work period.
I'm at the end of my rope and getting rather frustrated with my inability to do what seems to be so simple to everyone else, but I'm here to learn and I'd appreciate any advice on getting the above code to work or someone to show me a better, gentler way of doing what I want.
Thanks in advance!
"The greatest error is not in making a mistake, but not allowing the one who made the mistake a chance to fix it." - corVine
"There is no reason why good can't triumph over evil, if only angels will get organized along the lines of the mafia." Kurt Vonnegut
"There is no reason why good can't triumph over evil, if only angels will get organized along the lines of the mafia." Kurt Vonnegut
- PyTom
- Ren'Py Creator
- Posts: 16096
- Joined: Mon Feb 02, 2004 10:58 am
- Completed: Moonlight Walks
- Projects: Ren'Py
- IRC Nick: renpytom
- Github: renpytom
- itch: renpytom
- Location: Kings Park, NY
- Contact:
What's the error you're getting? Trivially, you want to do a ui.interact or a renpy.restart_interaction after the ui.texts, otherwise they won't show up.
Supporting creators since 2004
(When was the last time you backed up your game?)
"Do good work." - Virgil Ivan "Gus" Grissom(When was the last time you backed up your game?)
Software > Drama • https://www.patreon.com/renpytom
-
- Newbie
- Posts: 16
- Joined: Mon Jan 01, 2007 9:27 pm
- Location: United States
- Contact:
This is the error that pops up when it tries to load/open the game:
In PHP, I would have tried to put a semicolon after each of the lines as the expected statement, but I have no idea if that could be used for Ren'Py or not, or even what symbol it's requesting.
I'll added ui.interact() on the line below ui.text(). Should I also put it under the ui.textbutton() commands too, or just on one or the other?
Code: Select all
I'm sorry, but errors were detected in your script. Please correct the
errors listed below, and try again.
On line 36 of E:\Program Files\Ren'Py\mygame/game/bookmark.rpy: expected statement.
ui.textbutton(_("Save Bookmark 1"), xpos=0.98, ypos=0.02, xanchor='right', yanchor='top', clicked=renpy.curried_call_in_new_context('_save_bookmark_one'))
^
On line 37 of E:\Program Files\Ren'Py\mygame/game/bookmark.rpy: expected statement.
ui.textbutton(_("Save Bookmark 2"), xpos=0.98, ypos=0.12, xanchor='right', yanchor='top', clicked=renpy.curried_call_in_new_context('_save_bookmark_two'))
^
On line 38 of E:\Program Files\Ren'Py\mygame/game/bookmark.rpy: expected statement.
ui.textbutton(_("Save Bookmark 3"), xpos=0.98, ypos=0.22, xanchor='right', yanchor='top', clicked=renpy.curried_call_in_new_context('_save_bookmark_three'))
^
On line 44 of E:\Program Files\Ren'Py\mygame/game/bookmark.rpy: expected statement.
ui.textbutton(_("Load Bookmark 1"), xpos=0.98, ypos=0.02, xanchor='right', yanchor='top', clicked=renpy.curried_call_in_new_context('_load_bookmark_one'))
^
On line 45 of E:\Program Files\Ren'Py\mygame/game/bookmark.rpy: expected statement.
ui.textbutton(_("Load Bookmark 2"), xpos=0.98, ypos=0.12, xanchor='right', yanchor='top', clicked=renpy.curried_call_in_new_context('_load_bookmark_two'))
^
On line 46 of E:\Program Files\Ren'Py\mygame/game/bookmark.rpy: expected statement.
ui.textbutton(_("Load Bookmark 3"), xpos=0.98, ypos=0.22, xanchor='right', yanchor='top', clicked=renpy.curried_call_in_new_context('_load_bookmark_three'))
^
Ren'Py Version: Ren'Py 6.2.0c
I'll added ui.interact() on the line below ui.text(). Should I also put it under the ui.textbutton() commands too, or just on one or the other?
"The greatest error is not in making a mistake, but not allowing the one who made the mistake a chance to fix it." - corVine
"There is no reason why good can't triumph over evil, if only angels will get organized along the lines of the mafia." Kurt Vonnegut
"There is no reason why good can't triumph over evil, if only angels will get organized along the lines of the mafia." Kurt Vonnegut
-
- Newbie
- Posts: 16
- Joined: Mon Jan 01, 2007 9:27 pm
- Location: United States
- Contact:
Yep! But I'm still getting the same error even when I add "$ ui.interact()". There's no change in the error, either.monele wrote:"$" in front of ui.interact ^^
"The greatest error is not in making a mistake, but not allowing the one who made the mistake a chance to fix it." - corVine
"There is no reason why good can't triumph over evil, if only angels will get organized along the lines of the mafia." Kurt Vonnegut
"There is no reason why good can't triumph over evil, if only angels will get organized along the lines of the mafia." Kurt Vonnegut
Code: Select all
_("Save Bookmark 1")
-
- Newbie
- Posts: 16
- Joined: Mon Jan 01, 2007 9:27 pm
- Location: United States
- Contact:
Re: I'm New to Ren'Py Questions
I still haven't figured out any of the above, and I cannot find an example I can make sense of to make it happen, but I'm still continuing to try in my free time. Which is very little with college assignments (long five page essays and ten page research papers) being shove into my every orifice. But enough of that, time for another, probably somewhat ridiculous question, but lack of time to do trial and error forces me to:
I want to rotate an image and tried attempting to do so using the RotoZoom function, but that's also my problem: RotoZOOM. I don't want a zoom, and seemingly no matter what numbers I put in the zoom parts of the code, it either does nothing or (most of the time) crashes. Is there a function specifically for rotating only, or is there some way to modify RotoZoom to not zoom?
Thanks heaps! And I'll let you know when I finally figure out how to make customized buttons and save/load/game menus and things like that. Promise.
I want to rotate an image and tried attempting to do so using the RotoZoom function, but that's also my problem: RotoZOOM. I don't want a zoom, and seemingly no matter what numbers I put in the zoom parts of the code, it either does nothing or (most of the time) crashes. Is there a function specifically for rotating only, or is there some way to modify RotoZoom to not zoom?
Thanks heaps! And I'll let you know when I finally figure out how to make customized buttons and save/load/game menus and things like that. Promise.
"The greatest error is not in making a mistake, but not allowing the one who made the mistake a chance to fix it." - corVine
"There is no reason why good can't triumph over evil, if only angels will get organized along the lines of the mafia." Kurt Vonnegut
"There is no reason why good can't triumph over evil, if only angels will get organized along the lines of the mafia." Kurt Vonnegut
- PyTom
- Ren'Py Creator
- Posts: 16096
- Joined: Mon Feb 02, 2004 10:58 am
- Completed: Moonlight Walks
- Projects: Ren'Py
- IRC Nick: renpytom
- Github: renpytom
- itch: renpytom
- Location: Kings Park, NY
- Contact:
Re: I'm New to Ren'Py Questions
Just make zoom_start and zoom_end both 1.0. Zooming things to 1x of their normal size is equivalent to not zooming them at all, right?
(Actually, wrong. RotoZoom isn't 100% perfect, so things might get shifted by a pixel or so. But when you're rotating, nobody's going to notice.)
(Actually, wrong. RotoZoom isn't 100% perfect, so things might get shifted by a pixel or so. But when you're rotating, nobody's going to notice.)
Supporting creators since 2004
(When was the last time you backed up your game?)
"Do good work." - Virgil Ivan "Gus" Grissom(When was the last time you backed up your game?)
Software > Drama • https://www.patreon.com/renpytom
-
- Newbie
- Posts: 16
- Joined: Mon Jan 01, 2007 9:27 pm
- Location: United States
- Contact:
Re: I'm New to Ren'Py Questions
I tried that, actually. Here's the code, copied and pasted from the demo with edits to point to my own images (this is how it shows up in my game):
Both zooms are 1.0, but it still zooms from a smaller scale to the larger one.
Code: Select all
show logo_boent_symbol at RotoZoom(0, 360, 5, 0, 1.0, 1.0, rot_repeat=True, rot_anim_timebase=True, opaque=False, xalign=0.25, yalign=0.5) behind logo_boent
"The greatest error is not in making a mistake, but not allowing the one who made the mistake a chance to fix it." - corVine
"There is no reason why good can't triumph over evil, if only angels will get organized along the lines of the mafia." Kurt Vonnegut
"There is no reason why good can't triumph over evil, if only angels will get organized along the lines of the mafia." Kurt Vonnegut
- PyTom
- Ren'Py Creator
- Posts: 16096
- Joined: Mon Feb 02, 2004 10:58 am
- Completed: Moonlight Walks
- Projects: Ren'Py
- IRC Nick: renpytom
- Github: renpytom
- itch: renpytom
- Location: Kings Park, NY
- Contact:
Re: I'm New to Ren'Py Questions
You got the order of arguments wrong. You're zooming from 0 to 1.0 in 1.0 seconds. Instead, you want to zoom from 1.0 to 1.0 in 0 seconds. (Or maybe 1.0 seconds... not sure if 0 seconds will cause a divide by zero error.)
Supporting creators since 2004
(When was the last time you backed up your game?)
"Do good work." - Virgil Ivan "Gus" Grissom(When was the last time you backed up your game?)
Software > Drama • https://www.patreon.com/renpytom
-
- Newbie
- Posts: 16
- Joined: Mon Jan 01, 2007 9:27 pm
- Location: United States
- Contact:
Re: I'm New to Ren'Py Questions
Ah, okay. I mistook the "self" listed in the reference section as the first function addressed (zero). But after reading your reply and then looking at the reference section again, I note that self isn't listed in the command explanation.
Makes sense now. Thanks!
Edit: Zero seconds will cause a divide by zero error. It must be set to 1.0.
Makes sense now. Thanks!
Edit: Zero seconds will cause a divide by zero error. It must be set to 1.0.
"The greatest error is not in making a mistake, but not allowing the one who made the mistake a chance to fix it." - corVine
"There is no reason why good can't triumph over evil, if only angels will get organized along the lines of the mafia." Kurt Vonnegut
"There is no reason why good can't triumph over evil, if only angels will get organized along the lines of the mafia." Kurt Vonnegut
-
- Newbie
- Posts: 16
- Joined: Mon Jan 01, 2007 9:27 pm
- Location: United States
- Contact:
Re: I'm New to Ren'Py Questions
Okay, how is this for a question with a lot of detailed examples of what I'm talking about?:
Say I take the code from the Quick Save and Load section in the Cookbook, and I delete everything except for the bare bone framework:
Okay, now I can call on the quick save and quick load commands through a button whenever I desire. So I append a quick load button to the main menu through the config.main_menu array, and it actually works (gasp!). Now I know how to append it to an already created menu like that. But what I want to do is create a whole new menu by being able to insert the button where I please. So, as an example, say I'm looking at the Adding On-Screen Buttons section in the Cookbook. The only problem is that it appends the button to an already existing menu -- how do I get the button to just show up where I define it inside a label?
Hope that's clear enough...
In addition, while I'm on this subject -- I haven't tried this out yet, so I could be right (or wrong, as that tends to happen more often than not), but it's late at night and I wanna get into bed: Say I have the Quick Save button defined as follows, appended to the main menu:
Could I use the example PyTom gave me page back to make the button an image, like this:
Or do I have to do something extra? Thanks in advance, and I'm sorry for asking so many questions, but this menu stuff just confuses the hell out of me.
Say I take the code from the Quick Save and Load section in the Cookbook, and I delete everything except for the bare bone framework:
Code: Select all
label _quick_save:
call _enter_menu_without_scene from __call__enter_menu_4
$ renpy.save('quicksave', _('Save Bookmark'))
$ ui.add(Solid((0, 0, 0, 128)))
$ ui.text(_('Your position has been bookmarked.'),
xpos=0.5, ypos=0.5,
xanchor='center', yanchor='center')
$ ui.saybehavior()
$ ui.interact(suppress_overlay=True, suppress_underlay=True)
return
label _quick_load:
$ renpy.load('quicksave')
return
Hope that's clear enough...
In addition, while I'm on this subject -- I haven't tried this out yet, so I could be right (or wrong, as that tends to happen more often than not), but it's late at night and I wanna get into bed: Say I have the Quick Save button defined as follows, appended to the main menu:
Code: Select all
( u"Load Bookmark", ui.jumps("_quick_load"), 'renpy.can_load("quicksave")' ),
Code: Select all
config.image_buttons["Load Bookmark"] = (
"button_idle.png",
"button_hover.png",
"button_selected-idle.png",
"button_selected-hover.png",
"button_disabled.png")
"The greatest error is not in making a mistake, but not allowing the one who made the mistake a chance to fix it." - corVine
"There is no reason why good can't triumph over evil, if only angels will get organized along the lines of the mafia." Kurt Vonnegut
"There is no reason why good can't triumph over evil, if only angels will get organized along the lines of the mafia." Kurt Vonnegut
-
- Newbie
- Posts: 16
- Joined: Mon Jan 01, 2007 9:27 pm
- Location: United States
- Contact:
Re: I'm New to Ren'Py Questions
Okay: all of my trial and error attempts today failed -- but I did get really close! Only had one error (expected statement at the end of a line, which I can't figure out). I consider that a feat beyond my capabilities, so I must be getting a little better. However, that I still doesn't help me get it totally right. This is what I had:
options.rpy:
The _quick_menu label in quickmenu.rpy:
Yeah... I'm completely useless. Anyone care to give me a working example of what I'm trying in vain to do? Also, I somehow, somewhere in the Reference section came across a command to return you to the game after pressing a button. Something like _return or another. I can't find it again...
Thanks, guys!
options.rpy:
Code: Select all
_game_menu_screen = "_quickie_menu"
Code: Select all
label _quick_menu:
scene background_white
with Dissolve(0.5)
ui.vbox(xpos=0.99, ypos=0.98, xanchor='right', yanchor='bottom')
ui.textbutton("Save Bookmark", clicked=renpy.curried_call_in_new_context("_quick_save"), xminimum=80)
ui.textbutton("Load Bookmark", clicked=renpy.curried_call_in_new_context("_quick_load"), xminimum=80)
ui.close()
$ ui.interact(suppress_overlay=True, suppress_underlay=True)
Thanks, guys!
"The greatest error is not in making a mistake, but not allowing the one who made the mistake a chance to fix it." - corVine
"There is no reason why good can't triumph over evil, if only angels will get organized along the lines of the mafia." Kurt Vonnegut
"There is no reason why good can't triumph over evil, if only angels will get organized along the lines of the mafia." Kurt Vonnegut
Who is online
Users browsing this forum: Bing [Bot], Google [Bot]