RPG Socrate
Bonjour et Bienvenue sur RPG Socrate !!!




Si tu es déjà inscrit, connecte toi ci-dessous.

Sinon, inscrit-toi vite (en cliquant sur "s'enregistrer").

Nous serons ravis de t'accueillir parmi nous !!!




L'homme sans visage

Rejoignez le forum, c’est rapide et facile

RPG Socrate
Bonjour et Bienvenue sur RPG Socrate !!!




Si tu es déjà inscrit, connecte toi ci-dessous.

Sinon, inscrit-toi vite (en cliquant sur "s'enregistrer").

Nous serons ravis de t'accueillir parmi nous !!!




L'homme sans visage
RPG Socrate
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
Connexion

Récupérer mon mot de passe

Meilleurs posteurs
Yosura (252)
Dialogues en bulles de BD I_vote_lcapDialogues en bulles de BD I_voting_barDialogues en bulles de BD I_vote_rcap 
L'homme sans visage (225)
Dialogues en bulles de BD I_vote_lcapDialogues en bulles de BD I_voting_barDialogues en bulles de BD I_vote_rcap 
The Best of Maker (196)
Dialogues en bulles de BD I_vote_lcapDialogues en bulles de BD I_voting_barDialogues en bulles de BD I_vote_rcap 
okaya (103)
Dialogues en bulles de BD I_vote_lcapDialogues en bulles de BD I_voting_barDialogues en bulles de BD I_vote_rcap 
kilari (26)
Dialogues en bulles de BD I_vote_lcapDialogues en bulles de BD I_voting_barDialogues en bulles de BD I_vote_rcap 
apocalypse (8)
Dialogues en bulles de BD I_vote_lcapDialogues en bulles de BD I_voting_barDialogues en bulles de BD I_vote_rcap 
Shaymin (6)
Dialogues en bulles de BD I_vote_lcapDialogues en bulles de BD I_voting_barDialogues en bulles de BD I_vote_rcap 
EM!R'Ald (4)
Dialogues en bulles de BD I_vote_lcapDialogues en bulles de BD I_voting_barDialogues en bulles de BD I_vote_rcap 
yojoqc (3)
Dialogues en bulles de BD I_vote_lcapDialogues en bulles de BD I_voting_barDialogues en bulles de BD I_vote_rcap 
fandbz13 (3)
Dialogues en bulles de BD I_vote_lcapDialogues en bulles de BD I_voting_barDialogues en bulles de BD I_vote_rcap 

Horloge Socratienne
Voter pour nôtre site avec un écart de 2h entre chaque vote. MERCI

TOP GAMEMAKING
L'Hymne de RPG Socrate

Découvrez Tryo!
Nombre de Visiteurs
Derniers sujets
» L'avenir de RPG Socrate
Dialogues en bulles de BD Icon_minitime1Mar 19 Juin 2012 - 19:07 par apocalypse

» parodie des jeux pokemon
Dialogues en bulles de BD Icon_minitime1Ven 8 Juin 2012 - 18:56 par apocalypse

» Rpg maker xp
Dialogues en bulles de BD Icon_minitime1Jeu 14 Juil 2011 - 4:56 par kaplio0777

» Présentation de kaplio0777
Dialogues en bulles de BD Icon_minitime1Jeu 14 Juil 2011 - 4:43 par kaplio0777

» me presenté
Dialogues en bulles de BD Icon_minitime1Ven 17 Juin 2011 - 17:12 par apocalypse

» créer un jeu de rôle
Dialogues en bulles de BD Icon_minitime1Ven 17 Juin 2011 - 17:09 par apocalypse

» se presenter
Dialogues en bulles de BD Icon_minitime1Mer 19 Jan 2011 - 21:54 par apocalypse

» Serment du Juge actuel
Dialogues en bulles de BD Icon_minitime1Dim 26 Déc 2010 - 15:52 par Yosura

» Le Réseau Social - Parodie de la BA de The Social Network
Dialogues en bulles de BD Icon_minitime1Dim 26 Déc 2010 - 15:42 par Yosura

[Partenaire] Feuille d'RPG

Mer 28 Jan 2009 - 0:42 par L\'homme sans visage

Un site crée part kilari spécialisé dans les scénarios.

Feuille d'RPG

Commentaires: 0

[Partenaire] RPG Alliance

Lun 26 Jan 2009 - 20:45 par L\'homme sans visage

Voici le site que nous avons créer en partenariat avec The Best of Maker :

RPG Alliance

Commentaires: 0

[Partenaire] Super RPG

Sam 24 Jan 2009 - 0:38 par L\'homme sans visage

