¡Bienvenid@ a Mundo Maker!

¿Quieres aprender todo sobre el RPG Maker?



Regístrate y forma parte de Mundo Maker.
Conectarse

Recuperar mi contraseña

Temas importantes
----------------------------------------
Páginas con recursos RPG Maker
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
Afiliados
Estadísticas
Tenemos 3930 miembros registrados.
El último usuario registrado es LKendo.

Nuestros miembros han publicado un total de 83406 mensajes en 11866 argumentos.
Navega con Google Chrome
[DESCARGA]

Cambiar la velocidad del héroe (¡cualquier velocidad!)

Ver el tema anterior Ver el tema siguiente Ir abajo

RPG Maker XP Cambiar la velocidad del héroe (¡cualquier velocidad!)

Mensaje por ***** el 2012-02-07, 09:18

·
۞ Cambiar la velocidad del héroe


Datos sobre el tutorial:

-Explicación: este tutorial te enseñará a cambiar la velocidad del héroe a cualquiera, no sólo a las 6 velocidades para las que está preparado el RMXP, sino también velocidades intermedias, y superiores, como 3.5, 4.2 etc. Sólo sirve para RPG Maker XP (desconozco si también sirve para VX o Ace).
-Dificultad de uso: facilísimo.
-Conocimientos necesarios: para comprender este tutorial no es necesario tener ningún conocimientro avanzado, con lo más básico será suficiente.
-Descarga del ejemplo: box.net 10hnx8eg40
-Agradecimientos: a MasterZ87 de AldeaRPG.net (ahora desaparecida), que me proporcionó el mini script necesario para hacer esto posible, y me explicó cómo hacerlo funcionar. También se lo agradezco a khmp y a IvIagnuIvI, ambos de la comunidad inglesa rmxp.org (también desaparecida), que me ayudaron a mejorar el sistema.
-Nota: puede que alguno de ustedes haya visto este tutorial anteriormente en AldeaRPG o Hellsoft publicado por Grimbel. No se lo he robado, yo soy Grimbel.

Introducción:

A muchos de nosotros nos ha molestado en varias ocasiones no poder regular con mayor precisión la velocidad del héroe, A mí, por ejemplo, la velocidad 4 a la que viene el héroe por defecto me parece algo excesiva, pero la velocidad 3 es demasiado lenta para mi gusto. Gracias a este tutorial podrás hacer que el héroe vaya a la velocidad que quieras, no tienen que ser las velocidades 1, 2, 3, 4, 5 y 6 que vienen en el RMXP, sino que también pueden ser las velocidades 3.5, 4.8, 9.2, 0.1... adquiriendo la velocidad del rayo o la de un caracol perezoso.


Paso 1: colocar el miniscript necesario para poder cambiar la velocidad del héroe

Lo primero es colocar este miniscript sobre "Main":
Código:
def velocidad(v)
  @move_speed = v
end
Si no sabes cómo hacer esto, mira en el spoiler:

Spoiler:
Para crear un nuevo script sobre Main, una vez dentro del RPG Maker XP pulsa F11 para ir al editor de scripts; una vez allí pulsa con el botón derecho del ratón sobre el último script de la lista (Main), y después dale a "Insertar" para crear un nuevo script vacío.



Ponle un nombre descriptivo al script para tenerlo localizado. Yo lo he llamado simplemente "Velocidad". En este nuevo script vacío debemos copiar el código que puse anteriormente, que es el script que permitirá cambiar la velocidad del héroe más adelante.

Una vez pegado el código, debería vérsete así:



Paso 2: hacer funcionar el miniscript llamándolo

Ahora que ya tenemos el script puesto, lo único que hay que hacer para que funcione es llamarlo. Crea un evento normal y corriente, y en comandos de evento busca "Llamar script...". Aquí debemos poner el siguiente código:

Código:
$game_player.velocidad(x)
Sustituyendo la "x" por el valor que queramos, ya podemos dar a nuestro héroe la velocidad que queramos. ¡Y ya está! ¡Ya lo hemos hecho!

Si no sabes cómo hacer esto, mira en el spoiler:
Spoiler:
Ve a comandos de eventos en el RPG Maker XP, a la opción que se muestra en la siguiente imagen.



Donde hay una x, donde he puesto el recuadro azul, debes poner la cifra que quieras: corresponderá con la velocidad que quieras darle al héroe. Puedes poner 5.6, 3.4... lo que quieras.


Espero que les haya sido un tutorial útil y que lo exploten al máximo de sus posibilidades, que tiene muchas.
avatar
*****
Soñador
Soñador

0/3

Créditos 271

Gracias : 2

Volver arriba Ir abajo

RPG Maker XP Re: Cambiar la velocidad del héroe (¡cualquier velocidad!)

Mensaje por Dorvin el 2012-02-07, 12:30

Valla increible!!
Se agradece muchissimo el aporte! Al fin podré hacer que los eventos corran a la misma velocidad que el heroe y no más o menos obligatoriamente...
Muchissimas gracias! :D
avatar
Dorvin
Veterano
Veterano

0/3

Créditos 325

Gracias : 22

http://thesexydeath.webnode.es/

Volver arriba Ir abajo

RPG Maker XP Re: Cambiar la velocidad del héroe (¡cualquier velocidad!)

Mensaje por ***** el 2012-02-07, 14:23

Me alegra mucho que te sea útil. ¿Necesitas ir a la misma velocidad que los eventos?
La verdad es que yo necesitaría que los eventos también cambiaran su velocidad, pero no sé cómo hacerlo... Eso ayudaría bastante a mi juego, y supongo que a muchos más.
Espero que alguien lea esto y pueda decirnos cómo hacerlo, y si no, ya abriré yo otro tema en "Ayuda" para que alguien busque una solución.
avatar
*****
Soñador
Soñador

0/3

Créditos 271

Gracias : 2

Volver arriba Ir abajo

RPG Maker XP Re: Cambiar la velocidad del héroe (¡cualquier velocidad!)

Mensaje por Wecoc el 2012-02-07, 15:15

Solo que... ¿Por qué creas un script para eso? Es totalmente innecesario si finalmente acabas haciendo llamar script igual.

Una manera mucho mas cómoda de hacer eso, sin script sobre de main ni nada, es ir a "Mover Evento", dentro ir a la opción "Script..." y poner lo siguiente:
Código:
@move_speed = 3.5
El valor también puede ser el que sea, hasta se puede asignar con una variable.
Cambiará la velocidad del evento en el que se ha aplicado el comando "Mover Evento", ya sea el personaje o cualquiera del mapa.

Aún así, buen intento ***** xD


Para poner el valor de una variable, si os interesa:
Código:
@move_speed = $game_variables[1] # 1 en este caso es el número de variable


Todo esto es para la velocidad, pero con la frecuencia va exactamente igual pero con @move_frequency
Hay que tener en cuenta cuales son los valores por defecto del chara: speed: 4 , frequency: 6


avatar
Wecoc
Administrador
Administrador



Créditos 8988

Gracias : 442

Volver arriba Ir abajo

RPG Maker XP Re: Cambiar la velocidad del héroe (¡cualquier velocidad!)

Mensaje por ichcanziho el 2012-02-07, 16:04

jo, valla que el script si es muy pequeño, pero asi de facil, nadie lo habia posteado, que ingenioso, se agradece el mini script
avatar
ichcanziho
Novato
Novato

0/3

Créditos 97

Gracias : 2

Volver arriba Ir abajo

RPG Maker XP Re: Cambiar la velocidad del héroe (¡cualquier velocidad!)

Mensaje por ***** el 2012-02-07, 17:54

Solo que... ¿Por qué creas un script para eso? Es totalmente innecesario si finalmente acabas haciendo llamar script igual.

Hey Wecoc, he hecho las cosas así porque pensaba que era la única manera. Cuando pregunté por esto años atrás en AldeaRPG, MasterZ87 me enseñó a hacerlo de ese modo, pero indudablemente, ¡tu método es muchísimo más sencillo y práctico!
Además, ya lo he probado, sirve para los eventos también, no sólo para el personaje principal, así que me acaba de ser muy útil lo que has dicho, porque necesitaba cambiar la velocidad de los eventos :D

