• 注册
  • 攻略教程 攻略教程 关注:711 内容:219

    【教程】更真实的Mod – 燃油驱动的载具进水爆炸功能实现

  • 查看作者
  • 打赏作者
  • 当前位置: 七日杀中文网 > 攻略教程 > 正文
  • 攻略教程
  • 大版主
    LV.4
    爱我走心

    废话不多说,直接上代码

    //表示需要进行补丁的成员
    [HarmonyPatch(typeof(Vehicle), nameof(Vehicle.Update))]
    public class Vehicle_Update_Patch
    {
            //HarmonyPostfix表示在目标成员代码尾行进行代码补丁/追加,且HarmonyPostfix特性需要标记在一个静态方法上面
        [HarmonyPostfix]
        //此处被HarmonyPostfix特性标记的方法的形参 Vehicle __instance 表示获取目标成员所属类的实例对象Vehicle 
        public static void AddPostfix(Vehicle __instance)
        {()
                //IsDriven函数用于判断是否处于驾驶状态
            if (__instance.entity.IsDriven())
            {
                    //获取当前载具的位置,类型为Vector3 
                Vector3 pos = __instance.entity.position;
                //WaterDragY字段表示当前载具离水面的距离,所以pos.y += __instance.WaterDragY 之后的坐标值就是当前载具的车顶
                pos.y += __instance.WaterDragY;
                //首先World.worldToBlockPos函数可以将Unity坐标转化为世界坐标,然后调用GameManager.Instance.World.IsWater()判断当前世界坐标点是否在水里面
                bool flag = GameManager.Instance.World.IsWater(World.worldToBlockPos(pos));
                //如果flag成立并且当前载具不是由燃油驱动例如自行车一类的
                if (flag && !(__instance.entity is EntityBicycle))
                {
                        //进入逻辑,使用Traverse类反射调用方法ApplyDamage销毁载具并附带爆炸效果
                    EntityVehicle vehicleTarget = __instance.entity;
                    Traverse.Create(vehicleTarget).Method("ApplyDamage", 99999).GetValue();
                }
            }
        }
    }

    "点赞是美意,打赏是鼓励"

    LV.4

    针不戳 [s-45]

    回复
    Lv.1

    这是对自己有多狠啊? [s-45]

    回复
    LV.4
    浴火重生

    可以改成 丧尸/动物进入水下就死亡的吗,血月的时候 丧尸有时候会在水下挖呀挖,越聚越多 很卡。

    我是只发精品mod的作者,所以快关注我吧,支持定制!

    回复
    因恶意刷帖用户过多,本版块已取消回帖金币奖励,请签到获取!>>>金币获取指南<<<

    请登录之后再进行评论

    登录
    • 大版主
    • 小版主
  • yichen
  • 柒月白风清
    柒月白风清
    一只小萌新,万年摸鱼党!已经脱坑了。。。
  • Cure_805
    Cure_805
    晚上在睡觉,白天在工作,不一定能及时回复,有事可以留言!
  • 至善丶丶
    至善丶丶
    群:1050040662 定制/开服/地图制作/价格公道
  • 东方清华EX
    东方清华EX
    一个爱玩七日杀的妹纸
  • 暂没有数据

    赞助广告位

  • 点击展示图片即可一键加入QQ群
    赞助广告:100R/月 目前空缺广告位:0

    分享网站

  • 繁体中文
  • 任务
  • 动态
  • 到底部
  • 帖子间隔 侧栏位置: