游戏精英
 
- 贡献度
- 356
- 金元
- 27889
- 积分
- 4213
- 精华
- 0
- 注册时间
- 2008-1-26
 
|
看了王老菊玩这游戏,突然产生了兴趣,跟风玩了玩,边玩边改的,所以内容有限,有问题也别问我,因为我可能玩一阵子就不会有兴趣再玩了,也不可能会去深入研究的。并且修改方法并不是只有我这一种,每个人可能都会因为对代码理解不同有不同的修改方法。就以我之前修改的DLL为例,说下怎么改,方便各位版本更新后自己修改:
1.属性上限
找到CharacterHelper这个类,在GetMaxStatValue方法里修改,比如:
public static int GetMaxStatValue(eCharacterStats pCharacterStat)
{
switch (pCharacterStat)
{
case eCharacterStats.STR:
return 255;
case eCharacterStats.VIT:
return 255;
case eCharacterStats.INT:
return 255;
case eCharacterStats.AWR:
return 255;
case eCharacterStats.TAL:
return 255;
case eCharacterStats.SPD:
return 255;
case eCharacterStats.LCK:
return 255;
case eCharacterStats.FOC:
return 9; //专注值,一般不改
}
return -1;
}
255这个就是上限值,按你喜欢的改
然后拉到最后,找到public const int MAX_CHARACTER_STAT = 255; 按需修改,
再找到ProgressionHelper这个类,同样有个public const int MAX_CHARACTER_STAT = 255; 修改为一致数字。
重点提下,MAX_CHARACTER_STAT直接修改是会报错的,正确的改法展开所在类的目录树,在这个字段上右键,选择编辑字段,可以看到常量那里是int32,后面的数字按需改,可以直接填入十进制,也可填入十六进制,比如255,或者0xFF
2.各种倍数,我用的方法比较简单粗暴,直接改数字,也可以分析公式在公式里改的。
在ProgressionHelper这个类里,各种GetXXXXXScaleValue方法,在把里面的数字改成想要的倍数就行了。
3.修改开局装配点数,我用的也是最简单粗暴的方式修改:
PartyManagementDirector找到_getLoadoutPoints这个方法,
把:int num = this._baseLoadOutPoints + CharacterHelper.GetStat(pEntity, eCharacterStats.LOP, false);
改成 int num = 想要的数字;
即可
如果出错,可以使用编辑IL指令,然后看序号,把序号为1,4,5,6行删掉,注意,第一行是序号是0,不要稀里糊涂的就直接删了,看好序号。然后在序号为2的行里把需要的数值填上去,默认不得大于127,想要大于127,可以把ldc.i4.s改成ldc.i4。
最后还有一点:改完保存时在保存窗口选择MD写入选项,勾选保持之前的MaxStack值,再保存,否则可能会报错。
另外很多人知道改特性,提供一个特别毁平衡的模板:
{
"TRAIT_TACTICIAN": {
"ConsumableType": "NONE",
"Value": 0,
"MinTier": 0,
"MaxTier": 0,
"Rarity": "COMMON",
"Material": "NONE",
"Hidden": true,
"Stacks": false,
"Ammo": 0,
"Equippable": {
"Slots": [],
"Stats": {
"STR": 255,
"SA": 255,
"VIT": 255,
"INT": 255,
"SPD": 255,
"TAL": 255,
"LCK": 255,
"AWR": 255
},
"Passives": [
"SKILL_TACTICS",
"SKILL_EAGER",
"SKILL_SUPPORTRANGE",
"SKILL_EUREKA",
"SKILL_NAVIGATOR",
"STATUS_IMMUNITY_ALL"
],
"MaxCharges": 0
},
"Tags": []
},
这样就是一个全属性255,拥有全特性技能且免疫所有异常状态的神技战术家了。
|
|