Créamaker Jeux vidéos Index du Forum
Créamaker Jeux vidéos
Forum faisant partie de Créamaker et traitant de la création de jeux vidéos
 
Créamaker Jeux vidéos Index du ForumFAQRechercherS’enregistrerConnexion

:: Afficher un faceset dans vos messages ::

 
Poster un nouveau sujet   Répondre au sujet    Créamaker Jeux vidéos Index du Forum -> Section création -> Scripts
Sujet précédent :: Sujet suivant  
Auteur Message
darome
Administrateur
Administrateur

Hors ligne

Inscrit le: 12 Avr 2008
Messages: 102
Localisation: Devant mon pc
Masculin
Point(s): 1 043
Moyenne de points: 10,23

MessagePosté le: Mar 15 Avr - 00:57 (2008)    Sujet du message: Afficher un faceset dans vos messages Répondre en citant

Pour que dans vos message s'affiche le faceset de la personne qui parle, deux possibilités :

_ Soit vous utiliser les events
_ Soit vous utiliser les scripts

Pour les events, faudra aller voir dans les tutos car ici je vais parler du script.

Créer un nouveau script au dessus de Main et nommé le "Window_Message".

Coller ce code à l'intérieur :

 
Code:
 [i]#================================================= 
#============================= 
# Window_Message 
#------------------------------------------------------------------------------ 

#================================================= 
#============================= 
 
class Window_Message < Window_Selectable 
#-------------------------------------------------------------------------- 

#-------------------------------------------------------------------------- 
def initialize 
super(80, 304, 480, 160) 
self.contents = Bitmap.new(width - 32, height - 32) 
self.contents.font = Font.new("Arial") 
self.visible = false 
self.z = 9998 
@fade_in = false 
@fade_out = false 
@contents_showing = false 
@cursor_width = 0 
@pic_width = 96 
@pic_height = 96 
self.active = false 
self.index = -1 
end 
#-------------------------------------------------------------------------- 

#-------------------------------------------------------------------------- 
def dispose 
terminate_message 
$game_temp.message_window_showing = false 
if @input_number_window != nil 
@input_number_window.dispose 
end 
super 
end 
#-------------------------------------------------------------------------- 

#-------------------------------------------------------------------------- 
def terminate_message 
self.active = false 
self.pause = false 
self.index = -1 
self.contents.clear 
@contents_showing = false 
 
if $game_temp.message_proc != nil 
$game_temp.message_proc.call 
end 
 
$game_temp.message_text = nil 
$game_temp.message_proc = nil 
$game_temp.choice_start = 99 
$game_temp.choice_max = 0 
$game_temp.choice_cancel_type = 0 
$game_temp.choice_proc = nil 
$game_temp.num_input_start = 99 
$game_temp.num_input_variable_id = 0 
$game_temp.num_input_digits_max = 0 
 
if @gold_window != nil 
@gold_window.dispose 
@gold_window = nil 
end 
end 
#-------------------------------------------------------------------------- 

#-------------------------------------------------------------------------- 
def refresh 
self.contents.clear 
self.contents.font.color = normal_color 
x = y = 0 
@cursor_width = 0 
 
if $game_temp.choice_start == 0 
x = 8 
end 
 
if $game_temp.message_text != nil 
text = $game_temp.message_text 
 
begin 
last_text = text.clone 
text.gsub!(/\\[Vv]\[([0-9]+)\]/) { $game_variables[$1.to_i] } 
end until text == last_text 
text.gsub!(/\\[Nn]\[([0-9]+)\]/) do 
$game_actors[$1.to_i] != nil ? $game_actors[$1.to_i].name : "" 
end 
text.gsub!(/\\[Ww]\[([0-9]+)\]/) do 
@pic_width = $1.to_i 
"" 
end 
text.gsub!(/\\[Hh]\[([0-9]+)\]/) do 
@pic_height = $1.to_i 
"" 
end 
text.gsub!(/\\[Ff]\[([\w]+)\]/) do 
temp = RPG::Cache.picture($1) 
pic_x = self.contents.width - @pic_width - 10 
pic_y = self.contents.height / 2 - @pic_height / 2 
dest = Rect.new(pic_x,pic_y,@pic_width, @pic_height) 
src = Rect.new(0,0,temp.width, temp.height) 
self.contents.stretch_blt(dest, temp, src) 
"" 
end 
 
text.gsub!(/\\\\/) { "\000" } 
text.gsub!(/\\[Cc]\[([0-9]+)\]/) { "\001[#{$1}]" } 
text.gsub!(/\\[Gg]/) { "\002" } 
 
while ((c = text.slice!(/./m)) != nil) 
 
if c == "\000" 
c = "\\" 
end 
 
if c == "\001" 
text.sub!(/\[([0-9]+)\]/, "") 
color = $1.to_i 
if color >= 0 and color <= 7 
self.contents.font.color = text_color(color) 
end 
next 
end 
 
