准备工作:
1.在steam中右键游戏名—管理—浏览本地文件
Base\modules的里面所有文件夹,大部分可做成mod,备份一份
2.打开 C:\Users\你的用户名\AppData\Local\FiraxisGames\Sid Meier‘s Civilization VII 这个路径中AppOptions.txt
打开,编辑,查找EnableDebugPanels,将其前面的分号去掉,改为 1像这样:EnableDebugPanels 1,注意上面那个不用改
3.还是这个AppOptions.txt,查找CopyDatabasesToDisk,
将其改为CopyDatabasesToDisk 1,上面那条不用改。然后保存。
4.下载软件:
https://sqlitestudio.pl/ ---SQLiteStudio查找很多词条需要。
https://hemmelfort.lanzoub.com/ie1SY2onvmgj --- hemmelfort大佬的工具,生成xml代码需要。
https://www.deepseek.com ---翻译,和遇到问题时需要。
然后,写代码用的IDE的话,推荐: visual studio,pycharm等等,怎么喜欢怎么来,记事本都没问题的。
Mod文件夹结构:
在Mods文件夹中,新建一个文件夹,命名英文。这边官方文件夹结构为例:
在modules文件夹中有个age-antiquity,这个就相当于你的mod的文件夹
你只需要参考他的结构去制作你的mod
Config存放的是一些配置文件,修改纪念品等需要
Data存放xml文件,修改游戏效果需要
Ui是存放js文件,修改ui需要
Text是存放文本文件,本地化需要
xxx.modinfo是导入你mod的文件文件
ModInfo:
1.每一个<>XXX<>XXX就是可以改的 2.="XXX" XXX里面可以改
Properties:AffectsSavedGames:是否影响游戏存档
ActionCriteria:限制生效范围,Criteriaid=“always“ 总是生效,
<Criteriaid=”antiquity-age-current”> 古代生效;
ActionGroups:mod作用信息,ActionGroupid 随便写 ,scope=“game“ 在游戏中生效, criteria=”always“ 生效范围;
<UpdateDatabase> 要更新的文件路径
<Item>data/mementos_mod.xml</Item> 路径就是以这个mod文件内的路径
<UpdateText> 要更新的文本文件路径
<Itemlocale=“zh_Hans_CN”>text/zh_Hans_CN/ModText.xml</Item> 注意中文要用这种写法
4.Xml文件:mod_data
找出你想要改的内容:
如建筑:constructibles.xml constructibles-gameeffects.xml
跟官方的文件写法一样:
查找:WONDER
Row代表添加,如果你只想修改他的内容,就用Replace
</Constructibles>
<RowConstructibleType="WONDER_WEIYANG_PALACE"Name="LOC_WONDER_WEIYANG_PALACE_NAME"Description="LOC_WONDER_WEIYANG_PALACE_DESCRIPTION"Tooltip="LOC_WONDER_WEIYANG_PALACE_TOOLTIP"ConstructibleClass="WONDER"Cost="375"Population="0"ImmuneDamage="true"Age="AGE_ANTIQUITY"RequiresUnlock="true" />
</Constructibles>
将<>头和尾复制到你的xml文件中,<Row改为<Replace
同样道理,引号里面的就是可以改的,如果你改完游戏进不了存档,那可能是引号出错了,或者头和尾有个</ 没加上。
注意效果是带ModifierId的,要与建筑进行绑定,
<ConstructibleModifiers> 注意这种词条
<RowConstructibleType="WONDER_ANGKOR_WAT"ModifierId="MOD_ANGKOR_WAT_WORKER_CAP"/>
</ConstructibleModifiers>
这个是写在另一个xml中,所以你做mod时,建一个mod_data存放绑定的词条,一个mod_modifier存放效果会比较好。
Xml文件:mod_modifier
要修改对应的效果,就要新建一个Modifier id•这时建议用到hemmelfort大佬的工具提高效率:具体可以看他的视频。这里简单讲解。<Modifierid="HILLFORT_MOD_SIGHT"collection="COLLECTION_OWNER"effect="EFFECT_ADJUST_UNIT_SIGHT">•<Argumentname="Amount">1</Argument>•</Modifier>•
Modifierid不能和之前一样,要自己新取一个,collection对应生效的物体,可以是玩家,可以是城市
Effect是效果,只能在游戏其他xml文件夹中查,比如EFFECT_ADJUST_UNIT_SIGHT,这个就是修改视野的效果。
Amount 后面的数字就是数值。
改完后,要将这个自己取的Modifierid 在mod_data中与对应要Replace的Type进行绑定才可以生效
本地化文本
•参考我Mod的目录:•Text里面,一个en_us存放英文,一个zh_Hans_CN放中文
同样也是用xml来写
<RowTag="LOC_MEMENTO_QIN_WONDER_PRODUCTION_NAME">•<Text>Qin'sWonders Mislead</Text>•</Row>
这个LOC对应你mod中所使用的LOC就好,中文的话,要用<RowTag="LOC_MEMENTO_QIN_WONDER_PRODUCTION_NAME"Language="zh_Hans_CN">•<Text>奇观误国</Text>•</Row>
6.查数据库SQLite
•打开一局游戏:然后就会有个Debug文件夹路径•C:\Users\你的用户名\AppData\Local\FiraxisGames\Sid Meier‘s Civilization VII\Debug
打开后,其中gameplay就是可以改游戏内各种数据的sqlite
左上角Filter by name 可以直接搜,然后对应的Data里面有各种表格
这里需要用到SQL 脚本来修改,具体可以询问ai怎么用sql来修改这种表格
1.在steam中右键游戏名—管理—浏览本地文件
Base\modules的里面所有文件夹,大部分可做成mod,备份一份
2.打开 C:\Users\你的用户名\AppData\Local\FiraxisGames\Sid Meier‘s Civilization VII 这个路径中AppOptions.txt
打开,编辑,查找EnableDebugPanels,将其前面的分号去掉,改为 1像这样:EnableDebugPanels 1,注意上面那个不用改
3.还是这个AppOptions.txt,查找CopyDatabasesToDisk,
将其改为CopyDatabasesToDisk 1,上面那条不用改。然后保存。
4.下载软件:
https://sqlitestudio.pl/ ---SQLiteStudio查找很多词条需要。
https://hemmelfort.lanzoub.com/ie1SY2onvmgj --- hemmelfort大佬的工具,生成xml代码需要。
https://www.deepseek.com ---翻译,和遇到问题时需要。
然后,写代码用的IDE的话,推荐: visual studio,pycharm等等,怎么喜欢怎么来,记事本都没问题的。
Mod文件夹结构:
在Mods文件夹中,新建一个文件夹,命名英文。这边官方文件夹结构为例:
在modules文件夹中有个age-antiquity,这个就相当于你的mod的文件夹
你只需要参考他的结构去制作你的mod
Config存放的是一些配置文件,修改纪念品等需要
Data存放xml文件,修改游戏效果需要
Ui是存放js文件,修改ui需要
Text是存放文本文件,本地化需要
xxx.modinfo是导入你mod的文件文件
ModInfo:
1.每一个<>XXX<>XXX就是可以改的 2.="XXX" XXX里面可以改
Properties:AffectsSavedGames:是否影响游戏存档
ActionCriteria:限制生效范围,Criteriaid=“always“ 总是生效,
<Criteriaid=”antiquity-age-current”> 古代生效;
ActionGroups:mod作用信息,ActionGroupid 随便写 ,scope=“game“ 在游戏中生效, criteria=”always“ 生效范围;
<UpdateDatabase> 要更新的文件路径
<Item>data/mementos_mod.xml</Item> 路径就是以这个mod文件内的路径
<UpdateText> 要更新的文本文件路径
<Itemlocale=“zh_Hans_CN”>text/zh_Hans_CN/ModText.xml</Item> 注意中文要用这种写法
4.Xml文件:mod_data
找出你想要改的内容:
如建筑:constructibles.xml constructibles-gameeffects.xml
跟官方的文件写法一样:
查找:WONDER
Row代表添加,如果你只想修改他的内容,就用Replace
</Constructibles>
<RowConstructibleType="WONDER_WEIYANG_PALACE"Name="LOC_WONDER_WEIYANG_PALACE_NAME"Description="LOC_WONDER_WEIYANG_PALACE_DESCRIPTION"Tooltip="LOC_WONDER_WEIYANG_PALACE_TOOLTIP"ConstructibleClass="WONDER"Cost="375"Population="0"ImmuneDamage="true"Age="AGE_ANTIQUITY"RequiresUnlock="true" />
</Constructibles>
将<>头和尾复制到你的xml文件中,<Row改为<Replace
同样道理,引号里面的就是可以改的,如果你改完游戏进不了存档,那可能是引号出错了,或者头和尾有个</ 没加上。
注意效果是带ModifierId的,要与建筑进行绑定,
<ConstructibleModifiers> 注意这种词条
<RowConstructibleType="WONDER_ANGKOR_WAT"ModifierId="MOD_ANGKOR_WAT_WORKER_CAP"/>
</ConstructibleModifiers>
这个是写在另一个xml中,所以你做mod时,建一个mod_data存放绑定的词条,一个mod_modifier存放效果会比较好。
Xml文件:mod_modifier
要修改对应的效果,就要新建一个Modifier id•这时建议用到hemmelfort大佬的工具提高效率:具体可以看他的视频。这里简单讲解。<Modifierid="HILLFORT_MOD_SIGHT"collection="COLLECTION_OWNER"effect="EFFECT_ADJUST_UNIT_SIGHT">•<Argumentname="Amount">1</Argument>•</Modifier>•
Modifierid不能和之前一样,要自己新取一个,collection对应生效的物体,可以是玩家,可以是城市
Effect是效果,只能在游戏其他xml文件夹中查,比如EFFECT_ADJUST_UNIT_SIGHT,这个就是修改视野的效果。
Amount 后面的数字就是数值。
改完后,要将这个自己取的Modifierid 在mod_data中与对应要Replace的Type进行绑定才可以生效
本地化文本
•参考我Mod的目录:•Text里面,一个en_us存放英文,一个zh_Hans_CN放中文
同样也是用xml来写
<RowTag="LOC_MEMENTO_QIN_WONDER_PRODUCTION_NAME">•<Text>Qin'sWonders Mislead</Text>•</Row>
这个LOC对应你mod中所使用的LOC就好,中文的话,要用<RowTag="LOC_MEMENTO_QIN_WONDER_PRODUCTION_NAME"Language="zh_Hans_CN">•<Text>奇观误国</Text>•</Row>
6.查数据库SQLite
•打开一局游戏:然后就会有个Debug文件夹路径•C:\Users\你的用户名\AppData\Local\FiraxisGames\Sid Meier‘s Civilization VII\Debug
打开后,其中gameplay就是可以改游戏内各种数据的sqlite
左上角Filter by name 可以直接搜,然后对应的Data里面有各种表格
这里需要用到SQL 脚本来修改,具体可以询问ai怎么用sql来修改这种表格