Bonjour à tous et à toutes! Je viens vous partager ma première création sur RPG Maker VXAce, et j'espère qu'elle plaira héhé :3 Il s'agit en fait d'un utilitaire qui vous permet d'animer vos personnages (les faces) dans les messages. Voici une vidéo-démonstration :
Vous pouvez modifier 3 paramètres dans le module de configuration : - la variable qui stockera l'animation de la face - les index des faces utilisées en fonction de la valeur de la variable - le nombre de frame entre chaque image en fonction de la valeur de la variable
Pour toutes aides, référez-vous à la démo ci-jointe. Tout ce joue sur la modification de la variable, quasiment. Attention, les faces doivent être dans le même fichier que celui utilisé pour le faceset de base du message. Si toutefois, vous ne comprenez toujours pas, contactez moi par mp
Le script :
Spoiler:
Code:
################################################################################ ############################# ANIM FACE ######################################## ################################################################################ =begin
Auteur : Biward Version : 1.0 Fonctionne sur : VXAce Date : 17/08/2013 00:58
Ce script vous permet d'animer votre windows message en fonction d'une variable. Donc en fonction du personnage, du moment et bien d'autres possibilités. De plus, vous pouvez gérer vous mêmes les faces à afficher et le temps entre chacune. =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_Base 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 process_escape_character def process_escape_character(code, text, pos) case code.upcase when 'A' if $anim_mess $anim_mess = false else $anim_mess = true end end pec_bi(code, text, pos) 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 ################################################################################
Démo (sans rtps) : lien Demandez-moi si vous souhaitez avoir une version avec RTPs
Si vous utilisez ce script, pas de contraintes ni d'obligations! Vous pouvez me citer dans vos crédits, ça me fera plaisir, mais ce n'est pas obligatoire.