骑马与砍杀中文站论坛

 找回密码
 注册(Register!)

QQ登录

只需一步,快速开始

搜索
购买CDKEY 衣谷三国
查看: 5389|回复: 10

[功能与代码] 将俘虏转化为奴隶兵

[复制链接]

0

主题

5

回帖

7

积分

平民

Rank: 1

UID
3684151
第纳尔
0
精华
0
互助
1
荣誉
0
贡献
0
魅力
0
注册时间
2024-8-3
鲜花(0) 鸡蛋(0)
发表于 2024-9-12 10:42:17 | 显示全部楼层
(try_for_parties,":var_0"),
    (party_get_template_id,":var_1",":var_0"),
    (eq,":var_1","pt_kingdom_hero_party"),  # 这条语句判断只有玩家战队才会继续往下执行
    (party_get_num_prisoners,":var_5",":var_1"),
    (ge,":var_5",5),
    (party_remove_prisoners,":var_1",":var_5",5),
    (party_add_members,":var_1","trp_vill_nubing",5),
(try_end),

0

主题

5

回帖

7

积分

平民

Rank: 1

UID
3684151
第纳尔
0
精华
0
互助
1
荣誉
0
贡献
0
魅力
0
注册时间
2024-8-3
鲜花(0) 鸡蛋(0)
发表于 2024-9-13 12:07:31 | 显示全部楼层
本帖最后由 ukatoilol 于 2024-9-13 12:30 编辑

你的代码实现不了移除俘虏的功能.
(party_remove_members,<party_id>,<troop_id>,<number>),
这个函数需要参数包括(party_remove_members, 队伍ID, 俘虏的兵种ID, 移除的数量),
你的代码里就没有获取过"俘虏的兵种ID"这个必要的参数

大概的写了下实现代码思路,不保证运行不报错

  1. (try_for_parties,":party"), # 循环所有队伍
  2.    (party_get_num_prisoner_stacks, ":num_stacks", ":party"), # 获取队伍中俘虏的总数,包含英雄
  3.    (ge, ":num_stacks", 5), # 队伍的俘虏数量大等于5个
  4.    (assign, ":removed_cnt", 0) # 记录已移除俘虏的数量
  5.    (try_for_range_backwards, ":i_stack", 0, ":num_stacks"), # 循环俘虏
  6.      (lt, ":removed_cnt", 5), # 移除数量不超过5个
  7.      (party_prisoner_stack_get_troop_id, ":troop_no", ":party", ":i_stack"),# 获取俘虏的兵种ID
  8.      (neg|troop_is_hero, ":troop_no"),# 俘虏不是英雄
  9.      (party_remove_prisoners, ":party", ":troop_no", 1),# 移除1个俘虏
  10.      (val_add, ":removed_cnt", 1), # 已移除数量+1
  11.    (try_end),
  12.    (gt, ":removed_cnt", 0), # 是否至少移除了一个俘虏
  13.    (party_add_members,":party","trp_vill_nubing",1),#得到一个奴隶兵
  14. (try_end),
复制代码



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

本版积分规则

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

GMT+8, 2025-10-19 03:27 , Processed in 0.091466 second(s), 18 queries , Gzip On, MemCached On.

Powered by Discuz! X3.4 Licensed

© 2001-2023 Discuz! Team.

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