Sabía cómo asignarle el valor de una variable, pero añadiendo algunas líneas más al script, así que ¡también te tengo que agradecer eso!

Ya que estamos, Wecoc, ¿podrías decirme cómo modificar la frecuencia, no de movimiento, sino de cambio de imagen? Quiero decir, cuando el personaje camina, 4 gráficos se van sucediendo. ¿Hay manera de que lo hagan más deprisa o más despacio?

Gracias ;)
avatar
*****
Soñador
Soñador

0/3

Créditos 271

Gracias : 2

Volver arriba Ir abajo

RPG Maker XP Re: Cambiar la velocidad del héroe (¡cualquier velocidad!)

Mensaje por Wecoc el 2012-02-07, 18:26

***** escribió:Ya que estamos, Wecoc, ¿podrías decirme cómo modificar la frecuencia, no de movimiento, sino de cambio de imagen? Quiero decir, cuando el personaje camina, 4 gráficos se van sucediendo. ¿Hay manera de que lo hagan más deprisa o más despacio?
Mhm... Ahora m'as jodío, la verdad es que no recuerdo si había alguna manera facil de hacerlo. En todo caso la que se me ocurre a mi sería modificando esta línea:
Código:
if @anime_count > 18 - @move_speed * 2
que se encuentra en Game_Character 2 (línea 23), por esto:
Código:
if @anime_count > $game_variables[1] - @move_speed * 2 # Wecoc Test
y luego cambiando el valor de la variable de 18 (normal) a menor para mas rápido o mayor para más lento.

Es una manera bastante chapuza ahora mismo xD además que modifica la velocidad de todos los eventos al mismo tiempo... Seguramente alguien con mas idea te podrá ayudar mejor, aunque no sé igual te sirve xD
avatar
Wecoc
Administrador
Administrador



Créditos 8988

Gracias : 442

Volver arriba Ir abajo

RPG Maker XP Re: Cambiar la velocidad del héroe (¡cualquier velocidad!)

Mensaje por Mukadelheid el 2012-02-07, 23:11

Si de "snippets" se trata , puedes utilizar este para cambiar la frecuencia de la animación :

Código:
module VARIABLE_X
 
  VARIABLE = 1
 
  end

class Game_Character
alias update_move_2 update_move
def update_move
 if @walk_anime && $game_variables[VARIABLE_X::VARIABLE] > 0
 
      @anime_count += $game_variables[VARIABLE_X::VARIABLE]/2
   
    elsif @step_anime
      # Increase animation count by 1
      @anime_count += 1
    end
    update_move_2
  end
end

Lo pones sobre main y listo .

Para cambiar la frecuencia de la animación simplemente cambias el valor en la variable seleccionada , en este caso es la variable " 1 " , puedes poner cualquier variable .

El valor de la variable antes de leerlo se parte a la mitad y se le otorga luego el valor a la variable "@anime_count" .

Para que entiendas ;

Mi variable "1 " tiene el valor de " 4" guardado , entonces eso significa que tu velocidad de animación seria " 2 " , a la mitad, entiendes? .

Si le doy el valor de 5 , la velocidad de animación tendrá un valor de 2.5 .
Si le doy el valor de 0 , nulo , por defecto te quedara en " 1 " de velocidad de animación .


avatar
Mukadelheid
Principiante
Principiante

0/3

Créditos 334

Gracias : 28

Volver arriba Ir abajo

RPG Maker XP Re: Cambiar la velocidad del héroe (¡cualquier velocidad!)

Mensaje por ***** el 2012-02-08, 08:47

Muchas gracias Wecoc y Mukadelheid. Lo he probado, y funciona, lo que pasa es que ocurre lo que decía Wecoc, que afecta a todos los eventos, no sólo a uno en particular, como me convendría. Pero bueno, tampoco está tan mal. Como todos los personajes que uso están basados en plantillas similares, creo que quedará bien.

