设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 2935|回复: 3
打印 上一主题 下一主题

[原创发布] 自动跳过不在队伍内的队友的对话

[复制链接]

Lv3.寻梦者

梦石
0
星屑
1078
在线时间
127 小时
注册时间
2017-9-27
帖子
42
跳转到指定楼层
1
发表于 2017-11-2 16:55:24 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
本帖最后由 魔法☆梅莉 于 2017-11-3 12:33 编辑

RUBY 代码复制
  1. #功能:判定某人是否在队内,如果不在队内则不显示他的对话。
  2. #默认格式:【角色名】
  3. #例如:【娜塔丽】今天天气真好!
  4. #若娜塔丽在队伍中则显示这句话,否则不显示。
  5. #不仅限于角色名,可以自由添加其他敏感词。填写在shield_words_list = []数组内即可。
  6. #如果在对话中发现敏感词,则不显示这句对话。
  7. #默认1号开关开启本功能,如果想使用别的开关把JUDGE=1改成其他值即可。关闭1号开关则关闭该功能。
  8. #开关的设定放在事件页的第一条才能起效果,原理不明。放在中间的话对后续的文字可能是不起效果的。
  9. #为了改善使用体验,请将开关设定放在事件页第一条来书写事件。
  10. #作者:梅林
  11. #允许随意使用和修改,可以不标注作者。需要修改本脚本的有关功能可以联系我。
  12.  
  13. class Window_Message < Window_Base
  14.  
  15.   JUDGE = 1
  16.   #1号开关用于决定是否打开本效果。注意,只有放在事件最前面才有效。
  17.  
  18.   def add_shield_words(shield_words_list)
  19.     #shield_words_list = []
  20.     i = 1
  21.     #把不在队的角色名添加进敏感词列表
  22.     loop do
  23.       if $game_party.battle_members.include?($game_actors[i])
  24.         else
  25.         shield_words_list.push('【'+$game_actors[i].name+'】')
  26.       end
  27.       i += 1
  28.       break unless $game_actors[i]
  29.     end
  30.   end
  31.  
  32.   #显示文字的煮鲜橙
  33.   alias merlin20171102_fiber_main fiber_main
  34.   def fiber_main
  35.     if $game_switches[JUDGE]
  36.       merlin_judge_fiber_main
  37.      else
  38.       merlin20171102_fiber_main
  39.     end
  40.   end
  41.  
  42.   def merlin_judge_fiber_main
  43.     $game_message.visible = true
  44.     shield_words_list = []
  45.     update_background
  46.     update_placement
  47.     add_shield_words(shield_words_list)
  48.     loop do
  49.       text = convert_escape_characters($game_message.all_text)
  50.       if $game_message.has_text?
  51.         if judge_text(text, shield_words_list) == 1
  52.            $game_message.clear
  53.         else
  54.           process_all_text
  55.           process_input
  56.         end
  57.       end
  58.       $game_message.clear
  59.       @gold_window.close
  60.       Fiber.yield
  61.       break unless text_continue?
  62.     end
  63.     close_and_wait
  64.     $game_message.visible = false
  65.     @fiber = nil
  66.   end
  67.  
  68.   #判定是否含有敏感词
  69.   #alias merlin20171102_judge_text judge_text
  70.   def judge_text(text, shield_words_list)
  71.     i = 0
  72.     flag = 0
  73.     loop do
  74.       if shield_words_list[i] == nil
  75.         break
  76.       else
  77.         if text.include?(shield_words_list[i])
  78.          flag = 1
  79.          break
  80.         end
  81.       end
  82.       i += 1
  83.     end
  84.     return flag
  85.   end
  86. end







评分

参与人数 1星屑 +100 收起 理由
RaidenInfinity + 100 原创发布

查看全部评分

我是梅林,人称花之魔术师。

Lv6.析梦学徒

老鹰

梦石
40
星屑
33387
在线时间
6551 小时
注册时间
2012-5-26
帖子
3178

极短24评委极短23参与极短22参与极短21评委老司机慢点开短篇十吟唱者组别冠军开拓者剧作品鉴家

2
发表于 2017-11-2 17:29:36 | 只看该作者
居然不是改成 **** 之类的,而且难道不是作者自己想写出这些敏感词的吗?!

评分

参与人数 1+1 收起 理由
魔法☆梅莉 + 1 因为真正的功能并不是用来判定敏感词哟。.

查看全部评分

回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
31867
在线时间
5079 小时
注册时间
2012-11-19
帖子
4877

开拓者

3
发表于 2017-11-2 20:59:28 | 只看该作者
感觉略鸡肋。
你可以再弄个设置选项,玩家选择 看不看敏感词 ,不看的话这个就起作用。

评分

参与人数 1+1 收起 理由
魔法☆梅莉 + 1 已经弄好了

查看全部评分

xp vx va mv  va mz 各类型脚本/插件定制
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
7
星屑
1113
在线时间
334 小时
注册时间
2008-1-28
帖子
1566
4
发表于 2017-11-3 03:34:51 | 只看该作者
从STCN看到P社下架国区钢4回来,就看到这个功能脚本。
搞得我心慌慌的,局势这么紧张了吗?


不过用作消除游戏内的剧透“关键词”,在后阶段玩家才能看到,或者语言翻译什么的应该蛮有用的。

评分

参与人数 1+1 收起 理由
魔法☆梅莉 + 1 是为了其他的功能呢。

查看全部评分

终于有可以放在这里的游戏了……
极短13 新生 《箱子新世界》
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-4-19 22:41

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表