Kingdommangas Ninja (niveau 4)
Messages postés : 210 Date d'inscription : 19/12/2015 Jauge LPC :
| Sujet: Colorier les mots dans le texte (pour les flemmards XD) Lun 28 Déc 2015 - 13:45 | |
| Voici un script pour colorier certains mots dans les textes de vos jeux. Attention ce script demande une très grand connaissance et il est d'une complexité sans nom. Bref, voici comment l'utiliser: De la ligne 27 à 32 vous pouvez régler les couleurs et leurs nombres - Code:
-
DEF_COLOR = { 0 => Color.new(175, 238, 238), # Bleu ciel 1 => Color.new(255, 236, 139), # Jaune 2 => Color.new(250, 128, 114), # rouge } # <- évidamment vous ne touchez pas à cette ligne. De la ligne 36 à 45 vous devez écrire tout les mots dont vous souhaitez voire en couleur dans vos textes. - Code:
-
DEF_KEYWORD = { "lorsqu'on" => 0, "a" => 0, "flemme" => 0, "colorier" => 1, "sois-même" => 1, "les" => 2, "mots" => 2, } # <- évidamment vous ne touchez pas à cette ligne. Attention c'est maintenant que ca se complique, il faudra penser à accorder chaque mots à une couleurs. C'est tout - Code:
-
=begin RGSS3 ★ キーワードの文字色自動変更 ★
イベントの"文章の表示"において、わざわざ制御文字を使わなくても、 特定のキーワードの文字色を自動で変更出来ます。 ● 使い方 ●======================================================== スクリプト内の設定箇所に、色の定義とキーワードの定義を行ってください ==================================================================== ver1.00 Last Update : 2015/10/10 10/10 : 新規 ろかん http://kaisou-ryouiki.sakura.ne.jp/ =end
#=========================================== # 設定箇所 #=========================================== module KEYWORD_COLOR # 文字色の定義 # [形式] 文字色の定義番号 => Color.new(Red, Green, Blue), DEF_COLOR = { 0 => Color.new(175, 238, 238), # Bleu ciel 1 => Color.new(255, 236, 139), # Jaune 2 => Color.new(250, 128, 114), # rouge } # <- évidamment vous ne touchez pas à cette ligne. # キーワードと文字色の紐付け # [形式] "キーワード" => DEF_COLORで定義した文字色の番号, DEF_KEYWORD = { "lorsqu'on" => 0, "a" => 0, "flemme" => 0, "colorier" => 1, "sois-même" => 1, "les" => 2, "mots" => 2, } # <- évidamment vous ne touchez pas à cette ligne. # 制御文字の文字色自動変更設定 # \N[n], \P[n] の2つについて自動で文字色を変更します # 無効にする場合は nil を設定してください ESCAPE_CHR_COLOR = 0 # DEF_COLOR で定義した文字色の番号を設定 end #=========================================== # ここまで #===========================================
$rsi ||= {} $rsi["キーワードの文字色自動変更"] = true
class RPG::EventCommand include KEYWORD_COLOR def convert_keyword_characters if @code == 401 DEF_KEYWORD.each{|keyword, color| @parameters[0].gsub!(keyword){"\eK[#{color}]#{keyword}\eE"}} if ESCAPE_CHR_COLOR @parameters[0].gsub!(/\\/){"\e"} @parameters[0].gsub!(/\eN\[(\d+)\]/i){"\eK[#{ESCAPE_CHR_COLOR}]\eN[#{$1.to_i}]\eE"} @parameters[0].gsub!(/\eP\[(\d+)\]/i){"\eK[#{ESCAPE_CHR_COLOR}]\eP[#{$1.to_i}]\eE"} end end end end
class << DataManager #-------------------------------------------------------------------------- # ● コモンイベントのメッセージを事前検査 #-------------------------------------------------------------------------- def pre_check_message_for_commonevent $data_common_events.each{|event| if event event.list.each{|command| command.convert_keyword_characters } end } end #-------------------------------------------------------------------------- # ● 通常のデータベースをロード #-------------------------------------------------------------------------- alias keyword_color_load_normal_database load_normal_database def load_normal_database keyword_color_load_normal_database pre_check_message_for_commonevent end end
class Game_Event < Game_Character #-------------------------------------------------------------------------- # ● オブジェクト初期化 #-------------------------------------------------------------------------- alias keyword_color_initialize initialize def initialize(map_id, event) keyword_color_initialize(map_id, event) pre_check_all_message end #-------------------------------------------------------------------------- # ● イベントの全メッセージを事前検査 & 置換 #-------------------------------------------------------------------------- def pre_check_all_message @event.pages.each{|page| page.list.each{|command| command.convert_keyword_characters} } end end
class Window_Message < Window_Base #-------------------------------------------------------------------------- # ● インクルード KEYWORD_COLOR #-------------------------------------------------------------------------- include KEYWORD_COLOR #-------------------------------------------------------------------------- # ● 制御文字の処理 #-------------------------------------------------------------------------- alias keyword_color_process_escape_character process_escape_character def process_escape_character(code, text, pos) case code.upcase when 'K' # キーワードの文字色変更 開始 @last_contents_font_color = contents.font.color.clone change_color(DEF_COLOR[obtain_escape_param(text)]) when 'E' # キーワードの文字色変更 終了 change_color(@last_contents_font_color) end keyword_color_process_escape_character(code, text, pos) end end Et comme on est des flemmards et fiers de l'être, un screen comme aperçut. Fonctionne également avec des groupe de mots, ni repris ni échanger. En cas de réclamation aller sur le site source http://kaisou-ryouiki.sakura.ne.jp/ |
|
Kasbak Membre V.I.P.
Messages postés : 1356 Date d'inscription : 05/01/2013 Jauge LPC :
| Sujet: Re: Colorier les mots dans le texte (pour les flemmards XD) Lun 28 Déc 2015 - 18:35 | |
| Ouai c'est assez complexe surtout qu'avec la plupart des script de texte, tu as juste à mettre les valeurs des nouvelles couleurs dans la boite de dialogues, mais merci quand même du partage. |
|