- 好友
- 1
- 在线时间
- 431 小时
- 最后登录
- 2024-12-7
见习骑士

- UID
- 868386
- 第纳尔
- 2169
- 精华
- 0
- 互助
- 1
- 荣誉
- 0
- 贡献
- 0
- 魅力
- 0
- 注册时间
- 2012-7-1
 鲜花( 24)  鸡蛋( 0)
|
发表于 2017-11-28 09:28:35
|
显示全部楼层
(store_random_in_range,":suijis",0,2), #随机取0或者1
(troop_get_upgrade_troop,":sjbingzhong",":bingzhong",":suijis"), #获取:bingzhong第一个或者第二个的升级兵种
(ge,":sjbingzhong",1), #如果这个升级兵种大于1
(party_add_members, ":suoyoubudui", ":sjbingzhong", ":sjizs"),#增加升级兵种
(party_remove_members, ":suoyoubudui",":bingzhong", ":sjizs"),#减去原来兵种
我建议你这段改一下,如果某个兵种只有一个升级兵种,而你的随机刚好随机到1,(troop_get_upgrade_troop,":sjbingzhong",":bingzhong",":suijis"), 这段代码执行出来的升级兵种就没办法执行之后的语句,导致这个兵种没有升级,造成了一点瑕疵,我不知道你是否可以理解,我的代码是这样,你可以参考。
# script_upgrade_troop
# Input: arg1 = troop_no
# Output: reg0 = upgrade_troop
("upgrade_troop",
[
(store_script_param_1,":troop_no"),
(assign,":new_troop",":troop_no"),
(store_random_in_range, ":random_no", 0, 2),
(troop_get_upgrade_troop,":upgrade_troop_no",":troop_no",":random_no"),
(try_begin),
(le,":upgrade_troop_no",0),
(troop_get_upgrade_troop, ":upgrade_troop_no",":troop_no",0),
(try_end),
(try_begin),
(gt,":upgrade_troop_no",0),
(assign,":new_troop",":upgrade_troop_no"),
(try_end),
(assign,reg0,":new_troop"),
]),
|
|