Compativel com: RMVX Ace
Compatibilidade :boa
Facilidade de uso: fácil
Lag gerado: baixo
Compatibilidade :boa
Facilidade de uso: fácil
Lag gerado: baixo
Para que serve o script
Sabe aquele bug chato, aonde chars acima de 32px, ao estarem presentes entre um tile abaixo dele e outro acima, da uma impressão bem feia? pois bem esse script corrigi isso .
Script
- Código:
#==============================================================================
#
# ▼ Moby's Script System - Correct Sprite Display V1.0
# -- Last Updated: 2012.06.26
#
#==============================================================================
$imported = {} if $imported.nil?
$imported["MSS-Correct_Sprite_Display"] = 1.0
#==============================================================================
# ▼ Updates
# =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
# N/A
#
#==============================================================================
# ▼ Introduction
# =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
# This script corrects how sprites will be displayed, to prevent errors
# happening when the sprite is higher than 32px and the tile above it is set
# to star passability.
#
#==============================================================================
# ▼ Instructions
# =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
# To install this script, open up your script editor and copy/paste this script
# to an open slot below ▼ Materials/素材 but above ▼ Main. Remember to save.
#
#
# If you have any questions, bugs you want to report or anything else,
# please contact me at mobychan@gmx.de or via my profile on
# http://forums.rpgmakerweb.com (mobychan).
#
#
# This script is Plug and Play.
# It automatically checks if the Sprite is bigger then 32px and adjust the
# tiles around that sprite accordingly.
# If you're using Anaryu's Particle Engine (ported by Yami)
# there won't be any issues.
#
#==============================================================================
# ▼ Compatibility
# =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
# This script is made strictly for RPG Maker VX Ace. It is highly unlikely that
# it will run with RPG Maker VX without adjusting.
#
#==============================================================================
#
#==============================================================================
# ▼ Compatibility Issues
# =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
# N/A
#
#==============================================================================
#==============================================================================
# ** Spriteset_Map
#------------------------------------------------------------------------------
# This class brings together map screen sprites, tilemaps, etc. It's used
# within the Scene_Map class.
#==============================================================================
class Spriteset_Map
#--------------------------------------------------------------------------
# * Update Character Sprite
#--------------------------------------------------------------------------
alias msscsd_update_characters update_characters unless $@
def update_characters
msscsd_update_characters
@character_sprites.each do |curr_sprite|
if curr_sprite.character.class.name == "Game_Event" ||
curr_sprite.character.class.name == "Game_Player" ||
curr_sprite.character.class.name == "Game_Follower"
height = get_height(curr_sprite)
if height > 1
x = curr_sprite.character.x
curr_sprite.viewport = @viewport1
id = $game_map.data[x, curr_sprite.character.y, 2]
flag_pos = $game_map.tileset.flags[id]
if (!(flag_pos & 0x10 != 0) || id == 0)
for i in 2..height
y = curr_sprite.character.y - (i - 1)
if !$game_map.data[x, y, 2].nil?
flag = $game_map.tileset.flags[$game_map.data[x, y, 2]]
if flag & 0x10 != 0 && # [☆]: No effect on passage
$game_map.data[x, y, 2] != 0
curr_sprite.viewport = @viewport2
break
else
curr_sprite.viewport = @viewport1
end
end
end
end
end
end
end
end
#--------------------------------------------------------------------------
# * Gets the given Sprites height
#--------------------------------------------------------------------------
def get_height(curr_sprite)
height = 0
if curr_sprite.character.character_name.scan(/$/)
height = (curr_sprite.bitmap.height / 4) / 32
height += 1 if (curr_sprite.bitmap.height / 4) % 32 > 0
else
height = (curr_sprite.bitmap.height / 8) / 32
height += 1 if (curr_sprite.bitmap.height / 8) % 32 > 0
end
return height
end
#--------------------------------------------------------------------------
# * Add Particle
#--------------------------------------------------------------------------
def add_particle(target, name, blend, setting, offset, v = nil, a = nil)
particle = Particle.new(@viewport2, target, name, blend, setting, offset, v, a)
@particles.push(particle)
end
end
Imagens
Antes
Depois
Créditos e avisos
Mobychan