骑马与砍杀中文站论坛

 找回密码
 注册(Register!)

QQ登录

只需一步,快速开始

搜索
购买霸主CDKEY 购买战帆CDKEY
查看: 3341|回复: 13

[求助] 提升熟练度的战场脚本导致伤害为0[已解决]

[复制链接]

3

主题

193

回帖

154

积分

见习骑士

Rank: 3

UID
3500189
第纳尔
1015
精华
0
互助
15
荣誉
2
贡献
10
魅力
435
注册时间
2023-3-30
鲜花(63) 鸡蛋(0)
发表于 2023-10-30 21:24:04 | 显示全部楼层
你所贴的代码问题颇多,给你重写了一个,拿去试试看,可根据需要自行删减。




    (ti_on_agent_hit, 0, 0, [],
       [  
        (store_trigger_param_1, ":defender_agent"),     # 防守者
        (store_trigger_param_2, ":attacker_agent"),     # 攻击者
        (store_trigger_param_3, ":inflicted_damage"),   # 初始伤害
        (assign, ":dest_damage", ":inflicted_damage"),
        (assign, ":item_id", reg0),     # 攻击武器
        
        (agent_get_troop_id, ":defender_troop_no", ":defender_agent"),
        (agent_get_troop_id, ":attacker_troop_no", ":attacker_agent"),
        (try_begin),
            (neg|agent_is_ally, ":defender_agent"),     # 防守者不是友军
            (agent_is_ally, ":attacker_agent"),     # 攻击者是友军
            (troop_is_hero, ":attacker_troop_no"),  # 攻击者是NPC
            (try_begin),
                (gt, ":item_id", 0),    # 有武器,排除拳头、踢腿
                (item_get_type, ":type", ":item_id"),   # 获取武器类型
                (store_skill_level, ":weapon_master_skl", skl_weapon_master, ":attacker_troop_no"),     # 获取攻击者的武器掌握等级
                (gt, ":weapon_master_skl", 0),
                (val_mul, ":weapon_master_skl", 5),    #    每点增加5%概率
                (store_random_in_range, ":random", 0, 100),     # 随机数0-100
                (is_between, ":random", 0, ":weapon_master_skl"),
                (store_random_in_range, ":random_p", 1, 3),     # 熟练度随机数,范围1-3,最低1点,最高2点
                (try_begin),
                    (eq, ":type", itp_type_one_handed_wpn),     # 单手武器
                    (troop_raise_proficiency_linear, ":attacker_troop_no", wpt_one_handed_weapon, ":random_p"),     # 增加熟练度
                 (else_try),
                    (eq, ":type", itp_type_two_handed_wpn),     # 双手武器
                    (troop_raise_proficiency_linear, ":attacker_troop_no", wpt_two_handed_weapon, ":random_p"),
                 (else_try),
                    (eq, ":type", itp_type_polearm),    # 长杆武器
                    (troop_raise_proficiency_linear, ":attacker_troop_no", wpt_polearm, ":random_p"),
                 (else_try),
                    (eq, ":type", itp_type_bow),    # 弓
                    (troop_raise_proficiency_linear, ":attacker_troop_no", wpt_archery, ":random_p"),
                 (else_try),
                    (eq, ":type", itp_type_crossbow),   # 弩
                    (troop_raise_proficiency_linear, ":attacker_troop_no", wpt_crossbow, ":random_p"),
                 (else_try),
                    (eq, ":type", itp_type_thrown),     # 投掷
                    (troop_raise_proficiency_linear, ":attacker_troop_no", wpt_throwing, ":random_p"),
                (try_end),
            (try_end),
            (try_begin),
                (store_skill_level, ":power_strike_skl", skl_power_strike, ":attacker_troop_no"),       # 获取攻击者的强击等级
                (gt, ":power_strike_skl", 0),
                (store_agent_hit_points, ":attacker_hps", ":attacker_agent"),       # 获取攻击者的血量百分比
                (assign, ":power_dam", ":power_strike_skl"),
                (val_mul, ":power_strike_skl", 5),  #    每级强击增加5%暴击几率
                (store_random_in_range, ":random", 0, 100),
                (is_between, ":random", 0, ":power_strike_skl"),
                (val_mul, ":power_dam", 10),    # 每级增加10%伤害
                (val_add, ":power_dam", 100),
                (val_mul, ":dest_damage", ":power_dam"),
                (val_div, ":dest_damage", 100),
                (try_begin),
                    (is_between, ":attacker_hps", 25, 50),  # 攻击者的血量在25%-50%之间,暴击伤害*2
                    (val_mul, ":dest_damage", 2),
                 (else_try),
                    (is_between, ":attacker_hps", 1, 25), # 攻击者的血量在1%-25%之间,暴击伤害*3
                    (val_mul, ":dest_damage", 3),
                (try_end),
            (try_end),  
         (else_try),
            (agent_is_ally, ":defender_agent"), #   防守者是友军
            (neg|agent_is_ally, ":attacker_agent"), # 攻击者不是友军
            (troop_is_hero, ":defender_troop_no"),  # 防守者是NPC
            (store_skill_level, ":ironflesh_skl", skl_ironflesh, ":defender_troop_no"),     # 获取防守者的铁骨等级
            (store_skill_level, ":athletics_skl", skl_athletics, ":defender_troop_no"),     # 获取防守者的跑动等级
            (try_begin),
                (store_mul, ":div_fixed", ":ironflesh_skl", 8), # 每点铁骨8%减伤
                (val_add, ":div_fixed", 100),
                (val_mul, ":dest_damage", 100),
                (val_div, ":dest_damage", ":div_fixed"),
                (try_begin),
                    (is_between, ":ironflesh_skl", 5, 11), # 铁骨5~10级
                    (ge, ":dest_damage", 10), # 铁骨减伤后,伤害大于10点,减半
                    (val_div, ":dest_damage", 2),
                (try_end),
                (store_agent_hit_points, ":defender_hps", ":defender_agent"),   # 获取防守者的血量百分比
                (try_begin),
                    (le, ":defender_hps", 50),
                    (val_div, ":dest_damage", 2),   # 血量低于50% 伤害再减半
                (try_end),
            (try_end),
            (try_begin),
                (gt, ":athletics_skl", 0),  # 跑动增加伤害闪避效果
                (val_mul, ":athletics_skl", 5),     #  每级跑动增加5%闪避概率
                (store_random_in_range, ":random", 0, 100),   # 随机数0-100
                (is_between, ":random", 0, ":athletics_skl"),
                (val_mul, ":dest_damage", 0),
            (try_end),
        (try_end),
        (val_max, ":dest_damage", 0),   # 最低伤害为0,避免负伤害
        (assign, reg1, ":dest_damage"),
        (set_trigger_result, reg1),    # 返回最终伤害
    ]),


评分

参与人数 1互助 +2 魅力 +5 收起 理由
agjib + 2 + 5 乐于助人!

查看全部评分

鲜花鸡蛋

唐骑  在2023-10-30 22:44  送朵鲜花  并说:我非常同意你的观点,送朵鲜花鼓励一下
唐骑  在2023-10-30 22:44  送朵鲜花  并说:我非常同意你的观点,送朵鲜花鼓励一下
唐骑  在2023-10-30 22:43  送朵鲜花  并说:我非常同意你的观点,送朵鲜花鼓励一下
唐骑  在2023-10-30 22:43  送朵鲜花  并说:我非常同意你的观点,送朵鲜花鼓励一下
唐骑  在2023-10-30 22:43  送朵鲜花  并说:感谢大佬,现在可以了
您需要登录后才可以回帖 登录 | 注册(Register!)

本版积分规则

Archiver|手机版|小黑屋|骑马与砍杀中文站

GMT+8, 2025-12-21 02:45 , Processed in 0.092349 second(s), 21 queries , Gzip On, MemCached On.

Powered by Discuz! X3.4 Licensed

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表