佳丽云

英雄无敌3-WoG中文站

 找回密码
 英雄注册|Register
查看: 2492|回复: 7

请教贤知大人和其他大神

[复制链接]
  • TA的每日心情
    开心
    2023-4-1 07:08
  • 签到天数: 830 天

    连续签到: 1 天

    [LV.10]圣龙

    1301

    回帖

    1万

    金币

    0

    精华

    5级 Honorable Hero

    Rank: 5Rank: 5

    积分
    6840
    发表于 2016-2-27 21:13:46 | 显示全部楼层 |阅读模式
    下面是我编的脚本,带兵位置初始值为7时 ,为什么英雄带兵0号位置无效果;我把带兵位置初始值设为0只有0有效果(脚本见最后!
    !?FU10000009&x1=-999999;
    !!HEx16:O?y1;#0获取玩家编号
    !!FU&y1=-1:E;#1非中立或非无主英雄
    !!OW:Iy1/?y2;获取玩家类别
    !!FU&y2=0:E;排除人类玩家
    !!OW:C?i;获取当前玩家编号
    !!FU&y1<>i:E;判断当前玩家与英雄玩家是否一致
    !!VRy3:S7;定义带兵位置初始值
    !!VRy3:-1;#7自减1
    !!HEx16:C0/y3/?y6/?y4;获取相应位置怪物数量
    !!FU&y4<1|y4>1000:E;数量为0或大于1000不执行
    !!VRy5:Sy4:10;难度调整
    !!HEx16:C0/y3/d/dy5;增加怪物数量
    !!SN&y3>0:G7;循环检测

    !?FU10000009&x1=-999999;
    !!HEx16:O?y1;#0获取玩家编号
    !!FU&y1=-1:E;#1非中立或非无主英雄
    !!OW:Iy1/?y2;获取玩家类别
    !!FU&y2=0:E;排除人类玩家
    !!OW:C?i;获取当前玩家编号
    !!FU&y1<>i:E;判断当前玩家与英雄玩家是否一致
    !!VRy3:S0;定义带兵位置初始值
    !!HEx16:C0/y3/?y6/?y4;#7获取相应位置怪物数量
    !!FU&y4<1|y4>1000:E;数量为0或大于1000不执行
    !!VRy5:Sy4:10;难度调整
    !!HEx16:C0/y3/d/dy5;增加怪物数量
    !!VRy3:+1;
    !!SN&y3<7:G7;循环检测
  • TA的每日心情
    开心
    2023-4-1 07:08
  • 签到天数: 830 天

    连续签到: 1 天

    [LV.10]圣龙

    1301

    回帖

    1万

    金币

    0

    精华

    5级 Honorable Hero

    Rank: 5Rank: 5

    积分
    6840
     楼主| 发表于 2016-2-27 22:21:18 | 显示全部楼层
    多谢各位已解决!
    !?FU10000009&x1=-999999;
    !!HEx16:O?y1;#0
    !!FU&y1=-1:E;#1
    !!OW:Iy1/?y2;
    !!FU&y2=0:E;
    !!OW:C?i;
    !!FU&y1<>i:E;
    !!VRy3:S7;
    !!VRy3:-1;#7
    !!HEx16:C0/y3/?y6/?y4;
    !!if&y4<1000:;
    !!VRy5:Sy4:10;难度调整
    !!HEx16:C0/y3/d/dy5;
    !!en:;
    !!SN&y3>0:G7;
  • TA的每日心情
    开心
    2015-12-9 01:09
  • 签到天数: 9 天

    连续签到: 1 天

    [LV.3]火元素使者

    1839

    回帖

    8223

    金币

    8

    精华

    版主

    Rank: 10Rank: 10Rank: 10

    积分
    10815

    社区QQ达人

    发表于 2016-2-27 22:21:26 | 显示全部楼层
    我是没看出什么问题。
    一般我不用SN:G的功能,估计出错也是跟它有关。
    建议楼主测试的时候可以在关键步骤后加一个IF:M^变量值^的语句,就可以看到哪儿出错了。

    点评

    问题就在这句“!!FU&y41000:E;数量为0或大于1000不执行”,如果条件成立就不执行了,循环语句就中断了!  详情 回复 发表于 2016-2-27 22:53
  • TA的每日心情
    开心
    2023-4-1 07:08
  • 签到天数: 830 天

    连续签到: 1 天

    [LV.10]圣龙

    1301

    回帖

    1万

    金币

    0

    精华

    5级 Honorable Hero

    Rank: 5Rank: 5

    积分
    6840
     楼主| 发表于 2016-2-27 22:53:32 | 显示全部楼层
    XEricSin 发表于 2016-2-27 22:21
    我是没看出什么问题。
    一般我不用SN:G的功能,估计出错也是跟它有关。
    建议楼主测试的时候可以在关键步 ...

    问题就在这句“!!FU&y4<1|y4>1000:E;数量为0或大于1000不执行”,如果条件成立就不执行了,循环语句就中断了!

    点评

    这个语句有语病 !!FU&y41000:E &是而且的意思 |是或者的意思 你因该写 !!FU|y41000:E 这个才是y4小于1或者大于1000  详情 回复 发表于 2016-2-28 00:04
  • TA的每日心情
    开心
    2015-12-9 01:09
  • 签到天数: 9 天

    连续签到: 1 天

    [LV.3]火元素使者

    1839

    回帖

    8223

    金币

    8

    精华

    版主

    Rank: 10Rank: 10Rank: 10

    积分
    10815

    社区QQ达人

    发表于 2016-2-28 00:04:08 | 显示全部楼层
    xuzhouhudajz 发表于 2016-2-27 22:53
    问题就在这句“!!FU&y41000:E;数量为0或大于1000不执行”,如果条件成立就不执行了,循环语句就中断了!

    这个语句有语病
    !!FU&y4<1|y4>1000:E
    &是而且的意思
    |是或者的意思

    你因该写
    !!FU|y4<1/y4>1000:E
    这个才是y4小于1或者大于1000

    点评

    你说的我也知道,我在其它地方验证&和|可同时使用,关键是当我的某个带兵位置没有生物的时候他就不循环了,终止了后面的程序运行,因此我个人认为是不应该在循环体内用这个命令!不知我的理解和验证是否准确,当然你  详情 回复 发表于 2016-2-28 07:23
  • TA的每日心情
    开心
    2023-4-1 07:08
  • 签到天数: 830 天

    连续签到: 1 天

    [LV.10]圣龙

    1301

    回帖

    1万

    金币

    0

    精华

    5级 Honorable Hero

    Rank: 5Rank: 5

    积分
    6840
     楼主| 发表于 2016-2-28 07:23:09 | 显示全部楼层
    XEricSin 发表于 2016-2-28 00:04
    这个语句有语病
    !!FU&y41000:E
    &是而且的意思

    你说的我也知道,我在其它地方验证&和|可同时使用,关键是当我的某个带兵位置没有生物的时候他就不循环了,终止了后面的程序运行,因此我个人认为是不应该在循环体内用这个命令!不知我的理解和验证是否准确,当然你说的也许是我还没体会到它的特殊含义和使用方法

    点评

    恭喜楼主自己找到问题。 用SN:G循环要慎用FU:E。 FU:E会退出当前函数,也就是结束整个!?下面的。 楼主改用if语句,就只跳过一部分语句,可以说是正解。 我记得在什么地方看到,ERM是不支持&和|混用的。具  详情 回复 发表于 2016-2-28 12:43
  • TA的每日心情
    开心
    2015-12-9 01:09
  • 签到天数: 9 天

    连续签到: 1 天

    [LV.3]火元素使者

    1839

    回帖

    8223

    金币

    8

    精华

    版主

    Rank: 10Rank: 10Rank: 10

    积分
    10815

    社区QQ达人

    发表于 2016-2-28 12:43:35 | 显示全部楼层
    xuzhouhudajz 发表于 2016-2-28 07:23
    你说的我也知道,我在其它地方验证&和|可同时使用,关键是当我的某个带兵位置没有生物的时候他就不循环了 ...

    恭喜楼主自己找到问题。
    用SN:G循环要慎用FU:E。
    FU:E会退出当前函数,也就是结束整个!?下面的。
    楼主改用if语句,就只跳过一部分语句,可以说是正解。

    我记得在什么地方看到,ERM是不支持&和|混用的。具体会有什么原因什么错误,我记不清了。反正就是不混用最好。

    点评

    多谢解答!辛苦了!  详情 回复 发表于 2016-2-28 14:11
  • TA的每日心情
    开心
    2023-4-1 07:08
  • 签到天数: 830 天

    连续签到: 1 天

    [LV.10]圣龙

    1301

    回帖

    1万

    金币

    0

    精华

    5级 Honorable Hero

    Rank: 5Rank: 5

    积分
    6840
     楼主| 发表于 2016-2-28 14:11:09 | 显示全部楼层
    XEricSin 发表于 2016-2-28 12:43
    恭喜楼主自己找到问题。
    用SN:G循环要慎用FU:E。
    FU:E会退出当前函数,也就是结束整个!?下面的。
    ...

    多谢解答!辛苦了!
    ahome_bigavatar:guest
    ahome_bigavatar:welcomelogin
    您需要登录后才可以回帖 登录 | 英雄注册|Register

    本版积分规则

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

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

    GMT+8, 2024-12-23 22:40 , Processed in 2.337971 second(s), 14 queries , Gzip On, File On.

    Powered by Discuz! X3.4

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

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