Hello! :3 Suite à ce post, j'ai décidé de faire une version VX de mon script. Et c'est chose fait !
Il fonctionne exactement de la même manière que celui sur Ace! Donc je vous montre la même vidéo de démonstration :
Voici le script à coller au dessus de main :
Spoiler:
Code:
################################################################################ ############################# 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 ################################################################################