高级玩家

- 贡献度
- 42
- 金元
- 1660
- 积分
- 334
- 精华
- 0
- 注册时间
- 2018-10-2
|
本帖最后由 我不是萨总 于 2022-4-2 07:17 编辑
优先声明:1,本教程基础知识来自于十字军之王3维基百科,诸位有性趣可以去ck3百科自行学习,差不多吃个半熟之后可以去游戏原文件里学习,p社语言之简单粗暴令人发指,应该没有学不会的人
相比起我们混沌大军,这地球中世纪的战争技术着实死板,来来回回就是那几样:披甲步兵,披甲和不披甲的骑兵,以及散兵和射手。
这合理吗?这不合理。
早在这中世纪的几百年前,那个名为罗马共和国的国度中,人类领袖还将矛兵分成轻装、中装和重装呢!
我们至高无上的恐虐大人之杰作怎能就这样被这些愚昧的地球人侮辱!
况且各位同样来自混沌的同胞们也一定希望能够带领自己从家乡带来的特色编制来征服这群愚昧的土著,因此,鄙人虽不才,但也愿意将那召唤异世界大军的法术教与各位。
虽然我相信大多数同僚都拥有自己研制法术的能力,只不过平时忙于伪装于地球人之间没有精力罢了,这本法术书也并非是为那些技术老练的魔法大师准备的,而是面向拥有踏入法师一途的想法的战士领主们。
首先我们先来了解一下魔法的组成部分:
每一个魔法效果,都来自于这个魔法句式的组成部分,既魔法字节,这并非混沌独创,我听闻在遥远的奈恩,天际的双足飞龙也是通过这种办法来释放魔法的
要制作一个有效的魔法,最主要的就是了解每一个魔法单词的含义,因此我将魔法词语翻译成了震旦语以方便诸位同僚理解。
type——单位类型
damage——伤害
toughness——坚韧
pursuit——追击
screen——掩护
terrain_bonus——地形加成
counters——反制单位类型,既此单位可以克制什么单位
buy_cost——单位价格
low_maintenance_cost——低维护成本,既此单位未集结时的维护费用
high_maintenance_cost——高维护成本,既此单位集结后的维护费用
mercenary_fallback——字面意思是佣兵撤退?我也不确定啥意思,反正写上yes佣兵就会雇佣该单位
holy_order_fallback——骑士团撤退?我也不确定啥意思,反正写上yes骑士团就会雇佣该单位
stack——军团规模,既每个军团编制的人数
max_sub_regiments——最大军团数量,既此军团最多可以拥有几个编制
fallback_in_hired_troops_if_unlocked——当这个单位解锁之后,雇佣军队,既佣兵和骑士团将不会优先选择该单位
allowed_in_hired_troops——允许雇佣军队选择,设定为no后,雇佣军队将永远不会选择该单位。
fights_in_main_phase——主要战斗阶段,设定为no后此单位将只参加追击阶段,常用于攻城武器,当然你也可以设定yes,这条其实可以弄出来个野战火炮玩
siege_tier——围攻等级,既面对堡垒时的能力有多强
ai_quality——ai确定的质量取决于\common\script_values\00_men_at_arms_values,质量这玩意儿无所谓的,直接抄原版就好了。至于这个文件是干嘛的打开看一眼就懂了。例子:value = culture_ai_weight_pikemen
icon——图像,既此兵种的插图。你可以不加,也可以从原版的兵种那里直接抄,如果非得整点骚图那你就把图放到\gfx\interface\icons\regimenttypes里面
hired_stack_size——雇佣军的人数,如果未设定此项将默认参照stack数值(我想不出有什么用,你们如果有骚主意可以用用)
winter_bonus——冬季加成
现在有了词典作为参考,我们就可以来尝试理解那些现存魔法句式的含义了
# 后面为注释,你们在游戏原文件中也可以找到大量的#符号,如果想要学习mod的制作,阅读#后的注释是必不可少的。
兵种文件位于common\men_of_arms_types,从这个文件夹里随便掏出来一个兵种,例如00_cultural_maa_types.txt中的第一个兵种:
huscarl = {# 首先要理解这么一个概念:p社所有语言都是写在一个大标题后面跟着的花括号中间的,只要有了“{”,就一定要有一个“}”,想要理解这个逻辑不难,打个比方,比如我在文件夹里新建了四个子文件夹,因为子文件夹是在主文件夹内部新建的,所以四个小文件夹的级别低于主文件夹而平行于其他所有子文件夹,结果就是这四个子文件夹被包含在了母文件夹中,这个花括号就相当于文件夹,前面的标题就相当于文件夹的名称,如果最花括号不完整,那么这个文件夹就不能成为一个文件夹,逻辑就无法成立,代码就会失效。
type = heavy_infantry#类型=重步兵
damage = 40# 伤害=40
toughness = 26# 坚韧=26
pursuit = 0# 追击=0
screen = 24# 掩护等于=24
terrain_bonus = {# 地形加成
taiga = { damage = 8 }# 针叶林,伤害+8
forest = { damage = 8 }# 森林,伤害+8
}
counters = { 反制单位类型
pikemen = 1# 矛兵
archers = 1# 射手
}
can_recruit = {# 可以招募的条件
culture = { has_cultural_parameter = unlock_maa_huscarls }# 文化:拥有文化参数=解锁此兵士,maa即为兵士,huscarls为兵士的名称
}
winter_bonus = {# 冬季加成
normal_winter = { toughness = 6 screen = 6 }# 普通冬天=坚韧+6,掩护+6
harsh_winter = { toughness = 6 screen = 6 }# 严冬=坚韧+6,掩护+6
}
buy_cost = { gold = huscarls_recruitment_cost }# 购买价格,上面提到了,原版写在\common\script_values\00_men_at_arms_values里面,这里你直接写数字也是可以的,比如150,那么购买就要花费150.
low_maintenance_cost = { gold = huscarls_low_maint_cost }# 低维护费用=huscarls的最低维护成本
high_maintenance_cost = { gold = huscarls_high_maint_cost }# 高维护费用=huscarls的最高维护成本
stack = 100# 每队人数=100
ai_quality = { value = @cultural_maa_extra_ai_score }# 质量,无所谓的东西,这个地方甚至可以不写
icon = danish_huskarls# 图像,抄原版就行,如果你非得整点骚图,地址我在上面提了。
}# 上面那个大花括号的下半部分
考虑到这玩意儿是个特殊兵种,我们再搬出一些其他兵种,这次我不逐条翻译了
例如骑士团骑士:
@maa_buy_cost = 150# 兵士购买成本=150
teutonic_knights = { # Actually all Christian knightly orders, not just the Teutons.# 这玩意儿的名字写成了条顿骑士,而后面的注释说实际上这个包括了所有骑士团,而不仅仅只是条顿。
type = heavy_infantry
can_recruit = { always = no }
# Slightly stronger than normal Heavy Infantry MaA, to represent zeal & dedication to the cause.# 解释为啥这个玩意儿比寻常的重步兵更超模
damage = 36
toughness = 26
pursuit = 0
screen = 0
buy_cost = { gold = heavy_infantry_recruitment_cost }# 购买价格=重步兵招募价格
low_maintenance_cost = { gold = heavy_infantry_low_maint_cost }# 最低维护费=重步兵最低维护费
high_maintenance_cost = { gold = heavy_infantry_high_maint_cost }# 最高维护费=重步兵最高维护费
counters = {
pikemen = 1
}
stack = 100
icon = heavy_infantry
}
例如披甲骑兵:
armored_horsemen = {
type = heavy_cavalry
damage = 100
toughness = 35
pursuit = 20
screen = 0
terrain_bonus = {# 地形加成
plains = { damage = 30 }# 平原:伤害+30
drylands = { damage = 30 }# 旱地:伤害+30
hills = { damage = -20 }# 丘陵:伤害-20
mountains = { damage = -75 }# 山地:伤害-75
desert_mountains = { damage = -75 }# 沙漠山地:伤害-75
wetlands = { damage = -75 toughness = -10 pursuit = -10 }# 沼泽:伤害-75 坚韧-10 追击-10(现在知道苏格兰那群光膀子的泥腿子是咋在劳当山打赢了长腿家的披甲骑兵了吧?沼泽加山地,伤害一下减到负数,坚韧-10、追击-10,加上长矛兵还有山地加成,这想不赢都难啊)
}
counters = {
archers = 1
}
winter_bonus = {
normal_winter = { damage = -10 toughness = -5 }
harsh_winter = { damage = -20 toughness = -10 }
}
buy_cost = { gold = heavy_cavalry_recruitment_cost }
low_maintenance_cost = { gold = heavy_cavalry_low_maint_cost }
high_maintenance_cost = { gold = heavy_cavalry_high_maint_cost }
stack = 50
ai_quality = { value = culture_ai_weight_heavy_cavalry }
icon = heavy_cavalry
fallback_in_hired_troops_if_unlocked = yes# 解锁后雇佣的军队不会优先选择该单位,也就是说如果设定成no,那么佣兵和骑士团将会优先购买披甲骑兵
}
攻城武器,例如野驴炮:
onager = {# 驴,刚看着这名字属实给我干一愣,我心寻思这啥玩意儿?攻城武器?驴?后来一合计,啊,野驴炮!
type = siege_weapon# 类型=攻城武器
fights_in_main_phase = no# 参加主要战斗阶段=no,设定为yes或者干脆不输入这一条就会默认判定为参加主要战斗阶段,也就是说我们其实只需要改动一下数据,就完全可以用投石机砸人,再大胆点,咱用炮,嘿,再搭配上贴图,全战战锤里的各种覆盖性火力这不就出来了吗
damage = 0# 惨吧?这就是为啥我说要改动数据,这里要解释一下,游戏的战斗阶段分为两个阶段,主要战斗阶段和追击阶段,上面那条只是否定了攻城武器参与战斗阶段,而不限制参与追击阶段,而伤害的数值同样会在追击阶段中造成判定,游戏对攻城武器的定位就是不能打人,所以为了防止攻城武器在追击阶段中杀人就将伤害数值设定成了0.当然,这里不写也是一样的
toughness = 12# 有些人可能会疑惑,既然不参与主要战斗阶段,那为什么要有坚韧值呢?因为他虽然打仗的时候不在场,但逃跑的时候是在场的,坚韧值会决定这个攻城武器在逃跑时能承受多少攻击。
siege_tier = 1# 围攻等级=1
siege_value = 0.2# 围攻价值=0.2
buy_cost = { gold = onager_recruitment_cost }
low_maintenance_cost = { gold = onager_low_maint_cost }
high_maintenance_cost = { gold = onager_high_maint_cost }
stack = 10
allowed_in_hired_troops = no# 允许雇佣军队使用=no,如果把这条删了你就可以看到雇佣兵带投石机了
}
基础兵士,例如长矛兵:
pikemen_unit = {
type = pikemen
damage = 22
toughness = 24
pursuit = 0
screen = 0
terrain_bonus = {
mountains = { toughness = 12 }
desert_mountains = { toughness = 12 }
hills = { toughness = 8 }
}
counters = {
light_cavalry = 1
heavy_cavalry = 1
camel_cavalry = 1# 骆驼骑兵
elephant_cavalry = 1# 象兵
}
buy_cost = { gold = pikemen_recruitment_cost }
low_maintenance_cost = { gold = pikemen_low_maint_cost }
high_maintenance_cost = { gold = pikemen_high_maint_cost }
mercenary_fallback = yes
holy_order_fallback = yes
stack = 100
ai_quality = { value = culture_ai_weight_pikemen }
icon = pikemen
}
现在再一看是不是就已经很简单了?
那么我们开始最基础的操作:新建自己的兵种。例如我要新建一个开局自带的基础兵种。
1,首先点开游戏登录器
2,在所有已安装mod中点击右上角的上传mod
3,点击创建mod
4,名称即为该mod在你的登录器中识别为什么名字,版本你可以随便填一个,无所谓,标签随便点一个就行,无所谓,目录是这个mod在mod文件夹中显示为什么名字,想起啥名就起啥名,无所谓。
5,新建完mod之后,我们在文档\P社文件夹\ck3\mod中找到刚刚新建的mod文件夹,这就是我们的工作区了。
6,将你要修改的兵种文件,这里我要修改的是常规兵士,因此我会将00_mma_types.txt复制到mod文件夹中,新建common文件夹,再在common文件夹中新建men_at_arms_type文件夹并将文件拖拽到该文件夹中,以此保证该文件在mod文件夹中的路径和原文件是一样的,然后在你要添加的兵种类型里面加上你要新建的兵种信息,例如我要做一个以都补勒武士为原型的双手剑士,首先我们要找到他对应的时期,开局自带的兵种就写在最上面,就像这样:
light_footmen = {
type = skirmishers
damage = 10
toughness = 16
pursuit = 10
screen = 16
terrain_bonus = {
forest = { damage = 4 toughness = 6 }
taiga = { damage = 4 toughness = 6 }
jungle = { damage = 4 toughness = 6 }
}
counters = {
heavy_infantry = 1
}
buy_cost = { gold = skirmisher_recruitment_cost }
low_maintenance_cost = { gold = skirmisher_low_maint_cost }
high_maintenance_cost = { gold = skirmisher_high_maint_cost }
mercenary_fallback = yes
holy_order_fallback = yes
stack = 100
ai_quality = { value = culture_ai_weight_skirmishers }
icon = skirmishers
}
bowmen = {
type = archers
damage = 25
toughness = 10
pursuit = 0
screen = 0
terrain_bonus = {
hills = { damage = 10 toughness = 4 }
forest = { toughness = 4 screen = 4 }
taiga = { toughness = 4 screen = 4 }
}
counters = {
skirmishers = 1
}
buy_cost = { gold = bowmen_recruitment_cost }
low_maintenance_cost = { gold = bowmen_low_maint_cost }
high_maintenance_cost = { gold = bowmen_high_maint_cost }
mercenary_fallback = yes
holy_order_fallback = yes
stack = 100
ai_quality = { value = culture_ai_weight_archers }
}
light_horsemen = {
type = light_cavalry
damage = 22
toughness = 15
pursuit = 30
screen = 30
terrain_bonus = {
plains = { damage = 15 }
drylands = { damage = 15 }
hills = { damage = -5 }
mountains = { damage = -10 pursuit = -20 }
desert_mountains = { damage = -15 pursuit = -20 }
wetlands = { damage = -15 toughness = -10 pursuit = -30 screen = -30 }
}
counters = {
archers = 1
}
winter_bonus = {
harsh_winter = { damage = -5 toughness = -2 }
}
buy_cost = { gold = light_cavalry_recruitment_cost }
low_maintenance_cost = { gold = light_cavalry_low_maint_cost }
high_maintenance_cost = { gold = light_cavalry_high_maint_cost }
mercenary_fallback = yes
holy_order_fallback = yes
stack = 100
ai_quality = { value = culture_ai_weight_light_cavalry }
icon = light_cavalry
}
pikemen_unit = {
type = pikemen
damage = 22
toughness = 24
pursuit = 0
screen = 0
terrain_bonus = {
mountains = { toughness = 12 }
desert_mountains = { toughness = 12 }
hills = { toughness = 8 }
}
counters = {
light_cavalry = 1
heavy_cavalry = 1
camel_cavalry = 1
elephant_cavalry = 1
}
buy_cost = { gold = pikemen_recruitment_cost }
low_maintenance_cost = { gold = pikemen_low_maint_cost }
high_maintenance_cost = { gold = pikemen_high_maint_cost }
mercenary_fallback = yes
holy_order_fallback = yes
stack = 100
ai_quality = { value = culture_ai_weight_pikemen }
icon = pikemen
}
我们可以随便在这些单位前面或者是后面,又或者是他们之间的任意一个地方添加进我们自己的单位,只要符合格式就行(写注释,写注释,写注释!一定要养成写注释的好习惯!)
这是我要做的双手剑士:
shuang_shou_jian_shi = {# 随便写啥都行,直接打中文都好使,考虑到历史上并非只有神罗一家有装备长兵器的突破兵种,因此我决定叫他双手剑士
type = skirmishers# 因为我给双手剑士的定位是针对长矛兵和轻型步兵的突破型散兵单位,同时由于扛远程打击能力低下而被射手克制,所以类型为散兵
damage = 42# 别看伤害这么高
toughness = 10# 跟阎王借的
pursuit = 10# 由于本质上和轻步兵并无区别,所以该兵种的掩护继承了轻步兵的数值
screen = 18# 没有传统轻步兵必备的投掷武器,双手剑士的负重反而还要比轻步兵低
terrain_bonus = {
forest = { toughness = 8 }# 林地为轻步兵的调动提供了掩护,同时也在一定程度上增加了轻步兵的扛远程打击能力,但没有盾牌的双手剑士坚韧总量肯定不能超过轻步兵,否则就太假了。我知道现实里都补勒武士是和矛兵编在一起的,但双手剑士在山地加属性也并不合理
taiga = { toughness = 8 }
jungle = { toughness = 8 }
}
counters = {
pikemen = 2# 这就是都补勒武士的核心所在,尤其克制矛兵
skirmishers = 1# 以及对无甲单位造成大量杀伤的能力
}
buy_cost = { gold = heavy_infantry_recruitment_cost }# 由于伤害和坚韧是以重步兵为基础的,所以费用我也按照重步兵的来
low_maintenance_cost = { gold = skirmisher_low_maint_cost }# 双手剑士平时的需求其实并没有重步兵那么高
high_maintenance_cost = { gold = heavy_infantry_high_maint_cost }# 但战时作为敢死队,需要更高的工资,要知道这群人的别名叫做双薪武士,虽然他们艺高人胆大,但要拿双倍的佣金
mercenary_fallbace = yes# 我不希望只有玩家或是ai能造出双手剑士,事实上历史上大部分都补勒武士都是佣兵
holy_order_fallback = yes# 没人规定过骑士团不能找佣兵
stack = 100
ai_quality = { value = culture_ai_weight_skirmishers}
icon = skirmishers
}
那么现在,我们成功的拥有了一只名为双手剑士的基础兵种,好了,现在保存文件,启动mod并进入游戏体验新的兵种吧!
这个时候我会发现,虽兵种已经成功的加入了游戏当中,但游戏中显示的双手剑士是“shuang_shou_jian_shi”,而不是我更喜欢看到的“双手剑士”,这是缺少本地化文件导致的,要怎么解决呢?
同样很简单
打开游戏目录内的locelization文件夹,这就是我常说的本地化文件夹,点进简体中文“simp_chinese”,搜索框搜索regiment,复制进mod文件夹,和之前一样,文件路径要保证和源文件相同,然后以记事本形式打开regiment_l_simp_chinese文件,仿照格式输入:
shuang_shou_jian_shi:0 "双手剑士"
shuang_shou_jian_shi_desc:0 "艺高人胆大的双手剑士,他们手中的双手剑可以对无甲单位造成巨大杀伤,但身体缺乏保护。"
shuang_shou_jian_shi_flavor:0 "猛男无需废话"
这个本地化写什么都无所谓,只会影响游戏内显示的内容。
ok,现在这个猛男完整了,可以进入游戏体验了,简单吧?
这期就到这里,只是最基本的操作,之后会再出更加深入的自定义兵种教学,如果我还能想起来这事儿的话# 笑
|
评分
-
2
查看全部评分
-
|