Raven BellamyVie Feb 08, 2013 11:33 pm
Usuario Nv9
Saludos
Aqui les dejo un script que para muchos puede ser muy interesante ya que tiene una caracteristica unica de poder nadar en pleno mapa en tiempo real.
Caracteristicas
- Permite nadar en todos los autotiles de agua
- El chara del personaje es modificada por el script para simular la natacion
- Un interruptor permite activar o desactivar el script.
Instrucciones basta con copiar y pegar el script encima de main, para que nade oviamente hay que hacer una charca o un rio usando los autotiles del mapeado
Creditos
Creado por Falcao
Demo
http://www.4shared.com/file/224223244/941230e/Nadar_VX_10.html
Screens
Script en codigo
Aqui les dejo un script que para muchos puede ser muy interesante ya que tiene una caracteristica unica de poder nadar en pleno mapa en tiempo real.
Caracteristicas
- Permite nadar en todos los autotiles de agua
- El chara del personaje es modificada por el script para simular la natacion
- Un interruptor permite activar o desactivar el script.
Instrucciones basta con copiar y pegar el script encima de main, para que nade oviamente hay que hacer una charca o un rio usando los autotiles del mapeado
Creditos
Creado por Falcao
Demo
http://www.4shared.com/file/224223244/941230e/Nadar_VX_10.html
Screens
Script en codigo
- Código:
#========================================================================#
# #*****************# Nadar VX 1.0 Falcao script, permite #
# #*** By Falcao ***# que el personaje nade en pleno mapa #
# #*****************# en en todos los autotiles de agua. #
# RMXP #
# makerpalace.onlinegoo.com Date: Febrero 17 del 2010 #
#========================================================================#
#------------------------------------------------------------------------
# * Intrucciones
#
# Solo copiar y pegar el script encima de main. Editar el module de abajo
# a su gusto.
#
# Donde el personaje va nadar? nadara en todos los autotiles de agua.
# a menos que se declare lo contrario en el interruptor.
#
# Licensia: Puede ser usado en juegos no comerciales. Para usarlo en
# Juegos comerciales favor de contactarme.
#------------------------------------------------------------------------
module Falcao
# Interruptor que desabilita el script, on/off
Nadar_Switch = 99
# Sonido al entrar al agua, deve estar en la carpeta SE
ChapuzonSe = "Dive"
end
class Game_Map
def nadar_area?(x, y)
return passable?(x, y, 0x04)
end
end
class Game_Character
attr_accessor :through
attr_accessor :step_anime
attr_accessor :move_speed
end
#-------------------------------------------------------------------------
# * Nueva clase 'Nadar'
#-------------------------------------------------------------------------
class Nadar
include Falcao
def initialize
@player = $game_player
@chapuzon = true
end
def update
if area?
if @chapuzon
@last_speed = @player.move_speed
nadar_set(true, true, 3, true)
@chapuzon = false
end
elsif !@chapuzon
nadar_set(false, false, @last_speed, false)
@chapuzon = true
@player.move_forward
end
end
def nadar_set(tvalue, avalue, svalue, nadando=false)
@player.through = tvalue
@player.step_anime = avalue
@player.move_speed = svalue
if nadando
@player.move_forward
Audio.se_play("Audio/Se/" + ChapuzonSe) rescue
print "Sonido '#{ChapuzonSe}' no encontrado. Falcao script Nadar error"
end
end
def area?
case @player.direction
when 2; push_x = 0; push_y = 1
when 4; push_x = -1; push_y = 0
when 6; push_x = 1; push_y = 0
when 8; push_x = 0; push_y = -1
else; push_x = 0; push_y = 0
end
return false if $game_switches[Nadar_Switch]
return false if @player.in_vehicle?
for vehicle in $game_map.vehicles
if vehicle.x == @player.x + push_x and vehicle.y == @player.y + push_y
return false
end
end
return true if $game_map.nadar_area?(@player.x + push_x,
@player.y + push_y)
return false
end
end
#-------------------------------------------------------------------------
# * Scene_Title, create_game_objects aliased
#-------------------------------------------------------------------------
class Scene_Title
alias falcao_create_game_objects create_game_objects
def create_game_objects
falcao_create_game_objects
$falnadar = Nadar.new
end
end
#-------------------------------------------------------------------------
# * Scene_Map, update aliased
#-------------------------------------------------------------------------
class Scene_Map < Scene_Base
alias falcaonadar_update update
def update
$falnadar.update
falcaonadar_update
end
end
#-------------------------------------------------------------------------
# * Scene_File. write_save_data y read_save_data aliased
#-------------------------------------------------------------------------
class Scene_File < Scene_Base
alias falcao13_write_save_data write_save_data
def write_save_data(file)
falcao13_write_save_data(file)
Marshal.dump($falnadar, file)
end
alias falcao13_read_save_data read_save_data
def read_save_data(file)
falcao13_read_save_data(file)
$falnadar = Marshal.load(file)
end
end
#-------------------------------------------------------------------------
# * Sprite_Character, metodo update_src_rect reescrito
#-------------------------------------------------------------------------
class Sprite_Character < Sprite_Base
def update_src_rect
if @tile_id == 0
index = @character.character_index
pattern = @character.pattern < 3 ? @character.pattern : 1
sx = (index % 4 * 3 + pattern) * @cw
sy = (index / 4 * 4 + (@character.direction - 2) / 2) * @ch
if @character.is_a?(Game_Player) and $falnadar.area?
self.src_rect.set(sx, sy, @cw, @ch - 10)
else
self.src_rect.set(sx, sy, @cw, @ch)
end
end
end
end