骑马与砍杀中文站论坛

 找回密码
 注册(Register!)

QQ登录

只需一步,快速开始

搜索
购买CDKEY 衣谷三国
查看: 1570|回复: 0

[功能与代码] 急救技能修复——用于更改了血量公式的mod

[复制链接]

33

主题

232

回帖

195

积分

见习骑士

Rank: 3

UID
2758789
第纳尔
2138
精华
0
互助
21
荣誉
1
贡献
0
魅力
201
注册时间
2016-7-18
鲜花(24) 鸡蛋(0)
发表于 2025-2-25 21:33:49 | 显示全部楼层 |阅读模式
简单来说就是战场离场前,拿store_agent_hit_points设置一遍英雄的生命值。一方面是处理掉进场退场后血量变成百分之几百,另一方面处理不知道咋回事急救不生效
用的时候删一下打的log
#正则表达式替换
#增加脚本
#^(?!#)(.*?)(\(finish_mission.*$)
#($1)\(call_script, "script_cf_fix_first_aid"\),$2
  1.    ("cf_fix_first_aid",
  2.     [
  3.     #正则表达式替换
  4.     #增加脚本
  5.     #^(?!#)(.*?)(\(finish_mission.*$)
  6.     #($1)\(call_script, "script_cf_fix_first_aid"\),$2
  7.     (try_for_agents,":dead_agent_no" ),
  8.       (agent_is_human,":dead_agent_no"),
  9.       (agent_get_troop_id, ":dead_troop", ":dead_agent_no"),
  10.       (troop_is_hero, ":dead_troop"),
  11.       (agent_get_party_id, ":dead_agent_party", ":dead_agent_no"),
  12.       (gt, ":dead_agent_party", -1),
  13.       (try_begin),
  14.            (assign,":merc_lance",":dead_agent_no"),
  15.            (assign,reg52,":merc_lance"),
  16.            (display_message,"@dead_agent_no {reg52}"),
  17.         (party_get_skill_level, ":first_aid_level", ":dead_agent_party", skl_first_aid),  # 获取急救等级
  18.         (store_troop_health, ":player_start_hp", ":dead_troop",0),#损失前的生命值
  19.         (store_agent_hit_points, ":player_end_hp", ":dead_agent_no", 1),#损失后的生命值(可能为负数)
  20.         (store_troop_health, ":s_hp_0", ":dead_troop",0),
  21.         (store_troop_health, ":s_hp_1", ":dead_troop",1),
  22.         (val_mul,":s_hp_1",100),
  23.         (store_div,":base_hp",":s_hp_1",":s_hp_0"),
  24.         (val_mul,":player_end_hp",100),
  25.         (val_div,":player_end_hp",":base_hp"),#把mod特殊生命值改为基于原版生命值公式的百分比生命值,用于匹配store_troop_health的数据
  26.         (val_clamp, ":player_end_hp", 0, 10000),#损失后的生命值大于等于0
  27.         (val_mul, ":first_aid_level", 6),
  28.         (try_begin),
  29.           (lt, ":player_end_hp", ":player_start_hp"),#如果回血则不做处理(需要更改,如果当前的血量百分比,高于之前的血量百分比,则将当前的血量百分比,设定为之前的血量百分比)
  30.           (store_sub, ":result_hp", ":player_start_hp", ":player_end_hp"),
  31.           (val_mul, ":result_hp", ":first_aid_level"),
  32.           (val_div, ":result_hp", 100),
  33.           (val_add, ":result_hp", ":player_end_hp"),
  34.           (val_mul, ":result_hp", ":base_hp"),
  35.           (val_div, ":result_hp", 100),
  36.           (agent_set_hit_points, ":dead_agent_no", ":result_hp",1),#agent_set_hit_points的百分比,是按mod特殊血量算的
  37.            (assign,":merc_lance",1),
  38.            (assign,reg52,":merc_lance"),
  39.            (display_message,"@player_start_hp {reg52}"),
  40.         (else_try),
  41.         #(需要更改,如果当前的血量百分比,高于之前的血量百分比,则将当前的血量百分比,设定为之前的血量百分比)
  42.           #(troop_set_health, ":dead_troop", ":player_start_hp"),#这个好像在战场中没用
  43.           (store_troop_health, ":player_start_hp", ":dead_troop",0),#损失前的生命值
  44.           (try_begin),
  45.             #(gt,":player_start_hp",100),
  46.             (val_mul,":base_hp",":player_start_hp"),
  47.             (val_div,":base_hp",100),
  48.             (agent_set_hit_points, ":dead_agent_no", ":base_hp",1),
  49.            (assign,":merc_lance",2),
  50.            (assign,reg52,":merc_lance"),
  51.            (display_message,"@player_start_hp {reg52}"),
  52.           (try_end),
  53.         (try_end),
  54.         (store_troop_health, ":player_start_hp", ":dead_troop",1),#损失前的生命值
  55.            (assign,":merc_lance",":player_start_hp"),
  56.            (assign,reg52,":merc_lance"),
  57.            (display_message,"@player_start_hp {reg52}"),
  58.         (store_agent_hit_points, ":player_end_hp", ":dead_agent_no", 1),#损失后的生命值(可能为负数)
  59.         (val_clamp, ":player_end_hp", 0, 10000),#损失后的生命值大于等于0
  60.            (assign,":merc_lance",":player_end_hp"),
  61.            (assign,reg52,":merc_lance"),
  62.            (display_message,"@player_end_hp {reg52}"),
  63.       (try_end),
  64.     (try_end),
  65. ]),
复制代码


您需要登录后才可以回帖 登录 | 注册(Register!)

本版积分规则

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

GMT+8, 2025-4-5 12:23 , Processed in 0.091814 second(s), 17 queries , Gzip On, MemCached On.

Powered by Discuz! X3.4 Licensed

© 2001-2023 Discuz! Team.

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