加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
本帖最后由 魔法☆梅莉 于 2017-11-3 12:33 编辑
#功能:判定某人是否在队内,如果不在队内则不显示他的对话。 #默认格式:【角色名】 #例如:【娜塔丽】今天天气真好! #若娜塔丽在队伍中则显示这句话,否则不显示。 #不仅限于角色名,可以自由添加其他敏感词。填写在shield_words_list = []数组内即可。 #如果在对话中发现敏感词,则不显示这句对话。 #默认1号开关开启本功能,如果想使用别的开关把JUDGE=1改成其他值即可。关闭1号开关则关闭该功能。 #开关的设定放在事件页的第一条才能起效果,原理不明。放在中间的话对后续的文字可能是不起效果的。 #为了改善使用体验,请将开关设定放在事件页第一条来书写事件。 #作者:梅林 #允许随意使用和修改,可以不标注作者。需要修改本脚本的有关功能可以联系我。 class Window_Message < Window_Base JUDGE = 1 #1号开关用于决定是否打开本效果。注意,只有放在事件最前面才有效。 def add_shield_words(shield_words_list) #shield_words_list = [] i = 1 #把不在队的角色名添加进敏感词列表 loop do if $game_party.battle_members.include?($game_actors[i]) else shield_words_list.push('【'+$game_actors[i].name+'】') end i += 1 break unless $game_actors[i] end end #显示文字的煮鲜橙 alias merlin20171102_fiber_main fiber_main def fiber_main if $game_switches[JUDGE] merlin_judge_fiber_main else merlin20171102_fiber_main end end def merlin_judge_fiber_main $game_message.visible = true shield_words_list = [] update_background update_placement add_shield_words(shield_words_list) loop do text = convert_escape_characters($game_message.all_text) if $game_message.has_text? if judge_text(text, shield_words_list) == 1 $game_message.clear else process_all_text process_input end end $game_message.clear @gold_window.close Fiber.yield break unless text_continue? end close_and_wait $game_message.visible = false @fiber = nil end #判定是否含有敏感词 #alias merlin20171102_judge_text judge_text def judge_text(text, shield_words_list) i = 0 flag = 0 loop do if shield_words_list[i] == nil break else if text.include?(shield_words_list[i]) flag = 1 break end end i += 1 end return flag end end
#功能:判定某人是否在队内,如果不在队内则不显示他的对话。
#默认格式:【角色名】
#例如:【娜塔丽】今天天气真好!
#若娜塔丽在队伍中则显示这句话,否则不显示。
#不仅限于角色名,可以自由添加其他敏感词。填写在shield_words_list = []数组内即可。
#如果在对话中发现敏感词,则不显示这句对话。
#默认1号开关开启本功能,如果想使用别的开关把JUDGE=1改成其他值即可。关闭1号开关则关闭该功能。
#开关的设定放在事件页的第一条才能起效果,原理不明。放在中间的话对后续的文字可能是不起效果的。
#为了改善使用体验,请将开关设定放在事件页第一条来书写事件。
#作者:梅林
#允许随意使用和修改,可以不标注作者。需要修改本脚本的有关功能可以联系我。
class Window_Message < Window_Base
JUDGE = 1
#1号开关用于决定是否打开本效果。注意,只有放在事件最前面才有效。
def add_shield_words(shield_words_list)
#shield_words_list = []
i = 1
#把不在队的角色名添加进敏感词列表
loop do
if $game_party.battle_members.include?($game_actors[i])
else
shield_words_list.push('【'+$game_actors[i].name+'】')
end
i += 1
break unless $game_actors[i]
end
end
#显示文字的煮鲜橙
alias merlin20171102_fiber_main fiber_main
def fiber_main
if $game_switches[JUDGE]
merlin_judge_fiber_main
else
merlin20171102_fiber_main
end
end
def merlin_judge_fiber_main
$game_message.visible = true
shield_words_list = []
update_background
update_placement
add_shield_words(shield_words_list)
loop do
text = convert_escape_characters($game_message.all_text)
if $game_message.has_text?
if judge_text(text, shield_words_list) == 1
$game_message.clear
else
process_all_text
process_input
end
end
$game_message.clear
@gold_window.close
Fiber.yield
break unless text_continue?
end
close_and_wait
$game_message.visible = false
@fiber = nil
end
#判定是否含有敏感词
#alias merlin20171102_judge_text judge_text
def judge_text(text, shield_words_list)
i = 0
flag = 0
loop do
if shield_words_list[i] == nil
break
else
if text.include?(shield_words_list[i])
flag = 1
break
end
end
i += 1
end
return flag
end
end
|