¡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 4013 miembros registrados.
El último usuario registrado es GreenRPG.

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

[Taller Experimental] ¡Pedidme un script para vuestro proyecto!

Página 1 de 4. 1, 2, 3, 4  Siguiente

Ver el tema anterior Ver el tema siguiente Ir abajo

[Taller Experimental] ¡Pedidme un script para vuestro proyecto!

Mensaje por Wecoc el 2013-01-05, 11:30

Hola gente. Yo tengo un problema :(

Veréis, he hecho ya muchos scripts, montones, y ya perdí la cuenta. Pero pocos eran realmente útiles y usables... Sobretodo algunos, qué se yo, RM2KXP por ejemplo ¿Alguien lo ha usado nunca en su proyecto? Nah
Algunos quizá un poco más, pero la mayoría se usaron poco. Ese es mi problema. ¡¿Y enconces por qué los hago?! Pues más que nada para aprender (y para aportar mientra aprendo) xDD
Pero ya he hecho suficientes como para tener las bases de RGSS que necesitaba. Epa repito: LAS BASES.

El rollo es el siguiente, ahora haré los útiles. Útiles para el que lo pida aquí. Eso sí, los publicaré públicamente aquí para que los use quien quiera, porque si valen a uno, seguramente valdran a más, no seais tacaños. Y si resulta que ayudan a muchos, pues haré el topic para que se pueda poner a la lista esa tan hermosa que tenemos.

Me pedís aquí un script de menú, de habilidades con nivel, de petanca o yo qué sé, y yo os lo intentaré hacer.

REGLAS PARA EL TALLER:

- Valen pedidos de XP, VX o Ace, pero estoy mucho más familiarizado con XP, así que según qué pidais de VX o Ace diré que no (por desconocimiento, no por descaro)

- Antes de pedir, si no es algo muy específico, buscad. Quizá exista tal script. No me hagais perder el tiempo inútilmente.

- No me pidais cosas muy muy difíciles. No os haré un Neo_Mode7 de 4 dimensiones ni un MCI_Audio para sordos. No soy Diox todopoderoso.

- No lo hagais por diversión o por amor al arte ajeno, pedid scripts que realmente necesitéis en vuestros proyectos.

- No arreglaré incompatibilidades ni bugs de scripts ajenos aquí, este topic no es para esto. Para eso está la sección de ayuda de toda la vida, esto es solo un taller. Lo que sí me podéis pedir es arreglar otros scripts para que se adapten mejor a vuestras necesidades.

- No más de 3 comandas simultáneas, que tengo vida propia, si veis que voy hasta arriba de comandas y comandos (xD) tened paciencia. A veces tendré tiempo y seré rápido, y a veces tendré exámenes y durante varios días no haré nada. Es lo que hay.

- Si a algún otro scripter le gusta tanto la idea que quiere unirse a la causa, adelante.


Venga, ¡animaos!


Última edición por Wecoc el 2014-08-02, 17:30, editado 5 veces
avatar
Wecoc
Administrador
Administrador



Créditos 9057

Gracias : 457

Volver arriba Ir abajo

Re: [Taller Experimental] ¡Pedidme un script para vuestro proyecto!

Mensaje por jehyknaria el 2013-01-05, 16:07

Pues ya que nadie se anima empiezo yo. Estaba dudando si mejor ponerlo en la sección de ayuda, pero ya que abres el taller...

Quisiera a ver si es posible lo siguiente (creo que es fácil y no muy laborioso), para XP: me interesaría un script para mostrar la animación un chara. La animación sería cambiar el gráfico del chara a otro y mostrar sus cuatro frames dependiendo de la posición en la que esté mirando.

Eso es fácil, se puede hacer por eventos sin perder el menor tiempo. Pero lo que yo quiero es que llamando a un método (quisiera integrarlo en el código del sistema que estoy usando y no usarlo en eventos) se cambie este gráfico a uno con el mismo nombre + _hit (por ejemplo, 001_fighter01_hit.png) y luego vuelva al gráfico normal (001_fighter01), y así poderlo usar para cualquier personaje/evento del juego sin mayor complicaciones.

Si sirve de más información te explico las animaciones que tenía pensadas:
_hit cuando un chara es golpeado
_dead cuando un chara muere
_atk cuando un chara ataca

Las de hit y atk serán iguales (cambio gráfico animado y vuelvo al original), pero me gustaría que en la de dead no vuelva al gráfico original sino a otro que se llame igual pero que tenga la terminación _dead2.

Si necesitas más información o lo que sea, avísame, no sé si lo he explicado bien.
avatar
jehyknaria
Principiante
Principiante

0/3

Créditos 489

Gracias : 16

http://eltrasterorpg.blogspot.com.es

Volver arriba Ir abajo

Re: [Taller Experimental] ¡Pedidme un script para vuestro proyecto!

Mensaje por JorX_AD el 2013-01-06, 13:03

Bueno, soy el segundo si nadie se me adelanta antes de darle a enviar xD

Mi pedido es para el RPG Maker XP, lo que te voy a pedir lo veo deficil pues tocas las clases del maker por defecto pero bueno es algo que me trae de cabeza y que quiero incorporar a mi proyecto.

Quisiera un script que hiciera el movimiento del personaje en el mapa por pixeles y en isometrica, es decir, que se mueva pixel a pixel en vez de por tiles y que las diagonales sean:

- Arriba - Derecha : Uno arriba y dos a la derecha.
- Arriba - Izquiera : Uno arriba y dos a la izquierda.
- Abajo - Derecha : Uno abajo y dos a la derecha.
- Abajo - Izquierda: Uno abajo y dos a la izquierda.

No se si me he explicado bien, si necesitas cualquier cosa avisame.

Gracias de antemano, JorEquis.
avatar
JorX_AD
Soñador
Soñador

0/3

Créditos 116

Gracias : 2

Volver arriba Ir abajo

Re: [Taller Experimental] ¡Pedidme un script para vuestro proyecto!

Mensaje por Wecoc el 2013-01-06, 15:07

jehyknaria: Lo estoy probando ya, aunque reconozco que es algo que me costará unos días. Pero tranquila, tengo buenas espectativas con el código en cuestión xD

JorX_AD: Intentaré algo, pero es algo más difícil de lo que puede parecer.
Te explico, existe un script que se llama Pixelmovement y que mueve el personaje por píxeles. Además soporta 8 direcciones, entre otras cosas (saltos y no sé qué más). Pensaras: ¡Pues ya está casi todo hecho! Lo que pasa es que la pasabilidad la checkea mirando el siguiente pixel más cercano alrededor de tu coordenada actual. Y como comprenderás, con la modificación de tirar 2 pixeles y 1 a la vez para hacer isometría, eso supone un problema de pasabilidad que habría que reajustar, y no es precisamente pan comido. El mismo problema más o menos pasa con los detonantes de evento toparse con héroe y colisionar, que también los checkea por píxeles. El tercer problema es el de la velocidad aparente. Cuando el personaje se mueve en direcciones diagonales, siempre da la sensación de avanzar más rápido. Y es que de hecho, cuando en direcciones normales recorre una distancia de 1 pixel en cierto tiempo, el diagonales con el mismo tiempo el valor es de raíz de 2. Y ya se nota. En isometría, esa distancia es de raíz de 5, empieza a ser una diferencia de velocidad importante. También habría que corregirlo.

Edito y pongo lo escrito en gris: ¡LOL encontré que hay nueva versión de Pixelmovement y a partir de la v 1.5 soporta isometría! Lo tienes todo aquí (descargables al final)
http://www.rpg-studio.de/script/pixelmovement-script-5870.html

Al final del script veras algo como esto: $pixelmovement.switch_isometric(false)
Cámbialo a true y te funcionará bien (nota, si no te funcionara el descargable de este link, le puedo hacer un mirror)


Última edición por Wecoc el 2013-01-08, 17:52, editado 1 vez
avatar
Wecoc
Administrador
Administrador



Créditos 9057

Gracias : 457

Volver arriba Ir abajo

Re: [Taller Experimental] ¡Pedidme un script para vuestro proyecto!

Mensaje por luistop12 el 2013-01-06, 18:40

haces modificaciones? pues necesito modificar un segmento de behemoth con respecto al movimiento del personaje al enemigo en la batalla (es para tener mas espacio y las animaciones no queden cortas)
¿se puede?
avatar
luistop12
Veterano
Veterano

0/3

Créditos 771

Gracias : 30

Volver arriba Ir abajo

Re: [Taller Experimental] ¡Pedidme un script para vuestro proyecto!

Mensaje por jehyknaria el 2013-01-08, 16:39

Wecoc, no hay problema, tómate el tiempo que necesites. Yo no tengo prisa, como bien te dije por MP.

PD: normalmente me da igual, pero para aclararlo y no haya confusión, soy chica.
avatar
jehyknaria
Principiante
Principiante

0/3

Créditos 489

Gracias : 16

http://eltrasterorpg.blogspot.com.es

Volver arriba Ir abajo

Re: [Taller Experimental] ¡Pedidme un script para vuestro proyecto!

Mensaje por Wecoc el 2013-01-11, 19:22

jehyknaria: Sé que eres una chica, perdona, es la costumbre ya, hay tan poca makera -_-" xD

Como con script se complicaba demasiado, al final te lo he hecho con un fácil engine.
Te diré cómo funciona: Usa 3 Eventos Comunes y una variable (por defecto la 13)

En el evento en cuestión solo tienes que hacer lo que diré a continuación una vez hayas copiado el engine:

Tienes que ponerle simplemente Llamar Evento Común: EV_ATK o bien EV_HIT o EV_DEAD.
Este evento común lo que hará es que ese evento que ha hecho la llamada cambie su gráfico por el de ataque, haga la animación y vuelva al de antes (en el de dead irá a dead2)
- El gráfico será concreto de cada uno: (nombre)+_atk, (nombre)+_hit, (nombre)+_dead y (nombre)+_dead2

¿Qué pasa si no quieres que altere el gráfico del evento que hace la llamada sinó otro del mapa? Ahí entra la variable 13.
En ese caso concreto antes de la llamada de Evento Común tendrás que poner Operaciones de Variable - Sustituir - (nº que se corresponda al id del evento)
Solo con eso ya bastará.

¿Y por último qué pasa si quieres que altere el gráfico del personaje y no de un evento del mapa?
Pues lo mismo pero igualando la variable a -1.

Espero que te sirva... Intenté hacerlo con script pero era un marrón muy oscuro y en cambio así costaba muy poco de montar.

Engine Atk-Hit-Dead
avatar
Wecoc
Administrador
Administrador



Créditos 9057

Gracias : 457

Volver arriba Ir abajo

Re: [Taller Experimental] ¡Pedidme un script para vuestro proyecto!

Mensaje por jehyknaria el 2013-01-11, 19:53

No te preocupes Wecoc, lo estuve probando un rato y funciona perfectamente. Lo tenía pensado utilizar de una manera, pero así es mucho mejor porque solo tengo que llamarlo desde el evento en cuestión y no tengo que cambiar nada en los scripts.

Muchas gracias!! Lo mío ya lo puedes dar por resuelto ^.^
avatar
jehyknaria
Principiante
Principiante

0/3

Créditos 489

Gracias : 16

http://eltrasterorpg.blogspot.com.es

Volver arriba Ir abajo

Re: [Taller Experimental] ¡Pedidme un script para vuestro proyecto!

Mensaje por Aegrotus el 2013-01-12, 02:13

Está bueno el Engine para Jehyk, me gustaría una DEMO, porque soy Aegrotus.
avatar
Aegrotus
Novato
Novato

3/3

Créditos 66

Gracias : 2

https://sites.google.com/site/aegrotusmaximus

Volver arriba Ir abajo

Re: [Taller Experimental] ¡Pedidme un script para vuestro proyecto!

Mensaje por Wecoc el 2013-01-12, 11:44

Aegrotus: Lo que subí vendria a ser una demo del funcionamiento, al fin y al cabo. No hay más que eso.

jehyknaria: Resuelto pues.

ambiorix14: No se puede por RPG maker Ace porque yo no estoy especializado en ese maker, pero muchos scripters sí así que no lo des todo por perdido, según qué necesites (postealo en Ayuda mejor) seguramente se te podrá echar un cable.

Dado que intenté hacer la modificación de luistop12 y no pude porque no sé exactamente cómo lo quiere (lo siento luistop, te recomiendo ponerlo en la sección ayuda y más detalladamente, con imagenes de lo que quieres y lo que tienes si es posible), vuelvo a estar libre de recados.
avatar
Wecoc
Administrador
Administrador



Créditos 9057

Gracias : 457

Volver arriba Ir abajo

Re: [Taller Experimental] ¡Pedidme un script para vuestro proyecto!

Mensaje por Satoshi el 2013-01-12, 22:02

Lo cierto es que necesito una cosa que creo que es sencilla, pero de scripts no tengo ni idea. Lo mismo se puede hacer hasta con Engines (de hecho, es bastante probable), pero vamos a probar.

Me gustaria hacer un sistema de hechizos para un juego basado en el universo de Harry Potter, y despues de jugar a los Lego Harry Potter, he pensado en hacer un sistema parecido al que hay en estos juegos.

La cosa seria crear una serie de hechizos (aun no tengo muy claro cuantos), y meter un sistema en el que puedas elegirlos a tiempo real, cambiando entre ellos por ejemplo con dos teclas, hechizo siguiente y hechizo anterior, todo ello sin tener que entrar en menus y que se represente en pantalla el hechizo actual mediante algun icono en la interfaz.

Luego, al pulsar una tercera tecla, dicho hechizo es lanzado en forma de sprite, como en XAS cuando lanzas una bola de fuego. Si impacta contra un interruptor, lo activa.

Si esto ultimo es demasiado dificil de realizar, se puede simplificar, usando el hechizo junto al elemento en cuestion a activar, como si se hablase con un personaje, pero usando dicho boton de hechizo y reproduciendo una animacion en el sitio, aunque preferiria lo de lanzarlos, para los duelos y demas.

¿Es posible?
avatar
Satoshi
Iniciado
Iniciado

0/3

Créditos 44

Gracias : 3

Volver arriba Ir abajo

Re: [Taller Experimental] ¡Pedidme un script para vuestro proyecto!

Mensaje por Wecoc el 2013-01-12, 22:15

Hechizo = Skill
Hazlo por skills tal y como está en el XAS (si te fijas, con el fuego (una skill) se pueden hacer engines como lo de derretir el hielo de la puerta).
De hecho mi recomendación es que uses el XAS de base, ya que tenía hecho el "selector de skills en mapa" para usarlo de detonante de engines.

Entonces lo que necesitarías sería una HUD personalizada donde salga la skill seleccionada y un sistema de cambio de skill por tecla, similar al sistema de cambio de chara por tecla en mapa que ha salido varias veces por ahí.

En resumen; consigue alguna versión del XAS. Luego, me lo pasas por MP (yo no lo tengo, lo perdí) y me dices cómo quieres que sea la HUD y qué teclas quieres usar para cambiar de Skill. Luego, te haré el script para que lo uses conjuntamente.
avatar
Wecoc
Administrador
Administrador



Créditos 9057

Gracias : 457

Volver arriba Ir abajo

Re: [Taller Experimental] ¡Pedidme un script para vuestro proyecto!

Mensaje por silvanash el 2013-01-12, 23:20

Bueno, en lo que a wecoc le pasan el XAS, he hecho una adaptación del engine de proyectiles que subí hace una temporada para que haga lo que ha dicho Satoshi. El sistema permite usar un máximo de 9 skills, aunque se puede modificar para que use más (eso sí, no recomiendo que enginers inexpertos se metan a mirarlo, porque estaba cansado y he pasado de dejar anotaciones para entenderlo). La tecla "A" cambia a la skill anterior, y la tecla "D" a la siguiente. La tecla "S" sirve para disparar la skill (que viene a ser el proyectil).

Tiene incluso la HUD para mostrar la skill que está seleccionada en ese momento y una animación para hacer la transición al cambiar de skill (hacer la maldita transición me llevó más tiempo que hacer la adaptación en sí. Debería ponerme cafeína por intravenosa, que ahora mismo no puedo pensar bien).

Enlace

PD: nos hacemos viejos, wecocio xD.
avatar
silvanash
Aventurero
Aventurero

0/3

Créditos 1564

Gracias : 218

Volver arriba Ir abajo

Re: [Taller Experimental] ¡Pedidme un script para vuestro proyecto!

Mensaje por Satoshi el 2013-01-13, 12:35

Lo cierto es que el engine de Silvanash me viene de perlas, es justo lo que queria. En cuanto a lo del XAS, pense en usar justamente la bola de fuego (e incluso lo del arco) como base, pero como ya digo, lo de los scripts se me da mal, al final pense que seria incluso mas sencillo empezar de cero que tener que intentar aislar eso en particular.

Solo hay dos cositas que se me olvido pedir: Que cada skill produzca un efecto de sonido distinto al ser lanzada, y que si es posible, cambie los graficos del chara durante unos frames, teniendo en cuenta la direccion hacia la que esta mirando. De este modo, puedo hacer que parezca que el personaje esta levantando la varita y que asi no parezca que el hechizo sale de su cuerpo. Creo que sabre hacerlo yo mismo, si encuentro problemas (que es lo mas seguro xD), le pedire ayuda a Silvanash, que seguro que lo modifica en 30 segundos xD

Igualmente, ya que le hice la peticion a Wecoc estaria feo largarme sin mas, asi que te paso igualmente el XAS por MP y si quieres, haces tu propia version de lo que he pedido en un script y ya elijo yo la que mas me guste. Y si ves que no es necesario, pues no lo hagas, como he dicho, con el engine de Silvanash me basta, pero por mi que no quede xD

Edito: Ya he conseguido añadir las dos cosas que he dicho, lo del sonido al lanzar hechizos y lo de cambiar momentaneamente el sprite del personaje, y a la primera, no me lo creo xD En fin, muchas gracias.
avatar
Satoshi
Iniciado
Iniciado

0/3

Créditos 44

Gracias : 3

Volver arriba Ir abajo

Re: [Taller Experimental] ¡Pedidme un script para vuestro proyecto!

Mensaje por Wecoc el 2013-01-13, 13:55

No me pondré a hacer el script, porque ya todos me habéis adelantado xDD ¡Así no hay quien trabaje! Justo ahora que iba a intentarlo... En fin me alegra que ya te funcione todo. Supongo que entenderás que prefiero ayudar a alguien más que ponerme a hacer eso que ya te va. En cualquier caso si tuvieras algun problema con el sistema también puedes pedirme ayuda.

Editaré el primer post con el proceso del topic.

Venga, más recados gente.
avatar
Wecoc
Administrador
Administrador



Créditos 9057

Gracias : 457

Volver arriba Ir abajo

Re: [Taller Experimental] ¡Pedidme un script para vuestro proyecto!

Mensaje por Satoshi el 2013-01-13, 14:08

Por supuesto, entiendo perfectamente que no era necesario, solo te envie el XAS por si te sentaba mal que despues de hacerte una peticion te dijese que ya no hacia falta antes de que pudieses hacer nada xD Por cierto, estoy buscando un sistema de crafting para mi juego que sirva para cocina, alquimia y herreria. Si no encuentro nada en unos dias, vuelvo y te pido que me hagas un script de eso, no deberia ser muy dificil.
avatar
Satoshi
Iniciado
Iniciado

0/3

Créditos 44

Gracias : 3

Volver arriba Ir abajo

Re: [Taller Experimental] ¡Pedidme un script para vuestro proyecto!

Mensaje por Dorvin el 2013-01-14, 22:43

Podrías hacerme un script de plataformas minimamente fluido?
Con animación pardo, animación en salto, posibilidad de agacharse y "reptar" (poder passar por sitios bajos) y una pequeña animación de ataque?

-Script para: XP

-Busqueda: He encontrado varios scripts y el unico que me convence es el de Moghunter, el de Xas 4 que parece que no va a salir... De todas formas ninguno excepto el de Moghunter puede agacharse ni saltar ni atacar con animaciones variadas...

-Dificultad: No se si será demasiada @_@

-Necesidad: Es un script que realmente necesito para mi proyecto Coma... En el que ya me ayudaste con las animaciónes pero las acabe quitando porque todo me funcionaba bastante mal con esos scripts (tanto animacion como plataforma)

Espero tu respuesta, gracias! :D

EDIT:
Olvidé poner que si ademas pones que se puedan subir escaleras verticales y cuestas horizontales lo partirias... *-* Las cuestas horizontales son casi indispensables...



Última edición por Dorvin el 2013-01-14, 22:44, editado 1 vez (Razón : Olvidé poner...)
avatar
Dorvin
Veterano
Veterano

0/3

Créditos 325

Gracias : 22

http://thesexydeath.webnode.es/

Volver arriba Ir abajo

Re: [Taller Experimental] ¡Pedidme un script para vuestro proyecto!

Mensaje por Wecoc el 2013-01-31, 05:09

Dorvin: Lo siento pero un script de plataforma fluído no es moco de pavo. No puedo hacer tanto. Quizá se podría intentar editar algún script de plataforma ya hecho, para hacerlo más fluído... Pero lo que te recomiendo es usar Game Maker xDDD

Voy a postear algunos scripts que he hecho (éstas últimas semanas) para gente en MPs y demás, como parte del taller.

Fade Sprite_Character

Este script hace que los charas se vean aunque pasen por detrás de algún objeto.

Código:
#==============================================================================
# Spriteset_Map Edit ## Fade Sprite_Character ## by Wecoc
#==============================================================================

class Spriteset_Map
  def initialize
    @viewport1 = Viewport.new(0, 0, 640, 480)
    @viewport2 = Viewport.new(0, 0, 640, 480)
    @viewport3 = Viewport.new(0, 0, 640, 480)
    @viewport2.z = 200
    @viewport3.z = 5000
    @tilemap = Tilemap.new(@viewport1)
    @tilemap.tileset = RPG::Cache.tileset($game_map.tileset_name)
    for i in 0..6
      autotile_name = $game_map.autotile_names[i]
      @tilemap.autotiles[i] = RPG::Cache.autotile(autotile_name)
    end
    @tilemap.map_data = $game_map.data
    @tilemap.priorities = $game_map.priorities
    @panorama = Plane.new(@viewport1)
    @panorama.z = -1000
    @fog = Plane.new(@viewport1)
    @fog.z = 3000
   
    @character_sprites = []
    for i in $game_map.events.keys.sort
      sprite = Sprite_Character.new(@viewport1, $game_map.events[i])
      @character_sprites.push(sprite)
    end
    new_char = Sprite_Character.new(@viewport3, $game_player)
    new_char.fade
    @character_sprites.push(new_char)

    for i in $game_map.events.keys.sort
      new_events = Sprite_Character.new(@viewport3, $game_map.events[i])
      new_events.fade
      @character_sprites.push(new_events)
    end
     
    @character_sprites.push(Sprite_Character.new(@viewport1, $game_player))
    @weather = RPG::Weather.new(@viewport1)
    @picture_sprites = []
    for i in 1..50
      @picture_sprites.push(Sprite_Picture.new(@viewport2,
      $game_screen.pictures[i]))
    end
    @timer_sprite = Sprite_Timer.new
    update
  end
end

class Sprite_Character < RPG::Sprite
  alias wecoc_fade_update update
  def update
    wecoc_fade_update
    self.z = @character.screen_z(@ch)
    self.bush_depth = @fade == true ? bitmap.height/4 : @character.bush_depth
  end
  def fade
    @fade = true
  end
end

Hace esto, mostrando los charas translúcidos (mucho más sencillo que la propuesta de hacerlo con un color, que solucionó Metalero en su momento, pero así me lo han pedido)



One Slot Load/Save

Este script hace que solo haya un slot donde guardar, y quita las escenas de load y save para hacerlo más automático. Para cargar la partida, en un llamar script o en cualquier parte de los script solo hace falta poner load, y para guardar save, porque usé el propio Kernel como llamada.

Código:
# Save & Load Edit by Wecoc

module Kernel
  def save
    file = File.open("Save1.rxdata", "wb")
    characters = []
    for i in 0...$game_party.actors.size
      actor = $game_party.actors[i]
      characters.push([actor.character_name, actor.character_hue])
    end
    Marshal.dump(characters, file)
    Marshal.dump(Graphics.frame_count, file)
    $game_system.save_count += 1
    $game_system.magic_number = $data_system.magic_number
    Marshal.dump($game_system, file)
    Marshal.dump($game_switches, file)
    Marshal.dump($game_variables, file)
    Marshal.dump($game_self_switches, file)
    Marshal.dump($game_screen, file)
    Marshal.dump($game_actors, file)
    Marshal.dump($game_party, file)
    Marshal.dump($game_troop, file)
    Marshal.dump($game_map, file)
    Marshal.dump($game_player, file)
    file.close
  end
  def load
    $game_temp = Game_Temp.new
    if FileTest.exist?("Save1.rxdata")
      file = File.open("Save1.rxdata", "rb")
      characters = Marshal.load(file)
      Graphics.frame_count = Marshal.load(file)
      $game_system        = Marshal.load(file)
      $game_switches      = Marshal.load(file)
      $game_variables    = Marshal.load(file)
      $game_self_switches = Marshal.load(file)
      $game_screen        = Marshal.load(file)
      $game_actors        = Marshal.load(file)
      $game_party        = Marshal.load(file)
      $game_troop        = Marshal.load(file)
      $game_map          = Marshal.load(file)
      $game_player        = Marshal.load(file)
      if $game_system.magic_number != $data_system.magic_number
        $game_map.setup($game_map.map_id)
        $game_player.center($game_player.x, $game_player.y)
      end
      $game_party.refresh
      file.close
      $game_system.bgm_play($game_system.playing_bgm)
      $game_system.bgs_play($game_system.playing_bgs)
      $game_map.update
      $scene = Scene_Map.new
    end
  end
end

class Scene_Title
  def command_continue
    unless @continue_enabled
      $game_system.se_play($data_system.buzzer_se)
      return
    end
    $game_system.se_play($data_system.decision_se)
    load
  end
end

Recordad que esto sigue abierto.
avatar
Wecoc
Administrador
Administrador



Créditos 9057

Gracias : 457

Volver arriba Ir abajo

Re: [Taller Experimental] ¡Pedidme un script para vuestro proyecto!

Mensaje por youkai el 2013-01-31, 17:14

Hello wec, parece que te va bastante bien en tu taller ^^ Por lo que creo que ya viene siendo hora de decirlo, ¿te puedo ayudar en algo? XD
Saludos,
¥oukai
EDIT: Mi tarjeta de presentacion (??) Le hice una pequeña modificacion al script tuyo de fade para que no interfiera con el verdadero bush:
Código:
#==============================================================================
# Spriteset_Map Edit ## Fade Sprite_Character ## by Wecoc
#==============================================================================

class Spriteset_Map
  def initialize
    @viewport1 = Viewport.new(0, 0, 640, 480)
    @viewport2 = Viewport.new(0, 0, 640, 480)
    @viewport3 = Viewport.new(0, 0, 640, 480)
    @viewport2.z = 200
    @viewport3.z = 5000
    @tilemap = Tilemap.new(@viewport1)
    @tilemap.tileset = RPG::Cache.tileset($game_map.tileset_name)
    for i in 0..6
      autotile_name = $game_map.autotile_names[i]
      @tilemap.autotiles[i] = RPG::Cache.autotile(autotile_name)
    end
    @tilemap.map_data = $game_map.data
    @tilemap.priorities = $game_map.priorities
    @panorama = Plane.new(@viewport1)
    @panorama.z = -1000
    @fog = Plane.new(@viewport1)
    @fog.z = 3000
   
    @character_sprites = []
    for i in $game_map.events.keys.sort
      sprite = Sprite_Character.new(@viewport1, $game_map.events[i])
      @character_sprites.push(sprite)
    end
    new_char = Sprite_Character.new(@viewport3, $game_player)
    new_char.fade
    @character_sprites.push(new_char)

    for i in $game_map.events.keys.sort
      new_events = Sprite_Character.new(@viewport3, $game_map.events[i])
      new_events.fade
      @character_sprites.push(new_events)
    end
     
    @character_sprites.push(Sprite_Character.new(@viewport1, $game_player))
    @weather = RPG::Weather.new(@viewport1)
    @picture_sprites = []
    for i in 1..50
      @picture_sprites.push(Sprite_Picture.new(@viewport2,
      $game_screen.pictures[i]))
    end
    @timer_sprite = Sprite_Timer.new
    update
  end
end

class Sprite_Character < RPG::Sprite
  alias wecoc_fade_update update
  def update
    wecoc_fade_update
    self.z = @character.screen_z(@ch)
    self.bush_depth = @fade ? bitmap.height/4 : @character.bush_depth
    self.opacity = 0 if @fade && $game_map.bush?(@character.x, @character.y)
  end
  def fade
    @fade = true
  end
end
Nada, en pocas palabras lo que hice fue una ------- porque estaba aburrido y queria inventar algo con ese script(me mosqueó XDDD)
avatar
youkai
Soñador
Soñador

0/3

Créditos 280

Gracias : 10

http://sharingannf.wordpress.com/

Volver arriba Ir abajo

Re: [Taller Experimental] ¡Pedidme un script para vuestro proyecto!

Mensaje por Wecoc el 2013-01-31, 18:14

I see what you did there

Muchas gracias por la mejora. Claro que me puedes ayudar, ya lo dejé claro en el primer post xD
avatar
Wecoc
Administrador
Administrador



Créditos 9057

Gracias : 457

Volver arriba Ir abajo

Re: [Taller Experimental] ¡Pedidme un script para vuestro proyecto!

Mensaje por Ledai el 2013-02-02, 21:48

Bueno, pues al final me atrevo a pedir en un taller de tanto renombre...XDD

Se trata de algo parecido a lo que se pide en este post; bueno se trata prácticamente de lo que se pide en este post, así que lo dejo y así resulta más claro...

http://www.mundo-maker.com/t7026-perspectiva

En el propio post me manda a un script que hace lo que pido, pero también hace muchas más cosas... solo pregunto si es posible "cortarlo" para que solo sirva para la perspectiva de Zoom al andar en un mapa por ejemplo dibujado... lo demás no me interesa tanto y pude que me sobrecargue mucho el juego...

De todos modos si no se puede hacer, entonces solo pido que me enseñen a usar el script que en el post se recomienda.

http://www.final-rpg.com/rpg_maker_xp-scripts-scripts_du_site-afficher.html?id=13
Creo que es este que encontré... (link externo)


Gracias.
avatar
Ledai
Aventurero
Aventurero

0/3

Créditos 2338

Gracias : 168

http://ahurallg.blogspot.com.es/

Volver arriba Ir abajo

Re: [Taller Experimental] ¡Pedidme un script para vuestro proyecto!

Mensaje por Wecoc el 2013-02-02, 22:20

Tenía por ahí guardado esto desde hace mucho. Aún así es un script que no recibió muy buena crítica. Eso de que se modifique el chara y el fondo no, es digamos... "raro"

Imagen: http://s7.postimage.org/x8v1tcq6j/perspectiva.png

Código:
#==============================================================================
# ** Perspective Sprites
#------------------------------------------------------------------------------
# Original author: SephirothSpawn
# Non-SDK version: X-Law
# Version 1.1
# 2010-06-11
#------------------------------------------------------------------------------
# * Version History :
#
#  Version 1 ---------------------------------------------------- (2010-01-20)
#  Version 1.1 -------------------------------------------------- (2010-06-11)
#------------------------------------------------------------------------------
#------------------------------------------------------------------------------
# * Description :
#
#  This script was designed to manipulate event sprites to appear with
#  perspective. You can define perspective points on the map and scaling for
#  each perspective point. You may also define perspective regions, so when
#  an event is : at a specific point ; within a defined rectangle ; within a
#  defined circle, they will have altered perspective points and scaling.
#
#  How it works:
#
#  The events will zoom the distance they are from the defined perspective
#  point divided by the scale. If the focus point is 400 pixels away and
#  the scale is 800, the zoom will be 400 / 800. So the sprite will be
#  half of it's original size.
#------------------------------------------------------------------------------
# * Instructions :
#
#  Place above Main.
#  To define focus points, scales and regions, refer to Customization.
#  To get the current zoom of an event, refer to Syntax.
#------------------------------------------------------------------------------
# * Customization :
#
#  Focus Points
#    - Focus_Points = { map_id => [real_x, real_y], ... }
#
#  Scaling
#    - Scaling      = { map_id => n, ... }
#
#  Regions alter the focus points & scaling for characters in these regions
#
#  Direct Region (Specific Point)
#    - Drct_Regions = {
#        map_id => { [x, y] => [real_x, real_y, scaling], ...},
#        ...
#      }
#  Regions (Rectangular)
#    - Rect_Regions = {
#        map_id => { [x, y, w, h] => [real_x, real_y, scaling], ... },
#        ...
#      }
#
#  Regions (Circular)
#    - Circ_Regions = {
#        map_id => { [x, y, r] => [real_x, real_y, scaling], ... },
#        ...
#      }
#------------------------------------------------------------------------------
# * Syntax :
#
#  Getting Curren Zoom of character (Returns Float)
#    - <game_character>.zoom?
#==============================================================================

#==============================================================================
# Module Required to work properly
# View Range
# No-SDK version by X-Law
# Original version by SephirothSpawn & Near Fantastica
#==============================================================================

module VR
  #----------------------------------------------------------------------------
  # * Within Range Test
  #----------------------------------------------------------------------------
  def VR.in_range?(*args)
    # If 3 Arguments (Element, Object, Range)
    if args.size == 3
      x = (args[0].x - args[1].x) ** 2
      y = (args[0].y - args[1].y) ** 2
      r = args[2]
    # If 5 Arguments (Elementx, Elementy, Objectx, Objecty, Range)
    elsif args.size == 5
      x = (args[0] - args[2]) ** 2
      y = (args[1] - args[3]) ** 2
      r = args[4]
    else
      p 'Wrong Defined Number of Arguments'
      return
    end
    return (x + y) <= (r * r)
  end
  #----------------------------------------------------------------------------
  # * Within Rect Range Test
  #----------------------------------------------------------------------------
  def VR.in_rect_range?(*args)
    # If 2 Arguments (Object, Rect)
    if args.size == 2
      x_, y_ = args[0].x, args[0].y
      x, y, w, h = args[1].x, args[1].y, args[1].width, args[1].height
    # If 3 Arguments (Objectx, Objecty, Rect)
    elsif args.size == 3
      x_, y_ = args[0], args[1]
      x, y, w, h = args[2].x, args[2].y, args[2].width, args[2].height
    # If 5 Arguments (Object, Rectx, Recty, Rectwidth, Rectheight)
    elsif args.size == 5
      x_, y_ = args[0].x, args[0].y
      x, y, w, h = args[1], args[2], args[3], args[4]
    # If 6 Arguments (Objectx, Objecty, Rectx, Recty, Rectwidth, Rectheight)
    elsif args.size == 6
      x_, y_, x, y, w, h = *args
    else
      p 'Wrong Defined Number of Arguments'
      return
    end
    # Return Object Within Rect
    return x_.between?(x, x + w) && y_.between?(y, y + h)
  end
  #----------------------------------------------------------------------------
  # * Range
  #----------------------------------------------------------------------------
  def VR.range(*args)
    # If 2 Arguments (Element, Object)
    if args.size == 2
      x = (args[0].x - args[1].x) * (args[0].x - args[1].x)
      y = (args[0].y - args[1].y) * (args[0].y - args[1].y)
      integer = true
    # If 3 Arguments (Element, Object, Integer
    elsif args.size == 3
      x = (args[0].x - args[1].x) * (args[0].x - args[1].x)
      y = (args[0].y - args[1].y) * (args[0].y - args[1].y)
      integer = args[2]
    # If 4 Arguments (Elementx, Elementy, Objectx, Objecty)
    elsif args.size == 4
      x = (args[0] - args[2]) * (args[0] - args[2])
      y = (args[1] - args[3]) * (args[1] - args[3])
      integer = true
    # If 5 Arguments (Elementx, Elementy, Objectx, Objecty, integer)
    elsif args.size == 5
      x = (args[0] - args[2]) * (args[0] - args[2])
      y = (args[1] - args[3]) * (args[1] - args[3])
      integer = args[4]
    else
      p 'Wrong Defined Number of Arguments'
      return
    end
    r = Math.sqrt(x + y)
    return integer ? r.to_i : r
  end
end

#==============================================================================
# ** Perspective
#==============================================================================

module Perspective
  #--------------------------------------------------------------------------
  # * Options
  #
  #  ~ Focus Points
  #    - Focus_Points = { map_id => [real_x, real_y], ... }
  #
  #  ~ Scaling
  #    - Scaling      = { map_id => n, ... }
  #
  #  Regions alter the focus points & scaling for characters in these regions
  #
  #  ~ Direct Region (Specific Point)
  #    - Drct_Regions = {
  #        map_id => { [x, y] => [real_x, real_y, scaling], ...},
  #        ...
  #      }
  #  ~ Regions (Rectangular)
  #    - Rect_Regions = {
  #        map_id => { [x, y, w, h] => [real_x, real_y, scaling], ... },
  #        ...
  #      }
  #
  #  ~ Regions (Circular)
  #    - Circ_Regions = {
  #        map_id => { [x, y, r] => [real_x, real_y, scaling], ... },
  #        ...
  #      }
  #
  #--------------------------------------------------------------------------
  Focus_Points = {
    1 => [1020, - 720]
  }
  Scaling      = {
    1 => 1600
  }
  Drct_Regions = {
    # Example
    2 => { [3, 3] => [0, 0, 200] }
  }
  Rect_Regions = {
    # Example
    2 => { [4, 4, 5, 5] => [1000, -200, 500] }
  }
  Circ_Regions = {
  }
  #--------------------------------------------------------------------------
  # * Get Focus Point
  #--------------------------------------------------------------------------
  def self.focus_point?(map_id)
    return Focus_Points.has_key?(map_id) ? Focus_Points[map_id] : nil
  end
  #--------------------------------------------------------------------------
  # * Get Scaling
  #--------------------------------------------------------------------------
  def self.scaling?(map_id)
    return Scaling.has_key?(map_id) ? Scaling[map_id] : 1
  end
  #--------------------------------------------------------------------------
  # * Direct Regions
  #--------------------------------------------------------------------------
  def self.drct_regions?(map_id)
    return Drct_Regions.has_key?(map_id) ? Drct_Regions[map_id] : {}
  end
  #--------------------------------------------------------------------------
  # * Rect Regions
  #--------------------------------------------------------------------------
  def self.rect_regions?(map_id)
    return Rect_Regions.has_key?(map_id) ? Rect_Regions[map_id] : {}
  end
  #--------------------------------------------------------------------------
  # * Circ Regions
  #--------------------------------------------------------------------------
  def self.circ_regions?(map_id)
    return Circ_Regions.has_key?(map_id) ? Circ_Regions[map_id] : {}
  end
  #--------------------------------------------------------------------------
  # * Focus & Scale at Point
  #--------------------------------------------------------------------------
  def self.focus_and_scale?(map_id, x, y)
    # Sets Key
    key = [map_id, x, y]
    # If Search Contains Key
    if @searches.has_key?(key)
      # Returns Saved Data
      return @searches[key]
    end
    # Checks Direct Locations
    self.drct_regions?(map_id).each do |xy, xys|
      return xys if x == xy[0] && y == xy[0]
    end
    # Checks Rect Regions
    self.rect_regions?(map_id).each do |xywh, xys|
      x_, y_ = xywh[0],      xywh[1]
      w, h = xywh[2], xywh[3]
      return xys if VR.in_rect_range?(x, y, x_, y_, w, h)
    end
    # Checks Circular Regions
    self.circ_regions?(map_id).each do |xyr, xys|
      return xys if VR.in_range?(x, y, xyr[0], xyr[1], xyr[2])
    end
    # Save & Return Map Scaling
    f, s = self.focus_point?(map_id), self.scaling?(map_id)
    return (f.nil? ? [nil, nil, 1] : [f[0], f[1], s])
  end
  #--------------------------------------------------------------------------
  # * Get Searches (DO NOT ALTER)
  #--------------------------------------------------------------------------
  # Create Search Data
  @searches = {}
  # Load Map Data
  load_data('Data/MapInfos.rxdata').keys.each do |map_id|
    # Get Map Data
    map = load_data(sprintf('Data/Map%03d.rxdata', map_id))
    # Pass Through Map Dimensions
    for x in 0...map.width
      for y in 0...map.height
        # Save Map Scale
        @searches[[map_id, x, y]] = self.focus_and_scale?(map_id, x, y)
      end
    end
  end
end

#==============================================================================
# ** Game_Map
#==============================================================================

class Game_Map
  #--------------------------------------------------------------------------
  # * Public Instance Variables
  #--------------------------------------------------------------------------
  attr_reader :p_focus_point
  attr_reader :p_scaling
  attr_reader :p_drct_regs
  attr_reader :p_rect_regs
  attr_reader :p_circ_regs
  #--------------------------------------------------------------------------
  # * Setup
  #--------------------------------------------------------------------------
  alias setup_later_xlaw setup
  def setup(map_id)
    setup_later_xlaw(map_id)
    # Sets Perspective Properties
    @p_focus_point = Perspective.focus_point?(@map_id)
    @p_scaling    = Perspective.scaling?(@map_id)
    @p_drct_regs  = Perspective.drct_regions?(@map_id)
    @p_rect_regs  = Perspective.rect_regions?(@map_id)
    @p_circ_regs  = Perspective.circ_regions?(@map_id)
  end
  #--------------------------------------------------------------------------
  # * Focus and Scale?
  #--------------------------------------------------------------------------
  def focus_and_scale?(x, y)
    return Perspective.focus_and_scale?(@map_id, x, y)
  end
end

#==============================================================================
# ** Game_Character
#==============================================================================

class Game_Character
  #--------------------------------------------------------------------------
  # * Perspective Zoom?
  #--------------------------------------------------------------------------
  def perspective_zoom?
    # Gets Focus Points
    f_x, f_y, scale = $game_map.focus_and_scale?(@x, @y)
    # Calculates X & Y Difference
    x_diff = (@real_x / 4 - f_x).abs
    y_diff = (@real_y / 4 - f_y).abs
    # Calculates Distance From Focus
    distance = Math.sqrt(x_diff ** 2 + y_diff ** 2)
    # Returns Zoom
    return distance / scale.to_f
  end
end

#==============================================================================
# ** Sprite_Character
#==============================================================================

class Sprite_Character
  #--------------------------------------------------------------------------
  # * Alias Listings
  #--------------------------------------------------------------------------
  alias seph_spritepersp_schr_update update
  #--------------------------------------------------------------------------
  # * Frame Update
  #--------------------------------------------------------------------------
  def update
    # Original Update
    seph_spritepersp_schr_update
    # Unless No Focus Point
    unless $game_map.p_focus_point.nil?
      # If Visible
      if self.visible
        # Sets Zoom
        zoom = @character.perspective_zoom?
        self.zoom_x = zoom
        self.zoom_y = zoom
      end
    end
  end
end

Creo que no es exactamente lo que pides, pero parecido (o al menos eso entendí). Quizá se podría editar para que vaya como pides, pero necesitaría más detalles, como hacia donde tendría que ir el "punto de fuga" y estas cosas.
avatar
Wecoc
Administrador
Administrador



Créditos 9057

Gracias : 457

Volver arriba Ir abajo

Re: [Taller Experimental] ¡Pedidme un script para vuestro proyecto!

Mensaje por Ledai el 2013-02-02, 23:29

Very Happy Creo que sí es lo que quiero, pero prefiero que me expliques Cómo utilizarlo.

intento traducir las instruciones con el google... pero como que no es muy expresivo con ciertas cosas...¬_¬

Podrías contarme Como configurar el área de perceptiva y todo lo demás? Sweat

Gracias,Gracias,Gracias,Gracias,Gracias,Gracias,Gracias,Gracias,Gracias!!!!
avatar
Ledai
Aventurero
Aventurero

0/3

Créditos 2338

Gracias : 168

http://ahurallg.blogspot.com.es/

Volver arriba Ir abajo

Re: [Taller Experimental] ¡Pedidme un script para vuestro proyecto!

Mensaje por Wecoc el 2013-02-02, 23:53

Tienes que ir a module Perspective para hacer las modificaciones pertinentes. Eso está de la línea 180 para abajo. Luego veras que hay una serie de nombres: Focus_Points, Scaling, Drct_Regions, Rect_Regions, Circ_Regions con unos números. Esos números son la parte modificable para personalizarlo a tu gusto según tus mapas.

Está explicado qué es cada cosa en el principio del script, igualmente los más importantes son Focus_Points y Scaling.

Supongamos que creas otro mapa (id de mapa = 3 por ejemplo), y quieres que el punto de fuga sea el horizonte, centrado en el mapa. Pues pones esto en el Focus_Ponts
Código:
  Focus_Points = {
    1 => [1020, - 720],
    3 => [320, 0]
  }
el 1 => es el que ya estaba por defecto, yo añadí la línea de debajo.
3 es el id, y los otros dos números el punto del mapa donde estará el punto de fuga (recomiendo que esté fuera del mapa). Luego, según qué lejos hayas puesto el punto de fuga, te interesará que la escala aumente más o menos al chara según si se aleja de él. Eso se hace con scaling.
Por ejemplo
Código:
  Scaling      = {
    1 => 1600,
    3 => 100
  }
Combinando estos dos factores lograrás una perspectiva concreta para ese mapa.
Drct_Regions, Rect_Regions y Circ_Regions no acabé de entender como funcionan, sería cuestión de ir probándolo. Según parece, puedes hacer que la perspeciva concreta no venga definida en todo el mapa por el punto de fuga sinó que vaya en una región concreta, ya sea rectangular o circular.

Nota; recomiendo que el punto de fuga esté fuera del mapa. Si el personaje pasa justo por el punto de fuga, allí tendrá un tamaño de 1 pixel. Eso es muy bestia, dudo que tengas una perspectiva tan marcada en ningún mapa.

Nota2: Cuanto más pequeño sea el número que le pongas a Scaling, más grande se hará el chara respecto al punto de fuga. Ten eso presente.
avatar
Wecoc
Administrador
Administrador



Créditos 9057

Gracias : 457

Volver arriba Ir abajo

Re: [Taller Experimental] ¡Pedidme un script para vuestro proyecto!

Mensaje por Ledai el 2013-02-03, 00:39

WAAHH gracias, lo único que no pillaba era el mecanismo de juego con las coordenadas, (Pero que mal me entran los números Ò.Ó), pero gracias a tu explicación ahora ya está claro. XDD

La verdad es que resulta ser un efecto muy bonito la verdad, solo que en los planos del rtp es normal que no "encaje"... ¡Gracias por todo! Lo necesitaba, ahora queda mucho mejor el trabajo.

Cualquier otra duda te lo comento.

Nos leemos por ahí...^_^
avatar
Ledai
Aventurero
Aventurero

0/3

Créditos 2338

Gracias : 168

http://ahurallg.blogspot.com.es/

Volver arriba Ir abajo

Re: [Taller Experimental] ¡Pedidme un script para vuestro proyecto!

Mensaje por Contenido patrocinado


Contenido patrocinado


Volver arriba Ir abajo

Página 1 de 4. 1, 2, 3, 4  Siguiente

Ver el tema anterior Ver el tema siguiente Volver arriba


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