• 注册
  • 物品&功能 物品&功能 关注:6461 内容:1017
    15金币

    【dll教学】如何自定义难度伤害系数

  • 查看作者
  • 打赏作者
  • 当前位置: 七日杀中文网 > MOD下载 > 物品&功能 > 正文
  • 物品&功能
  • Lv.5
    武林萌主
  • 原创

  • 不同的难度下,玩家和丧尸会有不同的伤害系数,相关设定是未对xml开放编辑的。本期就一起来开发一个可自定义难度伤害系数的mod。

    1、首先新建项目后添加引用(如何新建项目看站内的其他帖子很详细)

    【dll教学】如何自定义难度伤害系数

    其中第一个是harmony的基础必须引用、第2、4个是unity必须引用的,第3个是七日杀核心脚本。

    2、查找原版代码中关于攻击倍率的逻辑再分析如何修改。我们在对象浏览器中搜索ItemActionAttack。点开然后搜索difficult,就能看到在原版代码中对难度的操作。

    【dll教学】如何自定义难度伤害系数

    【dll教学】如何自定义难度伤害系数

    可以看到原版代码利用了difficultyModifier(num6, world.GetEntity(_attackerEntityId), entity)这个方法对伤害进行了一次调整。按住ctrl点击这个方法我们终于找到原版关于难度伤害系数的设定。很简单粗暴,会点英语都能看懂。

    【dll教学】如何自定义难度伤害系数

    3、利用harmony对原代码修改,我们开始写harmony对其进行拦截。

    新建文件后,按标准格式写好(搜站内教程),这里利用前置补丁prefix并不让原版代码运行,原代码是public static int,所以要返回参数,ref int  __result。(若原代码是bool的话也要传ref int  __result)

    【dll教学】如何自定义难度伤害系数

    把原版逻辑复制过来,然后修改一下

    【dll教学】如何自定义难度伤害系数

    原版这个的意思就是没有攻击者和被攻击者的话直接返回传入的攻击值,代码结束。

    【dll教学】如何自定义难度伤害系数

    我们要修改的话就改成,攻击者和被攻击者为空的话让返回参数为传入的攻击值,代码结束且不允许原版代码运行。

    【dll教学】如何自定义难度伤害系数

    其他的条件判断也是一样的修改方法。

    为了别人都能简单的修改倍率,我们可以通过变量来而不是固定数字来设置倍率。最后返回__result=_stregth*倍率。 (_attacker as EntityAlive).Buffs.GetCustomVar(“玩家攻击倍率_难度” + num)的意思就是获取活体的名称为   玩家攻击倍率_难度num   的变量值。

    【dll教学】如何自定义难度伤害系数

    最后要记得对__result赋值,这样子原版代码ItemActionAttack.difficultyModifier运行时才能有返回值。

    最后点生成,将dll复制到已经建好的mod文件中。

    【dll教学】如何自定义难度伤害系数

    4、xml的操作:新建自己的mod文件。在config中新建buff文件,对玩家永久存在的buff :buffStatusCheck01添加效果,使其在每秒更新时设定难度伤害系数的变量,这样dll就可以获取到难度系数(一定要每个都设置,不然默认为0就没伤害)。

    【dll教学】如何自定义难度伤害系数

    一个可以设定难度伤害倍率的mod就制作完成了。

    5、课后作业

    在该基础上添加新伤害倍率,玩家每有一级,提升1%的伤害倍率。

    目标着火时伤害倍率+100%


    提示:玩家等级为entityplayer.Progression.Level    实体没有有buff是entityalive.buffs.hasbuff


    隐藏内容需要付费才可以看见

    马上购买

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

    这个逼装的我给82分,剩下的用666的方式打给你!

    回复
    LV.4

    你才是真正的英雄,大佬

    回复
    赠送了礼物[辣条]
    回复

    牛逼

    回复
    Lv.7

    我要去柜子里翻出c语言课本再学一遍~!!!

    回复

    大佬多来点 [s-89]

    杂鱼~杂鱼~

    回复
    Lv.9
    冲向2023

    感谢大佬的付出,赞一个!

    回复
    感谢大佬的付出,赞一个!

    做决定之前,请看清楚自己对不对!!!

    回复
    Lv.6

    支持大佬啊。就听大佬的教程能听懂。

    回复
    Lv.7

    感谢大佬的付出,赞一个!

    回复

    MOD板块严查恶意、辱骂、讽刺等评论,如发现此类评论轻则小黑屋,重则永久封禁!

    如果发现帖子违规,用户可以点击帖子标题旁的向下箭头,选择举报内容

    涉及版权纠纷请确保你有所属版权,否则中文网有权不作处理

    请登录之后再进行评论

    登录
    • 大版主
    • 小版主
  • 英雄大人
    英雄大人
    白天在工作,晚上在睡觉,有事可以留言,不一定能及时回复!
  • yichen
  • 林小天
    林小天
    我还活着买断制版本,私聊我qq3807190901请标明来意
  • 雾凇
    雾凇
    旧日支配者-光暗扩展 MOD作者
  • 摸鱼摸鱼摸
    摸鱼摸鱼摸
    交流吹水群967780922
  • 银河
    银河
    CSOL大灾变欢迎你的到来。QQ群:967780922
  • 安安
    安安
    大背包、常显、叠加、除草树,唯一作者QQ383125283
  • 最强打野贝爷
    最强打野贝爷
    上班!上班!上班!
  • Cure_805
    Cure_805
    晚上在睡觉,白天在工作,不一定能及时回复,有事可以留言!
  • happy!
    happy!
    住院中
  • 妮可Neko
    妮可Neko
    无聊写些小玩意儿
  • 赞助广告位

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

    分享网站

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