RPG maker VX


Unirse al foro, es rápido y fácil

RPG maker VX
RPG maker VX
¿Quieres reaccionar a este mensaje? Regístrate en el foro con unos pocos clics o inicia sesión para continuar.
Últimos temas
» Script de menu
por maxi Jue 04 Dic 2014, 1:44 pm

» Ayuda intro animado!!!
por maxi Miér 03 Dic 2014, 9:41 pm

» ayuda con este engin
por maxi Miér 03 Dic 2014, 8:42 am

» Hud de Vida 100% Personalizable - Engine Sencillo! Sin Scripts :)
por davidaikago Jue 20 Nov 2014, 10:58 am

» Ultimate parallax control by:GDS [ace]
por arellano Miér 08 Oct 2014, 8:28 pm

» Script Touhou (animated) Map name (v1.4)
por davidaikago Miér 08 Oct 2014, 2:09 pm

» tutorial puerta nueva
por davidaikago Miér 08 Oct 2014, 9:08 am

» cámara de fotos
por davidaikago Miér 08 Oct 2014, 9:05 am

» Imperial Action System II Demo
por davidaikago Miér 08 Oct 2014, 8:47 am

» VE Batalla animada [ACE]
por FhierusIV Jue 18 Sep 2014, 10:57 am

» Nuevo Reglamento del Foro [Vigente desde Septiembre 2014]
por maxi Miér 17 Sep 2014, 8:37 am

» MOG|Animated Title
por Souta21 Mar 09 Sep 2014, 7:24 pm

» Tutorial Engine - Cambiar Character al Equipar Objeto
por maxi Lun 21 Jul 2014, 10:19 am

» Script de climas
por gambasoxd Sáb 19 Jul 2014, 8:58 am

» Script de contraseña(codigo) para abrir un cofre
por rpgame Jue 03 Jul 2014, 6:03 pm

¿Quién está en línea?
En total hay 1 usuario en línea: 0 Registrados, 0 Ocultos y 1 Invitado

Ninguno

[ Ver toda la lista ]


El record de usuarios en línea fue de 117 durante el Mar 09 Ago 2011, 3:39 pm

[Aporte]Script Agarrar y Lanzar[VX]

2 participantes

Ir abajo

[Aporte]Script Agarrar y Lanzar[VX] Empty [Aporte]Script Agarrar y Lanzar[VX]

Mensaje por luistop12 Dom 21 Oct 2012, 1:52 pm

Les traigo Este script que les permite agarrar y lanzar cualquier objeto que tenga esto es su nombre

< ThrowX > debe ir sin los espacios

la X al final representa la distancia es decir que si quieres que el objeto caiga tres cuadros mas allá ponlo asi

< Throw3 >

y nesesitaras charas como esta

[Tienes que estar registrado y conectado para ver esa imagen]

fuente:ateliergss2

link
Código:
#==============================================================================
# By Moghunter
# http://www.atelier-rgss.com/
#==============================================================================
# Sistema de carregar e arremessar eventos, útil para criar puzzles.
#==============================================================================
# Para definir quais os eventos serão arremessáveis basta nomear o evento
# da seguinte forma.
#
# <ThrowX>
#
# X é a distância que o evento pode ser arremessado.
#
# Exemplo
#
# Event01<Throw4>
#
#==============================================================================
# Sprite do personagem carregando o Objeto (Opcional)
#==============================================================================
# É preciso ter uma imagem do personagem em posição de carreagar objeto e
# nomear a imagem da sequinte forma.
#
# Character_Name + _Pickup
#
# Exemplo
#
# Actor1_Pickup.png
#==============================================================================
# HISTÓRICO
# 1.1 - Corrigido o bug relacionado ao Teleport.
# 1.2 - Adicionado a opção de ativar e desativar o sistema por Switch.
# 1.3 - Definição do som pelo script no lugar da animação do banco de dados.
#==============================================================================
module MOG_PICK_THROW
  #Altura do sprite do objeto carregado.
  SPRITE_POSITION = 18
  #Definição do Som quando o objeto é arremessado.
  THROW_SE = "Jump2"
  #Definição do Som quando o objeto é carregado.
  PICK_UP_SE = "Jump1"
  #ID do balão quando o objeto é arremessado.
  THROW_BALLOON_ID = 5
  #ID do balão quando o objeto é carregado.
  PICK_UP_BALLOON_ID = 6 
  #ID da Switch que desativa o sistema de carregar.
  DISABLE_SWITCH_ID = 20
