#---FENIX---显示物品名称,"\I[XXX]"~~~~~~~~~~~~~~~~~~~~
text.gsub!(/\\[Ii]\[([0-9]+)\]/) do
$data_items[$1.to_i] != nil ? $data_items[$1.to_i].name : ""
end
#---FENIX---显示武器名称,"\W[XXX]"~~~~~~~~~~~~~~~~~~~~
text.gsub!(/\\[Ww]\[([0-9]+)\]/) do
$data_weapons[$1.to_i] != nil ? $data_weapons[$1.to_i].name : ""
end
#---FENIX---显示防具名称,"\A[XXX]"~~~~~~~~~~~~~~~~~~~~
text.gsub!(/\\[Aa]\[([0-9]+)\]/) do
$data_armors[$1.to_i] != nil ? $data_armors[$1.to_i].name : ""
end
#---FENIX---显示技能名称,"\S[XXX]"~~~~~~~~~~~~~~~~~~~~
text.gsub!(/\\[Ss]\[([0-9]+)\]/) do
$data_skills[$1.to_i] != nil ? $data_skills[$1.to_i].name : ""
end
#---FENIX---显示职业名称,"\Z[XXX]"~~~~~~~~~~~~~~~~~~~~
text.gsub!(/\\[Zz]\[([0-9]+)\]/) do
$data_classes[$1.to_i] != nil ? $data_classes[$1.to_i].name : ""
end
#~~~~~~~~~~~~~~~~~~~~
只要把上面的代码插入Window_Message的
# 有等待显示的文字的情况下
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
后面,就能调用了.其实原来的代码也就是用正则表达式替换显示变量和姓名而已.
没有什么技术含量,照套的.按这个道理还可以显示更多的内容
#---FENIX---显示物品名称,\"\\I[XXX]\"~~~~~~~~~~~~~~~~~~~~
text.gsub!(/\\\\[Ii]\\[([0-9]+)\\]/) do
$data_items[$1.to_i] != nil ? $data_items[$1.to_i].name : \"\"
end
#---FENIX---显示武器名称,\"\\W[XXX]\"~~~~~~~~~~~~~~~~~~~~
text.gsub!(/\\\\[Ww]\\[([0-9]+)\\]/) do
$data_weapons[$1.to_i] != nil ? $data_weapons[$1.to_i].name : \"\"
end
#---FENIX---显示防具名称,\"\\A[XXX]\"~~~~~~~~~~~~~~~~~~~~
text.gsub!(/\\\\[Aa]\\[([0-9]+)\\]/) do
$data_armors[$1.to_i] != nil ? $data_armors[$1.to_i].name : \"\"
end
#---FENIX---显示技能名称,\"\\S[XXX]\"~~~~~~~~~~~~~~~~~~~~
text.gsub!(/\\\\[Ss]\\[([0-9]+)\\]/) do
$data_skills[$1.to_i] != nil ? $data_skills[$1.to_i].name : \"\"
end
#---FENIX---显示职业名称,\"\\Z[XXX]\"~~~~~~~~~~~~~~~~~~~~
text.gsub!(/\\\\[Zz]\\[([0-9]+)\\]/) do
$data_classes[$1.to_i] != nil ? $data_classes[$1.to_i].name : \"\"
end
#~~~~~~~~~~~~~~~~~~~~
只要把上面的代码插入Window_Message的
# 有等待显示的文字的情况下
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
后面,就能调用了.其实原来的代码也就是用正则表达式替换显示变量和姓名而已.