Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ################################################################################
- ##### Map_Info
- ################################################################################
- # Auteur : Biward
- # Version : 2.0
- # Date : (V1)01/06/2010 ; (V2)28/08/2013
- #
- # Ce script permet d'afficher des informations sur la map avec plusieurs
- # paramètres disponibles.
- #
- #
- # Pour afficher une information, fait un appel de script avec cette commande :
- # map_info(id)
- #
- # avec id l'ID de l'information dans la configuration !
- #
- # De plus, vous pouvez changer la couleur du texte en faisant :
- # color_minfo(R, V, B)
- #
- # avec R la teneur en rouge, V la teneur en vert et B la teneur en bleu.
- # Chacun de ces paramètres est un chiffre variant entre 0 et 255.
- #
- # Faite : reset_color pour remettre la couleur par défaut
- #
- ################################## Configuration ###############################
- module BINFO
- #
- #
- # Mettez ici les informations à afficher.
- # ID = [TEXT, SEC, WINDOW, BACKGROUND, CHARACTER_NAME, CHARACTER_INDEX]
- # ID = id de l'info
- # TEXT = Texte de l'information
- # SEC = nombre de seconde que s'affiche le message en frame
- # WINDOW = true pour afficher la window, false pour non
- # BACKGROUND = Mettez le nom du fond si vous voulez en afficher un. Sinon false ou nil
- # CHARACTER_NAME = Indiquez le no du chara qui s'affichera
- # CHARACTER_INDEX = L'index du character
- INFO = {
- 1 => ["Bonjour ! Vous êtes prié d'ouvrir le menu !", 600, false, "back_message"],
- 2 => ["Rhoo ! Taggle ?", 60, true, nil, "Actor1", 3],
- 3 => ["Salut Ralph..", 180, true, nil, "Actor4", 0],
- 4 => ["Eric ?! Toi ici ?!?", 120, true, nil, "Actor1", 0],
- 5 => ["Et ouais, je te remplace ! Les nerfs ?", 300, true, nil, "Actor4", 0],
- 6 => ["ESPECE DE #&@!*", 120, true, nil, "Actor1", 0],
- 7 => ["ahahahahah....", 600, true, nil, "Actor4", 0]
- } # Laissez ça !
- end
- ############################################################################################################
- #################################### DEBUT DU SCRIPT #######################################################
- ############################################################################################################
- class Scene_Map < Scene_Base
- class << self
- attr_accessor :id, :actinfo, :timinfo, :window, :back, :chname, :chid, :wininfo, :color
- end
- #**********************************************
- # Terminate
- #_________________________________
- alias info_terminate terminate
- def terminate
- @win.dispose if @win
- @back.dispose if @back
- info_terminate
- end
- #**********************************************
- # Update
- #_________________________________
- alias info_update update
- def update
- update_actinfo if Scene_Map.actinfo
- update_opinfo if Scene_Map.timinfo
- info_update
- end
- def update_actinfo
- @win.dispose if @win
- @back.dispose if @back
- @back = Sprite.new
- @back.bitmap = Cache.system(BINFO::INFO[Scene_Map.id.to_i][3]) if ! Scene_Map.wininfo # creation du sprite
- xy = 0 ; xy = -16 if ! Scene_Map.wininfo
- w = Graphics.width ; w = Graphics.width + 32 if ! Scene_Map.wininfo
- h = 56 ; h = 88 if ! Scene_Map.wininfo
- @win = Window_Base.new(xy, xy, w, h) # Création de la Fenêtre
- # couleur
- if Scene_Map.color
- @win.contents.font.color = Color.new(Scene_Map.color[0], Scene_Map.color[1], Scene_Map.color[2], @win.opacity) if @win && Scene_Map.wininfo
- @win.contents.font.color = Color.new(Scene_Map.color[0], Scene_Map.color[1], Scene_Map.color[2], @back.opacity) if @back && ! Scene_Map.wininfo
- else
- @win.contents.font.color = Color.new(255, 255, 255, @win.opacity) if @win
- @win.contents.font.color = Color.new(255, 255, 255, @back.opacity) if @back
- end
- x = 32 ; x = 48 if ! Scene_Map.wininfo
- y = -193 ; y = -177 if ! Scene_Map.wininfo
- @win.contents.draw_text(x, y, 544, 416, BINFO::INFO[Scene_Map.id.to_i][0], 0) # Affichage de l'info
- xy = 32 ; xy = 32 if ! Scene_Map.wininfo
- @win.draw_character(Scene_Map.chname, Scene_Map.chid, xy, xy) if Scene_Map.chname && Scene_Map.chid # affichage du chara
- Scene_Map.actinfo = nil
- end
- def update_opinfo
- @win.contents.clear
- @win.opacity -= Scene_Map.timinfo if @win && Scene_Map.wininfo
- @back.opacity -= Scene_Map.timinfo if @back && ! Scene_Map.wininfo
- @win.contents_opacity -= Scene_Map.timinfo if @win
- # couleur
- if Scene_Map.color && Scene_Map.color[0] && Scene_Map.color[1] && Scene_Map.color[2]
- @win.contents.font.color = Color.new(Scene_Map.color[0], Scene_Map.color[1], Scene_Map.color[2], @win.opacity) if @win && Scene_Map.wininfo
- @win.contents.font.color = Color.new(Scene_Map.color[0], Scene_Map.color[1], Scene_Map.color[2], @back.opacity) if @back && ! Scene_Map.wininfo
- else
- @win.contents.font.color = Color.new(255, 255, 255, @win.opacity) if @win
- @win.contents.font.color = Color.new(255, 255, 255, @back.opacity) if @back
- end
- x = 32 ; x = 48 if ! Scene_Map.wininfo
- y = -193 ; y = -177 if ! Scene_Map.wininfo
- @win.opacity = 0 if ! Scene_Map.wininfo
- @win.contents.draw_text(x, y, 544, 416, BINFO::INFO[Scene_Map.id.to_i][0], 0) # Affichage de l'info
- x = 16 ; x = 32 if ! Scene_Map.wininfo
- @win.draw_character(Scene_Map.chname, Scene_Map.chid, x, 32) if Scene_Map.chname && Scene_Map.chid # affichage du chara
- if Scene_Map.wininfo
- if @win.opacity <= 0
- Scene_Map.timinfo = nil
- Scene_Map.id = nil
- @win.dispose
- @win = nil
- Scene_Map.chname = nil
- Scene_Map.chid = nil
- end
- else
- if @back.opacity <= 0
- Scene_Map.timinfo = nil
- Scene_Map.id = nil
- @back.dispose
- @back = nil
- Scene_Map.chname = nil
- Scene_Map.chid = nil
- end
- end
- end
- end
- class Game_Interpreter
- def map_info(id)
- if BINFO::INFO[id.to_i]
- Scene_Map.id = id
- Scene_Map.actinfo = true
- Scene_Map.timinfo = (255.0 / BINFO::INFO[id.to_i][1].to_f)
- Scene_Map.wininfo = BINFO::INFO[id.to_i][2]
- Scene_Map.back = BINFO::INFO[id.to_i][3] if BINFO::INFO[id.to_i][3]
- Scene_Map.chname = BINFO::INFO[id.to_i][4]
- Scene_Map.chid = BINFO::INFO[id.to_i][5]
- Scene_Map.color ||= [255, 255, 255]
- else
- print "Erreur au niveau de l'ID de l'information"
- end
- end
- def color_minfo(r, v, b)
- Scene_Map.color = [r, v, b]
- end
- def reset_color
- Scene_Map.color.clear
- Scene_Map.color = nil
- end
- end
- ############################################################################################################
- ###################################### FIN DU SCRIPT #######################################################
- ############################################################################################################
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement