Jump to content
Rpg²S Forum

Correct Sprite Display


Punk
 Share

Recommended Posts

Questo script corregge la visualizzazione degli sprite se questo è superiore a 32px e il tile è impostato su 'sopra l'eroe'.

Lo screen rende meglio l'idea.

 

 

Screen

Messed%2520up%2520Display.png

Correct%2520Sprite%2520Display.png

 

Versione

1.0

 

Autore

mobychan

 

Istruzioni

Inserire lo script sotto material.

Non bisogna settare nulla, lo script fa tutto da solo.

 

Script

 

#==============================================================================

#

# ▼ 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

 

Link to comment
Share on other sites

Altra ottima correzione e... non conoscevo questo bug, più che buono a sapersi ° °

^ ^

(\_/)
(^ ^) <----coniglietto rosso, me!
(> <)


Il mio Tumblr dove seguire i miei progetti, i progetti della Reverie : : Project ^ ^

http://i.imgur.com/KdUDtQt.png disponibile su Google Play, qui i dettagli! ^ ^

http://i.imgur.com/FwnGMI3.png completo! Giocabile online, qui i dettagli! ^ ^

REVERIE : : RENDEZVOUS (In allenamento per apprendere le buone arti prima di cominciarlo per bene ^ ^) Trovate i dettagli qui insieme alla mia intervista (non utilizzerò più rpgmaker) ^ ^

 

SUWOnzB.jpg 🖤
http://www.rpg2s.net/dax_games/r2s_regali2s.png E:3 http://www.rpg2s.net/dax_games/xmas/gifnatale123.gif
http://i.imgur.com/FfvHCGG.png by Testament (notare dettaglio in basso a destra)! E:3
http://i.imgur.com/MpaUphY.jpg by Idriu E:3

Membro Onorario, Ambasciatore dei Coniglietti (Membro n.44)

http://i.imgur.com/PgUqHPm.png
Ufficiale
"Ad opera della sua onestà e del suo completo appoggio alla causa dei Panda, Guardian Of Irael viene ufficialmente considerato un Membro portante del Partito, e Ambasciatore del suo Popolo presso di noi"


http://i.imgur.com/TbRr4iS.png<- Grazie Testament E:3
Ricorda...se rivolgi il tuo sguardo ^ ^ a Guardian anche Guardian volge il suo sguardo ^ ^ a te ^ ^
http://i.imgur.com/u8UJ4Vm.gifby Flame ^ ^
http://i.imgur.com/VbggEKS.gifhttp://i.imgur.com/2tJmjFJ.gifhttp://projectste.altervista.org/Our_Hero_adotta/ado2.png
Grazie Testament XD Fan n°1 ufficiale di PQ! :D

Viva
il Rhaxen! <- Folletto te lo avevo detto (fa pure rima) che non
avevo programmi di grafica per fare un banner su questo pc XD (ora ho di
nuovo il mio PC veramente :D)

Rosso Guardiano della
http://i.imgur.com/Os5rvhx.png

Rpg2s RPG BY FORUM:

Nome: Darth Reveal

 

PV totali 2
PA totali 16

Descrizione: ragazzo dai lunghi capelli rossi ed occhi dello stesso colore. Indossa una elegante giacca rossa sopra ad una maglietta nera. Porta pantaloni rossi larghi, una cintura nera e degli stivali dello stesso colore. E' solito trasportare lo spadone dietro la schiena in un fodero apposito. Ha un pendente al collo e tiene ben legato un pezzo di stoffa (che gli sta particolarmente a cuore) intorno al braccio sinistro sotto la giacca, copre una cicatrice.
Bozze vesti non definitive qui.

Equipaggiamento:
Indossa:
60$ e 59$ divisi in due tasche interne
Levaitan

Spada a due mani elsa lunga

Guanti del Defender (2PA)
Anello del linguaggio animale (diventato del Richiamo)

Scrinieri da lanciere (2 PA)

Elmo del Leone (5 PA)

Corazza del Leone in Ferro Corrazzato (7 PA)

ZAINO (20) contenente:
Portamonete in pelle di cinghiale contenente: 100$
Scatola Sanitaria Sigillata (può contenere e tenere al sicuro fino a 4 oggetti curativi) (contiene Benda di pronto soccorso x3, Pozione di cura)
Corda
Bottiglia di idromele
Forma di formaggio
Torcia (serve ad illuminare, dura tre settori)

Fiasca di ceramica con Giglio Amaro (Dona +1PN e Velocità all'utilizzatore)
Ampolla Bianca

Semi di Balissa

 

CAVALLO NORMALE + SELLA (30 +2 armi) contentente:
66$
Benda di pronto soccorso x3
Spada a due mani

Fagotto per Adara (fazzoletto ricamato)


 

Link to comment
Share on other sites

Altra ottima correzione e... non conoscevo questo bug, più che buono a sapersi ° °

Fino a tre giorni, ero nella tua stessa situazione XD Poi girovagando in rete l'ho trovato... doveva per forza usarlo nel mio progetto! Questi script che corregono i bug di rpg maker sono indispensabili per ogni progetto.

Link to comment
Share on other sites

  • 4 months later...

Ho un problema! Appena finisce una battaglia visualizzo questo errore:

 

Script 'Correct Sprite Display' line 101: NoMethodError occurred.

undefined method height' for nil:NilClass

 

Cosa significa? :(

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...