end 
 
#==============================================================================
# ■ Game_Temp
#==============================================================================
class Game_Temp
 
  attr_accessor :pickup_lock 
  attr_accessor :pickup_lock_time
  attr_accessor :character_pre_name
  attr_accessor :can_throw
 
  #--------------------------------------------------------------------------
  # ● initialize
  #-------------------------------------------------------------------------- 
  alias mog_pick_initialize initialize
  def initialize
      @pickup_lock = false
      @pickup_lock_time = 0 
      @character_pre_name = ""
      @can_throw = true
      mog_pick_initialize
  end 
end

#==============================================================================
# ■ Game_Event
#==============================================================================
class Game_Event < Game_Character
 
  attr_accessor :throw_active
  attr_accessor :throw
  attr_accessor :x
  attr_accessor :y
  attr_accessor :move_speed
  attr_accessor :pre_move_speed
 
  #--------------------------------------------------------------------------
  # ● initialize
  #--------------------------------------------------------------------------
  alias mog_pickup_initialize initialize
  def initialize(map_id, event)
      @throw_active = false
    if event.name =~ /<Throw(\d+)>/i
      @throw = $1.to_i
    else 
      @throw = 0
    end
    mog_pickup_initialize(map_id, event)   
  end     
end

#==============================================================================
# ■ Game_Character
#==============================================================================
class Game_Character 
  attr_accessor :pre_move_speed
 
 #--------------------------------------------------------------------------
 # ● Initialize
 #--------------------------------------------------------------------------
  alias mog_throw_initialize initialize
  def initialize
      mog_throw_initialize
      @pre_move_speed = @move_speed
  end
 
 #--------------------------------------------------------------------------
 # ● Throw Action
 #--------------------------------------------------------------------------
  def throw_action(range)   
    jump_range = range
    @x = $game_player.x
    @y = $game_player.y
    range.times do
      unless jumping?
        case $game_player.direction
          when 6           
            jump(jump_range,0) if throw_range?(jump_range,0,jump_range)
          when 4
            jump(-jump_range,0) if throw_range?(-jump_range,0,jump_range)
          when 2
            jump(0,jump_range) if throw_range?(0,jump_range,jump_range)
          when 8
            jump(0,-jump_range) if throw_range?(0,-jump_range,jump_range)
        end
        jump(0,0) if jump_range == 1
        if @x == $game_player.x and @y == $game_player.y and jump_range == 1
            $game_temp.can_throw = false
        end
        jump_range -= 1 
      end             
  end   
 end 
 
 #--------------------------------------------------------------------------
 # ● Throw Range?
 #--------------------------------------------------------------------------
 def throw_range?(x, y,range ) 
    x = $game_player.x
    y = $game_player.y
    case $game_player.direction 
        when 2
            y += range
        when 6     
            x += range
        when 4 
            x -= range
        when 8
            y -= range
    end     
    return false if collide_with_characters?(x, y)
    return false unless map_passable?(x, y) 
    return true
 end 
end 

