佳丽云

英雄无敌3-WoG中文站

 找回密码
 英雄注册|Register
查看: 3324|回复: 10

【求助】能否实现从!!DO循环中退出去的功能

[复制链接]
  • TA的每日心情
    擦汗
    2014-2-3 08:29
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]投石矮人

    236

    回帖

    1万

    金币

    0

    精华

    4级 Famous Hero

    Rank: 4

    积分
    1073
    发表于 2014-10-11 11:42:19 | 显示全部楼层 |阅读模式
    也就是一般程序语言中的break功能,不知道ERM语言有什么简单的实现方法吗?

    具体说来就是:用DO循环函数时,每循环一次就检查一个变量的值,如果符合某个条件就结束整个DO循环,开始执行下一条接收器命令。

    谢谢。
  • TA的每日心情
    开心
    2021-11-2 11:44
  • 签到天数: 754 天

    连续签到: 1 天

    [LV.10]圣龙

    8815

    回帖

    1万

    金币

    17

    精华

    论坛嘉宾

    寄蜉蝣于天地,渺沧海之一粟。

    Rank: 9Rank: 9Rank: 9

    积分
    42459

    退役版主社区QQ达人论坛守望者脚本测试狂论坛元老杰出贡献魅力之星

    发表于 2014-10-11 17:00:28 | 显示全部楼层
    感觉容易啊,甚至感觉可以考虑不用DO循环,要不楼主简单举个想实现的功能看看?
    “你看见的,是追随诸神脚步前进的埃拉西亚!”
    封神2.2黄金版 - 决战神之巅,英雄无敌世界的终极幻想
  • TA的每日心情
    擦汗
    2014-2-3 08:29
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]投石矮人

    236

    回帖

    1万

    金币

    0

    精华

    4级 Famous Hero

    Rank: 4

    积分
    1073
     楼主| 发表于 2014-10-11 21:15:04 | 显示全部楼层
    我的本意是想写一个让召唤之门可以选择传送哪个生物巢穴的功能……但是因为太麻烦了,所以为了自娱自乐,想先写一个很简单的“如果我方占领了圣龙巢穴,就让召唤之门一定传送圣龙”的功能。

    于是初步想法是:遍历地图上所有的生物巢穴,首先判断是不是被某个玩家占领(这个还没搞明白怎么判断),其次判断是不是圣龙巢穴,如果是的话就跳出去。

    点评

    如果单纯是限制圣龙巢,可以直接循环检查地图上的圣龙巢是否为我方啊,并不用检查所有的巢穴的 你想实现的功能如果不通过内存修改,倒是可以模拟个对话框实现的,只是内容比较多,检查资源不是难是非常烦  详情 回复 发表于 2014-10-11 21:30
  • TA的每日心情
    开心
    2021-11-2 11:44
  • 签到天数: 754 天

    连续签到: 1 天

    [LV.10]圣龙

    8815

    回帖

    1万

    金币

    17

    精华

    论坛嘉宾

    寄蜉蝣于天地,渺沧海之一粟。

    Rank: 9Rank: 9Rank: 9

    积分
    42459

    退役版主社区QQ达人论坛守望者脚本测试狂论坛元老杰出贡献魅力之星

    发表于 2014-10-11 21:30:47 | 显示全部楼层
    wuxiangjinxing 发表于 2014-10-11 21:15
    我的本意是想写一个让召唤之门可以选择传送哪个生物巢穴的功能……但是因为太麻烦了,所以为了自娱自乐,想 ...

    如果单纯是限制圣龙巢,可以直接循环检查地图上的圣龙巢是否为我方啊,并不用检查所有的巢穴的
    你想实现的功能如果不通过内存修改,倒是可以模拟个对话框实现的,只是内容比较多,检查招募时需要多少资源不是难是非常烦

    点评

    说得有理,我思路僵化了。 我的本意就是借鉴007的“城镇第8招募”写一个贴近SOD的功能罢了。不过他的代码我也是看得云里雾里。举个例子吧:007用来检测野外生物巢穴归属的函数是这样的: !?FU101025; **x1=玩  详情 回复 发表于 2014-10-11 21:38
    “你看见的,是追随诸神脚步前进的埃拉西亚!”
    封神2.2黄金版 - 决战神之巅,英雄无敌世界的终极幻想

     成长值: 16525

  • TA的每日心情
    郁闷
    2024-8-28 13:33
  • 签到天数: 1611 天

    连续签到: 1 天

    [LV.Master]伴坛终老

    5863

    回帖

    3万

    金币

    9

    精华

    管理员

    ERA Project Team
    WoG俄文论坛版主

    Rank: 12Rank: 12Rank: 12

    积分
    106277

    社区QQ达人论坛守望者脚本测试狂杰出贡献年度明星魅力之星宣传部长

    发表于 2014-10-11 21:33:16 | 显示全部楼层
    外行人(文盲)也做个猜想。WOG有个脚本是转换归属的,这个脚本几乎除了地下城召唤之门玩家,没人会开——因为大家都是用它来放弃自己想要的巢穴以外的所有巢穴,从而能够在召唤之门稳定召唤。

    这个脚本的具体功能是,开启的时候,右键自己占有的矿产/巢穴,就会提问是否转让。

    现在换个思路,如果把是否转让的提问,转变为提问是否成为召唤门调用的生物巢穴,每周可以指定一次。这样是不是更直观而且更简便一点

    点评

    看起来是个好主意,这样甚至不用做循环检测了,我看代码去……  详情 回复 发表于 2014-10-11 21:35
  • TA的每日心情
    擦汗
    2014-2-3 08:29
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]投石矮人

    236

    回帖

    1万

    金币

    0

    精华

    4级 Famous Hero

    Rank: 4

    积分
    1073
     楼主| 发表于 2014-10-11 21:35:38 | 显示全部楼层
    Archer30 发表于 2014-10-11 21:33
    外行人(文盲)也做个猜想。WOG有个脚本是转换归属的,这个脚本几乎除了地下城召唤之门玩家,没人会开—— ...

    看起来是个好主意,这样甚至不用做循环检测了,我看代码去……
  • TA的每日心情
    擦汗
    2014-2-3 08:29
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]投石矮人

    236

    回帖

    1万

    金币

    0

    精华

    4级 Famous Hero

    Rank: 4

    积分
    1073
     楼主| 发表于 2014-10-11 21:38:25 | 显示全部楼层
    沧海一粟 发表于 2014-10-11 21:30
    如果单纯是限制圣龙巢,可以直接循环检查地图上的圣龙巢是否为我方啊,并不用检查所有的巢穴的
    你想实现 ...

    说得有理,我思路僵化了。

    我的本意就是借鉴007的“城镇第8招募”写一个贴近SOD的功能罢了。不过他的代码我也是看得云里雾里。举个例子吧:007用来检测野外生物巢穴归属的函数是这样的:

    !?FU101025;
    **x1=玩家颜色
    **x2=巢穴子类型
    **x3=返回v变量索引
    !!UN:U17/x2/-1/50;             [获得巢穴坐标 v50-v52]
    !!DW50:O?y3;                   [生物编号y1/数量y2/所属颜色y3]
    !!FU|y3=-1/y3<>x1:E;           [非同主]
    !!VRvx3:+1;                    [叠加]

    这!!DW是啥玩意,我在ERM帮助文件里就没找到……

    点评

    楼主如果对ERM感兴趣,建议还是从最基本的ERM帮助慢慢看起,DW接收器在“其它物品接收器”章节,是专门针对生物巢穴的接收命令 你想实现的功能其实非常简单,不过要完善倒是得一定的时间,还是那句话,不是难是烦非  详情 回复 发表于 2014-10-11 23:01
  • TA的每日心情
    开心
    2021-11-2 11:44
  • 签到天数: 754 天

    连续签到: 1 天

    [LV.10]圣龙

    8815

    回帖

    1万

    金币

    17

    精华

    论坛嘉宾

    寄蜉蝣于天地,渺沧海之一粟。

    Rank: 9Rank: 9Rank: 9

    积分
    42459

    退役版主社区QQ达人论坛守望者脚本测试狂论坛元老杰出贡献魅力之星

    发表于 2014-10-11 23:01:28 | 显示全部楼层
    wuxiangjinxing 发表于 2014-10-11 21:38
    说得有理,我思路僵化了。

    我的本意就是借鉴007的“城镇第8招募”写一个贴近SOD的功能罢了。不过他的 ...

    楼主如果对ERM感兴趣,建议还是从最基本的ERM帮助慢慢看起,DW接收器在“其它物品接收器”章节,是专门针对生物巢穴的接收命令
    你想实现的功能其实非常简单,不过要完善倒是得一定的时间,还是那句话,不是难是烦非常烦,一是检查并命名本方所有的巢穴(太多种可能了,一百个啊,超过12个又得设置翻页,啰嗦),二是检查资源是否足够招募(这个也讨厌啊,得7种资源一个个检查,非常烦人的)

    我简单帮你列个小思路,下面简单写的没怎么测试也懒得注释了,你自己对着ERM帮助应该容易理解,大概方向应该就是这样子
    1. ZVSE
    2. **实现功能:地下城右键点击召唤之门,可以显示本方野外可以招募的4神龙数量

    3. !?CM1&1000;
    4. !!CA-1:T?y1 O?y2;
    5. !!CM:S?y3 I?y4;
    6. !!FU|y1<>5/y2=-1/y3<>14/y4<>22:E;
    7. !!CM:R0;
    8. !!VRv7:C0/0/0/0;
    9. !!VRz22:S^请选择你要招募的巢穴生物:^;
    10. !!VRz23:S^魔法森林^;
    11. !!VRz24:S^硫磺洞穴^;
    12. !!VRz25:S^水晶洞穴^;
    13. !!VRz26:S^冰雪之崖^;
    14. !!VRz27:S^退出^;
    15. !!IF:G1/10/16/22/23/24/25/26/27;
    16. !!FU&v10=16:E;
    17. !!VRy5&v10=1:S64;
    18. !!VRy5&v10=2:S65;
    19. !!VRy5&v10=4:S63;
    20. !!VRy5&v10=8:S62;
    21. !!VRy6&v10=1:S23;
    22. !!VRy6&v10=2:S24;
    23. !!VRy6&v10=4:S25;
    24. !!VRy6&v10=8:S26;
    25. !!VRz28:Szy6;
    26. !!UN:U17/y5/?y7;
    27. !!VRv1:S-1;
    28. !!DO666666/1/y7/1&y7>0:Py2/y5;
    29. !!UN:N3/29/v9/1;
    30. !!IF&y7=0:M^对不起,你没有占领%Z28巢穴!^;
    31. !!IF&y7>0:Q1/21/v9/1^你有%V7个%Z28巢穴,一共可以招募%V8个%Z29!^;
    32. !!VRv7:C0/0/0/0;

    33. !?FU666666;
    34. !!UN:U17/x2/-1/1;
    35. !!DWv1/v2/v3:O?y1;
    36. !!FU&y1<>x1:E;
    37. !!DWv1/v2/v3:M0/?y3/?y4;
    38. !!VRv7:+1;
    39. !!VRv8:+y4;
    40. !!VRv9:Sy3;

    41. **end**
    复制代码


    点评

    没想到你还真帮忙写啊,多谢你了……其实LS的Archer提的建议挺好,可以用很简单的方法完成判断的任务,我已经有点头绪了。现在问题变成007那个改内存的方法我没太吃透,再研究研究应该可以写出很干净的代码。  详情 回复 发表于 2014-10-12 01:37
    “你看见的,是追随诸神脚步前进的埃拉西亚!”
    封神2.2黄金版 - 决战神之巅,英雄无敌世界的终极幻想
  • TA的每日心情
    擦汗
    2014-2-3 08:29
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]投石矮人

    236

    回帖

    1万

    金币

    0

    精华

    4级 Famous Hero

    Rank: 4

    积分
    1073
     楼主| 发表于 2014-10-12 01:37:30 | 显示全部楼层
    沧海一粟 发表于 2014-10-11 23:01
    楼主如果对ERM感兴趣,建议还是从最基本的ERM帮助慢慢看起,DW接收器在“其它物品接收器”章节,是专门针 ...

    没想到你还真帮忙写啊,多谢你了……其实LS的Archer提的建议挺好,可以用很简单的方法完成判断的任务,我已经有点头绪了。现在问题变成007那个改内存的方法我没太吃透,再研究研究应该可以写出很干净的代码。

  • TA的每日心情
    郁闷
    2015-6-6 16:12
  • 签到天数: 52 天

    连续签到: 1 天

    [LV.5]女巫

    4951

    回帖

    3万

    金币

    35

    精华

    超级版主

    Rank: 11Rank: 11Rank: 11Rank: 11

    积分
    34692

    论坛守望者论坛元老杰出贡献

    发表于 2014-10-12 13:15:27 | 显示全部楼层
    要跳出DO循环是很简单的, 直接修改 x16 大于最大的DO循环值就行了。
    比如再条件满足后加一句 !!VRx16:S99999;

    我觉得沧海的方法比较简单实用,如果动用内存方法,得考虑在TM触发器下吧。
    地下城的占领巢穴出召唤之门,好像是每周执行的。
  • TA的每日心情
    开心
    2021-11-2 11:44
  • 签到天数: 754 天

    连续签到: 1 天

    [LV.10]圣龙

    8815

    回帖

    1万

    金币

    17

    精华

    论坛嘉宾

    寄蜉蝣于天地,渺沧海之一粟。

    Rank: 9Rank: 9Rank: 9

    积分
    42459

    退役版主社区QQ达人论坛守望者脚本测试狂论坛元老杰出贡献魅力之星

    发表于 2014-10-12 14:41:32 | 显示全部楼层
    呵呵,我还是建议楼主得从基本的东西搞起,万丈高楼平地起,ERM基本命令才是根基,一下子就想着动用内存修改,欲速则不达啊
    “你看见的,是追随诸神脚步前进的埃拉西亚!”
    封神2.2黄金版 - 决战神之巅,英雄无敌世界的终极幻想
    ahome_bigavatar:guest
    ahome_bigavatar:welcomelogin
    您需要登录后才可以回帖 登录 | 英雄注册|Register

    本版积分规则

    捐赠
    关注我们,英3Mod一网打尽!

    WoG中文站 ( 辽B2-20210485-10 )|辽公网安备 21128202000228 号

    GMT+8, 2025-4-21 00:34 , Processed in 1.141826 second(s), 15 queries , Gzip On, File On.

    Powered by Discuz! X3.4

    Copyright © 2004-2022, Beijing Second Sight Technology Co., LTD.

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