if c == "\002" 
if @gold_window == nil 
@gold_window = Window_Gold.new 
@gold_window.x = 560 - @gold_window.width 
if $game_temp.in_battle 
@gold_window.y = 192 
else 
@gold_window.y = self.y >= 128 ? 32 : 384 
end 
@gold_window.opacity = self.opacity 
@gold_window.back_opacity = self.back_opacity 
end 
next 
end 
 
if c == "\n" 
if y >= $game_temp.choice_start 
@cursor_width = [@cursor_width, x].max 
end 
y += 1 
x = 0 
 
if y >= $game_temp.choice_start 
x = 8 
end 
next 
end 
 
self.contents.draw_text(4 + x, 32 * y, 40, 32, c) 
 
x += self.contents.text_size(c).width 
end 
end 
 
if $game_temp.choice_max > 0 
@item_max = $game_temp.choice_max 
self.active = true 
self.index = 0 
end 
 
if $game_temp.num_input_variable_id > 0 
digits_max = $game_temp.num_input_digits_max 
number = $game_variables[$game_temp.num_input_variable_id] 
@input_number_window = Window_InputNumber.new(digits_max) 
@input_number_window.number = number 
@input_number_window.x = self.x + 8 
@input_number_window.y = self.y + $game_temp.num_input_start * 32 
end 
end 
#-------------------------------------------------------------------------- 

#-------------------------------------------------------------------------- 
def reset_window 
if $game_temp.in_battle 
self.y = 16 
else 
case $game_system.message_position 
when 0 # ? 
self.y = 16 
when 1 # ? 
self.y = 160 
when 2 # ? 
self.y = 304 
end 
end 
if $game_system.message_frame == 0 
self.opacity = 255 
else 
self.opacity = 0 
end 
self.back_opacity = 160 
end 
#-------------------------------------------------------------------------- 

#-------------------------------------------------------------------------- 
def update 
super 
 
if @fade_in 
self.contents_opacity += 24 
if @input_number_window != nil 
@input_number_window.contents_opacity += 24 
end 
if self.contents_opacity == 255 
@fade_in = false 
end 
return 
end 
 
if @input_number_window != nil 
@input_number_window.update 
 
if Input.trigger?(Input::C) 
$game_system.se_play($data_system.decision_se) 
$game_variables[$game_temp.num_input_variable_id] = @input_number_window.number 
$game_map.need_refresh = true 
 
@input_number_window.dispose 
@input_number_window = nil 
terminate_message 
end 
return 
end 
 
if @contents_showing 
 
if $game_temp.choice_max == 0 
self.pause = true 
end 
 
if Input.trigger?(Input::B) 
if $game_temp.choice_max > 0 and $game_temp.choice_cancel_type > 0 
$game_system.se_play($data_system.cancel_se) 
$game_temp.choice_proc.call($game_temp.choice_cancel_type - 1) 
terminate_message 
end 
end 
 
if Input.trigger?(Input::C) 
if $game_temp.choice_max > 0 
$game_system.se_play($data_system.decision_se) 
$game_temp.choice_proc.call(self.index) 
end 
terminate_message 
end 
return 
end 
 
if @fade_out == false and $game_temp.message_text != nil 
@contents_showing = true 
$game_temp.message_window_showing = true 
reset_window 
refresh 
Graphics.frame_reset 
self.visible = true 
self.contents_opacity = 0 
if @input_number_window != nil 
@input_number_window.contents_opacity = 0 
end 
@fade_in = true 
return 
end 
 
if self.visible 
@fade_out = true 
self.opacity -= 48 
if self.opacity == 0 
self.visible = false 
@fade_out = false 
$game_temp.message_window_showing = false 
end 
return 
end 
end 
#-------------------------------------------------------------------------- 

#-------------------------------------------------------------------------- 
def update_cursor_rect 
if @index >= 0 
n = $game_temp.choice_start + @index 
self.cursor_rect.set(8, n * 32, @cursor_width, 32) 
else 
self.cursor_rect.empty 
end 
end 
end[/i]
 


Voila pour le script.

A chaque fois que vous ferez parler un personnage dans message faudra écrire :

 
Code:
 \f[nom_de_l'image_sans_l'extension]


L'image doit être 96x96 et dans le dossier Pictures de votre jeu.
L'image sera à droite du message.

Bonne création !
_________________

Which Final Fantasy Character Are You?
Final Fantasy 7


Revenir en haut
Visiter le site web du posteur MSN
Publicité






MessagePosté le: Mar 15 Avr - 00:57 (2008)    Sujet du message: Publicité

PublicitéSupprimer les publicités ?
Revenir en haut
Montrer les messages depuis:   
Poster un nouveau sujet   Répondre au sujet    Créamaker Jeux vidéos Index du Forum -> Section création -> Scripts Toutes les heures sont au format GMT + 2 Heures
Page 1 sur 1

 
Sauter vers:  

Index | Panneau d’administration | Creer un forum | Forum gratuit d’entraide | Annuaire des forums gratuits | Signaler une violation | Conditions générales d'utilisation
WorkStation[fusion] © theme by larme d'ange 2006
Powered by phpBB © 2001, 2005 phpBB Group
Traduction par : phpBB-fr.com