#==============================================================================
# ■ Game_Player
#==============================================================================
class Game_Player < Game_Character 
  include MOG_PICK_THROW

  #--------------------------------------------------------------------------
  # ● Img Pickup Exist?
  #--------------------------------------------------------------------------
  def img_pickup_exist?
      Cache.character(@character_name + "_Pickup") rescue return false
  end 
 
  #--------------------------------------------------------------------------
  # ● Check Action Event
  #--------------------------------------------------------------------------
  alias mog_pickup_check_action_event check_action_event
  def check_action_event
      throw_event
      check_event_pickup([0,1,2])   
      mog_pickup_check_action_event
  end 

  #--------------------------------------------------------------------------
  # ● Reserve Transfer
  #--------------------------------------------------------------------------
  alias mog_pickup_reserve_transfer reserve_transfer
  def reserve_transfer(map_id, x, y, direction)
      if $game_temp.pickup_lock == true
        for event in $game_map.events.values
            if event.throw_active == true
                event.throw_active = false
                case @direction
                  when 2
                    event.jump(0,-1)   
                  when 4
                    event.jump(1,0)   
                  when 6
                    event.jump(-1,0)   
                  when 8 
                    event.jump(0,1) 
                end   
            end 
        end     
        $game_temp.pickup_lock = false
        $game_temp.pickup_lock_time = 0
        @character_name = $game_temp.character_pre_name
      end 
      mog_pickup_reserve_transfer(map_id, x, y, direction)
  end
 
  #--------------------------------------------------------------------------
  # ● Move By Input
  #-------------------------------------------------------------------------- 
  alias mog_pickup_move_by_input move_by_input
  def move_by_input
    return if $game_temp.pickup_lock_time > 0
    mog_pickup_move_by_input
  end 
 
  #--------------------------------------------------------------------------
  # ● Throw Event
  #-------------------------------------------------------------------------- 
  def throw_event
    return if $game_temp.pickup_lock == false
    return if $game_temp.pickup_lock_time > 0
    return if $game_map.interpreter.running?
    for event in $game_map.events.values
        if event.throw_active == true and not jumping?
          $game_temp.can_throw = true
          event.throw_action(event.throw)
          $game_temp.pickup_lock_time = 120     
          return if $game_temp.can_throw == false
          event.throw_active = false
          $game_temp.pickup_lock = false         
          event.move_speed = event.pre_move_speed
          Audio.se_play("Audio/SE/" + THROW_SE, 100, 100)
          $game_player.balloon_id = THROW_BALLOON_ID
          @character_name = $game_temp.character_pre_name
        end       
    end   
  end
 
  #--------------------------------------------------------------------------
  # ● Check Event Pickup
  #--------------------------------------------------------------------------
  def check_event_pickup(triggers)
    return if $game_temp.pickup_lock == true
    return if $game_temp.pickup_lock_time > 0   
    return if $game_map.interpreter.running?
    return if $game_switches[DISABLE_SWITCH_ID] == true
    front_x = $game_map.x_with_direction(@x, @direction)
    front_y = $game_map.y_with_direction(@y, @direction)
    for event in $game_map.events_xy(front_x, front_y)
        if event.throw > 0 and not jumping?
          $game_temp.pickup_lock_time = 120
          event.throw_active = true
          $game_temp.pickup_lock = true
          event.jump(0,0)
          event.x = @x
          event.y = @y
          event.pre_move_speed = event.move_speed
          event.move_speed = 5
          $game_player.balloon_id = PICK_UP_BALLOON_ID
          Audio.se_play("Audio/SE/" + PICK_UP_SE, 100, 100)
          $game_temp.character_pre_name = @character_name
          if img_pickup_exist?
              @character_name =  @character_name + "_Pickup"
          end 
        end
    end
  end
end