Yo enseñando el tutorial para que la gente pudiera aprender algo, y al final creo que el que más ha aprendido he sido yo ;) Son geniales, chicos.
avatar
*****
Soñador
Soñador

0/3

Créditos 271

Gracias : 2

Volver arriba Ir abajo

RPG Maker XP Re: Cambiar la velocidad del héroe (¡cualquier velocidad!)

Mensaje por Wecoc el 2012-12-24, 15:56

Vengo a hacer necropost :D

No, lo que pasa es que me di cuenta de que hay un bug cuando usas @move_speed decimales en el héroe, y es que luego los eventos scrollean 1 pixel (o 1 frame, depende de cómo queráis mirarlo) retardadamente respecto al mapa. Diréis "Ni se nota, por un frame", y es verdad, normalmente no se nota, pero en ciertos casos donde por ejemplo se use un evento como tile por falta de capas, o en el caso de que el evento quede totalmente encajado en algo, se nota MUCHO.

===============================

Para lo que decíais de que os afectaba a todos los eventos lo que queríais que os afectara a solo uno, lo solucioné en Birdsite hace tiempo (no me acordé de ponerlo aquí antes), pasa que lo uso conjuntamente al script de Yeyinde que afecta al movimiento de los charas haciendo que cuando se muevan lo hagan 0123212321... y no 012301230123... (estoy hablando de cómo se muestran los frames del gráfico cuando el personaje se está moviendo) así que igual no os interesa.

Os lo pongo igualmente, igual os sea de utilidad.

Código:
#------------------------------------------------------------------------------
# Character Animation
#------------------------------------------------------------------------------
# By Yeyinde - edit by Wecoc
#==============================================================================

class Game_Character
  alias old_initialize initialize unless $@
  def initialize(*args)
    old_initialize(*args)
    @pattern_count = 0
  end
  def update
    if @list != nil and @list[0].code == 108 and @list[0].parameters.include?("sp")
      old_update
    else
      new_update
    end
  end
  def old_update
    if jumping?
      update_jump
    elsif moving?
      update_move
    else
      update_stop
    end
    if @list[1].code == 108
      sp = @list[1].parameters.to_s.to_i
    else
      sp = 16
    end
    if @anime_count > sp - @move_speed * 2
      if not @step_anime and @stop_count > 0
        @pattern = @original_pattern
      else
        @pattern = (@pattern + 1) % 4
      end
      @anime_count = 0
    end
    if @wait_count > 0
      @wait_count -= 1
      return
    end
    if @move_route_forcing
      move_type_custom
      return
    end
    if @starting or lock?
      return
    end
    if @stop_count > (40 - @move_frequency * 2) * (6 - @move_frequency)
      case @move_type
      when 1  # Random
        move_type_random
      when 2  # Approach
        move_type_toward_player
      when 3  # Custom
        move_type_custom
      end
    end
  end
  def new_update
    if jumping?
      update_jump
    elsif moving?
      update_move
    else
      update_stop
    end
    if @anime_count > 16 - @move_speed * 2
      if not @step_anime and @stop_count > 0
        @pattern = @original_pattern
        @pattern_count = 0
      else
        @pattern_count = (@pattern_count + 1) % 4
        case @pattern_count
        when 0
          @pattern = 2
        when 1
          @pattern = 1
        when 2
          @pattern = 2
        when 3
          @pattern = 3
        end
      end
      @anime_count = 0
    end
    if @wait_count > 0
      @wait_count -= 1
      return
    end
    if @move_route_forcing
      move_type_custom
      return
    end
    if @starting or lock?
      return
    end
    if @stop_count > (40 - @move_frequency * 2) * (6 - @move_frequency)
      case @move_type
      when 1  # Random
        move_type_random
      when 2  # Approach
        move_type_toward_player
      when 3  # Custom
        move_type_custom
      end
    end
  end
end

CÓMO FUNCIONA

Pegad el script sobre de main.
Para que se active (si no, el movimiento del evento funcionará como siempre) lo primero que tiene que tener la capa del evento es una Anotación donde ponga sp. Eso es lo que activa el movimiento 01232123212...

