佳丽云

英雄无敌3-WoG中文站

 找回密码
 英雄注册|Register
查看: 3751|回复: 22

请教贤知大人:我编的反击脚本只有第一回合有效

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

    连续签到: 1 天

    [LV.10]圣龙

    1301

    回帖

    1万

    金币

    0

    精华

    5级 Honorable Hero

    Rank: 5Rank: 5

    积分
    6840
    发表于 2015-11-23 19:23:53 | 显示全部楼层 |阅读模式
    本帖最后由 xuzhouhudajz 于 2015-11-23 22:30 编辑

    请教贤知大人,下面是我编的脚本只有第一回合有效。请问是不是与V997有关,还是别的原因
    !?BA0&1000;
    !!VRy8:S1;                      设置防守方为y8=1
    !!VRy9:Sy8*-1 +1;          设置防守方为y9=0
    !!BA:Hy9/?v9555;             保存进攻方英雄到v9555
    !!BA:Hy8/?v9560;             防守方hero到v9560
    !!OW:C?i Ii/?j;                获取当前玩家(这句多余)
    !!if&y9=0/v9555>=0:;    攻击方成立并有英雄参与
    !!HEv9555:O?y2;            获取攻击方英雄所属玩家
    !!FU&y2<0:E;                排除中立方
    !!OW:Iy2/?y4;               获取玩家状态
    !!HEv9555&y4=0:N?v85; 获取人类玩家英雄编号
    !!en:;
    !!if&y8=1/v9560>=0:;    防守方成立并有英雄参与
    !!HEv9560:O?y5;             获取防守方英雄所属玩家
    !!FU&y5<0:E;                 排除中立方
    !!OW:Iy5/?y7;                获取玩家状态(人类玩家还是电脑玩家)
    !!HEv9560&y7=0:N?v85; 获取人类玩家英雄编号
    !!en:;

    !?BR&1000;
    !!DO9999999/0/20/1&v9555=v85:P;遍历攻击方堆栈
    !!DO9999999/21/41/1&v9560=v85:P;遍历防守方堆栈
    !?FU9999999;
    !!BMx16:T?y1 N?y3;                        获取生物类型和数量
    !!VRy2:S5;                                      设置反击次数
    !!FU|y1<0/y3<1/y1=145:E;              排除投石车和空堆栈
    !!FU&y1>146/y1<150:E;                  排除箭塔和医疗帐篷
    !!BMx16:Rdy2;                                设置反击次数

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

    连续签到: 1 天

    [LV.5]女巫

    4949

    回帖

    3万

    金币

    35

    精华

    超级版主

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

    积分
    34677

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

    发表于 2015-11-23 23:07:32 | 显示全部楼层
    在BR阶段设置一些命令时,有时候会有莫名其妙的事情.
    沧海一粟大师曾经所过,比如设置魔法状态,只有第一个堆栈有效(0号堆栈).

    你这里设置的加反击次数,也许也是这样,只有0号堆栈有效吧.
    具体我也解释不清楚.我有空测试下为啥出现这种情况.

    另外,楼主在应用BR每回合触发时,要考虑一个 布阵的问题.
    当有布阵发生时,BR的第0回合会被触发2次的.你在BR后面加个 IF:M^第%V997回合^; 看看就知道了.
    需要避免触发2次的问题.

    点评

    在BR后加入!!IF:M^第%V997回合^;每回合都有记录,但是0回合才有效,从第1回合开始就只反击一次了!  详情 回复 发表于 2015-11-24 18:42
  • TA的每日心情
    开心
    2021-2-18 14:28
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]投石矮人

    2623

    回帖

    1万

    金币

    21

    精华

    论坛嘉宾

    请叫我黑椒哥哥

    Rank: 9Rank: 9Rank: 9

    积分
    4827

    论坛元老退役版主

    QQ
    发表于 2015-11-24 10:09:13 | 显示全部楼层
    不需要用BR来设置啊,你直接用EA来设置反击次数就好了啊

    点评

    用EA会出现所有该兵种都会有这样的反击次数,我只需要该英雄有这样的能力!  详情 回复 发表于 2015-11-24 18:27
  • TA的每日心情
    开心
    2023-4-1 07:08
  • 签到天数: 830 天

    连续签到: 1 天

    [LV.10]圣龙

    1301

    回帖

    1万

    金币

    0

    精华

    5级 Honorable Hero

    Rank: 5Rank: 5

    积分
    6840
     楼主| 发表于 2015-11-24 18:27:55 | 显示全部楼层
    克招 发表于 2015-11-24 10:09
    不需要用BR来设置啊,你直接用EA来设置反击次数就好了啊

    用EA会出现所有该兵种都会有这样的反击次数,我只需要该英雄有这样的能力!

    点评

    你用战场EA啊,作用于堆栈的。另外,另外,如果在BR下设置不行,就在BG下呗。  详情 回复 发表于 2015-11-24 19:18
  • TA的每日心情
    开心
    2023-4-1 07:08
  • 签到天数: 830 天

    连续签到: 1 天

    [LV.10]圣龙

    1301

    回帖

    1万

    金币

    0

    精华

    5级 Honorable Hero

    Rank: 5Rank: 5

    积分
    6840
     楼主| 发表于 2015-11-24 18:42:08 | 显示全部楼层
    贤知有您 发表于 2015-11-23 23:07
    在BR阶段设置一些命令时,有时候会有莫名其妙的事情.
    沧海一粟大师曾经所过,比如设置魔法状态,只有第一个堆 ...

    在BR后加入!!IF:M^第%V997回合^;每回合都有记录,但是0回合才有效,从第1回合开始就只反击一次了!
  • TA的每日心情
    开心
    2021-2-18 14:28
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]投石矮人

    2623

    回帖

    1万

    金币

    21

    精华

    论坛嘉宾

    请叫我黑椒哥哥

    Rank: 9Rank: 9Rank: 9

    积分
    4827

    论坛元老退役版主

    QQ
    发表于 2015-11-24 19:18:43 | 显示全部楼层
    xuzhouhudajz 发表于 2015-11-24 18:27
    用EA会出现所有该兵种都会有这样的反击次数,我只需要该英雄有这样的能力!

    你用战场EA啊,作用于堆栈的。另外,另外,如果在BR下设置不行,就在BG下呗。

    点评

    在BG模式下试了不行!在BR模式下只有0堆栈有效果  详情 回复 发表于 2015-11-25 17:39
  • TA的每日心情
    开心
    2023-4-1 07:08
  • 签到天数: 830 天

    连续签到: 1 天

    [LV.10]圣龙

    1301

    回帖

    1万

    金币

    0

    精华

    5级 Honorable Hero

    Rank: 5Rank: 5

    积分
    6840
     楼主| 发表于 2015-11-25 17:39:57 | 显示全部楼层
    克招 发表于 2015-11-24 19:18
    你用战场EA啊,作用于堆栈的。另外,另外,如果在BR下设置不行,就在BG下呗。

    在BG模式下试了不行!在BR模式下只有0堆栈有效果

    点评

    那我想这应该不是命令的问题,是你写脚本的问题,好好检查一下什么地方出问题了。  详情 回复 发表于 2015-11-25 17:50
  • TA的每日心情
    开心
    2021-2-18 14:28
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]投石矮人

    2623

    回帖

    1万

    金币

    21

    精华

    论坛嘉宾

    请叫我黑椒哥哥

    Rank: 9Rank: 9Rank: 9

    积分
    4827

    论坛元老退役版主

    QQ
    发表于 2015-11-25 17:50:52 | 显示全部楼层
    xuzhouhudajz 发表于 2015-11-25 17:39
    在BG模式下试了不行!在BR模式下只有0堆栈有效果

    那我想这应该不是命令的问题,是你写脚本的问题,好好检查一下什么地方出问题了。
  • TA的每日心情
    郁闷
    2015-6-6 16:12
  • 签到天数: 52 天

    连续签到: 1 天

    [LV.5]女巫

    4949

    回帖

    3万

    金币

    35

    精华

    超级版主

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

    积分
    34677

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

    发表于 2015-11-25 23:08:31 | 显示全部楼层
    我觉得考虑EA经验特技来给反击次数也不是太好.
    万一该堆栈的经验特技满了,是没法腾出位置再给个增加反击次数的经验特技的.

    可以给个迂回的写法.
    首先用一个变量记录每个回合中BG0产生的次数.(BR中需要重设为0)
    然后在这个变量为1的时候(也就是该回合第一个行动堆栈行动前),处理增加反击次数.这时就不会有失效的问题了.

    点评

    这里还有另外一个问题,就是我用吸血鬼王放在不同的位置,好像只有第一个位置游戏(进攻方)应该是0堆栈有效!但有的情况下又变成(这种情况好像刚开始只有指挥官,没有其它兵种)指挥官有效,我觉得BM:R应该是随机1  详情 回复 发表于 2015-11-26 19:20
    我不太记得是不是反击次数只能设置为0或1,如果是这样的话,那么就只能在bg下自己设置变量来记录了  详情 回复 发表于 2015-11-25 23:22
    但是他说在bg中也无效,所以我觉得是他写的问题  详情 回复 发表于 2015-11-25 23:17
  • TA的每日心情
    开心
    2021-2-18 14:28
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]投石矮人

    2623

    回帖

    1万

    金币

    21

    精华

    论坛嘉宾

    请叫我黑椒哥哥

    Rank: 9Rank: 9Rank: 9

    积分
    4827

    论坛元老退役版主

    QQ
    发表于 2015-11-25 23:17:35 | 显示全部楼层
    贤知有您 发表于 2015-11-25 23:08
    我觉得考虑EA经验特技来给反击次数也不是太好.
    万一该堆栈的经验特技满了,是没法腾出位置再给个增加反击次 ...

    但是他说在bg中也无效,所以我觉得是他写的问题
  • TA的每日心情
    开心
    2021-2-18 14:28
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]投石矮人

    2623

    回帖

    1万

    金币

    21

    精华

    论坛嘉宾

    请叫我黑椒哥哥

    Rank: 9Rank: 9Rank: 9

    积分
    4827

    论坛元老退役版主

    QQ
    发表于 2015-11-25 23:22:34 | 显示全部楼层
    贤知有您 发表于 2015-11-25 23:08
    我觉得考虑EA经验特技来给反击次数也不是太好.
    万一该堆栈的经验特技满了,是没法腾出位置再给个增加反击次 ...

    我不太记得是不是反击次数只能设置为0或1,如果是这样的话,那么就只能在bg下自己设置变量来记录了
  • TA的每日心情
    开心
    2023-4-1 07:08
  • 签到天数: 830 天

    连续签到: 1 天

    [LV.10]圣龙

    1301

    回帖

    1万

    金币

    0

    精华

    5级 Honorable Hero

    Rank: 5Rank: 5

    积分
    6840
     楼主| 发表于 2015-11-26 18:51:42 | 显示全部楼层
    可能我没表示清楚,我的意思是用BM:R前用BG触发器不行,也没效果,我想在BG模式下增加一个回合变量,自己尝试了一下由于能力有限,目前还没试成功!故提出来请大神指点!
  • TA的每日心情
    开心
    2023-4-1 07:08
  • 签到天数: 830 天

    连续签到: 1 天

    [LV.10]圣龙

    1301

    回帖

    1万

    金币

    0

    精华

    5级 Honorable Hero

    Rank: 5Rank: 5

    积分
    6840
     楼主| 发表于 2015-11-26 19:20:43 | 显示全部楼层
    贤知有您 发表于 2015-11-25 23:08
    我觉得考虑EA经验特技来给反击次数也不是太好.
    万一该堆栈的经验特技满了,是没法腾出位置再给个增加反击次 ...

    这里还有另外一个问题,就是我用吸血鬼王放在不同的位置,好像只有第一个位置游戏(进攻方)应该是0堆栈有效!但有的情况下又变成(这种情况好像刚开始只有指挥官,没有其它兵种)指挥官有效,我觉得BM:R应该是随机1个堆栈的,但通常情况下是0堆栈,每回合都有效!
  • TA的每日心情
    开心
    2023-4-1 07:08
  • 签到天数: 830 天

    连续签到: 1 天

    [LV.10]圣龙

    1301

    回帖

    1万

    金币

    0

    精华

    5级 Honorable Hero

    Rank: 5Rank: 5

    积分
    6840
     楼主| 发表于 2015-11-26 19:45:17 | 显示全部楼层
    我又做了实验还是我前面1楼的程序,发现攻击方英雄(本方)如果第一个(攻击方战场上方第一个)位置无并种就是追谁者每回合可以多次反击,当追随者死掉后紧挨着的兵(刚开始进入战场时候位置)就有多次反击,每次只有一对兵有效!不知道是不是这样的!需多次验证!
  • TA的每日心情
    郁闷
    2015-6-6 16:12
  • 签到天数: 52 天

    连续签到: 1 天

    [LV.5]女巫

    4949

    回帖

    3万

    金币

    35

    精华

    超级版主

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

    积分
    34677

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

    发表于 2015-11-26 21:25:28 | 显示全部楼层
    关于BR的一些特殊问题.也一直困扰着我.
    目前我也没时间去考究.楼主可以深入研究一下.
    总之就是有时候,只有第一堆栈0#堆栈有效.很奇怪的.

    点评

    XEricSin 提供的建议我修改了,也有效果,但是变成无限反击了如果设置为BM:R0就无反击,只要大于0就变成无限反击了!还是得尝试贤知大人的迂回策略了,看能否搞出来吧!  详情 回复 发表于 2015-12-1 20:33
  • TA的每日心情
    开心
    2015-12-9 01:09
  • 签到天数: 9 天

    连续签到: 1 天

    [LV.3]火元素使者

    1839

    回帖

    8223

    金币

    8

    精华

    版主

    Rank: 10Rank: 10Rank: 10

    积分
    10806

    社区QQ达人

    发表于 2015-11-29 03:13:46 | 显示全部楼层
    我做了以下测试。

    !?BR;
    !!DO9999999/0/20/1:P;遍历攻击方堆栈
    !?FU9999999;
    !!BMx16:T?y1 N?y3;                        获取生物类型和数量
    !!FU|y1<0/y3<1/y1=145:E;              排除投石车和空堆栈
    !!FU&y1>146/y1<150:E;                  排除箭塔和医疗帐篷
    !!BMx16:R1000;                              1000反击次数
    !!BMx16:R?y100;  查看反击数
    !!IF:M^starting round y100= %Y100^;

    !?MF1;收到攻击时
    !!MF:N?y1;
    **************!BMy1:R10;
    !!BMy1:R?y100;
    !!IF:M^before retal y100= %Y100^;
    发现如果通过BM:R的方式在回合开始阶段设置反击次数,紧接着查看怪物反击次数有没有设好,是没问题的。设置1000,查看也是1000.
    问题是,当怪物收到攻击时,他的剩余反击次数直接变成1. 之前BM:R设置好的被无视了!!
    所以,BM:R在回合开始是设置是无实际作用的(除第一回合)。也不知道为什么会这样。


    我又加入打星号这行,收到攻击时立即设置一次BM:R,本回合反击剩余数正常。
    所以解决方案为使用!?MF1触发,受到攻击时设置反击本回合反击次数。如果这么弄,必须限制什么样的怪物可触发,不然所有怪物都无线反击了。

    点评

    多谢!按照你的试一下!  详情 回复 发表于 2015-11-29 18:42
  • TA的每日心情
    开心
    2023-4-1 07:08
  • 签到天数: 830 天

    连续签到: 1 天

    [LV.10]圣龙

    1301

    回帖

    1万

    金币

    0

    精华

    5级 Honorable Hero

    Rank: 5Rank: 5

    积分
    6840
     楼主| 发表于 2015-11-29 18:42:06 | 显示全部楼层
    XEricSin 发表于 2015-11-29 03:13
    我做了以下测试。

    !?BR;

    多谢!按照你的试一下!
  • TA的每日心情
    开心
    2023-4-1 07:08
  • 签到天数: 830 天

    连续签到: 1 天

    [LV.10]圣龙

    1301

    回帖

    1万

    金币

    0

    精华

    5级 Honorable Hero

    Rank: 5Rank: 5

    积分
    6840
     楼主| 发表于 2015-11-29 20:51:53 | 显示全部楼层
    经过验证本方(人类玩家)英雄都所带兵种都增加5次反击次数。再次多谢贤知大人、克招及XEricSin !
    ZVSE
    !?BA0&1000;
    !!VRy8:S1;
    !!VRy9:Sy8*-1 +1;
    !!BA:Hy9/?v9555;             保存进攻方英雄到v9555
    !!BA:Hy8/?v9560;             防守方hero到v9560
    !!OW:C?i Ii/?j;
    !!if&y9=0/v9555>=0:;
    !!HEv9555:O?y2;
    !!FU&y2<0:E;
    !!OW:Iy2/?y4;
    !!HEv9555&y4=0:N?v85;
    !!en:;
    !!if&y8=1/v9560>=0:;
    !!HEv9560:O?y5;
    !!FU&y5<0:E;
    !!OW:Iy5/?y7;
    !!HEv9560&y7=0:N?v85;
    !!en:;
    !?BF&1000;                  战场生成后
    !?BR&1000;
    !!DO9999999/0/20/1&v9555=v85:P;
    !!DO9999999/21/41/1&v9560=v85:P;
    !?FU9999999;
    !?MF1&1000;伤害前触发
    !!MF:N?y4;获取被伤害堆栈
    !!BMy4:T?y1 N?y3 I?y5;获取兵种类型、数量、所属势力
    !!FU|y1<0/y3<1/y1=145:E;排除空堆栈、投石车
    !!FU&y1>146/y1<150:E;排除帐篷、箭塔
    !!VRy2:S5;设置反击次数
    !!BHy5:N?y6;获取被伤害兵种所属英雄
    !!BMy4&y6=v85/v997>-1:Rdy2;增加反击次数

    点评

    我啰嗦一下 比如VRy2:S5; BM:Ry2 可以完全不用y2的,直接BM:R5或者BM:Rd5,就好。  详情 回复 发表于 2015-11-29 21:36
  • TA的每日心情
    郁闷
    2015-6-6 16:12
  • 签到天数: 52 天

    连续签到: 1 天

    [LV.5]女巫

    4949

    回帖

    3万

    金币

    35

    精华

    超级版主

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

    积分
    34677

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

    发表于 2015-11-29 21:34:55 | 显示全部楼层
    在1?MF1触发器下增加反击次数,貌似和楼主原本的思路不太符合.

    或者说,现在变成了, 英雄所带生物受到伤害时增加反击次数.
    这个生物被攻击次数越多它获得的反击次数就越多了.
    也许楼主更喜欢这个吧.哈哈.
    反正楼主喜欢就行.

    点评

    我原来的思路目前暂时无法实现!只能先找替代方案,然后看能否解决吧!我想,我解决的机会不大,贤知大人是没问题的!多谢!  详情 回复 发表于 2015-11-30 18:29
  • TA的每日心情
    开心
    2015-12-9 01:09
  • 签到天数: 9 天

    连续签到: 1 天

    [LV.3]火元素使者

    1839

    回帖

    8223

    金币

    8

    精华

    版主

    Rank: 10Rank: 10Rank: 10

    积分
    10806

    社区QQ达人

    发表于 2015-11-29 21:36:05 | 显示全部楼层
    本帖最后由 XEricSin 于 2015-11-29 21:40 编辑
    xuzhouhudajz 发表于 2015-11-29 20:51
    经过验证本方(人类玩家)英雄都所带兵种都增加5次反击次数。再次多谢贤知大人、克招及XEricSin !
    ZVSE
    ...

    我啰嗦一下这样其实是设置的无限反击,如果只要一定次数的反击,会很麻烦。

    另外,很多参数是可以直接放数值的,不用放变量名字
    比如VRy2:S5; BM:Ry2 可以完全不用y2的,直接BM:R5或者BM:Rd5,就好。

    点评

    我这样做是为了方便改,可能这种方式不太合适吧!  详情 回复 发表于 2015-11-30 18:30
    ahome_bigavatar:guest
    ahome_bigavatar:welcomelogin
    您需要登录后才可以回帖 登录 | 英雄注册|Register

    本版积分规则

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

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

    GMT+8, 2024-11-15 11:39 , Processed in 1.042204 second(s), 14 queries , Gzip On, File On.

    Powered by Discuz! X3.4

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

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