init python: showitems = True def display_items_overlay(): if showitems: inventory_show = "Inventario: " for i in range(0, len(items)): item_name = items[i].title() if i > 0: inventory_show += ", " inventory_show += item_name ui.frame() ui.text(inventory_show) config.overlay_functions.append(display_items_overlay) ## $ items.append("piedra") #cuando quieras añadir items $ items.remove("piedra")#cuando quieras remover items $ showitems = False #cuando no quieras mostrar el inventario en pantalla (cutscenes, etc) $ showitems = True #cuando quieras mostrar el inventario de nuevo
Con algunos cambios podemos usar este código para mostrar la cantidad de dinero que tengamos o un "Medidor de afecto" en juegos en los que nos sea útil.
Medidor de afecto
init python: showaffection= False affection = 0 def display_affection(): if showaffection: ui.frame() #Esto es opcional. Añade una ventana alrededor del texto. ui.text("Afecto: %d" %affection) config.overlay_functions.append(display_affection) ### $ showaffection = False #Oculta la caja de "Afecto" $ affection +=5 #Añade 5 puntos de afecto a la puntuación de afecto actual $ affection -=5 #Del mismo modo, resta 5 puntos de afecto a la puntuación de afecto actual.
Un contador de dinero es prácticamente lo mismo
Esta es una traducción del texto que se puede encontrar en la wiki de Renpy en la siguiente dirección: http://www.renpy.org/wiki/renpy/doc/cookbook/Simple_Onscreen_Inventoryinit python: showmoney= False money = 0 def display_affection(): if showmoney: ui.frame() #This is optional. It adds a frame around the text. ui.text("$ %d" %money) config.overlay_functions.append(display_money) ### $ showmoney = False #Oculta la caja de "Dinero" $ money +=5 #Añade 5$ a la puntuación actual $ money -=5 #Resta 5$ a la puntuación actual this subtracts $5 from the current score
y donde pongo el codigo?....en script.rpy? o en screen.rpy?
ResponderEliminarlo puse y me marca este error:
ResponderEliminarI'm sorry, but an uncaught exception occurred.
While running game code:
File "game/script.rpy", line 67, in script
n "Estas a punto de poder tener una cita.!!
File "game/script.rpy", line 9, in display_items_overlay
for i in range(0, len(items)):
NameError: global name 'items' is not defined
-- Full Traceback ------------------------------------------------------------
Full traceback:
File "game/script.rpy", line 67, in script
n "Estas a punto de poder tener una cita.!!
File "C:\Users\sebastian\Documents\renpy-6.18.3-sdk\renpy\ast.py", line 593, in execute
renpy.exports.say(who, what, interact=self.interact)
File "C:\Users\sebastian\Documents\renpy-6.18.3-sdk\renpy\exports.py", line 999, in say
who(what, interact=interact)
File "C:\Users\sebastian\Documents\renpy-6.18.3-sdk\renpy\character.py", line 826, in __call__
self.do_display(who, what, cb_args=self.cb_args, **display_args)
File "C:\Users\sebastian\Documents\renpy-6.18.3-sdk\renpy\character.py", line 688, in do_display
**display_args)
File "C:\Users\sebastian\Documents\renpy-6.18.3-sdk\renpy\character.py", line 491, in display_say
rv = renpy.ui.interact(mouse='say', type=type, roll_forward=roll_forward)
File "C:\Users\sebastian\Documents\renpy-6.18.3-sdk\renpy\ui.py", line 247, in interact
rv = renpy.game.interface.interact(roll_forward=roll_forward, **kwargs)
File "C:\Users\sebastian\Documents\renpy-6.18.3-sdk\renpy\display\core.py", line 2149, in interact
repeat, rv = self.interact_core(preloads=preloads, **kwargs)
File "C:\Users\sebastian\Documents\renpy-6.18.3-sdk\renpy\display\core.py", line 2278, in interact_core
self.compute_overlay()
File "C:\Users\sebastian\Documents\renpy-6.18.3-sdk\renpy\display\core.py", line 1919, in compute_overlay
i()
File "game/script.rpy", line 9, in display_items_overlay
for i in range(0, len(items)):
NameError: global name 'items' is not defined
Windows-post2008Server-6.2.9200
Ren'Py 6.18.3.761
practicas 0.0
Ayudame!!!!!
Anónimo, el código se pondría en script.rpy.
ResponderEliminarArath, falta declarar la variable item de la siguiente forma antes del código:
$ items = []
En cualquier caso, este código se ejecutaba en versiones muy antiguas de Renpy. En la actualidad, con la salida de nuevas versiones del software, creo que han cambiado algunas cosas y no estoy seguro de que funcionara.
Gracias por la visita.