Project Zomboid

Project Zomboid

Not enough ratings
用Python脚本检查地图是否有单元格冲突
By Fragger
我用来制作地图合集的两个不同功能的脚本,两个脚本在一个目录内以分割线分开
本来想分成两个目录的,但指南审核太麻烦了,编辑一次要几十分钟才过审,一次只能改一个
   
Award
Favorite
Favorited
Unfavorite
手动/自动批量处理
需要电脑上安装Python
安装python后还需要安装 tkinter 库
win+R,输入cmd,回车后将以下指令复制粘贴到命令行进行安装
pip install tk
在大陆下载缓慢的考虑执行以下步骤
  1. 进入此目录(Administrator代表用户名,每个人都不同)
    C:\Users\Administrator\AppData\Roaming
  2. 创建文件夹"pip",在"pip"中新建txt文档,文档内粘贴如下内容,然后保存并重命名为"pip.ini"
    [global] timeout = 60000 index-url = https://pypi.tuna.tsinghua.edu.cn/simple [install] use-mirrors = true mirrors = https://pypi.tuna.tsinghua.edu.cn
完成上述步骤后重新打开命令行窗口执行pip install tk命令速度会有显著提升


手动新增
复制此链接内的代码到vscode或其他编辑器进行修改


在第93行填入你的模组文件夹路径,记得使用双反斜杠
base_path = '模组文件路径'
例如我的游戏安装在D盘,修改后为
base_path = 'D:\\SteamLibrary\\steamapps\\workshop\\content\\108600'
如果你的游戏是正版steam安装,那你可以直接复制我这个路径,只需要将最前面的盘符改为你的游戏安装盘就可以了


在第92行填入输出文件夹路径,同样需要双反斜杠
conflict_file_path = f'输出文件路径\\conflict_{folder_number}.txt'
例如我的:
conflict_file_path = f'I:\\Project Zomboid\\map collection\\conflict_{folder_number}.txt'


在第98行填入输出文件夹路径,同样需要双反斜杠
output_file = '输出文件路径\\Detection.txt'
例如我的:
output_file = 'I:\\Project Zomboid\\map collection\\Detection.txt'
Detection.txt文件是所有的单元格信息,包含模组/子模组文件夹名称+创意工坊ID
conflictsxxxxx.txt列出的是冲突信息
路径可以有中文,不影响使用
每次有conflictsxxxxx.txt输出时需要手动将Detection.txt的冲突信息删掉,否则之后每次输入ID,提取后都会一直输出conflictsxxxxx.txt提示你有冲突单元格


完成后保存为任意名称py文件放在任意目录运行即可
例如“脚本-提取单元格信息.py”
运行后会弹出弹窗让你输入一个或多个ID,多个ID时需要用英文逗号分隔,例如
123421314,671472641
注意
  • 如果某一个模组包含两个子模组,两个子模组用到了相同的单元格,且子模组的文件夹还是同名的话就会出现这种情况:
    XXXXX(1234543643)
    12_12 12_12 12_13 12_13










自动提取
复制此链接内的代码到vscode或其他编辑器进行修改


在第63行填入你的模组文件夹路径,记得使用双反斜杠
base_path = '模组文件路径'
例如我的游戏安装在D盘,修改后为
base_path = 'D:\\SteamLibrary\\steamapps\\workshop\\content\\108600'
如果你的游戏是正版steam安装,那你可以直接复制我这个路径,只需要将最前面的盘符改为你的游戏安装盘就可以了


在第64行和65行填入输出文件夹路径,同样需要双反斜杠
output_file = '输出路径\\Detection_auto.txt' conflict_folder = '输出路径\\conflicts_auto'
例如我的:
output_file = 'I:\\Project Zomboid\\map collection\\Detection_auto.txt' conflict_folder = 'I:\\Project Zomboid\\map collection\\conflicts_auto'
Detection_auto.txt文件是所有的单元格信息,包含模组/子模组文件夹名称+创意工坊ID
conflicts_auto.txt列出的是冲突信息
路径可以有中文,不影响使用


完成后保存为任意名称py文件放在任意目录运行即可
例如“脚本-自动提取单元格信息.py”
注意
  • 如果你安装了InGameMaps会看到很多0_0单元格冲突,不用管他们,从输出的文件里删除就可以了
  • 如果某一个模组包含两个子模组,两个子模组用到了相同的单元格,且子模组的文件夹还是同名的话就会出现这种情况:
    XXXXX(1234543643)
    12_12 12_12 12_13 12_13