This page is out of date

You've reached a page on the Ren'Py wiki. Due to massive spam, the wiki hasn't been updated in over 5 years, and much of the information here is very out of date. We've kept it because some of it is of historic interest, but all the information relevant to modern versions of Ren'Py has been moved elsewhere.

Some places to look are:

Please do not create new links to this page.


Crear Ramas y Recombinar la Historia

Las ramas cortas se pueden realizar con la declaración de menú incluyendo la rama entera después de cada elección. Pero para ramas más largas, se hace demasiado engorroso. La solución es usar labels y o bien .

Lo primero que tienes de decidir es dónde vas a usar call o jump. Jump cambia el script que se está ejecutando en Ren'Py. El nuevo sitio al que se ejecute el script siempre avanza; no existe método para volver al lugar desde un jump, aunque siempre puedes usar el jump hacia un label después del salto. Por consiguiente,no puedes volver a reusar el jump desde distintos puntos del script. Para una novela gráfica, jump será más que suficiente.

Call guarda la información donde quieras que vayas, así que la rama que use call siempre podrá volver a ser reutilizada, ya que siempre puede volver al lugar donde proviene. Para un simulador de citas, probablemente uses call.

Por supuesto, puedes usar ambos en la misma novela gráfica (o simulador de citas). Mezclarlos y unirlos está bien, siempre y cuando cada rama sea de call o de jump.

Crear Ramas con Jump

El primer paso para crear ramas con jump es crear un en tu script:

label joyería:
b "Vamos a la joyería. Me gustaría comprarte algo."

s "¡Eres tan dulce!"

Luego añade jump a la rama:

s "¿Qué quieres hacer?"

menu:
    "Ir a la joyería":
        jump joyería
        #No volveremos a pasar por aquí, ya que al usar jump no se puede regresar.
    "No hacer nada":
        s "Me estoy aburriendo."

¡Felicidades, has creadouna rama con jump!

A menos que esta rama se ejecute al final del juego, posiblemente quieras crear la rama en cualquier otro lugar del script. Se hace de la misma manera; las ramas no son nada en especial y puedes usar jump en calquier lugar aunque estés en una rama. Por ejemplo, supongamos que el ejemplo anterior quieras que vuelva al menú desde esa rama. Primero, añade un label antes del menú para que tengas algún lugar donde usar jump:

s "¿Qué quieres hacer?"

menu:
    "Ir a la joyería":
        jump joyería
        #No volveremos a pasar por aquí, ya que al usar jump no se puede regresar.
    "No hacer nada":
        s "Me estoy aburriendo."

label qué_hacer:
b "Bueno ¿Y ahora qué?"

Luego añades un jump al fnal de la rama:

label joyería:
    b "Vamos a la joyería. Me gustaría comprarte algo."

    s "¡Eres tan dulce!"

    b "Lo sé."

    s "Bueno, es suficiente. Volvamos.

    jump qué_hacer    

Ten en cuenta que los labels deben ser únicos en todo el script de Ren'Py.

Crear Ramas con Call

El primer paso para crear ramas con call es crear un y tambien :

label joyería:
    b "Vamos a la joyería. Me gustaría comprarte algo."

    s "¡Eres tan dulce!"

    etc.

    return

(NOTA: Es MUY importante que una rama con Call nunca debe volver con jump o por el flujo normal del script. Si ése es el caso, el juego terminará inmediatamente gracias a return. a declaración return fuera de un call es la manera ideal para finalizar el juego: El asunto es que el juego empezó desde el menú inicial. Un return en la historia principal hace que vuelva al menú inicial del juego.)

Luego, añade el call en la rama:

s "¿Qué quiers hacer?"

menu:
    "Ir a la joyería":
        call joyería
        s "Eso ha sido entretenido"
    "No hacer nada":
        pass

¡Felicidades, has creado una rama con call! Pero por desgracia, aún no hemos acabado.

No necesitas hacer nada mientras sigas escribindo el juego, pero cuando estés listo para el lanzamiento de tu juego, necesitarás ejecutar el (Nota del traductor: Falta poner el programa aquí) desde el lanzador de Ren'Py para añadir labels bajo cada declaración de call.

Nota Sobre Organización

No hay ningún sistema programado para organizar todas las ramas de un juego. Sin embargo, se recomienda que tengas claro cómo vas a organizar tus ramas.

Si usas múltiples archivos para organizar tu script, ten en cuenta que los labels son visibles ante cualquier archivo, así que saltar de un label en un archivo diferente es lo mismo que saltar a un label en el mismo archivo. Ya que los labels deben de ser único en cada script de Ren'Py, esto quiere decir que no puedes reutilizar los labels en diferentes archivos del mismo juego de Ren'Py.