骑马与砍杀中文站论坛

 找回密码
 注册(Register!)

QQ登录

只需一步,快速开始

搜索
购买CDKEY 小黑盒加速器
查看: 1516|回复: 4

[求助] 怎么跳出循环

[复制链接]

23

主题

331

回帖

266

积分

见习骑士

Rank: 3

UID
3189500
第纳尔
2549
精华
0
互助
24
荣誉
4
贡献
10
魅力
235
注册时间
2020-6-13
鲜花(66) 鸡蛋(0)
发表于 2022-2-26 17:29:50 | 显示全部楼层 |阅读模式
如题, 求助try_for_range之类的怎么跳出循环,就是满足条件了就不继续往下循环了,省点计算量。
B站个人空间:https://b23.tv/rZhCYpH

44

主题

392

回帖

291

积分

见习骑士

Rank: 3

UID
1941209
第纳尔
2845
精华
0
互助
26
荣誉
3
贡献
0
魅力
38
注册时间
2014-5-5

战团正版勋章维京征服正版勋章

鲜花(129) 鸡蛋(0)
发表于 2022-2-26 23:07:20 来自手机 | 显示全部楼层
本帖最后由 nimoadna 于 2022-2-26 23:15 编辑


(assign, ":end", 100),
(try_for_range,reg1,0,":end"),
    (display_message,"@{reg1}"),
    (eq,reg1,50),
    (assign,":end",0),
(try_end),

试试这个?

23

主题

331

回帖

266

积分

见习骑士

Rank: 3

UID
3189500
第纳尔
2549
精华
0
互助
24
荣誉
4
贡献
10
魅力
235
注册时间
2020-6-13
鲜花(66) 鸡蛋(0)
 楼主| 发表于 2022-2-26 23:42:11 | 显示全部楼层
nimoadna 发表于 2022-2-26 23:07
(assign, ":end", 100),
(try_for_range,reg1,0,":end"),
    (display_message,"@{reg1}"),

  大佬看看这个
("count_XXXXXXX_of_center",
        [
                (store_script_param_1, ":center_no"),
                (assign, reg0, 0),
               
                (try_for_parties, ":party_no"),
                        (party_slot_eq, ":party_no", slot_party_type, XXXX),
                        (party_slot_eq, ":party_no", slot_party_home_center, ":center_no"),
                        (val_add, reg0, 1),
                (try_end),
                (try_begin),
                        (neq, reg0, 0),
                        (assign, reg0, ":party_no"),
                (try_end),
        ]),
我要计算某定居点的专属部队数量,但是我设置了数量只可能为 1 和 0 ,怎么让reg0加到为1时跳出循环呢?
B站个人空间:https://b23.tv/rZhCYpH

44

主题

392

回帖

291

积分

见习骑士

Rank: 3

UID
1941209
第纳尔
2845
精华
0
互助
26
荣誉
3
贡献
0
魅力
38
注册时间
2014-5-5

战团正版勋章维京征服正版勋章

鲜花(129) 鸡蛋(0)
发表于 2022-2-27 08:52:19 | 显示全部楼层
apk43 发表于 2022-2-26 23:42
大佬看看这个
("count_XXXXXXX_of_center",
        [



这个try_for_parties应该是跳不出去的,只能用变量判断后做标记:


("count_XXXXXXX_of_center",

        [
                (store_script_param_1, ":center_no"),
                (assign, reg0, 0),
               
                (try_for_parties, ":party_no"),                        

                        (le,reg0,0),
                        (party_slot_eq, ":party_no", slot_party_type, XXXX),
                        (party_slot_eq, ":party_no", slot_party_home_center, ":center_no"),
                        (val_add, reg0, 1),
                (try_end),
                (try_begin),
                        (neq, reg0, 0),
                        (assign, reg0, ":party_no"),
                (try_end),
        ]),



如果涉及到嵌套循环所有party,可以试试别的方法,这样效率不高


看上面代码貌似party和center是一对一关系,也许可以用center的slot_center_child_party来代替party的slot_party_home_center,这样只循环特定范围的center就可以了

评分

参与人数 1第纳尔 +5 互助 +1 魅力 +1 收起 理由
幼稚园殺手 + 5 + 1 + 1 乐于助人!

查看全部评分

《大冒险家》交流群 490205963 爱发电主页 https://afdian.net/a/dmxjshang

23

主题

331

回帖

266

积分

见习骑士

Rank: 3

UID
3189500
第纳尔
2549
精华
0
互助
24
荣誉
4
贡献
10
魅力
235
注册时间
2020-6-13
鲜花(66) 鸡蛋(0)
 楼主| 发表于 2022-2-27 09:11:26 来自手机 | 显示全部楼层
nimoadna 发表于 2022-2-27 08:52

这个try_for_parties应该是跳不出去的,只能用变量判断后做标记:

谢谢大佬,我去试试来自: Android客户端
您需要登录后才可以回帖 登录 | 注册(Register!)

本版积分规则

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

GMT+8, 2024-5-3 10:27 , Processed in 0.117326 second(s), 25 queries , Gzip On, MemCached On.

Powered by Discuz! X3.4 Licensed

© 2001-2023 Discuz! Team.

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