Voici le site de nôtre ami The Best of Maker.
Il parle de RPG maker (vous l'aurez sûrement devinez Laughing) :

Super RPG

Commentaires: 0

Sondage

Quel est la version de RPG maker que vous préférez ?

Dialogues en bulles de BD I_vote_lcap75%Dialogues en bulles de BD I_vote_rcap 75% [ 18 ]
Dialogues en bulles de BD I_vote_lcap0%Dialogues en bulles de BD I_vote_rcap 0% [ 0 ]
Dialogues en bulles de BD I_vote_lcap4%Dialogues en bulles de BD I_vote_rcap 4% [ 1 ]
Dialogues en bulles de BD I_vote_lcap4%Dialogues en bulles de BD I_vote_rcap 4% [ 1 ]
Dialogues en bulles de BD I_vote_lcap17%Dialogues en bulles de BD I_vote_rcap 17% [ 4 ]

Total des votes : 24

Lutter contre le SPAM
-45%
Le deal à ne pas rater :
WHIRLPOOL OWFC3C26X – Lave-vaisselle pose libre 14 couverts – ...
339 € 622 €
Voir le deal

Dialogues en bulles de BD

Aller en bas

Normal Dialogues en bulles de BD

Message par okaya Mar 24 Fév 2009 - 20:34

#==============================================
# ■ Window_Message
#------------------------------------------------------------------------------
#  文章表示に使うメッセージウィンドウです。
#==============================================

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
@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
# 表示中フラグをクリア
@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
if @comic !=nil
@comic.dispose
@comic = nil
end
end
#Comic Script
def GRmens_calc(x, y, w_size, text)
self.x = 700
rsl_size = w_size + 32
h_size = 64
rsl_x = [[x - rsl_size / 2, 0].max, 640 - rsl_size].min
if y <= 96
rsl_y = [[y - 16, 0].max, 480 - 116].min
else
rsl_y = [[y - 116, 0].max, 480 - 116].min
end

if x >= 608
ind_x = x - 16
ind_name = "ind_se"
else
ind_x = x + 8
ind_name = "ind_so"
end

if y <= 96
ind_y = rsl_y - 7
ind_name = "ind_no"
else
ind_y = rsl_y + 61
end

if x >= 608 and y <= 96
ind_name = "ind_ne"
end

@comic = Window_GRmens.new (rsl_x, rsl_y, rsl_size, ind_x, ind_y, ind_name, text)
end
#--------------------------------------------------------------------------
# ● リフレッシュ
#--------------------------------------------------------------------------
def refresh
self.contents.clear
self.contents.font.color = normal_color
self.contents.font.name = $fontface
self.contents.font.size = $fontsize
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
# 便宜上、"\\\\" を "\000" に変換
text.gsub!(/\\\\/) { "\000" }
#--------event
if (/\\[Nn]pc\[(.+?)\]/.match(last_text)) != nil
event_id = $1
x = $game_map.events[$1.to_i].screen_x
y = $game_map.events[$1.to_i].screen_y
text.sub!(/\\[Nn]pc\[(.*?)\]/) { "" }
w_size = self.contents.text_size(text).width
GRmens_calc(x, y, w_size, text)
end
#---------player
if (/\\[Pp]lr/.match(last_text)) != nil
x = $game_player.screen_x
y = $game_player.screen_y
text.sub!(/\\[Pp]lr/) { "" }
w_size = self.contents.text_size(text).width
GRmens_calc(x, y, w_size, text)
end
# "\\C" を "\001" に、"\\G" を "\002" に変換
text.gsub!(/\\[Cc]\[([0-9]+)\]/) { "\001[#{$1}]" }
text.gsub!(/\\[Gg]/) { "\002" }
# c に 1 文字を取得 (文字が取得できなくなるまでループ)
while ((c = text.slice!(/./m)) != nil)
# \\ の場合
if c == "\000"
# 本来の文字に戻す
c = "\\"
end
# \C[n] の場合
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
# \G の場合
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 を加算
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 に描画した文字の幅を加算
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


Créez ensuite un autre script au dessus de main que vous appellerez Comic et copiez-y le code suivant:

Code:
class Window_GRmens < Window_Selectable

#--------------------------------------------------------------------------

def initialize(rsl_x, rsl_y, rsl_size, ind_x, ind_y, ind_name, text)
super(rsl_x, rsl_y, rsl_size, 64)
self.contents = Bitmap.new(self.width - 32, self.height - 32)
self.windowskin = RPG::Cache.windowskin("comic_skin")
w = self.contents.width
h = self.contents.height
self.contents.font.name = $fontface
self.contents.font.size = $fontsize
self.contents.font.color = text_color(9)
self.contents.draw_text(0, 0, w, h, text)
@ind = Sprite.new
@ind.bitmap = RPG::Cache.picture(ind_name)
@ind.x = ind_x
@ind.y = ind_y
@ind.z = 101
end
#--------------------------------------------------------------------------
def dispose
self.contents = nil
@ind.dispose
super
end
end

Il suffit ensuite de placer avant le message soit \plr pour que la bulle indique le héros ou \npc[***] pour un autre evenement. (Il faut remplacer *** par le numero de l'évènement
okaya
okaya
Secrétaire Général
Secrétaire Général

Masculin
Nombre de messages : 103
Age : 26
Localisation : BOULOGNE-BILLANCOURT
Avertissement :
Dialogues en bulles de BD Left_bar_bleue0 / 1000 / 100Dialogues en bulles de BD Right_bar_bleue

Points : 7598
Date d'inscription : 09/01/2009

Revenir en haut Aller en bas

Revenir en haut


 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum