❤ 1Nemau Nombre de scripts : 1
Dynamic Face Index Setter
* T'aimerais bien, quand au cours d'un message le méchant enlève son masque, qu'il enlève vraiment son masque ?
* Des fois tu voudrais qu'un perso change d'expression au cours de son message ?
* Ce script permet tout ça.
(Pour permettre de stocker tous les portraits d'un seul personnage dans le même faceset, tu peux à présent utiliser des facesets de n'importe quelle taille !)
Citation: Avec ce script, tu peux :
- Changer l'index d'un portrait au cours d'un message (pour changer l'expression d'un personnage, par exemple)
- Utiliser des facesets de n'importe quelle taille |
_____________________________________________________________________________________
* You wish that when the Bad Guy takes off his mask, well, he actually takes it off during the message ?
* Sometimes you wish that you could change a character's expression during a message ?
* This script does all of this
(In order to enable stocking all the expressions of a single character in a single faceset, you can now use facesets of any size !)
Citation: Using this script, you'll be able to :
- Change the index of a face during a message (e.g. to change their expression)
- Use facesets of any size |
Example :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
| # en Please insert this script between the Materials and Main script pages
# fr Insérez ce script entre les pages de script Materials et Main
###############################################################################
###### ENGLISH ##################################### ENGLISH ######
###############################################################################
#______________________________________________________________________________
# When using this script, no credit is needed
# —————————————————————————————————————————————————————————————————————————————
#
# This script is meant to :
# • Allow to use facesets of any size (faces will still be 96*96)
# • Allow to change the index of the displayed face during a message
# (e.g. for changing the expression of a hero)
###############################################################################
# --------------------------------------------------------------------------- #
#
# HOW TO USE
#
# Use the message command \F[n] to change the index of the displayed face to n
# —————————————————————————————————————————————————————————————————————————————
#
# /!\ Note that when picking a face in the editor, the face displayed /!\
# in the editor and the face displayed in-game may be different
# if you're using an unusual faceset size :
# This is because the editor will display the face that would show in-game
# without this script
#
# Also note that it is impossible to pick a face of an index superior to 5
# in the editor. To do this, you have to use the \F[n] message code.
###############################################################################
###### FRANÇAIS ##################################### FRANÇAIS ######
###############################################################################
#______________________________________________________________________________
# Pas besoin de créditer l'auteur pour utiliser ce script
# _____________________________________________________________________________
#
# Ce script est conçu pour :
# • Permettre d'utiliser des facesets de toute taille
# (les faces feront toujours 96*96 px)
# • Permettre de changer l'index d'une face au milieu d'un message
# (par ex. pour modifier l'expression d'un personnage)
###############################################################################
# --------------------------------------------------------------------------- #
#
# MODE D'EMPLOI
#
# Utiliser la commande de message \F[n] pour régler l'index de la face sur n
# —————————————————————————————————————————————————————————————————————————————
#
# /!\ Remarquez que la face affichée après un choix dans l'éditeur /!\
# peut différer de celle que vous avez choisie/qui est affichée en jeu
# si vous utilisez une taille de faceset inhabituelle :
# C'est parce que l'éditeur montre la face qui serait
# affichée sans ce script
#
# Remarquez aussi qu'il est impossible de choisir une face
# d'index supérieur à 5 directement dans l'éditeur :
# Il faut pour cela utiliser \F[n] dans le message
# en HOW IS THE INDEX PROCESSED BY RMVXAce ?
# example with a 2*5 (192*480 px) faceset
#
# fr COMMENT RMVXAce DÉFINIT LES INDEX ?
# exemple avec un faceset en 2x5 (192x480 px)
#
# ← 5 →
####################################
# # # # # #
# 0 # 1 # 2 # 3 # 4 # ↑
# # # # # #
#################################### 2
# # # # # #
# 5 # 6 # 7 # 8 # 9 # ↓
# # # # # #
####################################
class Window_Message < Window_Base
#--------------------------------------------------------------------#
######################################################################
# * Face Displaying edit * #
######################################################################
#--------------------------------------------------------------------#
#----------------------------------------------------------------------------
# * Changing face_index during a message window displaying
# (text command \F[n] )
#----------------------------------------------------------------------------
def draw_alt index
draw_face($game_message.face_name, index, 0, 0)
end
#----------------------------------------------------------------------------
# * Override draw_face
# (Allows any size of faceset)
#----------------------------------------------------------------------------
def draw_face(face_name, face_index, x, y, enabled = true)
return if face_name.empty?
bitmap = Cache.face(face_name)
w = bitmap.width / 96
rect = Rect.new(face_index % w * 96, face_index / w * 96, 96, 96)
contents.blt(x, y, bitmap, rect, enabled ? 255 : translucent_alpha)
bitmap.dispose
end
#-----------------------------------------------------------------------------
# * New message code \F[n], Allowing to change the index of the face to n
#-----------------------------------------------------------------------------
alias face_changer_process_escape_character process_escape_character
def process_escape_character(code, text, pos)
if code.upcase == 'F'
draw_alt obtain_escape_param(text)
else
face_changer_process_escape_character(code, text, pos)
end
end
end |
On verra à peine les modifications de portrait si tu laisses le texte à sa vitesse normale.
Utilise les codes de message \., \| et \!, ou bien un script, pour rythmer le message et rendre les changements visibles.
Face modifications during a message will barely be noticeable if you leave the message to display at default speed.
Make sure to use message codes \., \| and \!, or a script, to give some rhythm to your message and make it noticeable when a character changes their expression.
Publié le 8 juillet 2022.
|