#==============================================================================
# ■ Sprite_Character
#==============================================================================
class Sprite_Character < Sprite_Base 
  include MOG_PICK_THROW
 
  #--------------------------------------------------------------------------
  # ● Update
  #--------------------------------------------------------------------------
  alias mog_pickup_update update
  def update   
      mog_pickup_update
      update_pickup_position
  end

  #--------------------------------------------------------------------------
  # ● Update Pickup Position
  #--------------------------------------------------------------------------     
  def update_pickup_position
    $game_temp.pickup_lock_time -= 1 if $game_temp.pickup_lock_time > 0
    if @character.is_a?(Game_Event)
        if @character.throw_active == true and not @character.jumping?
          @character.x = $game_player.x
          @character.y = $game_player.y
          self.x = $game_player.screen_x
          self.y = $game_player.screen_y - SPRITE_POSITION
          self.z = $game_player.screen_z + 1
        end 
    end
  end
end 

#==============================================================================
# ■ Scene_Map
#==============================================================================
class Scene_Map < Scene_Base
 
  #--------------------------------------------------------------------------
  # ● Call Menu
  #--------------------------------------------------------------------------   
  alias mog_pickup_call_menu call_menu
  def call_menu
      $game_temp.next_scene = nil if $game_temp.pickup_lock == true
      return if $game_temp.pickup_lock == true
      mog_pickup_call_menu
  end
 
  #--------------------------------------------------------------------------
  # ● Call Save
  #--------------------------------------------------------------------------     
  alias mog_pickup_call_save call_save
  def call_save
      $game_temp.next_scene = nil if $game_temp.pickup_lock == true
      return if $game_temp.pickup_lock == true
      mog_pickup_call_save
  end
   
end 

$mog_rgssvx_pickup_throw = true


Última edición por luistop12 el Dom 21 Oct 2012, 2:55 pm, editado 2 veces
luistop12
luistop12
500
500

Masculino

Edad 33

Cantidad de envíos 759

Maker Cash 944

Reputación 42


Volver arriba Ir abajo

[Aporte]Script Agarrar y Lanzar[VX] Empty Re: [Aporte]Script Agarrar y Lanzar[VX]

Mensaje por Shadiel2424 Dom 21 Oct 2012, 1:54 pm

Bueno... No es por tocar las narices, pero... Donde esta el script?
Me hubiera venido bastante bien, asi que si pudieras solucionar ese minimo error, te lo agradeceria. A proposito, para que es? VX o ACE?
Shadiel2424
Shadiel2424
15
15

Masculino

Edad 26

Cantidad de envíos 20

Maker Cash 25

Reputación 2


Volver arriba Ir abajo

[Aporte]Script Agarrar y Lanzar[VX] Empty Re: [Aporte]Script Agarrar y Lanzar[VX]

Mensaje por luistop12 Dom 21 Oct 2012, 1:56 pm

amigo el script esta en el post se me habia olvidado colocarlo XD
luistop12
luistop12
500
500

Masculino

Edad 33

Cantidad de envíos 759

Maker Cash 944

Reputación 42


Volver arriba Ir abajo

[Aporte]Script Agarrar y Lanzar[VX] Empty Re: [Aporte]Script Agarrar y Lanzar[VX]

Mensaje por Shadiel2424 Dom 21 Oct 2012, 1:59 pm

Ahora, muchisimo mejor. Muchas gracias.
El script esta recien probado y es funcionable al 100% hasta el momento!
Shadiel2424
Shadiel2424
15
15

Masculino

Edad 26

Cantidad de envíos 20

Maker Cash 25

Reputación 2


Volver arriba Ir abajo

[Aporte]Script Agarrar y Lanzar[VX] Empty Re: [Aporte]Script Agarrar y Lanzar[VX]

Mensaje por luistop12 Dom 21 Oct 2012, 2:52 pm

gracias lo que paso es que se me olvido poner el script y despues lo noté XD
luistop12
luistop12
500
500

Masculino

Edad 33

Cantidad de envíos 759

Maker Cash 944

Reputación 42


Volver arriba Ir abajo

[Aporte]Script Agarrar y Lanzar[VX] Empty Re: [Aporte]Script Agarrar y Lanzar[VX]

Mensaje por Contenido patrocinado


Contenido patrocinado


Volver arriba Ir abajo

Volver arriba

- Temas similares

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