Emudesc en Facebook!RSS

Retroceder   Foros de Emudesc > Crea tus propios juegos > RPG Maker > Scripts

Respuesta
 
Herramientas
  #1  
Antiguo 11-jul-2011, 16:19
Avatar de panxo:.
Advanced Newbie
 
Fecha de Ingreso: diciembre-2008
Mensajes: 54
panxo:. se está dando a conocer
Icon7 Pedido de Script

Disculpen, alguien tiene el script para RPG Maker XP, "Motor de partículas" (corríganme si me equivoco) pl0x

gracias


Responder Con Cita
  #2  
Antiguo 12-jul-2011, 00:24
Banneado
 
Fecha de Ingreso: abril-2011
Ubicación: Mafia
Mensajes: 1,028
~Doku se está dando a conocer
Predeterminado Re: Pedido de Script

Código:
#===============================================================================
# Nuevo Motor de Partículas
#   por arevulopapo
#   15 de Nov de 2007
#
# Este script permite crear efectos de partículas en tu juego.
# Las partículas se integran en "Spriteset_Map,
# para poder ser mostradas sobre/bajo un evento.
# Los efectos son usados desde "Llamar script" de esta forma:
# $scene.effect(ID_EVENTO, EFECTO, LOCK, X, Y)
# ID_EVENTO  - ID del evento en el que se moverán las partículas
#             (-1) para el personaje, (1) y superior para los eventos.
# EFECTO    - Nombre del efecto a llamar. Los nombres se definen en Spriteset_Map.
# LOCK      - Alineación de las partículas. 'event' para alinear partículas
#             con la posición del evento en el mapa, y 'screen' para alinear con la 
#             posición del evento en pantalla.
#             Para eventos estáticos, como fireplaces, teletransportes, etc. se 
#             recomienda la alineación'event'.
#             Para eventos en movimiento usa el modo 'screen'.
# X, Y      - Número de Píxeles que se añadirán a la posición del evento
#             para determinar el punto inicial de partículas.
#             esa es tu arma más poderosa;) Mira el demo para los ejemplos..
#===============================================================================
class Scene_Map
  
  def effect(event=1, effect='', lock='event', x=0, y=0)
    @spriteset.add_effect(event, effect, lock, x, y)
  end
  
end
#===============================================================================
#
#===============================================================================
class Spriteset_Map
  
  attr_reader :particles
  
  alias particle_ssm_init initialize
  alias particle_ssm_update update
  alias particle_ssm_dispose dispose
  #-----------------------------------------------------------------------------
  def initialize
    @particles = []
    particle_ssm_init
  end
  #-----------------------------------------------------------------------------
  def dispose
    @particles.each{ |d| d.dispose }
    particle_ssm_dispose
  end
  #-----------------------------------------------------------------------------
  def update
    @particles.each_with_index{ |p,i|
      @particles[i].update
      if p.opacity == 0
        p.dispose
        @particles.delete_at(i)
      end
      }
    particle_ssm_update
  end
  #-----------------------------------------------------------------------------
  def add_effect(event=1, effect='', lock='event', x=0, y=0)
    
    case event
    when -1
      object = $game_player
    else
      object = $game_map.events[event]
    end
    
    case effect
    # (sprite, acceleration[x,y], gravity[x,y], opacity[base,loss], blending)
    when 'blue'
      sprite='star_blue'
      add_particles(object, x, y, sprite, [1.00*(-15+rand(30))/10, 1.00*(-15+rand(30))/10], [0,0], [160,5+rand(15)], lock, 1)
    when 'red'
      sprite='star_red'
      add_particles(object, x, y, sprite, [1.00*(-15+rand(30))/10, 1.00*(-15+rand(30))/10], [0,0], [160,5+rand(15)], lock, 1)
    when 'green'
      sprite='star_green'
      add_particles(object, x, y, sprite, [1.00*(-15+rand(30))/10, 1.00*(-15+rand(30))/10], [0,0], [160,5+rand(15)], lock, 1)
    when 'yellow'
      sprite='star_yellow'
      add_particles(object, x, y, sprite, [1.00*(-15+rand(30))/10, 1.00*(-15+rand(30))/10], [0,0], [160,5+rand(15)], lock, 1)
    when 'smash'
      sprite='smash'
      add_particles(object, x, y, sprite, [1.00*(-15+rand(30))/10, 1.00*(-15+rand(30))/10], [0,0], [160,5+rand(15)], lock, 1)
    when 'fire'
      sprite='particle_yellow'
      add_particles(object, x, y, sprite, [(rand(7)-3)*0.2, 0], [0,0.15], [255,8+rand(5)], lock, 1)
    when 'fire2'
      sprite='particle_orange'
      add_particles(object, x, y, sprite, [(rand(7)-3)*0.2, 0], [0,0.15], [255,8+rand(5)], lock, 1)
    when 'sparks'
      sprite='particle_red'
      add_particles(object, x, y, sprite, [0.5*(-25+rand(50))/10, -4], [0,-0.5], [255,20], lock, 1)
    when 'smoke'
      sprite='smoke'
      add_particles(object, x, y, sprite, [0.1*(-25+rand(50))/10, 0], [0,0.13], [128,3], lock, 1)
    when 'cells'
      sprite='particle_red'
      dx = 1.00*(-100 + rand(200))/100
      dy = 1.00*(-100 + rand(200))/100
      add_particles(object, x, y, sprite, [5*dx, 5*dy], [0.3*dx,0.3*dy], [255,10], lock, 1)
    end

  end
  #-----------------------------------------------------------------------------
  def add_particles(object=$game_player, x=0, y=0, sprite='', acc=[0,0], grav=[0,0], opacity=[255,0], lock='event', blend=0)
    if lock=='event'
      @particles << Particle_Event.new(@viewport1, object, x, y, sprite, acc, grav, opacity, blend)
    elsif lock=='screen'
      @particles << Particle_Screen.new(@viewport1, object, x, y, sprite, acc, grav, opacity, blend)
    end
  end
  
