• Benvenuto in Making Videogames!
  • Dai sfogo alla tua fantasia!
  • Crea il tuo Videogioco!
Benvenuto ospite! Login Registrati




Valutazione discussione:
  • 0 voto(i) - 0 media
  • 1
  • 2
  • 3
  • 4
  • 5
[SCRIPT] Nome Mappa in Revolution Mode
#1
dovete solo incollarlo sotto materials e logicamente creditare: Ramiro
#==============================================================================
# SHOW THE MAP NAME - REVOLUTION MODE -
#------------------------------------------------------------------------------
# Author Ramiro (Holy_wyvern, ramiazul)\\Traduzione di Lifaen
#------------------------------------------------------------------------------
# Version 1.0
#------------------------------------------------------------------------------
# Descrizione:
# Permette di visualizzare il nome dell'area, con un piacevole effetto grafico.
#------------------------------------------------------------------------------
# Compatibilità:
# RPG maker VX script.
# Non dovrebbe entrare il conflitto con niente (99.999 % sicuro)
#------------------------------------------------------------------------------
# Istruzioni:
# Inserite nella sezione "Materials"
#
# Per mostrare il nome dell'eroe sulla mappa oppure una variabile
# \\N[id dell'eroe nel database] (1 - 999)
# \\P[id della variabile] (1 - 999)
# \\PN[id della posizione dell'eroe nel party] (0 - 3)
# (Sì...proprio come nella finestra dei messaggi!)
#------------------------------------------------------------------------------
# BUGS:
# Nessuno trovato.
#------------------------------------------------------------------------------
# Note d'autore:
# Per giochi amatoriali, non-commerciali. I crediti non sono necessari...ma sarebbe carino Tongue
#===============================================================================

#===============================================================================
# Configurations
#===============================================================================

module MAPWINDOW

VIEWING_TIME = 160 # tempo di visualizzazione delle lettere
LETTER_ANIM = 170 # inizio tempo d'animazione
LETTER_END = 20 # tempo per nascondere il nome
INIT_X = 10 # coordinata X di partenza della prima lettera
INIT_Y = 10 # coordinata Y di partenza della prima lettera
START_ANGLE = -180 # angolo i partenza della prima lettera
RECT_COLOR = Color.new(255,255,255) # Colore della linea
RECT_X = 0 # correzione sull'asse X della linea
RECT_Y = -14 # correzione sull'asse Y della linea
FIRST_LETTER = Color.new(255,255,255) # colore della prima lettera
LETTER_COLOR = Color.new(255,255,255,200) # colore delle altre lettere
OPACITY = 200 # spessore delle lettere
RECT_OPACITY = 255 # spessore della linea
FONT_SIZE = 25 # dimensione del font
EX_START_X = 0 # coordinata X d'inizio movimento
RECT_HEIGHT = 1 # altezza della linea
NOT_SHOW_MAPS= [1,15,17,27,29,38,39,53] # mettete qui l'ID delle mappe di cui non volete venga visualizzato il nome. Es:
# [1,2,3]
end


#===============================================================================
# GAME MAP SETUP
#===============================================================================
class Game_Map
def name
map_infos = load_data("Data/MapInfos.rvdata")
name = map_infos[@map_id].name.clone
name.gsub!(/\\\\N\\[([0-9]+)\\]/i) { $game_actors[$1.to_i].name }
name.gsub!(/\\\\PN\\[([0-9]+)\\]/i) { $game_party.members[$1.to_i].name }
name.gsub!(/\\\\V\\[([0-9]+)\\]/i) { $game_variables[$1.to_i] }

return name
end
end

#===============================================================================
# The spritest of letters
#===============================================================================

class Spriteset_MapName
include MAPWINDOW
def initialize
@letters = []
@index = 0
@finish_count = @dispose_count = 0
end

def set_sprites
if !NOT_SHOW_MAPS.include?($game_map.map_id)
dispose_sprites
@letters = []
name = $game_map.name.scan(/./).clone
@l_count = (LETTER_ANIM / name.size) + 1
@index = 0
@finish = false
@finish_count = VIEWING_TIME
@dispose_count = LETTER_END

