修改 Civ 6 可选出生点 MOD,允许更多的自定义位置

谈笑风生 109 views 1 replies
#1 · (edited)

原因:选择地球极大(可选出生点)地图的时候发现选择有限,想选MOD上没有的位置

https://steamcommunity.com/sharedfiles/filedetails/?id=3512608060

定位MOD文件:

cd ~/.steam/steam/steamapps/workshop/content/289070/
寻找MOD所在的文件夹:
rga 自定义出生点

找某个位置,看看需要改哪些文件:

grep -C 2 东京 *
grep: Selected_StartPosition: Is a directory
TEXT01.xml-             </Replace>
TEXT01.xml-             <Replace Tag="LOC_OFF_SSP_TOKYO_NAME" Language="zh_Hans_CN">
TEXT01.xml:                     <Text>东京</Text>
TEXT01.xml-             </Replace>
TEXT01.xml-             <Replace Tag="LOC_OFF_SSP_WASHI_NAME" Language="zh_Hans_CN">
grep -C 2 LOC_OFF_SSP_TOKYO_NAME *
Localization.xml-                       <Text>Karakorum</Text>
Localization.xml-               </Replace>
Localization.xml:               <Replace Tag="LOC_OFF_SSP_TOKYO_NAME" Language="en_US">
Localization.xml-                       <Text>Tokyo</Text>
Localization.xml-               </Replace>
--
Map_7676_SSP_Data.sql-('{804c0b68-c681-46ed-9e99-203d5b568853}Maps/7676World.Civ6Map',7843,23,'LOC_OFF_SSP_NANJING_NAME',NULL),
Map_7676_SSP_Data.sql-('{804c0b68-c681-46ed-9e99-203d5b568853}Maps/7676World.Civ6Map',10723,24,'LOC_OFF_SSP_HELIN_NAME',NULL),
Map_7676_SSP_Data.sql:('{804c0b68-c681-46ed-9e99-203d5b568853}Maps/7676World.Civ6Map',8926,25,'LOC_OFF_SSP_TOKYO_NAME',NULL),
Map_7676_SSP_Data.sql-
Map_7676_SSP_Data.sql-('{804c0b68-c681-46ed-9e99-203d5b568853}Maps/7676World.Civ6Map',9872,26,'LOC_OFF_SSP_WASHI_NAME',NULL),
--
Map_SSP_Data.sql-('{4873eb62-8ccc-4574-b784-dda455e74e68}Maps/EarthMaps/EarthStandard_XP2.Civ6Map',3342,23,'LOC_OFF_SSP_NANJING_NAME',NULL),
Map_SSP_Data.sql-('{4873eb62-8ccc-4574-b784-dda455e74e68}Maps/EarthMaps/EarthStandard_XP2.Civ6Map',4009,24,'LOC_OFF_SSP_HELIN_NAME',NULL),
Map_SSP_Data.sql:('{4873eb62-8ccc-4574-b784-dda455e74e68}Maps/EarthMaps/EarthStandard_XP2.Civ6Map',3518,25,'LOC_OFF_SSP_TOKYO_NAME',NULL),
Map_SSP_Data.sql-
Map_SSP_Data.sql-('{4873eb62-8ccc-4574-b784-dda455e74e68}Maps/EarthMaps/EarthStandard_XP2.Civ6Map',3717,26,'LOC_OFF_SSP_WASHI_NAME',NULL),
--
Map_SSP_Data.sql-('{4873eb62-8ccc-4574-b784-dda455e74e68}Maps/EarthMaps/WorldMapHuge_XP2.Civ6Map',5305,23,'LOC_OFF_SSP_NANJING_NAME',NULL),
Map_SSP_Data.sql-('{4873eb62-8ccc-4574-b784-dda455e74e68}Maps/EarthMaps/WorldMapHuge_XP2.Civ6Map',6469,24,'LOC_OFF_SSP_HELIN_NAME',NULL),
Map_SSP_Data.sql:('{4873eb62-8ccc-4574-b784-dda455e74e68}Maps/EarthMaps/WorldMapHuge_XP2.Civ6Map',5573,25,'LOC_OFF_SSP_TOKYO_NAME',NULL),
Map_SSP_Data.sql-
Map_SSP_Data.sql-('{4873eb62-8ccc-4574-b784-dda455e74e68}Maps/EarthMaps/WorldMapHuge_XP2.Civ6Map',5754,26,'LOC_OFF_SSP_WASHI_NAME',NULL),
--
Map_SSP_Data.sql-('{1F367231-A040-4793-BDBB-088816853683}Maps/EastAsiaStandard_XP2.Civ6Map',3486,13,'LOC_OFF_SSP_NANJING_NAME',NULL),
Map_SSP_Data.sql-('{1F367231-A040-4793-BDBB-088816853683}Maps/EastAsiaStandard_XP2.Civ6Map',4385,14,'LOC_OFF_SSP_HAMI_NAME',NULL),
Map_SSP_Data.sql:('{1F367231-A040-4793-BDBB-088816853683}Maps/EastAsiaStandard_XP2.Civ6Map',3921,15,'LOC_OFF_SSP_TOKYO_NAME',NULL),
Map_SSP_Data.sql-
Map_SSP_Data.sql-('{1F367231-A040-4793-BDBB-088816853683}Maps/EastAsiaStandard_XP2.Civ6Map',4033,16,'LOC_OFF_SSP_SAMA_NAME',NULL),
grep: Selected_StartPosition: Is a directory
--
TEXT01.xml-                     <Text>哈拉和林</Text>
TEXT01.xml-             </Replace>
TEXT01.xml:             <Replace Tag="LOC_OFF_SSP_TOKYO_NAME" Language="zh_Hans_CN">
TEXT01.xml-                     <Text>东京</Text>
TEXT01.xml-             </Replace>
--
TEXT01.xml-             <Text>哈拉和林</Text>
TEXT01.xml-             </Replace>
TEXT01.xml:             <Replace Tag="LOC_OFF_SSP_TOKYO_NAME" Language="zh_Hant_HK">
TEXT01.xml-             <Text>東京</Text>
TEXT01.xml-             </Replace>

