Rpg Maker XP = Tous sur tous
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.

Rpg Maker XP = Tous sur tous

Ici, c'est un forum simple, pour tous savoir sur tous se qui est a savoir sur RMXP, avec quelque scripts, des ressources etc...
 
AccueilRechercherDernières imagesS'enregistrerConnexion
-28%
Le deal à ne pas rater :
Précommande : Smartphone Google Pixel 8a 5G Double Sim 128Go ...
389 € 539 €
Voir le deal

 

 Message écris lettre par lettre

Aller en bas 
+2
dinonico
NinjaXP78
6 participants
AuteurMessage
NinjaXP78
Admin
Admin
NinjaXP78


Messages : 128
Date d'inscription : 11/01/2008
Age : 29
Localisation : Yvelines (78)

Message écris lettre par lettre Empty
MessageSujet: Message écris lettre par lettre   Message écris lettre par lettre Icon_minitimeMar 15 Jan - 11:55

Nom du script : Window_Message
Auteur : Inconnu
Fonction : Voici un script qui permet l'affichage des textes lettre par lettre plutôt que d'un coup.
Remarque : Fonctionnel
Installation : Allez dans l'éditeur de script ( F11 ) et suivez les instructions ci-dessous .

Code:
class Window_Message < Window_Selectable
# ------------------------------------
def initialize
super(80, 304, 480, 160)
self.contents = Bitmap.new(width - 32, height - 32)
self.visible = false
self.z = 9998
@update_text = true
@fade_in = false
@fade_out = false
@contents_showing = false
@cursor_width = 0
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
@update_text = true
@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!(/\\\\/) { "\000" }
@text.gsub!(/\\[Cc]\[([0-9]+)\]/) { "\001[#{$1}]" }
@text.gsub!(/\\[Gg]/) { "\002" }
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_text
if @text != nil
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
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
$game_system.se_play($data_system.decision_se)
return
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
@update_text = false #�š
end
# ------------------------------------
def update
super
if @fade_in
self.contents_opacity = 255
if @input_number_window != nil
@input_number_window.contents_opacity = 255
end
if self.contents_opacity == 255
@fade_in = false
end
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 @update_text
update_text
return
end
if $game_temp.choice_max == 0
self.pause = true
end
if self.pause == true && Input.dir4 != 0
terminate_message
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
terminate_message if self.pause == true
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 = 0
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

UTILISATION

Si vous voulez supprimez le son (hyper saoûlant) lorsque le texte défile supprimez tout simplement la ligne 135 :
Code:
$game_system.se_play($data_system.decision_se)
Revenir en haut Aller en bas
http://ninjarfoot.skyrock.com
dinonico
Bon membre
Bon membre
dinonico


Messages : 52
Date d'inscription : 13/01/2008
Age : 31
Localisation : Saint-Quentin (aisne, Picardie)

Message écris lettre par lettre Empty
MessageSujet: Re: Message écris lettre par lettre   Message écris lettre par lettre Icon_minitimeMar 15 Jan - 14:35

J'adore les scripts des messages surtout celui là Very Happy Ces un bon script qui donne envie de le prendre Wink
Revenir en haut Aller en bas
http://lpep.skyrock.com/
Guan Yu
Testeur
Testeur
Guan Yu


Messages : 43
Date d'inscription : 13/01/2008
Age : 32

Message écris lettre par lettre Empty
MessageSujet: Re: Message écris lettre par lettre   Message écris lettre par lettre Icon_minitimeMar 15 Jan - 15:01

C'est un bon script
Revenir en haut Aller en bas
http://yin-yang-forum.forumpro.fr/index.htm
Korion
Nouveau
Nouveau



Messages : 2
Date d'inscription : 13/01/2008

Message écris lettre par lettre Empty
MessageSujet: Re: Message écris lettre par lettre   Message écris lettre par lettre Icon_minitimeMar 15 Jan - 15:28

utile pour faire par exemple un type qui agonise (genre il a du mal à parler). c'est le genre de détails qui font qu'un jeu donne l'effet d'être travaillé...
Revenir en haut Aller en bas
ZZZZhack
Testeur
Testeur
ZZZZhack


Messages : 66
Date d'inscription : 13/01/2008
Age : 34
Localisation : Ne te retourne surtout pas !

Message écris lettre par lettre Empty
MessageSujet: Re: Message écris lettre par lettre   Message écris lettre par lettre Icon_minitimeMar 15 Jan - 23:36

Un script bien fait mais assez chiant, je l'avais déja bien sur ^^
Revenir en haut Aller en bas
emixam2
Testeur
Testeur
emixam2


Messages : 54
Date d'inscription : 14/01/2008
Age : 35
Localisation : Devant un ordinateur

Message écris lettre par lettre Empty
MessageSujet: Re: Message écris lettre par lettre   Message écris lettre par lettre Icon_minitimeJeu 17 Jan - 0:53

Moi je trouve qe le script Advanced_Messages es mieux. Il possède plus de fonction et ne possède pas le bruitdes lettre qi s'écrive.
Revenir en haut Aller en bas
Contenu sponsorisé





Message écris lettre par lettre Empty
MessageSujet: Re: Message écris lettre par lettre   Message écris lettre par lettre Icon_minitime

Revenir en haut Aller en bas
 
Message écris lettre par lettre
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Le jeu du dernier message :P
» Icone de nouveau message

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Rpg Maker XP = Tous sur tous :: Scripts :: Vos scripts-
Sauter vers:  
Ne ratez plus aucun deal !
Abonnez-vous pour recevoir par notification une sélection des meilleurs deals chaque jour.
IgnorerAutoriser