for i in 0...name.size
@letters[i] = Sprite.new
@letters[i].bitmap = Bitmap.new(FONT_SIZE,FONT_SIZE)
@letters[i].ox = 10
@letters[i].oy = 10
@letters[i].bitmap.font.size = FONT_SIZE
@letters[i].bitmap.font.color = i == 0 ? FIRST_LETTER : LETTER_COLOR
@letters[i].bitmap.draw_text(0,0,FONT_SIZE,FONT_SIZE,name[i],1)
@letters[i].x = i * (FONT_SIZE / 2) + EX_START_X + INIT_X
@letters[i].y = INIT_Y
@letters[i].z = 9999
@letters[i].opacity = 0
@letters[i].angle = START_ANGLE
end
@b_count = @letters.size * ((LETTER_ANIM / @letters.size) + 1)
@border = Sprite.new
@border.bitmap = Bitmap.new(@letters.size * (FONT_SIZE / 2) + (FONT_SIZE / 2), RECT_HEIGHT)
@border.bitmap.fill_rect(Rect.new(0,0,@letters.size * (FONT_SIZE / 2) + (FONT_SIZE / 2), RECT_HEIGHT),RECT_COLOR)
@border.x = - @border.width + INIT_X - (FONT_SIZE / 2) - RECT_X
@border.opacity = 0
@border.y = INIT_Y + (FONT_SIZE ) + RECT_Y
end
end

def update
if !@finish
if @letters[@index]
if @l_count > 0
@letters[@index].x = (@letters[@index].x * (@l_count - 1) + @index * (FONT_SIZE / 2) + INIT_X) / @l_count
@letters[@index].opacity = (@letters[@index].opacity * (@l_count - 1) + OPACITY) / @l_count
@letters[@index].angle = (@letters[@index].angle * (@l_count - 1)) / @l_count
@l_count -= 1

if @b_count > 0
@border.x = (@border.x * (@b_count - 1) + INIT_X - (FONT_SIZE / 2) + RECT_X) / @b_count
@border.opacity = (@border.opacity * (@b_count - 1) + RECT_OPACITY) / @b_count
@b_count -= 1
end
else
@index += 1
@l_count = ((LETTER_ANIM / @letters.size) + 1)
end
else
@finish = true
end

else
if @finish_count > 0
@finish_count -= 1
return
end
if @dispose_count > 0

for i in 0...@letters.size
@letters[i].x = (@letters[i].x * (@dispose_count - 1) + i * (FONT_SIZE / 2) + 24 + INIT_X) / @dispose_count
@letters[i].opacity = (@letters[i].opacity * (@dispose_count - 1)) / @dispose_count
end
@border.x = (@border.x * (@dispose_count - 1)+ INIT_X + RECT_X - (FONT_SIZE / 2) - @border.width ) / @dispose_count
@border.opacity = (@border.opacity * (@dispose_count - 1)) / @dispose_count
@dispose_count -= 1
end

end

end

def dispose
dispose_sprites
end

def dispose_sprites
for i in @letters
i.dispose
end
if @border
@border.bitmap.dispose if @border.bitmap
@border.dispose
end
end

end

#===============================================================================
# The map
#===============================================================================

class Scene_Map < Scene_Base


alias smsbstrt start
alias smsbupdbas update_transfer_player
alias smsbupdnorm update
alias smsbterm terminate

def start
@letters = Spriteset_MapName.new
smsbstrt
@letters.set_sprites
end

def update
@letters.update
smsbupdnorm
end

def update_transfer_player
teleported = true if $game_player.transfer?
smsbupdbas
@letters.set_sprites if teleported
end

def terminate
@letters.dispose
smsbterm
end

end
 
Rispondi
#2
grande! neanche ti sei iscritto che gia stai aiutando Big Grin
 
Rispondi
#3
grazie david! ho visto ke il forum è molto povero riguardo questo programma...e quindi come promesso sto postando degli script! Big Grin
 
Rispondi
  


Discussioni simili
Discussione Autore Risposte Letto Ultimo messaggio
  [SCRIPT] Visualizza il Nome della Mappa su Schermo. seingh 7 2,445 13-07-2011, 10:19 AM
Ultimo messaggio: Johnny 97
  [SCRIPT] Nome Mappa lavezzinapoli7 2 1,131 07-07-2011, 07:42 PM
Ultimo messaggio: lavezzinapoli7
  [SCRIPT] MODE 7 lavezzinapoli7 5 1,367 01-07-2011, 10:22 PM
Ultimo messaggio: Johnny 97

Vai al forum:


Browsing: 1 Ospite(i)