《骑马与砍杀》95x男女性别问题研究
本人应部分狼友要求制作了全MM的All Women 这个很黄很暴力的小品MOD,不过制作中发现女性代码不再仅仅是17了,17现在仅仅作为女性NPC专用性别代码而被使用,如果强行用17替代全部男性人物的性别,就会使士兵NPC化,所有的部队都会单人化。这是一个很严重的问题。
不得以,只好打开人物装备表troops.txt,对照troops.csv汉化表,一点一点地分析起来。终于发现95x的人物性别代码相对于以前的版本有了巨大的变化,男性代码有28种之多,女性代码略少,但也有7种,全部合计35种性别代码。
先说关键的女性性别代码,除了原来的17,还有32785、36881、2097153、3145729、7340033、61867009这6种,下面是我总结的使用范围:
17 有:被绑架的女孩、 谢瑞娜、 雅米拉(女npc们)、 trp_kingdom_1_pretender|苏诺的艾索娜夫人(女篡位者)、 trp_knight_1_1_wife|安娜夫人(骑士的夫人们);
32785 :只有“trp_town_3_tavernkeeper|酒馆老板” (女掌柜的不少)在用;
36881 :“trp_town_2_armorer|防具商人、 trp_town_1_weaponsmith|武器商人、 trp_town_3_merchant|杂货商人、 trp_town_1_horse_merchant|马匹贩子 ”(都是女商贩)
2097153 :有“追随妇女、 女猎手、难民、农妇 ”;
3145729 :有“女斗士、 trp_town_walker_2|市民、 trp_village_walker_2|村民 ”
7340033 :有“trp_spy_walker_2|市民(女间谍)”;
61867009 :是“女剑士”
可以看出,女性的代码都是奇数结尾。很有趣吧。
我们来看男性的代码,包括0、16、4112、32784、36880、2097152、3145728、3146752、7340032、18875392、19922944、19923968、24118272、28312576、36700160、36701184、40894464、40895488、53478400、57672704、66061312、70254592、74448896、74449920、87032832、95421440、108003328、120587264。
其中
16包括了“竞技场选手 竞技场老板 教练 治安官哈瑞克 奴隶贩子拉蒙 机灵鬼吉米 德朗顿 喀拉杜斯 训练场教练 盖阿里斯 教练 trp_npc2马尼德(男性npc) trp_kingdom_1_lord哈劳斯国王(国王5个) 玩家 ”;
32784包括了“trp_ransom_broker_1|赎金经纪人、 trp_tavern_traveler_1|旅行者、 trp_knight_1_1|克拉格斯(所有的领主)、 trp_kingdom_2_pretender|私生子维迪姆王子(男性篡位者)、 trp_town_1_arena_master|竞技场教练、 trp_town_2_tavernkeeper|酒馆老板(男掌柜的)、 trp_town_1_mayor|镇长 ”;
36880包括了“trp_tavern_bookseller_1|书籍商人、 trp_town_1_armorer|防具商人、 trp_town_2_weaponsmith|武器商人、 trp_town_1_merchant|杂货商人、 trp_town_2_horse_merchant|马匹贩子(所有的男性商贩)、 trp_village_1_elder|村庄长老 ”;
2097152包括了“trp_farmer|农民、 芮尔典新兵、 强盗、 赏金猎人、 奴隶押送人、 奴隶捕猎者、 trp_farmer_from_bandit_village|农民、 造反的农民、trp_trainee_peasant|农 民 ”;
3145728包括了“锤矛兵、 弓箭手、 剑客、 初级斗士、 普通斗士、 资深斗士、 格斗冠军、 trp_townsman|市民、 维吉亚新兵、 诺德新兵、 罗多克族人、 山贼、 trp_town_walker_1|市民、 trp_village_walker_1|村民、 本地商人、 紧张不安者”;
7340032 有“trp_spy_walker_1|市民 ”。
可以看出,男性代码全部都是偶数结尾,和女性代码正好相反。
16--17
32784-32785
36880--36881
2097152--2097153
3145728--3145729
7340032--7340033
而且,女性代码仅仅比对应的男性代码大1,也就是说女性代码是男性代码+1。
于是我将其它没有女性代码对应的男性代码+1后替换掉男性代码,测试后可以正常开始游戏,也就是说女性代码只要比男性代码大1即可。而且好像只要保证性别代码为奇数,即可保证是女性。
接着分析,看32784——“trp_ransom_broker_1|赎金经纪人、 trp_tavern_traveler_1|旅行者、 trp_knight_1_1|克拉格斯(所有的领主)、 trp_kingdom_2_pretender|私生子维迪姆王子(男性篡位者)、 trp_town_1_arena_master|竞技场教练、 trp_town_2_tavernkeeper|酒馆老板(男掌柜的)、 trp_town_1_mayor|镇长 ”,可以看出这也是1个NPC代码。36880——“trp_tavern_bookseller_1|书籍商人、 trp_town_1_armorer|防具商人、 trp_town_2_weaponsmith|武器商人、 trp_town_1_merchant|杂货商人、 trp_town_2_horse_merchant|马匹贩子(所有的男性商贩)、 trp_village_1_elder|村庄长老 ”,这部分包括了作为领主的NPC部分,故也和32785一起可以看做NPC性别代码。
而2097152——“trp_farmer|农民、 芮尔典新兵、 强盗、 赏金猎人、 奴隶押送人、 奴隶捕猎者、 trp_farmer_from_bandit_village|农民、 造反的农民、trp_trainee_peasant|农 民 ”和3145728——“锤矛兵、 弓箭手、 剑客、 初级斗士、 普通斗士、 资深斗士、 格斗冠军、 trp_townsman|市民、 维吉亚新兵、 诺德新兵、 罗多克族人、 山贼、 trp_town_walker_1|市民、 trp_village_walker_1|村民、 本地商人、 紧张不安者”则是普通士兵的性别代码。
还有几组,我们来看看:
3145728 :锤矛兵 弓箭手 剑客 初级斗士 普通斗士 资深斗士 格斗冠军 trp_townsman|市民 维吉亚新兵 诺德新兵 罗多克族人 山贼 trp_town_walker_1|市民 trp_village_walker_1|村民 本地商人 紧张不安者
36700160 :趟子手 芮尔典民兵 芮尔典见习步兵 维吉亚见习步兵 诺德见习步兵 罗多克持矛兵 罗多克熟练持矛兵 海寇
36701184 :维吉亚资深士兵
40894464 :芮尔典步兵 诺德熟练步兵 诺德战士 诺德资深士兵 诺德精英士兵 罗多克资深持矛兵 罗多克中士 监狱守卫 城堡护卫
40895488 :芮尔典中士 维吉亚卫士
53478400 :镖师 库吉特长矛轻骑兵
57672704 :雇佣兵 雇佣骑手 雇佣骑兵 芮尔典重骑兵 维吉亚骑兵
66061312 :职业杀手 芮尔典骑士 维吉亚骑士
70254592 :雇佣弩手 芮尔典见习弩手 芮尔典弩手 维吉亚见习弓箭手 维吉亚 弓箭手 XXXX逃兵 绿林强盗
74448896 :维吉亚神射手 罗多克弩手
74449920 :芮尔典狙击手
87032832 :库吉特见习弓箭手 库吉特骑手 库吉特骑射手 响马
95421440 :XXXX传令兵
108003328:罗多克熟练弩手 罗多克资深弩手 罗多克狙击弩手
120587264:库吉特资深骑射手
可以看出,每组性别代码都对应一类士兵,而且似乎和等级有关,像3145728,多是低等级的士兵和一些杂兵之类的,而57672704是骑兵,66061312是骑士类(职业杀手骑马的话也可以算骑士,952算步行骑士);70254592全部是弓箭手,而且等级都不高;87032832全部是弓骑。而罗多克高级弩兵很特殊,是108003328。
不知道是巧合还是土耳其夫妇的专门设置,很有趣,但也很枯燥,做这么多不同性别代码到底可以实现什么?
以上就是我的关于人物的性别代码的研究,虽然只有其中的女性代码对自己有用,不过既然弄出来了,也就整理下发出来,给大家共享下,也许有用。