看来是针对不同的地图有个SQL文件,找到了地球(极大)地图的相关行:
Map_SSP_Data.sql


--地球(极大)
insert or replace into Selected_MapStartPositions  (Map,Plot,SSP_SortIndex,SP_Name,SP_Description)
VALUES 
('{4873eb62-8ccc-4574-b784-dda455e74e68}Maps/EarthMaps/WorldMapHuge_XP2.Civ6Map',5786,11,'LOC_OFF_SSP_ROME_NAME',NULL),
('{4873eb62-8ccc-4574-b784-dda455e74e68}Maps/EarthMaps/WorldMapHuge_XP2.Civ6Map',5921,12,'LOC_OFF_SSP_CONSTI_NAME',NULL),
('{4873eb62-8ccc-4574-b784-dda455e74e68}Maps/EarthMaps/WorldMapHuge_XP2.Civ6Map',5272,13,'LOC_OFF_SSP_ALEXA_NAME',NULL),
...
Map_SSP_Data.sql-('{4873eb62-8ccc-4574-b784-dda455e74e68}Maps/EarthMaps/WorldMapHuge_XP2.Civ6Map',5305,23,'LOC_OFF_SSP_NANJING_NAME',NULL),
Map_SSP_Data.sql-('{4873eb62-8ccc-4574-b784-dda455e74e68}Maps/EarthMaps/WorldMapHuge_XP2.Civ6Map',6469,24,'LOC_OFF_SSP_HELIN_NAME',NULL),
Map_SSP_Data.sql:('{4873eb62-8ccc-4574-b784-dda455e74e68}Maps/EarthMaps/WorldMapHuge_XP2.Civ6Map',5573,25,'LOC_OFF_SSP_TOKYO_NAME',NULL),

可以看到,这里面比较关键的是Hexagon的位置 5786,...,5305。
这个号码是 行*宽度+列,如何定位呢?要使用地图生成器,新建地图,使用地球(极大)作为模板,然后点击任意Hexagon,可以看到例如Hex #6271
Screenshot_20260430_232144|689x430

然后在Map_SSP_Data.sql里适当的位置插入,注意结尾的;,

('{4873eb62-8ccc-4574-b784-dda455e74e68}Maps/EarthMaps/WorldMapHuge_XP2.Civ6Map',6141,34,'LOC_OFF_SSP_TORONTO_NAME',NULL),

TEXT01.xmlLocalization.xml里面加中英文翻译,例如:

		<Replace Tag="LOC_OFF_SSP_TORONTO_NAME" Language="zh_Hans_CN">
			<Text>Toronto</Text>
		</Replace>

重启Civ6,即可看到出生点可以选择你添加的位置:
image|479x500

❤️👍️
2
#2 ·

wow居然有文明六mod实战

好吧。