『木筏求生』DLL文件修改
首先修改前,自行下载软件dnspy接下来打开游戏目录选择文件 Assembly-CSharp.dll文件路径:这是我自己的路径,D:\Games\Raft\Raft_Data\Managed
具体路径看你们自己下在哪个盘里面X:\XXXX\Raft\Raft_Data\Managed
DLL文件读取及展开,这应该不用过多解释了吧,修改过游戏的大部分人都应该懂得。
1.修改物品叠加
ItemInstance_Inventory 文件找到如下代码
public int StackSize
{
get
{
return this.stackSize * 500;此处*500修改物品叠加倍数,500就是500倍,原文件显示:return this.stackSize ;
}
}
2.修改近战武器攻击伤害,适应武器:矛
MeleeWeapon 文件找到如下代码
// Token: 0x06002316 RID: 8982 RVA: 0x000BACA4 File Offset: 0x000B8EA4
public virtual void OnHitEntity(RaycastHit hit, Network_Entity entity)
{
if (entity != null)
{
if (this.goThroughInvurnability && entity.IsInvurnerable)
{
entity.IsInvurnerable = false;
}
this.hostNetwork.DamageEntity(entity, hit.transform, (float)this.damage * 10f, hit.point, hit.normal, EntityType.Player, null);
此处*10修改近战武器伤害倍数,原文件显示:this.hostNetwork.DamageEntity(entity, hit.transform, (float)this.damage, hit.point, hit.normal, EntityType.Player, null);
}
if (!entity.IsInvurnerable && entity.removesDurabilityWhenHit)
{
this.playerNetwork.Inventory.RemoveDurabillityFromHotSlot(1);将此处数字1修改成0,则武器耐久不会损失。后面的武器我就不再次标注了,耐久都是统一的代码。
}
}
}
3.修改远程武器攻击伤害,适应武器:弓箭【此处修改只需要修改箭矢就行】
arrow 文件找到如下代码
// Token: 0x060022CF RID: 8911 RVA: 0x000B9E0C File Offset: 0x000B800C
protected override void OnCollisionEvent(Collision collision, Network_Entity entity)
{
if (this.isExpended)
{
return;
}
base.OnCollisionEvent(collision, entity);
if (!this.throwableComponent.playerNetwork.IsLocalPlayer)
{
return;
}
if (entity != null && !entity.IsInvurnerable)
{
ComponentManager<Network_Host>.Value.DamageEntity(entity, collision.transform, this.damage * 10f, collision.contacts[0.point, collision.contacts[0.normal, EntityType.Player, null);
此处*10修改箭矢伤害倍数,原文件显示:ComponentManager<Network_Host>.Value.DamageEntity(entity, collision.transform, this.damage , collision.contacts.point, collision.contacts.normal, EntityType.Player, null);
this.isExpended = true;
}
}
修改耐久请在ThrowableComponent_Bow文件内修改,代码如下
protected override void CallThrowEvent(Vector3 position, Vector3 force)
{
base.CallThrowEvent(position, force);
if (this.playerNetwork.IsLocalPlayer)
{
this.playerNetwork.Inventory.RemoveDurabillityFromHotSlot(1);
}
}
4.燃料,也就是木材的燃烧时间。
fuel 文件找到如下代码
// Token: 0x040008E6 RID: 2278
private float burnTimePerFuel = 500f; 修改此处的数据
5.钩子修改,增加在水下的采集速度。
Hook 文件找到如下代码
// Token: 0x06002268 RID: 8808 RVA: 0x000B80C8 File Offset: 0x000B62C8
private void HandleGathering()
{
if (!this.playerNetwork.IsLocalPlayer)
{
return;
}
if (this.personController.SubmersionState != SubmersionState.None || this.personController.controllerType == ControllerType.Water)
{
if (MyInput.GetButton("LMB"))
{
this.canvas.SetAimSprite(AimSprite.Default);
PickupItem mineableItemAtCursor = this.playerNetwork.GetMineableItemAtCursor();
this.playerNetwork.Animator.anim.SetBool("ItemHit", true);
if (mineableItemAtCursor != null)
{
if (mineableItemAtCursor != this.currentGatherItem)
{
this.StartCollecting(mineableItemAtCursor);
}
this.gatherTimer += Time.deltaTime * 10f;此处修改数值越大,采集速度越快,建议10就足够快了,再高没试过。
float num = this.gatherTimer / this.gatherTime;
if (num < 1f)
{
this.canvas.SetLoadCircle(num);
return;
}
this.playerNetwork.PickupScript.PickupItem(mineableItemAtCursor, true, true);
this.StopCollecting();
this.playerNetwork.Inventory.RemoveDurabillityFromHotSlot(0);修改耐久处1改0不掉耐久,
if (this.eventEmitter_gather != null)
{
this.eventEmitter_gather.TriggerQue();
return;
}
}
else
{
this.StopCollecting();
if (this.eventEmitter_gather != null)
{
this.eventEmitter_gather.Stop();
return;
}
}
}
else if (MyInput.GetButtonUp("LMB"))
{
this.FinishGathering();
return;
}
}
else
{
this.FinishGathering();
}
}
此层代码上面,是修改钩子抛出的数据,没必要修改,有拦截网,根本不缺基础资源。
好了,此次教程就修改这么多,这些修改已经失去游戏体验意义了,其他的就不一一列出来了。
页:
[1]