Y luego, para que vaya más rápido o más lento debajo de esa Anotación tiene que haber otra anotación con un número. Atención, puede no haber la segunda anotación y sólo cambiará lo primero.

Ese número puede ser cualquiera. Por defecto es 16. Cuanto más alto sea el número, más lento irá el chara en cambiar de frame (solo ese chara). Por ejemplo, yo para los pájaros de Birdsite que mueven las alas uso el 12, van un poco más rápido que los charas default. Para las abejas, que esas sí que mueven rápido las alas, uso el 5. Para las gaviotas que como planean casi no mueven las alas, uso el 24... etcétera.

Podéis editar el script para hacéroslo más fácil si queréism entiendo que este método no es el más simple del mundo. Espero que os sirva a los que lo necesitábais.


Última edición por Wecoc el 2013-03-20, 14:38, editado 1 vez
avatar
Wecoc
Administrador
Administrador



Créditos 8988

Gracias : 442

Volver arriba Ir abajo

RPG Maker XP Re: Cambiar la velocidad del héroe (¡cualquier velocidad!)

Mensaje por MaddManu el 2012-12-24, 18:42

Admiro tu versatilidad Wecoc y agradezco tus aportes. Son utilísmos, seguramente esto lo use en el engine.
avatar
MaddManu
Soñador
Soñador

0/3

Créditos 373

Gracias : 4

http://silegames.blogspot.com.es/

Volver arriba Ir abajo

RPG Maker XP Re: Cambiar la velocidad del héroe (¡cualquier velocidad!)

Mensaje por youkai el 2012-12-24, 20:25

mmmmmm....interesante....lo que hay par de errores CRITICOS!! naaa mentira, no son tan criticos: xP
1- Si nada mas se me ocurre poner sp en una antacion de primero....pues ya me puedo ir olvidando del movimiento estilo !212321232123...! (ese es otro error tuyo al escribir XDDD Con ese script si quieres puedes olvidarte de poner un chara en 0 ya que no se usa...estilo VX/VX Ace...por lo que no empieza en 0 EL MOVIMIENTO, si pones el grafico inicial del chara en 0, pues si empieza en 0)
2- El sprite del actor es inmodificable a travez de este script nunu XDDDD

NOTA: NO PONGAN CHARAS SIN EL FRAME 0!! Ya que si pones sp en una anotacion de primero, pues vas a ver como desaparece y aparece, desaparece y aparece, desap...etc XD

En realidad no es gran cosa...son solo detallitos XD

Saludos.
¥oukai
avatar
youkai
Soñador
Soñador

0/3

Créditos 280

Gracias : 10

http://sharingannf.wordpress.com/

Volver arriba Ir abajo

RPG Maker XP Re: Cambiar la velocidad del héroe (¡cualquier velocidad!)

Mensaje por Wecoc el 2012-12-25, 02:06

1- Lo sé pero la verdad para lo que lo uso en Birdsite eso no me supone problema alguno, como uso eso en pájaros y cosas por el estilo y todos van 0123212321... xDDD
Y pasa que no puedo ponerlo de otra manera porque la anotacion solo numérica sin sp la utilizo para el Shop. Pero por eso dije que si queréis podéis modificarlo a vuestro antojo, chavales, ese script era un arreglo personalizado que en mi juego en concreto funciona de maravilla xD
2 - No te entiendo. Yo de eso no cambié nada, se cambia el sprite como siempre, con el Mover Evento, y si lo que te interesa es a medio engine cambiar la velocidad esa del evento, vale con cambiar de página de evento.
avatar
Wecoc
Administrador
Administrador



Créditos 8988

Gracias : 442

Volver arriba Ir abajo

RPG Maker XP Re: Cambiar la velocidad del héroe (¡cualquier velocidad!)

Mensaje por Contenido patrocinado


Contenido patrocinado


Volver arriba Ir abajo

Ver el tema anterior Ver el tema siguiente Volver arriba


Permisos de este foro:
No puedes responder a temas en este foro.