[SCRIPT] Nome Mappa in Revolution Mode - Versione stampabile +- Creare Videogiochi - Game Developer (https://www.making-videogames.net/giochi) +-- Forum: Rpg Maker Italia (https://www.making-videogames.net/giochi/Forum-Rpg-Maker-Italia) +--- Forum: Rpg Maker Vx (https://www.making-videogames.net/giochi/Forum-Rpg-Maker-Vx) +---- Forum: Script Rpg Maker Vx (https://www.making-videogames.net/giochi/Forum-Script-Rpg-Maker-Vx) +---- Discussione: [SCRIPT] Nome Mappa in Revolution Mode (/thread-SCRIPT-Nome-Mappa-in-Revolution-Mode) |
[SCRIPT] Nome Mappa in Revolution Mode - lavezzinapoli7 - 24-06-2011 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 #=============================================================================== #=============================================================================== # 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 RE: nome mappa in revolution mode - David - 24-06-2011 grande! neanche ti sei iscritto che gia stai aiutando RE: nome mappa in revolution mode - lavezzinapoli7 - 24-06-2011 grazie david! ho visto ke il forum è molto povero riguardo questo programma...e quindi come promesso sto postando degli script! |