Registrarse

[Script] [Script]Dialogos Aleatorios[RMXP]

enanogm

Usuario antiguo de Wah
Buenas!

Este script es bastante sencillo y puede llegar a ser útil (?)

Hace poco vi alguien que precisaba ideas para diálogos de los NPC y puede servir para esas ocasiones en que queremos rellenar una ciudad o pueblo con gente dando vueltas pero no sabemos qué diálogo ponerles.



Lo único que hay que hacer es crear un nuevo script arriba de Main, llamarlo "DialogoAleatorio" (sin comillas) y copiar el siguiente código:

Código:
# Script que genera distintos diálogos cada vez que se llama.
# Para usar, 'Llamar Script' y escribir 'mostrarFrase'.
# By enanogm


def mostrarFrase
  total = 23 # Es en total de frases en el script
  frase = rand(total)
  case frase
  when 0
    Kernel.pbMessage(_INTL("Los pokémon aparecen en la hierba alta."))
  when 1
    Kernel.pbMessage(_INTL("Los pokémon son criaturas amigables. Nunca atacarán a una persona sin razón."))
  when 2
    Kernel.pbMessage(_INTL("Qué grande es esta región."))
  when 3
    Kernel.pbMessage(_INTL("Si hay Tienda Pokemon ¿Habrán tiendas de MT?"))
  when 4
    Kernel.pbMessage(_INTL("La Liga debe ser algo muy difícil de superar. Por eso ganarla otorga el título Campeón"))
  when 5
    Kernel.pbMessage(_INTL("¿Sabías que algunos objetos pueden venderse por un alto precio? Por eso conviene guardar todo lo que encuentres."))
  when 6
    Kernel.pbMessage(_INTL("¿Sabías que la Malla Ball funciona como Master Ball frente a un Surskit? Interesante, ¿no?"))
  when 7
    Kernel.pbMessage(_INTL("Dicen que las 3 cabezas de Dodrio representan dicha, pena y enojo."))
  when 8
    Kernel.pbMessage(_INTL("¿Sabías que los Pokémon tipo normal y tipo fantasma son inmunes mutuamente? En una batalla es bueno saberlo."))
  when 9
    Kernel.pbMessage(_INTL("¿Porqué esta región no contiene todas las variedades de pokémon?"))
  when 10
    Kernel.pbMessage(_INTL("Por suerte esta región todavía es tranquila."))
  when 11
    Kernel.pbMessage(_INTL("Dicen que al sur del país hay entrenadores muy fuertes."))
  when 12
    Kernel.pbMessage(_INTL("Cerca del Parque Acuático hay un puerto ¿A dónde llevará?"))
  when 13
    Kernel.pbMessage(_INTL("¿Qué habrá en las islas del norte?"))
  when 14
    Kernel.pbMessage(_INTL("Nunca fuí a la isla del Este ¿Habrá pokémon allí?"))
  when 15
    Kernel.pbMessage(_INTL("¿Dónde quedará la Liga Pokémon?"))
  when 16
    Kernel.pbMessage(_INTL("En algunas zonas de hierba alta, a veces, aparecen pokémon raros."))
  when 17
    Kernel.pbMessage(_INTL("¿Tú entrenas Pokémon? a mí también me gustaría hacerlo..."))
  when 18
    Kernel.pbMessage(_INTL("Un Pokémon es más fuerte que sus pre-evoluciones, aunque sea del mismo nivel."))
  when 19
    Kernel.pbMessage(_INTL("¿Sabías que existen 17 tipos elementales? yo no me los acuerdo todos... ¿O eran 18?"))
  when 20
    Kernel.pbMessage(_INTL("En Ciudad (nombre) una de las Tienda Pokémon es solo de Pokéballs."))
  when 21
    Kernel.pbMessage(_INTL("Para usar algunos Movimientos Pokémon se necesita tener ciertas medallas."))
  when 22
    Kernel.pbMessage(_INTL("Me gustaría tener mi propio Pokémon"))
  else
    Kernel.pbMessage(_INTL("No tengo más que decir."))
  end
end