end
#===============================================================================
#
#===============================================================================
class Particle_Screen < Sprite
  
  def initialize(viewport=Viewport.new(0,0,800,600), object=$game_player, x=0, y=0, sprite='', acc=[0,0], grav=[0,0], opacity=[255,3], blend=0)
    super(viewport)
    self.bitmap = RPG::Cache.picture('Particles/' + sprite)
    self.x = object.screen_x + x
    self.y = object.screen_y - 16 + y
    self.ox = self.oy = self.bitmap.width/2
    self.blend_type = blend
    self.opacity = opacity[0]
    @object = object
    @origin = [self.x, self.y]
    @acceleration = acc
    @gravity = grav
    @coords = [0.00, 0.00]
    @opacity = opacity[1]
    update
  end
  
  def update
    @acceleration[0] -= @gravity[0] if @gravity[0] != 0
    @acceleration[1] -= @gravity[1] if @gravity[1] != 0
    @coords[0] += @acceleration[0]
    @coords[1] += @acceleration[1]
    self.opacity -= @opacity
    self.x = @origin[0] + @coords[0]
    self.y = @origin[1] + @coords[1]
    if self.y > (@object.screen_y - 16)
      self.z = @object.screen_z + 32
    else
      self.z = @object.screen_z - 32
    end
  end
  
end

class Particle_Event < Sprite
  
  def initialize(viewport=Viewport.new(0,0,800,600), object=$game_player, x=0, y=0, sprite='', acc=[0,0], grav=[0,0], opacity=[255,3], blend=0)
    super(viewport)
    self.bitmap = RPG::Cache.picture('Particles/' + sprite)
    self.x = object.x*32 + 16 - $game_map.display_x / 4 + x
    self.y = object.y*32 + 32 - $game_map.display_y / 4 + y
    self.ox = self.oy = self.bitmap.width/2
    self.blend_type = blend
    self.opacity = opacity[0]
    @object = object
    @origin = [object.x*32 + x + 16, object.y*32 + y + 32]
    @acceleration = acc
    @gravity = grav
    @coords = [0.00, 0.00]
    @opacity = opacity[1]
    update
  end
  
  def update
    @acceleration[0] -= @gravity[0] if @gravity[0] != 0
    @acceleration[1] -= @gravity[1] if @gravity[1] != 0
    @coords[0] += @acceleration[0]
    @coords[1] += @acceleration[1]
    self.opacity -= @opacity
    self.x = @origin[0] + @coords[0] - $game_map.display_x / 4
    self.y = @origin[1] + @coords[1] - $game_map.display_y / 4 - 16
    if self.y > (@object.screen_y - 16)
      self.z = @object.screen_z + 32
    else
      self.z = @object.screen_z - 32
    end
  end
  
end
Responder Con Cita
  #3  
Antiguo 12-jul-2011, 01:28
Avatar de panxo:.
Advanced Newbie
 
Fecha de Ingreso: diciembre-2008
Mensajes: 54
panxo:. se está dando a conocer
Predeterminado Re: Pedido de Script

! Gracias
Disculpa, otra pregunta que se me olvidó hacer x.x
Cómo se usa? No entiendo $scene.effect(ID_EVENTO, EFECTO, LOCK, X, Y), que significa cada cosa y como definirla
Responder Con Cita
  #4  
Antiguo 12-jul-2011, 16:32
Banneado
 
Fecha de Ingreso: abril-2011
Ubicación: Mafia
Mensajes: 1,028
~Doku se está dando a conocer
Predeterminado Re: Pedido de Script

Cita:
Empezado por panxo:. Ver Mensaje
! Gracias
Disculpa, otra pregunta que se me olvidó hacer x.x
Cómo se usa? No entiendo $scene.effect(ID_EVENTO, EFECTO, LOCK, X, Y), que significa cada cosa y como definirla
Al inicio de script se explica todo, y pones eso en "llamar script"
Responder Con Cita
Respuesta



Temas Similares para: Pedido de Script
Tema Autor Foro Respuestas Último mensaje
Pedido: Script batalla lateral manudgx RPG Maker 2 10-ene-2011 04:14
Ayuda!!! script corte de pokemon script project. pitufos RPG Maker 0 20-may-2010 21:36
Pedido:Script Icono Para Play Time. marcosluna31 RPG Maker 0 17-ago-2009 05:30
Pedido de script samuy RPG Maker 1 23-jul-2009 21:10
pedido rapido!! tiempo asta esta tarde!! script de reloj en html!!! Lo buscooooo!!! Exar98 Ayuda 3 07-jun-2009 20:38


La franja horaria es GMT +1. La hora actual es: 19:11.


Powered by vBulletin®


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93