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.


Incompleto

Recordar las Elecciones de los Usuarios

Cambiar el Flujo del Juego con Elecciones Anteriores

Se puede recordar las elecciones de los usuarios asignando variables. Por ejemplo:

menu:
    "Comprar una Iguana":
        $ regalo = "iguana"
        b "¡Me llevaré una iguana!"
    "Comprar una Serpiente Cascabel":
        $ regalo = "serpiente cascabel"
        b "Me llevaré una Serpiente Cascabel!"
    "Comprar una Tortuga":
        $ regalo = "tortuga"
        b "¡Déjeme la tortuga más lenta que tenga, por favor!"

Fíjate en que solamente hay un "=" para asignar una variable.

Más tarde en el juego, puedes usar para cambiar el guión basado en la elección anterior:

b "Ábrelo, Mary."
if regalo == "iguana":
    m "¡Oh Bob, siempre he querido una iguana!"
if regalo == "serpiente cascabel":
    m "¡Oh Bob, siempre me han encantado las serpientes cascabeles! ¡Muchísimas gracias!"
if regalo == "tortuga"
    m "¡Bob! ¡Es tan lenta...! ¡Te quiero!"

Ahora fíjate que se usa "==" para reflejar igualdad.

Puedes llamar como quieras a las variables, siempre y cuando no creen conflicto con alguna palabra clave o con un personaje. La única regla es que debes asignar primero la variable antes de usarla en una condicional.

Implementar un Juego Basado en Puntos

Un juego basado en puntos es aquella en que las elecciones que hace el usuario se acumulan durante la historia en forma de variables.

Primero, necesitas saber qué puntos quieres que dependan de los finales. Por ejemplo, quieres que el uuario sea capaz de ganar puntos por (1) ganando musculatura (fuerza) (2) haciendo malabares (destreza) y (3) desarrollando experimentos de química y desarrollar nuevas formas de vida avanzadas (ciencia demente).

Luego, necesitas iniciar las variables que vas a usar para los puntos. Hazlo en el label start:

label start:
    $ puntos_fuerza = 0
    $ puntos_destreza = 0
    $ puntos_ciencia_demente = 0

Durante el juego, le darás la posibilidad al usuario de que sume puntos con sus elecciones. Para incrementar puntos, usa:

$ variable += 1

Puedes usar cualquier número. No tiene por qué ser # (es más seguido de un igual.) Para reducir puntos, usa:

$ variable -= 1

Donde puedes usar un número cualquiera. (Menos seguido de un igual.)

Por ejemplo:

menu:
    "Ir al gimnasio":
        $ puntos_fuerza += 1
        "El gimnasio era duro y agotador."
        "He cogido objetos pesados y las he levantado una y otra vez."
        "Siempre me preguntaba por qué me molestaba en hacer eso,
         ya que puedo hacer lo mismo sin cogerlo en primer lugar."
    "Practicar malabarismos":
        $ puntos_destreza += 1
        "Practiqué malabares con siete bolas."
        "Era muy difícil, pero conseguí al menos mantener un poco el ritmo."
    "Practicar malabares con erizos enfadados":
        $ puntos_destreza += 3
        $ puntos_fuerza -= 1
        "Practicar con erizos enfadados ha incrementado mis reflejos.
         Pero por otro lado, me siento débil por la pérdida de sangre."
    "Crear un erizo alegre":
        $ puntos_ciencia_demente += 1
        "Desgraciadamente solamente pude crear un equidna depresivo,
         pero aprendí mucho y seguro que la próxima vez me sale bien."

(Por supuesto puedes cambiar las respuestas basándote en los puntos que tengas, usando las técnicas descritas en la sección anterior sobre variables.)

Finalmente, te queda crear los finales usando las variables:

if puntos_fuerza > max(puntos_destreza, puntos_ciencia_demente):

    "Coges una vaca y saltas sobre la luna."

elif puntos_destreza > max(puntos_fuerza, puntos_ciencia_demente):

    "Haces malabares con 215 bolas y bates un nuevo récord mundial."

else:

    "Creas a tu pareja perfecta y te retiras hacia un castillo
     construida por un ejército de hombres gorila de ocho brazos
     que creastes momentos antes."

return

El último código desempata a favor de la última opción (ciencia demente). Si quieres ser más explícito acerca de los empates, es más complicado, porque hay siete posibles combinaciones. Pero es realizable. Quedaría algo así:

if puntos_fuerza > max(puntos_destreza, puntos_ciencia_demente):

    "Coges una vaca y saltas sobre la luna."

elif puntos_destreza > max(puntos_fuerza, puntos_ciencia_demente):

    "Haces malabares con 215 bolas y bates un nuevo récord mundial."

elif puntos_ciencia_demente > max(puntos_fuerza, puntos_destreza):

    "Creas a tu pareja perfecta y te retiras hacia un castillo
     construida por un ejército de hombres gorila de ocho brazos
     que creastes momentos antes."

elif puntos_fuerza == puntos_destreza == puntos_ciencia_demente:

    "Tu ejército de hombres gorila gigantes serviciales de diecisiete 
     brazos te construyen tres castillos, con los que haces malabares
     para impresionar a tu pareja perfecta que creastes momentos antes."

elif puntos_fuerza == puntos_destreza:

    "Haces malabares con tres rocas enormes con varias personas
     atractivas del sexo opuesto."

elif puntos_destreza == puntos_ciencia_demente:

    "Creas una nueva raza de colibríes con los que consigues hacer
     malabares con 5.000 de ellos a la vez."

elif puntos_fuerza == puntos_ciencia_demente:

    "Creas un hombre gorila de 30 toneladas con 24 brazos y lo
     usas para pintar el techo de tu casa que te está construyendo
     para ti."

return

El orden de las condiciones es importante, porque las últimas alternativas asumen que las primeras alternativas son falsas. En general, prueba si una variable individual se cumple, y luego comprueba si son iguales. Luego prueba con las variables que empatan. Este truco evita posibles errores de lógica del juego.