Luego, en un NPC, agregar un evento "Llamar Script" y escribir "mostrarFrase"

Para agregarle más frases, sólo copiar la siguiente parte:
Código:
when xx
    Kernel.pbMessage(_INTL("frase"))
y pegarla antes de:
Código:
else
    Kernel.pbMessage(_INTL("No tengo más que decir."))

Donde dice "xx", escribir el número que sigue en el conteo. Luego, arriba del todo, la variable 'total', cambiar el numero por la cantidad de frases que contenga ahora el script, incluyendo la última frase: "No tengo más que decir."

Bueno, espero les sirva.

un saludo!
 

KleinStudio

Un plato es un plato
Miembro del equipo
Webmaster
No está nada mal aunque habría una forma de simplificarlo muchísimo más y no hacerlo por condiciones: creas un array con todas las frases posibles, generas el número aleatorio con el máximo en el tamaño del array y muestrar con pbMessage la frase que esté en la posición random dentro del array :D
 

Xabier2012

Usuario mítico
Lo malo de este script es que si lo pones en varias personas, pueden decir la misma frase y eso queda mal.

Yo guardaría el valor de la frase para que si el ramdom diera la misma volviera a buscar otro random. O simplemente crearía varios script para cada persona, y que cada persona pudiera decir una frase de varias.

Así mismo creo que cuando tu llamas al script, se ejecuta el código, por lo que cada vez que hables con él te dirá una frase distinta. A mí me gustaría más que cada día dijera una frase distinta, pero eso ya es otro tipo de script, no me voy a meter en ello XD
 
¿Y no es más fácil con un array???

Código:
MS=["Los pokémon aparecen en la hierba alta.",
"Los pokémon son criaturas amigables. Nunca atacarán a una persona sin razón.",
"Qué grande es esta región.",
"Si hay Tienda Pokémon ¿Habrán tiendas de MT?",
"La Liga debe ser algo muy difícil de superar. Por eso ganarla otorga el título Campeón",
"¿Sabías que algunos objetos pueden venderse por un alto precio? Por eso conviene guardar todo lo que encuentres.",
"¿Sabías que la Malla Ball funciona como Master Ball frente a un Surskit? Interesante, ¿no?",
"Dicen que las 3 cabezas de Dodrio representan dicha, pena y enojo.",
"¿Sabías que los Pokémon tipo normal y tipo fantasma son inmunes mutuamente? En una batalla es bueno saberlo.",
"¿Porqué esta región no contiene todas las variedades de pokémon?",
"Por suerte esta región todavía es tranquila.",
"Dicen que al sur del país hay entrenadores muy fuertes.",
"Cerca del Parque Acuático hay un puerto ¿A dónde llevará?",
"¿Qué habrá en las islas del norte?",
"Nunca fuí a la isla del Este ¿Habrá pokémon allí?",
"¿Dónde quedará la Liga Pokémon?",
"En algunas zonas de hierba alta, a veces, aparecen pokémon raros.",
"¿Tú entrenas Pokémon? a mí también me gustaría hacerlo...",
"Un Pokémon es más fuerte que sus pre-evoluciones, aunque sea del mismo nivel.",
"¿Sabías que existen 17 tipos elementales? yo no me los acuerdo todos... ¿O eran 18?",
"Para usar algunos Movimientos Pokémon se necesita tener ciertas medallas.",
"Me gustaría tener mi propio Pokémon"]


def mostrarFrase
  Kernel.pbMessage(_INTL(MS[rand(MS.size)]))
  end
Jeje yo lo haría de esta manera :p

Saludos
 

kakarotto

Leyenda de WaH
He encontrado este topic y me ha parecido interesante. Creo que seris buen script para rellenar. El 99% de los romhackers que luego testean o gamers no van a hablar con una persona de relleno mas de dos veces. Que lo recuerdes la x frase q dijo x persona ya seria algo.. jaj..lo mejor es poner frases muy tipicas en el cual estamos acostumbrados como "¿ Sabias que el antidoto sirve para curar a tus pokes ?" ( no me digas?)
 
Arriba