3DMGAME 3DM首页 新闻中心 前瞻 | 评测 游戏库 热门 | 最新 攻略中心 攻略 | 秘籍 下载中心 游戏 | 汉化 购买正版 侠客前传 | 刺客信条 论坛

注册 登录

QQ登录

只需一步,快速开始

查看: 3428|回复: 12
打印 上一主题 下一主题

[分享] 关于道路和单位经验增强MOD及文明6长城加强版MOD(二楼)的测试历程及个人体会

[复制链接]

49

主题

327

帖子

604

积分

超级玩家

Rank: 5Rank: 5

贡献度
62
金元
3555
积分
604
精华
0
注册时间
2011-11-23
跳转到指定楼层
主题
发表于 2021-5-17 13:59 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 hizhj 于 2021-5-18 07:27 编辑

有前辈提供了道路和单位经验增强MOD:https://bbs.3dmgame.com/forum.php?mod=viewthread&tid=5332132

感觉文明6的道路跑的太慢了,单位升级也好难(我会说我经常到结束都没几个高级的兵吗),所以都增强了下:
道路由原来的远古1 古典1 工业时代0.75 现代0.5的移动力消耗改成远古0.65 中世纪0.45 工业时代0.35 现代0.3的消耗,并且建造者可以铺设道路,相应的军事工程师不在可以铺设道路(只能铺2格道路,简直逗
所有单位的升级所需经验减少40%,并且由原来升一级后攻击蛮族经验变为1改成升两级后蛮族经验达到阈值


我将参数调整了下,
道路类型        原消耗        修改后        SupportsBridges        UnitType
ANCIENT                1        0.8        false        true        UNIT_MILITARY_ENGINEER        UNIT_BUILDER
MEDIEVAL        1        0.7        true        true        UNIT_MILITARY_ENGINEER        UNIT_BUILDER
INDUSTRIAL        0.75        0.60        true        true        UNIT_MILITARY_ENGINEER        UNIT_BUILDER
MODERN                0.50        0.4        true        true        UNIT_MILITARY_ENGINEER        UNIT_BUILDER

更改后的文件RoutesAndExp.xml内容中相关道路部分的代码:

<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<GameInfo>
        <Routes>
                <Update>
                        <Where RouteType="ROUTE_ANCIENT_ROAD"/>
                        <Set MovementCost="0.8"/>
                </Update>
        <Routes>
                <Update>
                        <Where RouteType="ROUTE_ANCIENT_ROAD"/>
                        <Set SupportsBridges="true"/>
                </Update>
                <Update>
                        <Where RouteType="ROUTE_MEDIEVAL_ROAD"/>
                        <Set MovementCost="0.70"/>
                </Update>
                <Update>
                        <Where RouteType="ROUTE_INDUSTRIAL_ROAD"/>
                        <Set MovementCost="0.6"/>
                </Update>
                <Update>
                        <Where RouteType="ROUTE_MODERN_ROAD"/>
                        <Set MovementCost="0.4"/>
                </Update>
        </Routes>

        <Route_ValidBuildUnits>
                <Update>
                        <Where RouteType="ROUTE_ANCIENT_ROAD"/>
                        <Set UnitType="UNIT_BUILDER"/>
                </Update>
                <Update>
                        <Where RouteType="ROUTE_MEDIEVAL_ROAD"/>
                        <Set UnitType="UNIT_BUILDER"/>
                </Update>
                <Update>
                        <Where RouteType="ROUTE_INDUSTRIAL_ROAD"/>
                        <Set UnitType="UNIT_BUILDER"/>
                </Update>
                <Update>
                        <Where RouteType="ROUTE_MODERN_ROAD"/>
                        <Set UnitType="UNIT_BUILDER"/>
                </Update>
                <Update>
                        <Where RouteType="ROUTE_RAILROAD"/>
                        <Set UnitType="UNIT_BUILDER"/>
                </Update>
        </Route_ValidBuildUnits>


</GameInfo>

能够正常进入游戏,但是好像感觉效果不对。
打开sqlite数据库的routes表,内容如下:

第一条好像是生效了,但是后面的道路类型数据和上面代码的设定不同。
在Database.log文件中有相应的错误信息:
[2024889.480] [Gameplay] ERROR: Database::XMLSerializer (RoutesAndExp.xml): 'Row' or 'Delete' expected, got 'Routes'.
[2024889.480] [Gameplay]: In XMLSerializer while updating table Routes from file RoutesAndExp.xml.
[2024896.095] [Gameplay]: Validating Foreign Key Constraints...
[2024896.126] [Gameplay]: Passed Validation.

但是从网上查了下XML文件中SQL语句的书写格式:https://www.bilibili.com/read/cv7179375
好像上面的语句应该没有问题。
为何设定没有生效?

  • PS:求教一下,在MOD中设定修五种道路(包括铁路),以及隧道,使用建造者而不是军事工程师上文中的语句是不是正确?
  • PS1:编辑了正文,因为使用“代码”模式的话,代码段的文字就没有换行效果了,读起来很累。
  • PS1:如果要对已经存在的的行进行编辑,是用<ROW>还是<UPDATE>还是<REPLACE>


谢谢!




本帖子中包含更多资源

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

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1
回复

使用道具 举报

49

主题

327

帖子

604

积分

超级玩家

Rank: 5Rank: 5

贡献度
62
金元
3555
积分
604
精华
0
注册时间
2011-11-23
舒服的沙发
 楼主| 发表于 2021-5-17 15:25 | 只看该作者
另外一个前辈的MOD在加载时也出错了。
文明6长城加强版MOD
https://bbs.3dmgame.com/thread-6097956-1-1.html
长城加强版 可修筑在山上 带有文化炸弹 可以无视地形地貌任意修筑
长城修到哪里 哪里就是你的 条件是无主之地


这个MOD很强大,功能很牛*!

MOD的XML文件相关内容:
<?xml version="1.0" encoding="utf-8"?>
<!-- GameData1 -->
<!-- Author: CHM -->
<!-- DateCreated: 2020/10/31 9:18:42 -->
<GameData>
        <Types>
                <Row Type="IMPROVEMENT_MING_GREAT_WALL" Kind="KIND_IMPROVEMENT"/>
        </Types>

        <Improvements>
                <Row ImprovementType="IMPROVEMENT_MING_GREAT_WALL" PrereqTech="TECH_MASONRY"  Buildable="1" BuildInLine="true"    Description="LOC_IMPROVEMENT_MING_GREAT_WALL_DESCRIPTION" CanBuildOutsideTerritory="1" Icon="ICON_IMPROVEMENT_GREAT_WALL" Name="LOC_IMPROVEMENT_MING_GREAT_WALL_NAME"   PlunderType="PLUNDER_GOLD" PlunderAmount="200" DefenseModifier="8" GrantFortification="4" Housing="2" />/>
        </Improvements>


     <!-- 省略  -->

</GameData>




我在加载时,Database.log提示:
[2031106.096] [Gameplay]: Validating Foreign Key Constraints...
[2031106.104] [Gameplay] ERROR: Invalid Reference on Improvement_ValidFeatures.FeatureType - "FEATURE_FLOODPLAINS_GRASSLAND" does not exist in Features
[2031106.104] [Gameplay] ERROR: Invalid Reference on Improvement_ValidFeatures.FeatureType - "FEATURE_FLOODPLAINS_PLAINS" does not exist in Features
[2031106.104] [Gameplay] ERROR: Invalid Reference on Improvement_ValidFeatures.FeatureType - "FEATURE_GEOTHERMAL_FISSURE" does not exist in Features
[2031106.104] [Gameplay] ERROR: Invalid Reference on Improvement_ValidResources.ResourceType - "RESOURCE_AMBER" does not exist in Resources
[2031106.104] [Gameplay] ERROR: Invalid Reference on Improvement_ValidResources.ResourceType - "RESOURCE_HONEY" does not exist in Resources
[2031106.104] [Gameplay] ERROR: Invalid Reference on Improvement_ValidResources.ResourceType - "RESOURCE_MAIZE" does not exist in Resources
[2031106.104] [Gameplay] ERROR: Invalid Reference on Improvement_ValidResources.ResourceType - "RESOURCE_OLIVES" does not exist in Resources
[2031106.104] [Gameplay] ERROR: Invalid Reference on Improvement_ValidResources.ResourceType - "RESOURCE_TURTLES" does not exist in Resources
[2031106.113] [Gameplay]: Failed Validation.
[2031107.175] [Configuration] ERROR: no such table: Types
[2031107.175] [Configuration]: In Query - insert into Types('Type', 'Kind') values (?, ?);
[2031107.175] [Configuration]: In XMLSerializer while updating table Types from file Improvements.xml.


好像提示,不存在“Types”表,这完全不可能啊!






可能是由于提示错误的问题,Types表中没有IMPROVEMENT_MING_GREAT_WALL:



MOD文件内容应该没问题,可为何会提示错误?

求战术指导!

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

49

主题

327

帖子

604

积分

超级玩家

Rank: 5Rank: 5

贡献度
62
金元
3555
积分
604
精华
0
注册时间
2011-11-23
硬硬的板凳
 楼主| 发表于 2021-5-17 17:23 | 只看该作者
继续对明长城MOD进行测试。对Ming Great Wall.modinfo进行修改,删除了整个<FrontEndActions>标签。
<InGameActions>标签中,每个<UpdateDatabase>中均加入下面的内容:
                <Properties>
                        <LoadOrder>200</LoadOrder>
                </Properties>
其他不动。
根据网上教程,剩下的内容,在游戏程序打开时应该不会载入此MOD的文件,但是实际上还是载入了:
[2039467.919] [Gameplay]: Validating Foreign Key Constraints...
[2039467.927] [Gameplay] ERROR: Invalid Reference on Improvement_ValidFeatures.FeatureType - "FEATURE_FLOODPLAINS_GRASSLAND" does not exist in Features
[2039467.927] [Gameplay] ERROR: Invalid Reference on Improvement_ValidFeatures.FeatureType - "FEATURE_FLOODPLAINS_PLAINS" does not exist in Features
[2039467.927] [Gameplay] ERROR: Invalid Reference on Improvement_ValidFeatures.FeatureType - "FEATURE_GEOTHERMAL_FISSURE" does not exist in Features
[2039467.927] [Gameplay] ERROR: Invalid Reference on Improvement_ValidResources.ResourceType - "RESOURCE_AMBER" does not exist in Resources
[2039467.927] [Gameplay] ERROR: Invalid Reference on Improvement_ValidResources.ResourceType - "RESOURCE_HONEY" does not exist in Resources
[2039467.927] [Gameplay] ERROR: Invalid Reference on Improvement_ValidResources.ResourceType - "RESOURCE_MAIZE" does not exist in Resources
[2039467.927] [Gameplay] ERROR: Invalid Reference on Improvement_ValidResources.ResourceType - "RESOURCE_OLIVES" does not exist in Resources
[2039467.927] [Gameplay] ERROR: Invalid Reference on Improvement_ValidResources.ResourceType - "RESOURCE_TURTLES" does not exist in Resources
[2039467.936] [Gameplay]: Failed Validation.

很奇怪啊!
新加入部分应该能控制文件在文明本体及DLC之后才载入,但是还是提前载入了。
查询Types、Improvements、Improvement_ValidTerrains等表,没有发现定义的新建筑及相关内容。

超出能力范围太多,积极寻求战术指导!

RoutesAndExp这个MOD也做了相似的修改,令人喜闻乐见的是,同样没有得到期待中的改变。




回复 支持 反对

使用道具 举报

5

主题

125

帖子

675

积分

超级玩家

Rank: 5Rank: 5

贡献度
111
金元
2313
积分
675
精华
0
注册时间
2018-6-8
冰凉的地板
发表于 2021-5-17 20:01 | 只看该作者
我很久没试过长城了 因为我在研究新的东西 我看的没问题啊

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

49

主题

327

帖子

604

积分

超级玩家

Rank: 5Rank: 5

贡献度
62
金元
3555
积分
604
精华
0
注册时间
2011-11-23
5#
 楼主| 发表于 2021-5-17 21:42 | 只看该作者
chenhuamin092 发表于 2021-5-17 20:01
我很久没试过长城了 因为我在研究新的东西 我看的没问题啊

多谢回复。
是不是其他MOD影响的?
我所有的MOD都删了。先实验比较简单的一个,文明6(Sid Meier’s Civilization VI)道路和单位经验增强MOD,RoutesAndExp。
该MOD原版和我的修改的都没有提示错误。
有关道路除了铁路部分的没有生效,其他都生效了。
有关经验的也生效了。

<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<GameInfo>
        <Routes>
                <Update>
                        <Where RouteType="ROUTE_ANCIENT_ROAD"/>
                        <Set MovementCost="0.75" SupportsBridges="1"/>                         <!--  SupportsBridges="1" 为新增项目 -->
                </Update>

                <Update>
                        <Where RouteType="ROUTE_MEDIEVAL_ROAD"/>
                        <Set MovementCost="0.50"/>
                </Update>

                <Update>
                        <Where RouteType="ROUTE_INDUSTRIAL_ROAD"/>
                        <Set MovementCost="0.3"/>
                </Update>

                <Update>
                        <Where RouteType="ROUTE_MODERN_ROAD"/>
                        <Set MovementCost="0.20"/>
                </Update>

                <Update>
                        <Where RouteType="ROUTE_RAILROAD"/>                                         <!--  新增项目,未生效 -->
                        <Set MovementCost="0.15"/>
                </Update>
        </Routes>

<!--  新增项目:Route_ValidBuildUnits -->
        <Route_ValidBuildUnits>
                <Update>
                        <Where RouteType="ROUTE_ANCIENT_ROAD"/>
                        <Set UnitType="UNIT_BUILDER"/>
                </Update>
                <Update>
                        <Where RouteType="ROUTE_MEDIEVAL_ROAD"/>
                        <Set UnitType="UNIT_BUILDER"/>
                </Update>
                <Update>
                        <Where RouteType="ROUTE_INDUSTRIAL_ROAD"/>
                        <Set UnitType="UNIT_BUILDER"/>
                </Update>
                <Update>
                        <Where RouteType="ROUTE_MODERN_ROAD"/>
                        <Set UnitType="UNIT_BUILDER"/>
                </Update>
                <Update>
                        <Where RouteType="ROUTE_RAILROAD"/>                                         <!-- 未生效 -->
                        <Set UnitType="UNIT_BUILDER"/>
                </Update>
        </Route_ValidBuildUnits>

        <GlobalParameters>
                <Update>
                        <Where Name="EXPERIENCE_MAX_BARB_LEVEL"/>
                        <Set Value="3"/>
                </Update>
                <Update>
                        <Where Name="EXPERIENCE_NEEDED_FOR_NEXT_LEVEL_MULTIPLIER"/>
                        <Set Value="3"/>
                </Update>
        </GlobalParameters>
</GameInfo>



Route表

Route_ValidBuildUnits表

GlobalParameters表
铁路不能生效,是不是这个MOD装载时,还没有装载铁路的相关定义?还是被别的内容冲掉了?
我用Everything软件搜索了整个CIV6目录,查找包含LoadOrder的文件
(everything快速搜索文件夹和文件软件。下载链接:链接: https://pan.baidu.com/s/1zD-NnzxjIdCZjj6ODEOs6Q 提取码: u6bd)
搜索目标:nowholeword:H:\Civ6.v1.0.9.9\ contentoadOrder
结果:
H:\Civ6.v1.0.9.9\DLC\AlexanderScenario\AlexanderScenario.modinfo
H:\Civ6.v1.0.9.9\DLC\AustraliaScenario\AustraliaScenario.modinfo
H:\Civ6.v1.0.9.9\DLC\BlackDeathScenario\BlackDeathScenario.modinfo
H:\Civ6.v1.0.9.9\DLC\CivRoyaleScenario\CivRoyaleScenario.modinfo
H:\Civ6.v1.0.9.9\DLC\Expansion1\Expansion1.modinfo
H:\Civ6.v1.0.9.9\DLC\Expansion2\Expansion2.modinfo
H:\Civ6.v1.0.9.9\DLC\Indonesia_KhmerScenario\Indonesia_KhmerScenario.modinfo
H:\Civ6.v1.0.9.9\DLC\NubiaScenario\NubiaScenario.modinfo
H:\Civ6.v1.0.9.9\DLC\PiratesScenario\PiratesScenario.modinfo
H:\Civ6.v1.0.9.9\DLC\PolandScenario\PolandScenario.modinfo
H:\Civ6.v1.0.9.9\DLC\VikingsScenario\VikingsScenario.modinfo
H:\Civ6.v1.0.9.9\DLC\WarMachineScenario\WarMachineScenario.modinfo
除了Expansion2.modinfo中,LoadOrder是-100,其他都是100,还有很多DLC没有这个设置值;原版也没有这个值。
这说明Expansion2是最先装载,是否要先于原版?
用户的MOD的装载顺序是大于100还是小于-100?
文明6启动时,原版,各模组,包括DLC和用户MOD,装载的顺序是什么?
是否后面装载的模组会覆盖早装载的模组?


本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

49

主题

327

帖子

604

积分

超级玩家

Rank: 5Rank: 5

贡献度
62
金元
3555
积分
604
精华
0
注册时间
2011-11-23
6#
 楼主| 发表于 2021-5-17 22:00 | 只看该作者
chenhuamin092 发表于 2021-5-17 20:01
我很久没试过长城了 因为我在研究新的东西 我看的没问题啊

包含铁路的文件
H:\Civ6.v1.0.9.9\DLC\BlackDeathScenario\Data\BlackDeathScenario_RemoveData.xml
H:\Civ6.v1.0.9.9\DLC\Expansion2\Data\Expansion2_Routes.xml
H:\Civ6.v1.0.9.9\DLC\Expansion2\Binaries\Win64\GameCore_XP2_FinalRelease.map
H:\Civ6.v1.0.9.9\Base\ArtDefs\Routes.artdef
H:\Civ6.v1.0.9.9\DLC\Expansion2\ArtDefs\Routes.artdef
H:\Civ6.v1.0.9.9\DLC\Expansion2\UI\Loaders\TutorialLoader_Expansion2.lua
H:\Civ6.v1.0.9.9\DLC\Expansion2\UI\Replacements\UnitPanel_Expansion2.lua
H:\Civ6.v1.0.9.9\DLC\WarMachineScenario\Data\WarMachineScenario_GameplayData.xml
H:\Civ6.v1.0.9.9\DLC\Expansion2\ArtDefs\WorldViewRoutes.artdef
上面的文件中,根据文件名来判断,只有Expansion2_Routes.xml是有关铁路定义的文件。.lua文件应该只是有关铁路的控制部分。
Expansion2_Routes.xml文件:
<?xml version="1.0" encoding="utf-8"?>
<GameInfo>
        <Types>
                <Row Type="ROUTE_RAILROAD" Kind="KIND_ROUTE"/>
        </Types>
        <Routes>
    <!-- Note: For AI purposes, we must assume that anything with this placement value or higher needs to be built with a unit. -->
                <Row RouteType="ROUTE_RAILROAD" Name="LOC_ROUTE_RAILROAD_NAME" Description="LOC_ROUTE_RAILROAD_DESCRIPTION" MovementCost="0.25" SupportsBridges="true" PlacementValue="5" PlacementRequiresRoutePresent="false" PlacementRequiresOwnedTile="false"/>
        </Routes>
  <Routes_XP2>
    <Row RouteType="ROUTE_ANCIENT_ROAD" BuildWithUnitChargeCost="1"/>
    <Row RouteType="ROUTE_MEDIEVAL_ROAD" BuildWithUnitChargeCost="1"/>
    <Row RouteType="ROUTE_INDUSTRIAL_ROAD" BuildWithUnitChargeCost="1"/>
    <Row RouteType="ROUTE_MODERN_ROAD" BuildWithUnitChargeCost="1"/>
    <Row RouteType="ROUTE_RAILROAD" BuildWithUnitChargeCost="0" BuildOnlyWithUnit="true" PrereqTech="TECH_STEAM_POWER"/>
  </Routes_XP2>
  <Route_ResourceCosts>
    <Row RouteType="ROUTE_RAILROAD" ResourceType="RESOURCE_IRON" BuildWithUnitCost="1"/>
    <Row RouteType="ROUTE_RAILROAD" ResourceType="RESOURCE_COAL" BuildWithUnitCost="1"/>
  </Route_ResourceCosts>
        <Route_ValidBuildUnits>
                <Row RouteType="ROUTE_RAILROAD" UnitType="UNIT_MILITARY_ENGINEER"/>
        </Route_ValidBuildUnits>
</GameInfo>

UnitPanel_Expansion2.lua文件相关内容:
function LateCheckOperationBeforeAdd( tResults: table, kActionsTable: table, actionHash:number, isDisabled:boolean, tooltipString:string, overrideIcon:string )
        if (tResults[UnitOperationResults.ROUTE_TYPE] ~= nil and tResults[UnitOperationResults.ROUTE_TYPE] == "ROUTE_RAILROAD") then
                overrideIcon = "ICON_ROUTE_RAILROAD";
                return isDisabled, tooltipString, overrideIcon;
        end

        -- Not a railroad, fall through to the base version.
        return BASE_LateCheckOperationBeforeAdd( tResults, kActionsTable, actionHash, isDisabled, tooltipString, overrideIcon );
end

可见,文明6目录中有关铁路的定义/修改的文件,只有Expansion2_Routes.xml文件。
既然在MOD中修改有关铁路的参数没有生效,原因大致有:
1、MOD运行时还没有有关铁路的数据库记录(会不会报错?);
2、MOD运行后,XP2的数值更新了MOD的设定值(即,XP2运行晚于MOD);
3,语句有问题。
4、其他原因。


回复 支持 反对

使用道具 举报

49

主题

327

帖子

604

积分

超级玩家

Rank: 5Rank: 5

贡献度
62
金元
3555
积分
604
精华
0
注册时间
2011-11-23
7#
 楼主| 发表于 2021-5-17 22:10 | 只看该作者
hizhj 发表于 2021-5-17 22:00
包含铁路的文件
H:\Civ6.v1.0.9.9\DLC\BlackDeathScenario\Data\BlackDeathScenario_RemoveData.xml
H:\C ...

宾果!
这下OK了。
RoutesAndExp MOD的RoutesAndExp.modinfo文件中,设置该MOD的启动顺序延后:
        <Components>
                <UpdateDatabase id="RoutesAndExp_GAMEPLAY_DATA">
                        <Properties>
                                <LoadOrder>200</LoadOrder>
                        </Properties>
                        <Items>
                                <File>RoutesAndExp.xml</File>
                        </Items>
                </UpdateDatabase>
        </Components>

这样,有关铁路的设置都生效了。
哇咔咔。
下面再测试@chenhuamin092 老大的长城MOD。
回复 支持 反对

使用道具 举报

49

主题

327

帖子

604

积分

超级玩家

Rank: 5Rank: 5

贡献度
62
金元
3555
积分
604
精华
0
注册时间
2011-11-23
8#
 楼主| 发表于 2021-5-18 00:41 | 只看该作者
本帖最后由 hizhj 于 2021-5-18 07:35 编辑
chenhuamin092 发表于 2021-5-17 20:01
我很久没试过长城了 因为我在研究新的东西 我看的没问题啊

长城加强MOD测试




1、长城加强MOD原版+RoutesAndExp MOD一起
SELECT ImprovementType,Housing
FROM Improvements
WHERE ImprovementType LIKE "IMPROVEMENT_MING%";

SELECT ImprovementType, TerrainType
FROM Improvement_ValidTerrains
WHERE ImprovementType LIKE "IMPROVEMENT_MING%";
都没有返回
Database.log
[2060065.504] [Localization]: StartupErrorMessages.xml
[2060065.504] [Localization]: Input XML does not contain database entry tags. GameData, GameInfo or Database
[2060070.321] [Localization]: Validating Foreign Key Constraints...
[2060070.321] [Localization]: Passed Validation.
[2060070.338] [Configuration]: Validating Foreign Key Constraints...
[2060070.339] [Configuration]: Passed Validation.
[2060071.500] [FullTextSearch]: Initializing FullTextSearch
[2060072.047] [Gameplay]: Validating Foreign Key Constraints...
[2060072.066] [Gameplay]: Passed Validation.
[2060073.254] [Configuration] ERROR: no such table: Types
[2060073.254] [Configuration]: In Query - insert into Types('Type', 'Kind') values (?, ?);
[2060073.254] [Configuration]: In XMLSerializer while updating table Types from file Improvements.xml.

[2060073.705] [Configuration]: Validating Foreign Key Constraints...
[2060073.706] [Configuration]: Passed Validation.
[2060075.052] [HallofFame]: Database found. Checking versions...
[2060075.055] [HallofFame]: Database is up-to-date!
[2060090.337] [FullTextSearch]: FTS - Creating Context
[2060110.364] [Configuration]: Validating Foreign Key Constraints...
[2060110.365] [Configuration]: Passed Validation.
[2060121.320] [Gameplay]: Validating Foreign Key Constraints...
[2060121.357] [Gameplay]: Passed Validation.
[2060137.610] [FullTextSearch]: FTS - Creating Context
[2060137.610] [FullTextSearch]: FTS - Creating Context
[2060138.007] [FullTextSearch]: FTS - Creating Context
[2060138.409] [FullTextSearch]: FTS - Creating Context
[2060139.854] [FullTextSearch]: FTS - Creating Context
Types表难道原版没有?
2、只有原版长城加强MOD
游戏程序完成加载但没有读入存档:
[2060345.793] [Localization]: StartupErrorMessages.xml
[2060345.793] [Localization]: Input XML does not contain database entry tags. GameData, GameInfo or Database
[2060350.647] [Localization]: Validating Foreign Key Constraints...
[2060350.648] [Localization]: Passed Validation.
[2060350.662] [Configuration]: Validating Foreign Key Constraints...
[2060350.662] [Configuration]: Passed Validation.
[2060351.719] [FullTextSearch]: Initializing FullTextSearch
[2060352.338] [Gameplay]: Validating Foreign Key Constraints...
[2060352.362] [Gameplay]: Passed Validation.
[2060353.478] [Configuration] ERROR: no such table: Types
[2060353.478] [Configuration]: In Query - insert into Types('Type', 'Kind') values (?, ?);
[2060353.478] [Configuration]: In XMLSerializer while updating table Types from file Improvements.xml.

[2060353.916] [Configuration]: Validating Foreign Key Constraints...
[2060353.917] [Configuration]: Passed Validation.
[2060355.372] [HallofFame]: Database found. Checking versions...
[2060355.375] [HallofFame]: Database is up-to-date!
[2060370.805] [FullTextSearch]: FTS - Creating Context
测试:
SELECT *
FROM Improvement_ValidBuildUnits
WHERE ImprovementType="IMPROVEMENT_MING_GREAT_WALL";
无结果返回。
#
SELECT ImprovementType, PrereqTech, Housing
FROM Improvements
WHERE ImprovementType LIKE "IMPROVEMENT_MING%";
无结果返回。
#
此阶段该MOD有部分功能被激发,但是不知什么原因没有成功。
#
新建游戏/加载存档后:
[2060459.763] [FullTextSearch]: FTS - Creating Context
[2060495.772] [Configuration] ERROR: no such table: Types
[2060495.772] [Configuration]: In Query - insert into Types('Type', 'Kind') values (?, ?);
[2060495.772] [Configuration]: In XMLSerializer while updating table Types from file Improvements.xml.

[2060495.861] [Configuration]: Validating Foreign Key Constraints...
[2060495.861] [Configuration]: Passed Validation.
[2060504.133] [Gameplay] ERROR: UNIQUE constraint failed: Improvement_ValidBuildUnits.ImprovementType, Improvement_ValidBuildUnits.UnitType
[2060504.133] [Gameplay]: While executing - 'insert into Improvement_ValidBuildUnits('ImprovementType', 'UnitType') values (?, ?);'
[2060504.133] [Gameplay]: In XMLSerializer while inserting row into table insert into Improvement_ValidBuildUnits('ImprovementType', 'UnitType') with  values (IMPROVEMENT_MING_GREAT_WALL, UNIT_BUILDER, ).
[2060504.133] [Gameplay]: In XMLSerializer while updating table Improvement_ValidBuildUnits from file Improvements.xml.
[2060504.133] [Gameplay] ERROR: UNIQUE constraint failed: Improvement_ValidBuildUnits.ImprovementType, Improvement_ValidBuildUnits.UnitType

[2060505.239] [Gameplay]: Validating Foreign Key Constraints...
[2060505.269] [Gameplay]: Passed Validation.
[2060523.006] [FullTextSearch]: FTS - Creating Context
[2060523.007] [FullTextSearch]: FTS - Creating Context
[2060523.441] [FullTextSearch]: FTS - Creating Context
[2060523.843] [FullTextSearch]: FTS - Creating Context
[2060525.316] [FullTextSearch]: FTS - Creating Context
#
测试:
SELECT Type, Kind
FROM Types
WHERE Type="IMPROVEMENT_MING_GREAT_WALL";
结果:
IMPROVEMENT_MING_GREAT_WALL        KIND_IMPROVEMENT
#
SELECT ImprovementType, PrereqTech, Housing
FROM Improvements
WHERE ImprovementType LIKE "IMPROVEMENT_MING%";
结果:
IMPROVEMENT_MING_GREAT_WALL        TECH_MASONRY        2
#
SELECT *
FROM Improvements_XP2
WHERE ImprovementType="IMPROVEMENT_MING_GREAT_WALL";
结果:
IMPROVEMENT_MING_GREAT_WALL        0        1        0        1
#
SELECT ImprovementType, TerrainType
FROM Improvement_ValidTerrains
WHERE ImprovementType LIKE "IMPROVEMENT_MING%";
结果:
IMPROVEMENT_MING_GREAT_WALL        TERRAIN_DESERT
IMPROVEMENT_MING_GREAT_WALL        TERRAIN_DESERT_HILLS
IMPROVEMENT_MING_GREAT_WALL        TERRAIN_DESERT_MOUNTAIN
IMPROVEMENT_MING_GREAT_WALL        TERRAIN_GRASS
IMPROVEMENT_MING_GREAT_WALL        TERRAIN_GRASS_HILLS
IMPROVEMENT_MING_GREAT_WALL        TERRAIN_GRASS_MOUNTAIN
IMPROVEMENT_MING_GREAT_WALL        TERRAIN_PLAINS
IMPROVEMENT_MING_GREAT_WALL        TERRAIN_PLAINS_HILLS
IMPROVEMENT_MING_GREAT_WALL        TERRAIN_PLAINS_MOUNTAIN
IMPROVEMENT_MING_GREAT_WALL        TERRAIN_SNOW
IMPROVEMENT_MING_GREAT_WALL        TERRAIN_SNOW_HILLS
IMPROVEMENT_MING_GREAT_WALL        TERRAIN_SNOW_MOUNTAIN
IMPROVEMENT_MING_GREAT_WALL        TERRAIN_TUNDRA
IMPROVEMENT_MING_GREAT_WALL        TERRAIN_TUNDRA_HILLS
IMPROVEMENT_MING_GREAT_WALL        TERRAIN_TUNDRA_MOUNTAIN
#
SELECT *
FROM Improvement_ValidFeatures
WHERE ImprovementType="IMPROVEMENT_MING_GREAT_WALL";
结果:
IMPROVEMENT_MING_GREAT_WALL        FEATURE_BURNING_FOREST               
IMPROVEMENT_MING_GREAT_WALL        FEATURE_BURNING_JUNGLE               
IMPROVEMENT_MING_GREAT_WALL        FEATURE_BURNT_FOREST               
IMPROVEMENT_MING_GREAT_WALL        FEATURE_BURNT_JUNGLE               
IMPROVEMENT_MING_GREAT_WALL        FEATURE_FLOODPLAINS               
IMPROVEMENT_MING_GREAT_WALL        FEATURE_FLOODPLAINS_GRASSLAND               
IMPROVEMENT_MING_GREAT_WALL        FEATURE_FLOODPLAINS_PLAINS               
IMPROVEMENT_MING_GREAT_WALL        FEATURE_FOREST               
IMPROVEMENT_MING_GREAT_WALL        FEATURE_GEOTHERMAL_FISSURE               
IMPROVEMENT_MING_GREAT_WALL        FEATURE_JUNGLE               
IMPROVEMENT_MING_GREAT_WALL        FEATURE_MARSH               
IMPROVEMENT_MING_GREAT_WALL        FEATURE_OASIS               
IMPROVEMENT_MING_GREAT_WALL        FEATURE_VOLCANIC_SOIL               
#
SELECT *
FROM Improvement_ValidBuildUnits
WHERE ImprovementType="IMPROVEMENT_MING_GREAT_WALL";
结果:
ImprovementType        UnitType        ConsumesCharge        ValidRepairOnly
IMPROVEMENT_MING_GREAT_WALL        UNIT_BUILDER        1        0
#
SELECT *
FROM Improvement_ValidResources
WHERE ImprovementType="IMPROVEMENT_MING_GREAT_WALL";
结果:
ImprovementType        ResourceType        MustRemoveFeature
IMPROVEMENT_MING_GREAT_WALL        RESOURCE_ALUMINUM        0
IMPROVEMENT_MING_GREAT_WALL        RESOURCE_AMBER        0
IMPROVEMENT_MING_GREAT_WALL        RESOURCE_ANTIQUITY_SITE        0
IMPROVEMENT_MING_GREAT_WALL        RESOURCE_BANANAS        0
IMPROVEMENT_MING_GREAT_WALL        RESOURCE_CATTLE        0
IMPROVEMENT_MING_GREAT_WALL        RESOURCE_CINNAMON        0
IMPROVEMENT_MING_GREAT_WALL        RESOURCE_CITRUS        0
IMPROVEMENT_MING_GREAT_WALL        RESOURCE_CLOVES        0
IMPROVEMENT_MING_GREAT_WALL        RESOURCE_COAL        0
IMPROVEMENT_MING_GREAT_WALL        RESOURCE_COCOA        0
IMPROVEMENT_MING_GREAT_WALL        RESOURCE_COFFEE        0
IMPROVEMENT_MING_GREAT_WALL        RESOURCE_COPPER        0
IMPROVEMENT_MING_GREAT_WALL        RESOURCE_COSMETICS        0
IMPROVEMENT_MING_GREAT_WALL        RESOURCE_COTTON        0
IMPROVEMENT_MING_GREAT_WALL        RESOURCE_CRABS        0
IMPROVEMENT_MING_GREAT_WALL        RESOURCE_DEER        0
IMPROVEMENT_MING_GREAT_WALL        RESOURCE_DIAMONDS        0
IMPROVEMENT_MING_GREAT_WALL        RESOURCE_DYES        0
IMPROVEMENT_MING_GREAT_WALL        RESOURCE_FISH        0
IMPROVEMENT_MING_GREAT_WALL        RESOURCE_FURS        0
IMPROVEMENT_MING_GREAT_WALL        RESOURCE_GYPSUM        0
IMPROVEMENT_MING_GREAT_WALL        RESOURCE_HONEY        0
IMPROVEMENT_MING_GREAT_WALL        RESOURCE_HORSES        0
IMPROVEMENT_MING_GREAT_WALL        RESOURCE_INCENSE        0
IMPROVEMENT_MING_GREAT_WALL        RESOURCE_IRON        0
IMPROVEMENT_MING_GREAT_WALL        RESOURCE_IVORY        0
IMPROVEMENT_MING_GREAT_WALL        RESOURCE_JADE        0
IMPROVEMENT_MING_GREAT_WALL        RESOURCE_JEANS        0
IMPROVEMENT_MING_GREAT_WALL        RESOURCE_MAIZE        0
IMPROVEMENT_MING_GREAT_WALL        RESOURCE_MARBLE        0
IMPROVEMENT_MING_GREAT_WALL        RESOURCE_MERCURY        0
IMPROVEMENT_MING_GREAT_WALL        RESOURCE_NITER        0
IMPROVEMENT_MING_GREAT_WALL        RESOURCE_OIL        0
IMPROVEMENT_MING_GREAT_WALL        RESOURCE_OLIVES        0
IMPROVEMENT_MING_GREAT_WALL        RESOURCE_PEARLS        0
IMPROVEMENT_MING_GREAT_WALL        RESOURCE_PERFUME        0
IMPROVEMENT_MING_GREAT_WALL        RESOURCE_RICE        0
IMPROVEMENT_MING_GREAT_WALL        RESOURCE_SALT        0
IMPROVEMENT_MING_GREAT_WALL        RESOURCE_SHEEP        0
IMPROVEMENT_MING_GREAT_WALL        RESOURCE_SHIPWRECK        0
IMPROVEMENT_MING_GREAT_WALL        RESOURCE_SILK        0
IMPROVEMENT_MING_GREAT_WALL        RESOURCE_SILVER        0
IMPROVEMENT_MING_GREAT_WALL        RESOURCE_SPICES        0
IMPROVEMENT_MING_GREAT_WALL        RESOURCE_STONE        0
IMPROVEMENT_MING_GREAT_WALL        RESOURCE_SUGAR        0
IMPROVEMENT_MING_GREAT_WALL        RESOURCE_TOBACCO        0
IMPROVEMENT_MING_GREAT_WALL        RESOURCE_TOYS        0
IMPROVEMENT_MING_GREAT_WALL        RESOURCE_TRUFFLES        0
IMPROVEMENT_MING_GREAT_WALL        RESOURCE_TURTLES        0
IMPROVEMENT_MING_GREAT_WALL        RESOURCE_URANIUM        0
IMPROVEMENT_MING_GREAT_WALL        RESOURCE_WHALES        0
IMPROVEMENT_MING_GREAT_WALL        RESOURCE_WHEAT        0
IMPROVEMENT_MING_GREAT_WALL        RESOURCE_WINE        0
#
SELECT *
FROM Improvement_YieldChanges
WHERE ImprovementType="IMPROVEMENT_MING_GREAT_WALL";
结果:
ImprovementType        YieldType        YieldChange
IMPROVEMENT_MING_GREAT_WALL        YIELD_CULTURE        1
IMPROVEMENT_MING_GREAT_WALL        YIELD_FAITH        1
IMPROVEMENT_MING_GREAT_WALL        YIELD_FOOD        2
IMPROVEMENT_MING_GREAT_WALL        YIELD_GOLD        2
IMPROVEMENT_MING_GREAT_WALL        YIELD_PRODUCTION        1
IMPROVEMENT_MING_GREAT_WALL        YIELD_SCIENCE        1
#
SELECT *
FROM Improvement_Tourism
WHERE ImprovementType="IMPROVEMENT_MING_GREAT_WALL";
结果:
ImprovementType        TourismSource        PrereqCivic        PrereqTech        ScalingFactor
IMPROVEMENT_MING_GREAT_WALL        TOURISMSOURCE_CULTURE                TECH_FLIGHT        200
#
SELECT *
FROM Improvement_Adjacencies
WHERE ImprovementType="IMPROVEMENT_MING_GREAT_WALL";
结果:
ImprovementType        YieldChangeId
IMPROVEMENT_MING_GREAT_WALL        Wall_Culture
IMPROVEMENT_MING_GREAT_WALL        Wall_Faith
IMPROVEMENT_MING_GREAT_WALL        Wall_Food
IMPROVEMENT_MING_GREAT_WALL        Wall_Gold
IMPROVEMENT_MING_GREAT_WALL        Wall_Production
IMPROVEMENT_MING_GREAT_WALL        Wall_Science
#
SELECT *
FROM Adjacency_YieldChanges
WHERE AdjacentImprovement="IMPROVEMENT_MING_GREAT_WALL";
结果:
ID        Description        YieldType        YieldChange        TilesRequired        OtherDistrictAdjacent        AdjacentSeaResource        AdjacentTerrain        AdjacentFeature        AdjacentRiver        AdjacentWonder        AdjacentNaturalWonder        AdjacentImprovement        AdjacentDistrict        PrereqCivic        PrereqTech        ObsoleteCivic        ObsoleteTech        AdjacentResource        AdjacentResourceClass        Self
Wall_Gold        Placeholder        YIELD_GOLD        1        1        0        0                        0        0        0        IMPROVEMENT_MING_GREAT_WALL                        TECH_MASONRY                        0        NO_RESOURCECLASS        0
Wall_Culture        Placeholder        YIELD_CULTURE        1        1        0        0                        0        0        0        IMPROVEMENT_MING_GREAT_WALL                        TECH_CASTLES                        0        NO_RESOURCECLASS        0
Wall_Food        Placeholder        YIELD_FOOD        1        1        0        0                        0        0        0        IMPROVEMENT_MING_GREAT_WALL                        TECH_MASONRY                        0        NO_RESOURCECLASS        0
Wall_Production        Placeholder        YIELD_PRODUCTION        1        1        0        0                        0        0        0        IMPROVEMENT_MING_GREAT_WALL                        TECH_CASTLES                        0        NO_RESOURCECLASS        0
Wall_Science        Placeholder        YIELD_SCIENCE        1        1        0        0                        0        0        0        IMPROVEMENT_MING_GREAT_WALL                        TECH_BRONZE_WORKING                        0        NO_RESOURCECLASS        0
Wall_Faith        Placeholder        YIELD_FAITH        1        1        0        0                        0        0        0        IMPROVEMENT_MING_GREAT_WALL                        TECH_ASTROLOGY                        0        NO_RESOURCECLASS        0
#
SELECT *
FROM Improvement_ValidBuildUnits
WHERE ImprovementType="IMPROVEMENT_MING_GREAT_WALL";
结果:
ImprovementType        UnitType        ConsumesCharge        ValidRepairOnly
IMPROVEMENT_MING_GREAT_WALL        UNIT_BUILDER        1        0
#
至此,虽然log提示错误,但是,Improvements.xml文件中的所有定义和操作都已经反映在数据库中了

3、修改Ming Great Wall.modinfo文件
文件:Ming Great Wall.modinfo
<!-- 删除了FrontEndActions标签内的语句,因为GlobalParameters.xml文件不存在-->
<!-- 设置了LoadOrder数值 -->
  <InGameActions>
    <UpdateDatabase id="data">
                <Properties>
                        <LoadOrder>150</LoadOrder>
                </Properties>
      <File>Improvements.xml</File>
    </UpdateDatabase>

    <UpdateArt id="art">
                <Properties>
                        <LoadOrder>200</LoadOrder>
                </Properties>
      <File>Ming Great Wall.dep</File>
    </UpdateArt>

    <UpdateText id="NewAction">
                <Properties>
                        <LoadOrder>200</LoadOrder>
                </Properties>
      <File>text.xml</File>
    </UpdateText>

    <UpdateDatabase id="NewAction">
                <Properties>
                        <LoadOrder>200</LoadOrder>
                </Properties>
      <File>bomb.sql</File>
      <File>GameData1.sql</File>
    </UpdateDatabase>
  </InGameActions>
错误信息:
[2061249.590] [Localization]: StartupErrorMessages.xml
[2061249.590] [Localization]: Input XML does not contain database entry tags. GameData, GameInfo or Database
[2061253.872] [Localization]: Validating Foreign Key Constraints...
[2061253.873] [Localization]: Passed Validation.
[2061253.887] [Configuration]: Validating Foreign Key Constraints...
[2061253.888] [Configuration]: Passed Validation.
[2061255.230] [FullTextSearch]: Initializing FullTextSearch
[2061255.910] [Gameplay]: Validating Foreign Key Constraints...
[2061255.926] [Gameplay]: Passed Validation.
[2061257.454] [Configuration]: Validating Foreign Key Constraints...
[2061257.454] [Configuration]: Passed Validation.
[2061258.762] [HallofFame]: Database found. Checking versions...
[2061258.764] [HallofFame]: Database is up-to-date!
[2061274.177] [FullTextSearch]: FTS - Creating Context
[2061306.298] [Configuration]: Validating Foreign Key Constraints...
[2061306.299] [Configuration]: Passed Validation.
[2061314.417] [Gameplay] ERROR: UNIQUE constraint failed: Improvement_ValidBuildUnits.ImprovementType, Improvement_ValidBuildUnits.UnitType
[2061314.417] [Gameplay]: While executing - 'insert into Improvement_ValidBuildUnits('ImprovementType', 'UnitType') values (?, ?);'
[2061314.417] [Gameplay]: In XMLSerializer while inserting row into table insert into Improvement_ValidBuildUnits('ImprovementType', 'UnitType') with  values (IMPROVEMENT_MING_GREAT_WALL, UNIT_BUILDER, ).
[2061314.417] [Gameplay]: In XMLSerializer while updating table Improvement_ValidBuildUnits from file Improvements.xml.
[2061314.417] [Gameplay] ERROR: UNIQUE constraint failed: Improvement_ValidBuildUnits.ImprovementType, Improvement_ValidBuildUnits.UnitType

[2061314.479] [Gameplay]: Validating Foreign Key Constraints...
[2061314.511] [Gameplay]: Passed Validation.
[2061329.348] [FullTextSearch]: FTS - Creating Context
[2061329.348] [FullTextSearch]: FTS - Creating Context
[2061329.766] [FullTextSearch]: FTS - Creating Context
[2061330.186] [FullTextSearch]: FTS - Creating Context
[2061331.516] [FullTextSearch]: FTS - Creating Context
不再提示ERROR: no such table: Types了。
#
#
[2061314.417] [Gameplay] ERROR: UNIQUE constraint failed: Improvement_ValidBuildUnits.ImprovementType, Improvement_ValidBuildUnits.UnitType
[2061314.417] [Gameplay]: While executing - 'insert into Improvement_ValidBuildUnits('ImprovementType', 'UnitType') values (?, ?);'
[2061314.417] [Gameplay]: In XMLSerializer while inserting row into table insert into Improvement_ValidBuildUnits('ImprovementType', 'UnitType') with  values (IMPROVEMENT_MING_GREAT_WALL, UNIT_BUILDER, ).
[2061314.417] [Gameplay]: In XMLSerializer while updating table Improvement_ValidBuildUnits from file Improvements.xml.
[2061314.417] [Gameplay] ERROR: UNIQUE constraint failed: Improvement_ValidBuildUnits.ImprovementType, Improvement_ValidBuildUnits.UnitType

[2061314.479] [Gameplay]: Validating Foreign Key Constraints...
[2061314.511] [Gameplay]: Passed Validation.
Improvement_ValidBuildUnits表主键由两个字段组成:ImprovementType和UnitType。
错误提示意思是,Improvements.xml文件试图向表Improvement_ValidBuildUnits插入一行时触发了唯一冲突。

4、Replace操作替代Insert
将Improvements.xml文件中最后的一段:
        <Improvement_ValidBuildUnits>
                <Reow ImprovementType="IMPROVEMENT_MING_GREAT_WALL" UnitType="UNIT_BUILDER"/>
        </Improvement_ValidBuildUnits>
改为:
        <Improvement_ValidBuildUnits>
                <Replace ImprovementType="IMPROVEMENT_MING_GREAT_WALL" UnitType="UNIT_BUILDER"/>      <!-- 用Replace代替Row -->
        </Improvement_ValidBuildUnits>
即:用Replace操作替代Insert
日志中不再提示错误。是不是能用没试。

5、恢复<FrontEndActions>段代码
文件:Ming Great Wall.modinfo
结果:
[2064577.007] [Localization]: StartupErrorMessages.xml
[2064577.007] [Localization]: Input XML does not contain database entry tags. GameData, GameInfo or Database
[2064581.756] [Localization]: Validating Foreign Key Constraints...
[2064581.756] [Localization]: Passed Validation.
[2064581.770] [Configuration]: Validating Foreign Key Constraints...
[2064581.771] [Configuration]: Passed Validation.
[2064583.025] [FullTextSearch]: Initializing FullTextSearch
[2064583.791] [Gameplay]: Validating Foreign Key Constraints...
[2064583.812] [Gameplay]: Passed Validation.
[2064584.921] [Configuration] ERROR: no such table: Types
[2064584.921] [Configuration]: In Query - insert into Types('Type', 'Kind') values (?, ?);
[2064584.921] [Configuration]: In XMLSerializer while updating table Types from file Improvements.xml.
[2064585.490] [Configuration]: Validating Foreign Key Constraints...
[2064585.491] [Configuration]: Passed Validation.
[2064586.968] [HallofFame]: Database found. Checking versions...
[2064586.970] [HallofFame]: Database is up-to-date!
[2064602.174] [FullTextSearch]: FTS - Creating Context
[2064621.632] [Configuration] ERROR: no such table: Types
[2064621.632] [Configuration]: In Query - insert into Types('Type', 'Kind') values (?, ?);
[2064621.632] [Configuration]: In XMLSerializer while updating table Types from file Improvements.xml.
[2064621.754] [Configuration]: Validating Foreign Key Constraints...
[2064621.755] [Configuration]: Passed Validation.
[2064631.961] [Gameplay]: Validating Foreign Key Constraints...
[2064631.999] [Gameplay]: Passed Validation.
[2064650.353] [FullTextSearch]: FTS - Creating Context
[2064650.354] [FullTextSearch]: FTS - Creating Context
[2064650.812] [FullTextSearch]: FTS - Creating Context
[2064651.250] [FullTextSearch]: FTS - Creating Context
[2064652.725] [FullTextSearch]: FTS - Creating Context
重新提示错误。

6、<FrontEndActions>设置LoadOrder=150,<InGameActions>标签不设置LoadOrder。
文件:Ming Great Wall.modinfo
  <FrontEndActions>
    <UpdateDatabase id="NewAction">
                <Properties>
                        <LoadOrder>150</LoadOrder>
                </Properties>
      <File>Improvements.xml</File>
    </UpdateDatabase>
    <UpdateDatabase id="NewAction">
                <Properties>
                        <LoadOrder>150</LoadOrder>
                </Properties>
      <File>GlobalParameters.xml</File>
    </UpdateDatabase>
  </FrontEndActions>
<InGameActions>标签内不设置LoadOrder。
错误提示:
[2065097.543] [Localization]: StartupErrorMessages.xml
[2065097.543] [Localization]: Input XML does not contain database entry tags. GameData, GameInfo or Database
[2065102.499] [Localization]: Validating Foreign Key Constraints...
[2065102.499] [Localization]: Passed Validation.
[2065102.513] [Configuration]: Validating Foreign Key Constraints...
[2065102.514] [Configuration]: Passed Validation.
[2065103.516] [FullTextSearch]: Initializing FullTextSearch
[2065104.179] [Gameplay]: Validating Foreign Key Constraints...
[2065104.199] [Gameplay]: Passed Validation.
[2065105.475] [Configuration] ERROR: no such table: Types
[2065105.475] [Configuration]: In Query - insert into Types('Type', 'Kind') values (?, ?);
[2065105.475] [Configuration]: In XMLSerializer while updating table Types from file Improvements.xml.
[2065105.760] [Configuration]: Validating Foreign Key Constraints...
[2065105.761] [Configuration]: Passed Validation.
[2065107.131] [HallofFame]: Database found. Checking versions...
[2065107.133] [HallofFame]: Database is up-to-date!
[2065122.227] [FullTextSearch]: FTS - Creating Context
[2065132.237] [FullTextSearch]: FTS - Creating Context
[2065140.095] [Configuration] ERROR: no such table: Types
[2065140.095] [Configuration]: In Query - insert into Types('Type', 'Kind') values (?, ?);
[2065140.095] [Configuration]: In XMLSerializer while updating table Types from file Improvements.xml.
[2065140.103] [Configuration]: Validating Foreign Key Constraints...
[2065140.104] [Configuration]: Passed Validation.
[2065149.427] [Gameplay]: Validating Foreign Key Constraints...
[2065149.475] [Gameplay]: Passed Validation.
[2065166.145] [FullTextSearch]: FTS - Creating Context
[2065166.146] [FullTextSearch]: FTS - Creating Context
[2065166.512] [FullTextSearch]: FTS - Creating Context
[2065166.912] [FullTextSearch]: FTS - Creating Context
[2065168.297] [FullTextSearch]: FTS - Creating Context

7、<FrontEndActions>、<InGameActions>标签都不设置LoadOrder。
[2065319.584] [Localization]: StartupErrorMessages.xml
[2065319.584] [Localization]: Input XML does not contain database entry tags. GameData, GameInfo or Database
[2065324.303] [Localization]: Validating Foreign Key Constraints...
[2065324.303] [Localization]: Passed Validation.
[2065324.318] [Configuration]: Validating Foreign Key Constraints...
[2065324.318] [Configuration]: Passed Validation.
[2065325.261] [FullTextSearch]: Initializing FullTextSearch
[2065325.908] [Gameplay]: Validating Foreign Key Constraints...
[2065325.925] [Gameplay]: Passed Validation.
[2065327.119] [Configuration] ERROR: no such table: Types
[2065327.119] [Configuration]: In Query - insert into Types('Type', 'Kind') values (?, ?);
[2065327.119] [Configuration]: In XMLSerializer while updating table Types from file Improvements.xml.
[2065327.401] [Configuration]: Validating Foreign Key Constraints...
[2065327.402] [Configuration]: Passed Validation.
[2065328.731] [HallofFame]: Database found. Checking versions...
[2065328.733] [HallofFame]: Database is up-to-date!
[2065343.746] [FullTextSearch]: FTS - Creating Context
[2065438.293] [Configuration] ERROR: no such table: Types
[2065438.293] [Configuration]: In Query - insert into Types('Type', 'Kind') values (?, ?);
[2065438.293] [Configuration]: In XMLSerializer while updating table Types from file Improvements.xml.
[2065438.299] [Configuration]: Validating Foreign Key Constraints...
[2065438.300] [Configuration]: Passed Validation.
[2065446.554] [Gameplay]: Validating Foreign Key Constraints...
[2065446.602] [Gameplay]: Passed Validation.
[2065460.410] [FullTextSearch]: FTS - Creating Context
[2065460.411] [FullTextSearch]: FTS - Creating Context
[2065460.825] [FullTextSearch]: FTS - Creating Context
[2065461.242] [FullTextSearch]: FTS - Creating Context
[2065462.695] [FullTextSearch]: FTS - Creating Context
没有变化。
注意,这些错误都是在打开游戏程序,没有加载游戏存档时出现的,加载存档后没有新增错误。
上面的各种查询都能正确返回结果。

8、综合
<FrontEndActions>段的语句可能有问题,但是以我的这点知识储备看不出来原因;
加载游戏存档,还是会继续报错,但是Improvements.xml文件中各种设置都已经写入数据库中;
如果屏蔽或删除<FrontEndActions>段,并将<InGameActions>端<LoadOrder>设置为150,绝大部分错误会消失;
如果将Improvements.xml文件<Improvement_ValidBuildUnits>Replace操作替代Insert,就不再提示错误;
没有在游戏内测试效果,不清楚MOD是否生效。



回复 支持 1 反对 0

使用道具 举报

49

主题

327

帖子

604

积分

超级玩家

Rank: 5Rank: 5

贡献度
62
金元
3555
积分
604
精华
0
注册时间
2011-11-23
9#
 楼主| 发表于 2021-5-18 07:44 | 只看该作者
作为一个MOD小白,请教如下问题:
modinfo文件中,<FrontEndActions>标签段内语句是不是在游戏启动时加载?而<InGameActions>标签段内语句是不是在游戏载入存档或新开游戏进入游戏世界时生效?
从对RoutesAndExp MOD的测试来看,如果不设置延后加载(<LoadOrder>200</LoadOrder>),有关Railway的设定值不会生效。那其他包含类似于铁路这样XP2引入的元素的MOD是怎么生效的?
长城MOD,开发者老大和很多玩家朋友都正常,为何我的文明会报错,且游戏中(测试之前包含其他MOD时)好像没有效果?比如YIELD_FOOD等在长城格点及邻接格点并没有生效,而且也没有明长城的建造图标,只有原版的长城。
我的文明是1.0.9.9学习版,是不是因为版本或学习版的问题?
回复 支持 1 反对 0

使用道具 举报

2

主题

159

帖子

163

积分

中级玩家

Rank: 3Rank: 3

贡献度
0
金元
1627
积分
163
精华
0
注册时间
2019-4-24
10#
发表于 2021-5-30 01:56 | 只看该作者
楼主真辛苦了,玩个游戏比我认真,
回复 支持 反对

使用道具 举报

0

主题

40

帖子

103

积分

中级玩家

Rank: 3Rank: 3

贡献度
0
金元
1029
积分
103
精华
0
注册时间
2016-3-2
11#
发表于 2022-1-19 11:24 | 只看该作者
用了这个MOD后,建筑直接没有长城的选项,要怎么破。 有删除了Cache了
回复 支持 反对

使用道具 举报

2

主题

21

帖子

67

积分

初级玩家

Rank: 2

贡献度
9
金元
308
积分
67
精华
0
注册时间
2020-3-26
12#
发表于 2022-3-1 00:11 | 只看该作者
部分总结:虽然生效优先级上Mod要高于DLC,但是由于读取顺序是先Mod再DLC导致部分DLC中才出现的新数据无法在加载Mod时提前加载,造成错误。
比如风云变幻后才有的铁路、多次改版的老秦等。
应对方法是加一句
<Properties>
      <LoadOrder>200</LoadOrder>
</Properties>
延缓Mod的加载
回复 支持 反对

使用道具 举报

0

主题

63

帖子

143

积分

中级玩家

Rank: 3Rank: 3

贡献度
0
金元
1434
积分
143
精华
0
注册时间
2016-8-13
13#
发表于 2022-7-16 22:12 | 只看该作者
hizhj 发表于 2021-5-17 15:25
另外一个前辈的MOD在加载时也出错了。
文明6长城加强版MOD
https://bbs.3dmgame.com/thread-6097956-1-1.ht ...

Housing="2"那行的结尾重复了吧,有2个 />/>
回复 支持 反对

使用道具 举报

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

本版积分规则

Archiver|手机版|咖绿茵|求知网|3DMGAME ( 京ICP备14006952号-1  沪公网安备 31011202006753号

GMT+8, 2024-6-1 15:28 , Processed in 0.128481 second(s), 28 queries , Memcache On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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