x4基石吧 关注:17,237贴子:237,611
  • 2回复贴,共1

想问下 在NPC对话字幕中加上底色 有可能么。。?

取消只看楼主收藏回复

萌新一只 做任务的时候经常性看不清对话文本 导致都不知道自己为啥要这么做。。
于是自己更改了对话字体的颜色 但是发现无论用什么颜色 在某些情况下依然很难辨认
后来分析是因为背景色杂乱 导致无论字体用什么颜色 辨识度都很低 就寻思着能不能给文字加一个半透明的背景色
在官方论坛和N网都查了相关资料 但是都没有找到想要的结果 查看了sn_mod_support_apis提供的接口 好像也没看到能从哪里获取与NPC对话的状态。。
官网论坛倒是有个帖子提到可以用show_help函数 但是目测这个函数需要设定一个持续时间 但由于NPC对话持续时间不一 恐怕很难实现。。


IP属地:中国台湾1楼2023-05-19 14:29回复
    忘记说修改字体颜色的方法了。。:
    在翻译文件中有类似\033R \033G这样格式的前缀
    R=red
    G=green
    X=默认(白色)
    也可以使用类似\033#FFFF6600#这样自定义颜色
    在要更改的字体之前加入 并在之后写\033X恢复默认 不然之后的所有字体都会是这个颜色
    另外附上一个PY写的批量替换 功能是批量替换文件中voice属性为yes的值 在值之前加上颜色代码并在之后加上恢复默认颜色代码
    #!/usr/bin/python3
    from xml.dom.minidom import parse
    import xml.dom.minidom
    # 使用minidom解析器打开 XML 文档
    tree = xml.dom.minidom.parse("086.xml")doc = tree.documentElement
    page_name = doc.getElementsByTagName("page")
    for page in page_name:
    if page.getAttribute("voice") == "yes":
    for ts in page.getElementsByTagName("t"):
    ts.childNodes[0].data = "\\033Y"+ts.childNodes[0].data+"\\033X"
    with open("086_fix.xml",'w',encoding="utf-8") as file:
    tree.writexml(file)
    格式可能有点乱。。。


    IP属地:中国台湾3楼2023-05-19 14:40
    回复
      2025-12-31 04:08:20
      广告
      不感兴趣
      开通SVIP免广告
      又检查了一遍解包的文件 居然发现主线任务的语音和文本触发居然是写在md/gs_boso.xml这个文件里的。。
      使用的是speak和text标签。。但是搜素并没发现这两个标签有什么属性能够添加背景色。。
      所以。。看起来通过修改XML达到目的是不太可能了。。


      IP属地:中国台湾6楼2023-05-19 18:07
      回复