修改--非全局,仅员工移速,包括 staff 的一些修改
本帖最后由 mj911o2 于 2018-9-13 21:33 编辑staff -----GetMaxMovementSpeed
Token: 0x06000FD1 RID: 4049 RVA: 0x00071130 File Offset: 0x0006F330
if判断里有一句
num *= this.RankDefinition.WalkSpeedMultiplier;
这段函数控制员工在该等级下的移动速度,这里的速度并非全局,仅仅是员工的速度
所以病人移速,时间流逝速度都不变
再不改变原函数的情况下,在下方添加一句
num *= speedvalues; 这种形式
如
num *= 2f; 这就是员工速度 *2
当然也可以在原先函数后直接 *2
GetTrainingLearningSpeed
员工学习速度
不管整段的判断,直接改return的返回值
float speedvalues;
speedvalues = this.RankDefinition.TraineeLearningSpeed * Mathf.Max(this._getTrainingLearningSpeedParam.Multiplier, 0f);
return speedvalues* 100f;
也可以直接
return this.RankDefinition.TrainingMultiplier * Mathf.Max(this._getTrainingTeachingSpeedParam.Multiplier, 0f) * 100f;
下方GetTrainingTeachingSpeed 教学速度一样
这一段我没有实际改着验证过,不过应该是这样的
关于工资,有两处,get和set,虽然并不确定,但两处应该都会参与运算,所以都改了
还有一段,临时看到的
这个是员工体力耗尽后会转到休息状态,
我在上放试着重新给该员工赋值
this.Energy.SetValue(10000f, true);
还没有具体测试,待会到游戏看看吧
TimeRemainingOnBreak
这个应该就是休息时间的计算
float num = this.GetBreakLength() - (GameTime.time - this._timeBreakStarted) / 2;
这个应该是事件缩短一半,
或
float num = this.GetBreakLength() - (GameTime.time - this._timeBreakStarted);
num /=num;
还可以尝试修改这段函数
GetBreakLength()
return的值根据函数中引用的方法返回值修改,或直接改为0
那么上面的num为0,效果估计就是不休息了
UpdateEnergy(float)
这个是刷新员工体力的
this.Energy.Modify(staffEnergyModifier * deltaTime, base.GetAttributeMultiplier(CharacterAttributes.Type.Energy));
可以更改第二个参数,base.GetAttributeMultiplier(CharacterAttributes.Type.Energy) + 2,这样应该是回复速度增加一倍具体可以到 this.Energy.Modify() 这个方法里看看
是 参数1 *=参数2
链接:https://pan.baidu.com/s/1C_H-4FhxPwepBOI5iDll6Q 密码:sexs
插件中包含:基于 1.3.210000
1.疫苗初始9999
2.针头随意扎人必定会被治愈并计入升星记录中
3.药柜 100%效果
4.员工训练学习、教学满速
5.员工2倍移速(在慢速模式下,效果并不明显)
请问,员工休息时间可以改的稍短一些吗,还有就是体力下降速度怎么修改,我改完后掉的慢了,回的也慢了,能不能改成快速恢复,慢速下降呢
或者咖啡机与糖果机这俩的恢复量是多少,能加大恢复量吗 k26451864 发表于 2018-9-13 19:57
请问,员工休息时间可以改的稍短一些吗,还有就是体力下降速度怎么修改,我改完后掉的慢了,回的也慢了,能 ...
看看上面,更新了下员工休息
mj911o2 发表于 2018-9-13 21:06
看看上面,更新了下员工休息
太感谢了,这样员工休息的问题就解决了。
:lol我要做个黑心院长,多干活少休息
这样改移速,如果把倍数改大后,还是会出现小人导航不准和小人刹不住车的问题。。
希望楼主能解决这个问题,10倍速小人四处乱患的医院才是好医院。。 楼主这个没开启控制台??? 本帖最后由 mj911o2 于 2018-9-14 14:21 编辑
touch 发表于 2018-9-14 09:59
这样改移速,如果把倍数改大后,还是会出现小人导航不准和小人刹不住车的问题。。
希望楼主能解决这个问题 ...
员工move状态下应该有个类似于物理系统的减速函数猜测可能是
while
movespeedvalues - rank*speedvalues
这样的循环函数,知道movespeedvalues= 0
如果是这样的形式
那么加大speedvalues的值会缩短员工到达某地时惯性向前的距离而且10倍速,改这么高干嘛,4倍速下,小人已经是急速游走的状态了
lishibingz 发表于 2018-9-14 12:21
楼主这个没开启控制台???
感觉控制台并没什么用,所以没开如果想开,改改就好了
找不到工作速度的函数很头疼 42422315 发表于 2018-9-15 00:42
找不到工作速度的函数很头疼
看看staff 方法
或者找技能,好像是工作激情吧,+10 工作效率,看看调用情况
感谢大佬分享 怎样添加啊? mj911o2 发表于 2018-9-15 00:48
看看staff 方法
或者找技能,好像是工作激情吧,+10 工作效率,看看调用情况
...
找不到
42422315 发表于 2018-9-23 22:04
找不到
善用分析,看方法调用情况 mj911o2 发表于 2018-9-24 17:07
善用分析,看方法调用情况
根本没找到调用这个参数的函数....
就没找到设置相关
本帖最后由 s81511 于 2018-10-1 18:33 编辑
42422315 发表于 2018-9-24 18:52
根本没找到调用这个参数的函数....
就没找到设置相关
staff下有一個這樣的敘述
public List<CharacterModifier> JobBoostModifiers
{
get
{
return this._jobBoostModifiers;
}
}
job是工作,boost是增強,但就算分析他也只有得到
// Token: 0x06000FAE RID: 4014 RVA: 0x000710D4 File Offset: 0x0006F2D4
private void CacheJobBoostModifiers()
{
if (this.JobBoostModifiers == null)
{
this._jobBoostModifiers = new List<CharacterModifier>();
}
this._jobBoostModifiers.Clear();
if (base.ModifiersComponent != null)
{
foreach (CharacterModifier characterModifier in base.ModifiersComponent.Modifiers)
{
if (characterModifier is QualificationJobRoomScoreBoost || characterModifier is QualificationJobMaintenanceScoreBoost)
{
this._jobBoostModifiers.Add(characterModifier);
}
}
}
}
編程苦手的我實在不知從何改起,希望大家一起研究一下
替换之后发现营销和培训的按钮都不能点了~ qwe011111 发表于 2018-10-5 17:31
替换之后发现营销和培训的按钮都不能点了~
版本对的上吗?这个比较老了
新版本的自己改改吧
s81511 发表于 2018-10-1 18:29
staff下有一個這樣的敘述
public List JobBoostModifiers
第一个if
是没工作 安排工作
第二个是有工作 进行循环 具体的空 调用情况,分析看看确定一下
你看看add 的参数,如果是float 或 int 的话可以试着调大一点
mj911o2 发表于 2018-10-5 22:45
第一个if
是没工作 安排工作
第二个是有工作 进行循环 具体的空 调用情况,分析看看确定一下
以下看起來都不怎麼像可以調數值
不過 仍謝謝您給予的方向
s81511 发表于 2018-10-8 16:08
以下看起來都不怎麼像可以調數值
get
{
return this._jobBoostModifiers;
}
这个应该是取工作效率倍数的方法
你可以试试改下返回值看看效果
或者看看有没有set 方法
比如
set
{
this._jobBoostModifiers = XXXXXXXXXXXXXX;
//this._jobBoostModifiers = 999f;
}
或者看看最开始定义的值
比如
public float _jobBoostModifiers = 1f;
如果没有 set 重新被赋值的话这里可以尝试改改
mj911o2 发表于 2018-10-9 02:29
get
{
return this._jobBoostModifiers;
以上修改都會報錯,不過卻意外找到
GameAlgorithmsConfig下好像有很多關於維護速率或拜訪設定的初始值
類似這種
public readonly float JobPriorityScoreBoost = 1000f;
// Token: 0x04001013 RID: 4115
public readonly float JobSameRoomAsJobScoreBoost = 2f;
// Token: 0x04001014 RID: 4116
[InspectorTooltip("At the sq root of this distance the job priority is halved."
public readonly float JobDistanceMagicNumber = 1600f;
// Token: 0x04001015 RID: 4117
public readonly float JobFireScore = 10000f;
// Token: 0x04001016 RID: 4118
public readonly float JobFireHasExtinguisherBoost = 10f;
// Token: 0x04001017 RID: 4119
public readonly float JobMaintenanceBaseJobScore = 10f;
// Token: 0x04001018 RID: 4120
public readonly float JobMaintenanceCurrentJobBoost = 2f;
// Token: 0x04001019 RID: 4121
public readonly float JobUpgradeScore = 100f;
// Token: 0x0400101A RID: 4122
public readonly float JobGhostScore = 200f;
// Token: 0x0400101B RID: 4123
public readonly float JobResearchScore = 2f;
// Token: 0x0400101C RID: 4124
public readonly float JobServiceScore = 100f;
// Token: 0x0400101D RID: 4125
public readonly float JobMarketingScore = 100f;
不能確定是否有影響,但謝謝您提供的思路
感谢分享!!!!!!!!!!!!!文笔流畅,修辞得体,深得魏晋诸朝遗风,更将唐风宋骨发扬得入木三分,能在有生之年看见楼主的这个帖子。实在是我三生之幸啊。看完楼主的这个帖子之后,我竟感发生出一种无以名之的悲痛感――啊,这么好的帖子,如果将来我再也看不到了,那我该怎么办?那我该怎么办?直到我毫不忧郁的把楼主的这个帖子收藏了。我内心的那种激动才逐渐平复下来。可是我立刻想到,这么好的帖子,倘若别人看不到,那么不是浪费楼主的心血吗?经过痛苦的思想斗争,我终于下定决心,我要把这个帖子一直往上顶,往上顶!顶到所有人都看到为止! 2018年10月13日20时42分50秒 您好,针头随意扎人必定会被治愈并计入升星记录中,
请问最新版本这个怎么修改呢? 123213662 发表于 2019-6-26 21:14
您好,针头随意扎人必定会被治愈并计入升星记录中,
请问最新版本这个怎么修改呢? ...
记不太清了
你从疫苗减少的那段函数里追吧
只有真正有效的 才会 cure++
你把判断去掉,或者始终赋值 true 就行
类似curenum之类的也++
或者直接改成999
这样只要治愈一个就能直接过
mj911o2 发表于 2019-6-26 22:43
记不太清了
你从疫苗减少的那段函数里追吧
只有真正有效的 才会 cure++
好的我试试,感谢!
似乎改了之后无法晋升 不清楚是不是学习速率修改的原因 为什么staff的文件 在不改的情况之下 直接编译都会提示错误 staff类不能编译,会出错,不管是编译里面的方法还是类都是出错
页:
[1]