- 好友
 - 0
  
- 在线时间
 - 0 小时
  
- 最后登录
 - 2025-6-12
  
 
 
 
 
随仆 
  
 
- UID
 - 3632209
  
- 第纳尔
 - 20 
  
- 精华
 - 0
  
- 互助
 - 3 
  
- 荣誉
 - 0 
  
- 贡献
 - 0 
  
- 魅力
 - 20 
  
- 注册时间
 - 2024-3-10
  
 
  鲜花( 4)   鸡蛋( 0)  
 | 
 
 
发表于 2024-5-8 21:18:35
|
显示全部楼层
 
 
 
重新看了下上面几条回复,楼主的想法是不是这样的: 
假如我始终1级,那我击倒第20个人时加1点力敏,击倒第40个人时加2点力敏(总计比初始状态多了3点),以此类推。其他数字下对属性值没有任何操作。 
 
如果想法就是这样,那就按楼上两位说的,主要是判定条件的问题: 
首先我也怀疑你把ge和gt搞混了,(ge, ":var_2", 0),意思是var_2≥0触发,gt才是>0(ge: greater than or equal to, gt: greater than); 
其次是在troop_raise_attribute自动取整的情况下,这个判定条件放在这里没有意义,因为var_2比1小的时候,后面几行执不执行都不会加属性。 
 
如果直接按楼上求余为0的思路来,这样改就可以: 
(assign, ":var_0", 0), 
(get_player_agent_no, ":var_1"), 
(agent_get_kill_count, ":var_2", ":var_1"), 
(agent_get_kill_count, ":var_3", ":var_1", 1), 
(store_character_level, ":var_4", "trp_player"), 
(val_add, ":var_2", ":var_3"), 
(val_mul, ":var_4", 20), 
(store_mod, ":var_5", ":var_2", ":var_4"), 
(val_div, ":var_2", ":var_4"), 
(try_begin), 
    (eq, ":var_0", 0), 
    (eq, ":var_5", 0), 
    (neq, ":var_2", 0), 
    (troop_raise_attribute, "trp_player", ca_strength, ":var_2"), 
    (troop_raise_attribute, "trp_player", ca_agility, ":var_2"), 
(try_end), | 
  
另外我感觉还有一个问题: 
agent_get_kill_count应该是只对单场战斗计数的,毕竟是agent。也就是说假设你1级,如果你在连续三场战斗中分别击倒了6、7、7个人,应该是不会触发属性提升的。这样的话即使是野战用ctrl+f4,一场也就最多杀个几百人,人物到十几级就几乎不可能再用这个方法获得属性了,不知道这是不是楼主本来想要的。 
如果想要的其实是生涯击倒数的话,可以用get_player_agent_kill_count代替agent_get_kill_count(记得把trp_player这个参数删掉),不过我自己没测试过这个击杀数量是实时更新的还是战场结算时固定更新的。 
 |   
 
 
 
 |