Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ################################################################################
- ############################# ANIM FACE ########################################
- ################################################################################
- =begin
- Auteur : Biward
- Version : 1.0
- Fonctionne sur : VX
- =end
- module BI
- module FACE
- # Déterminez ici la variable qui stockera l'animation de la face
- VARIABLE = 1
- # Indiquez ici les index du fichier de la Face utilisée pour le message
- # Ces différents index seront choisis en fonction de la valeur de la variable
- # Par exemple, si on a :
- #
- # VARIABLE = 1
- #
- # NB_INDEX = {
- # 1 => [2, 1],
- # }
- #
- # Cela veut dire que si la variable 1 vaut 1, alors les faces affichées sur
- # le message seront les faces (du fichier choisi) qui ont pour index 2 puis 1.
- # Ces deux faces s'afficheront donc à intervalle régulieur.
- NB_INDEX = {
- 1 => [2, 1],
- 2 => [3, 4],
- }
- # Déterminez ici l'intervalle entre chaque affichage de face en fonction de
- # la valeur de la variable choisie plus haut.
- FRAME = {
- 1 => 30,
- 2 => 60,
- }
- end
- end
- ################################################################################
- ##### Début du script
- ################################################################################
- ### Window_Message ###
- # ajout d'une méthode permettant l'affichage de la face en fonction de l'index
- # reconnaissance à la commande \A
- class Window_Message < Window_Selectable
- def aff_new_face(index)
- i = BI::FACE::NB_INDEX[$game_variables[BI::FACE::VARIABLE]][index - 1] - 1
- draw_face($game_message.face_name, i, 0, 0) if index
- end
- alias pec_bi convert_special_characters
- def convert_special_characters
- @text.gsub!(/\\A/) { "\x33" }
- pec_bi
- end
- alias um_bi update_message
- def update_message
- loop do
- c = @text.slice!(/./m) # Get next text character
- case c
- when nil # There is no text that must be drawn
- finish_message # Finish update
- break
- when "\x00" # New line
- new_line
- if @line_count >= MAX_LINE # If line count is maximum
- unless @text.empty? # If there is more
- self.pause = true # Insert number input
- break
- end
- end
- when "\x01" # \C[n] (text character color change)
- @text.sub!(/\[([0-9]+)\]/, "")
- contents.font.color = text_color($1.to_i)
- next
- when "\x02" # \G (gold display)
- @gold_window.refresh
- @gold_window.open
- when "\x03" # \. (wait 1/4 second)
- @wait_count = 15
- break
- when "\x04" # \| (wait 1 second)
- @wait_count = 60
- break
- when "\x05" # \! (Wait for input)
- self.pause = true
- break
- when "\x06" # \> (Fast display ON)
- @line_show_fast = true
- when "\x07" # \< (Fast display OFF)
- @line_show_fast = false
- when "\x08" # \^ (No wait for input)
- @pause_skip = true
- when "\x33"
- print "yo"
- $anim_mess = true
- else # Normal text character
- contents.draw_text(@contents_x, @contents_y, 40, WLH, c)
- c_width = contents.text_size(c).width
- @contents_x += c_width
- end
- break unless @show_fast or @line_show_fast
- end
- end
- end
- ### Scene_Map ###
- # ajout d'outils dans l'update afin de mettre à jour la fenêtre de message
- class Scene_Map < Scene_Base
- alias u_face_bi update
- def update
- u_face_bi
- if ! $game_message.visible && $anim_mess
- $anim_mess = false
- end
- if $game_message.visible
- if $anim_mess
- @count = 0 if ! @count
- @index_face = 0 if ! @index_face
- @index_face += 1 if @count == BI::FACE::FRAME[$game_variables[BI::FACE::VARIABLE]]
- @message_window.aff_new_face(@index_face.to_i) if @count == BI::FACE::FRAME[$game_variables[BI::FACE::VARIABLE]]
- if @count == BI::FACE::FRAME[$game_variables[BI::FACE::VARIABLE]] && @index_face == (BI::FACE::NB_INDEX[$game_variables[BI::FACE::VARIABLE]].size)
- @index_face = 0
- end
- @count = 0 if @count == BI::FACE::FRAME[$game_variables[BI::FACE::VARIABLE]]
- @count += 1 if @count
- else
- @count = nil if @count
- @index_face = nil if @index_face
- end
- else
- @count = nil if @count
- @index_face = nil if @index_face
- end
- end
- end
- ################################################################################
- ##### Fin du script
- ################################################################################
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement