• 注册
  • 攻略教程 攻略教程 关注:774 内容:231

    七日杀找不到丧尸解决办法

  • 查看作者
  • 打赏作者
  • 当前位置: 七日杀中文网 > 攻略教程 > 正文
  • 攻略教程
  • Lv.2

    2023.11.19 更新  简易方法现在有了

    下载后直接双击即可,上游戏就能看到效果。有兴趣的话还有视频演示:[七日杀找不到丧尸解决办法]

    7D-MXml_工具.zip
    解压密码 回复可见

    7D-MXml_源码.zip

    ====================================================

    一、原理

    我们做任务一般在剩余最后几只丧尸时会看到黄点提示,这时候只要跟着黄点指示走就可以解决这几只漏网之鱼顺利回家。

    所以这个办法的思路是降低这个指示黄点出现的条件,让它在剩余3处甚至7处丧尸时就出现,就像这样

    七日杀找不到丧尸解决办法

    原帖:https://www.7risha.com/5357.html

    二、实现方式

    修改路径`7 Days To Die\Data\Prefabs`下对应建筑的以`.xml`为后缀的文件中这一行:`<property name=”ShowQuestClearCount” value=”1″ />`,其value的值就是出现提示黄点的条件——剩余几处丧尸时出现黄点。

    而怎么找任务对应的建筑也不难,在`7 Days To Die\Data\Config\Localization.txt`中搜索任务给的地点就行。

    三、批量修改

    但是这里的xml文件共有1284个,一个一个改那还玩不玩游戏了?或者可以接一个任务然后退游戏修改下?

    我觉得那样还是很麻烦,于是写了个脚本。

    # Python 3.11.4
    import xml.etree.ElementTree as ET
    import os,csv,time
    
    # 程序功能:获取指定文件夹下所有xml文件,将其中的指定节点值读取出来,且可按配置修改其数值。
    # 依次获取指定路径下所有的xml文件,送给loadxml()处理
    def find_xmlfile(directory,flag=1):
        for root,dirs,files in os.walk(directory): # os.wark(路径),返回的三个分别为 文件夹地址、文件夹内所有目录、文件夹内所有文件
            for file in files:
                if file.endswith(".xml"): # 检查文件是否以.xml结尾
                    file_path = os.path.abspath(os.path.join(root,file))
                    readxml(file_path,file,flag)    # 处理找到的xml文件。返回值分别为 路径、文件名、flag值(详见启动处)
        writee()    # 保存文件
    
    # 定位到xml文件中指定位置,获取其值
    def readxml(file_path,file,flag):
        new_value = None
        tree = ET.parse(file_path) # 使用 ET.parse 解析XML文件
        root = tree.getroot() # 获取根元素
        property_elem = root.find("./property[@name='ShowQuestClearCount']")  # 使用 find 方法查找查找name为"ShowQuestClearCount"的第一个匹配的元素
    
        if property_elem is not None:
            value = property_elem.attrib.get('value')   # 获取 'value' 属性值
            if value is not None and flag != '1': # 如果flag的值不为默认的1
                new_value= str(int(eval(str(value) + '*' + str(flag))))    # 将原先的值乘以flag倍
                property_elem.set('value',new_value)
                tree.write(file_path,encoding="UTF-8",xml_declaration=True)
    
            printf(f"{file}",value,new_value)
    
    # 添加文件内容的方法
    def printf(add1,add2,add3):
        print([add1,add2,add3])
        data.append([add1,add2,add3])
    
    # 保存文件的方法
    def writee():
        with open(SaveFilePath, 'w', newline='',encoding="UTF-8") as f:
            writer = csv.writer(f)
            writer.writerows(data)
    
    # 按间距中的绿色按钮以运行脚本。
    if __name__ == '__main__':
        # 定义要保存的数据
        data = [['FileName', 'original value', 'modified value']]
        directory_path = 'E:\\SteamLibrary\\steamapps\\common\\7 Days To Die\\Data\\Prefabs'  # 要读取/修改的文件路径
        SaveFilePath = os.path.expanduser("~") + "\\Desktop\\" + f"{time.strftime('%Y%m%d_%H%M%S',time.localtime(time.time()))}.csv"  # 要保存结果的文件路径
        find_xmlfile(directory_path,flag='3')  # flag值不为1时修改其值为原数值的flag倍

    这是个python脚本,作用就是帮我们找到游戏路径下所有的XML文件,并把里面的那个`ShowQuestClearCount`对应的值改为N倍。

    要使用这个脚本需要自己修改两个地方,一个是游戏安装路径`directory_path`,一般只需要改最前面的盘符就行了。

    七日杀找不到丧尸解决办法

    修改另一个地方是脚本最后一行`flag='3'`这句里的数字,比如你想把小黄点出现条件降低3倍,那就改成3,想改回去就改成`1/3`就好,别改的太大,不然满屏都是小黄点。

    最后一步,脚本怎么运行?

    1. 下载安装python:www.python.org,安装很简单,全网都是教程。

    2. 将上面的代码复制粘贴到文本文档保存,后缀改成`.py`,然后打开cmd,输入命令`python xxx.py`就行了(xxx是你给起的文件名)。同样的,全网都是教程,不明白了随便搜一下就会。

    七日杀找不到丧尸解决办法

    注意

    1. 在运行前可以先自己备份`下Prefabs`文件夹,当然不备份也行,可以用这个脚本给改回去,也可以用steam自带的`验证游戏文件的完整性`给恢复。

    2. 脚本执行后会在桌面生成一个以当前时间命名的CSV文件,里面会列出修改了哪些文件,修改的那个值原先是什么被修改成了什么。所以我才说能改的回去。

    3. 如果不想修改,只想看看目前`ShowQuestClearCount`的值是什么,把最后一行的`flag`设置成`1`就好。

    4. 我不是专业人士,python为了方便玩学的,代码写的一般般但能用。之所以分享这个是因为我喜欢七日杀这款游戏,然而那些四级五级任务实在找不到怪,绕的我心态爆炸。然后在网上找相关资料时也发现有很多玩家有同样的困扰却没什么好的解决办法,于是照着七日杀中文网“红尘微醺”大佬的思路写了这个脚本。感觉挺好用,故分享出来希望能帮到大家。

    5. 有什么需要帮助的欢迎留言,我看到会及时回复。(emmm…这里我可能不常来。b站同名。)

    隐藏内容需要回复可以看见

    回复

    "点赞是美意,打赏是鼓励"

    Lv.5

    感谢大佬

    回复

    能搞成MOD么?

  • 黎翼可以是可以,但我只会笨办法,那个工作量就是天文数字了。。。
    拉黑 1年前 电脑端回复
  • 回复

    可以


    回复
    Lv.1

    如果是因为用了删除狗或者秃鹫的MOD导致的黄点不消失任务完不成的话 这个方法是否也可行

  • 黎翼它本质上不会对游戏造成任何内容上的影响,以前是啥样现在还是啥样,只是黄点提前出现了而已
    拉黑 1年前 电脑端回复
  • Dorian @黎翼 懂了 感谢
    拉黑 1年前 电脑端回复
  • 回复

    感谢大佬

    回复
    LV.4
    武林萌主
    感谢分享
    回复
    Lv.1

    请问联机有用吗


  • 黎翼没试过,我 All the time alone
    拉黑 1年前 电脑端回复
  • 回复
    Lv.3

    好嘛!进阶选项又多一个批量制造。暂时还是懒人算了,拿走了。

    回复

    试了,不行,代码运行了,XML也改了,还是一样

    回复
    Lv.5
    武林萌主

    正常可以直接[contains(@name,'ShowQuestClearCount')]/@value">10</set>

    核危机军队IP8.138.139.11端口26900

  • ㅤ遗失的
    拉黑 9个月前 电脑端回复
  • ㅤ遗失的都可以使用吗?
    拉黑 9个月前 电脑端回复
  • ㅤ遗失的放在哪个文件里?
    拉黑 9个月前 电脑端回复
  • 回复
    因恶意刷帖用户过多,本版块已取消回帖金币奖励,请签到获取!>>>金币获取指南<<<

    请登录之后再进行评论

    登录
    • 大版主
    • 小版主
  • yichen
  • 柒月白风清
    柒月白风清
    一只小萌新,万年摸鱼党!已经脱坑了。。。
  • Cure_805
    Cure_805
    晚上在睡觉,白天在工作,不一定能及时回复,有事可以留言!
  • 至善丶丶
    至善丶丶
    群:1050040662 定制/开服/地图制作/价格公道
  • 已重置033
    已重置033
    一个爱玩七日杀的妹纸
  • 暂没有数据

    赞助广告位

  • 点击展示图片即可一键加入QQ群
    赞助广告:100R/月 目前空缺广告位:0

    分享网站

  • 繁体中文
  • 任务
  • 动态
  • 到底部
  • 帖子间隔 侧栏位置: