佳丽云

英雄无敌3-WoG中文站

 找回密码
 英雄注册|Register
查看: 18874|回复: 36

至高天使施法后再动(ERM实例教程)1.4版

[复制链接]

该用户从未签到

75

回帖

6249

金币

2

精华

2级 Adventuring Hero

Rank: 2

积分
345
发表于 2009-12-31 11:40:23 | 显示全部楼层 |阅读模式
我看最近克招写了一个erm编写教程,所以就写个简单点的实例教程,让新手学习。

前言:再wog里面出现了至高[wiki]天使[/wiki]长,至高天使长可以复活两次,但是每一次只能够复活区区的100hp,如果两次都用还要浪费两个回合,实在有点鸡肋。于是我就作了一个简单的[wiki]ERM[/wiki],让至高天使长两次复活+一次攻击可以在同一个回合进行。
注意:仅限ERA。不知道什么是ERA的看这里

设计思路:要让天使施法后再动必须先在BG0阶段读取任意兵种的行动方式,如果是天使施法则将v780设定为1,这样在FU77006阶段就可以v780是否为1,如果为1则让上一个兵种再动。
如果仅仅按照上述思路去设计会有两个问题:
1如果兵种再动时等待,因为他在再动前已经动了,所以在再动前就已经标记行动完毕,所以再动时候等待会直接完结这回合的行动,所以要加一段代码,让任何兵种动之前确保没有标记已经行动。

2如果再动兵种是在某会回合最后一个动,并且触发再动,那么因为最后一个兵种动了,所以回合跳到了下一回合,所以再动变成了下一回合的正常行动提前,所以必须加入判断,如果跳过了一个回合则用v784标记,如果那么当再动兵种在这个回合完成了上个回合的再动以后可以接着做这个回合的正常行动。这里还有一个判断就是场上生物的速度,假设场上有比再动生物快的兵种,那么再动生物完成了上个回合的再动以后接着轮到本该轮到的生物,在这个生物行动前让再动生物的结束行动标记取消,让再动生物可以按照正常的顺序行动,如果再动生物速度已经是最快的,则在完成了上个回合的再动以后直接进入这个回合的正常行动。
以下文字为1.2版的

!?BG0;                            //任何兵种行动前
!!VRv780:S0;                       //将变量v780设为0
!!BMv781&v784=2:F?i;                //先看完什么时候把v784会设成2再看以下四条,因为读取v781会在后面进行,所以这个时候的v781和设定v784为2时的v781
!!VRi&v784=2:&67108864;             //把设定v784为2时候的那个兵种设为没有行动。
!!BMv781&i>0/v784=2:Fd-67108864;    //这里解释一下:当有部队比再动兵种快的时候,就在那个比再动兵种快的兵种行动前恢复这一回合再动兵种的行动力,那么在比再动兵种快的兵种行动过后就会轮到再动兵种行动。
!!VRv784&v784=2:S0;                              
!!BG:A?y1;                         //读取实施的行动
!!BG:N?v781 Q?v782 H?y2;    //读取生物Stack number ,所属方 (左边等于0 右边等于1) ,所属英雄。
!!BMv781:T?y3;                     //兵种编号
!!BMv781:F?i;                   //读取行动标记
!!VRi:&67108864;                //行动标记是否含有“行动完毕”
!!BMv781&i>0:Fd-67108864;       //确保任何兵种在行动前没有标记“行动完毕”
!!BMv781:F?i;                   //读取行动标记
!!VRi:&134217728;                //行动标记是否含有“正在防御”
!!BMv781&i>0:Fd-134217728;       //确保任何兵种在行动前没有标记“正在防御”

!!VRv780&y1=10/y3=150:S1;     //如果是至高天使长施法则将v780定义为1,即开启再动。请先看后面的FU77006再回来继续往后看。
!!DO7078/0/41/1&v780=0/v784=1:P;   //当v784=1,而至高天使长并非施法的时候开启FU7078,请先看FU7078再往下看.
!!VRy4:Sv780;                      //这里定义一个y4,用于检查下面程序是否执行
!!VRv780&v780=0/v784=1:S1;       //在FU7078里面已经定义了如果再动兵种速度不是唯一一个最快的时候会为2,所以运行这一条则表示,当时再动兵种最快,同时上次再动时跨过了一个回合,则让这个兵种再补一次再动
!!VRv784&v780<>y4:S0;             //当上一条运行过后,则把v784设为0
!!VRv783:Sv997;                  //读取当前回合数
!?FU7078;                      //这一段是为了确定,再动的至高天使长是否最快
!!BMv781:S?y1;                  //这里的v781表示再动的兵种,因为当v784=1这一段才运行。
!!BMx16:S?y2;                  //读取全场兵种的兵种的速度,这里的x16取值是0到41,是有DO7078/0/41这句里面确定的。因为战场就一共有那么多队
!!VRy3:Sy1-1;                    //把再动兵种的速度减一,方便比较应该谁先动。
!!VRy3&v781<21/x16<21/v781<x16:Sy1;//当再动兵种与比较兵种都在左边,且比较兵种位于再动兵种后方,设定为y1.
!!VRy3&v781>20/x16>20/v781<x16:Sy1;//当再动兵种与比较兵种都在右边,且比较兵种位于再动兵种后方,设定为y1.
!!VRv784&y2>y3/x16<>v781:S2;   //当y2>y3,也就是说当战场上有兵种比再动兵种要先动的时候,用v784作一个标记。把它设为2。

!?FU77006;
!!VRy5:Sv781-21;                    //将v781减21
!!SN&v780=1/v782=0:Xv782/v781;      //当开启了再动的时候,让所属为左边刚施法的兵种行动
!!SN&v780=1/v782=1:Xv782/y5;        //当开启了再动的时候,让所属为右边刚施法的兵种再动
!!VRv784&v783<v997/v780=1:S1;       //再动时的回合数,如果与结束行动前不同,则将v784设定为1。这个v784用于记录再动是否跨过了一个回合。

我承认我有点啰嗦,因为万事开头难,我希望一个实例教程能够让还在苦苦寻找ERM入门方法的新手(如果有)有些帮助。
最后附件的ERM是至高天使复活后再动外加我以前做的凤凰复活。

1月2日早上8:38分发布1.1版
修正凤凰复活脚本凤凰前面有空格战后不复活的BUG。
在这里顺便公开向cx2005道歉,因为凤凰复活我自己用了两年,都没有发现这个BUG,所以当cx2005发现这个bug时,我对这个bug予以否,后来经过测试发现的确有这个bug,谢谢cx2005的细心。

1月2日17:43分发布1.2版
现在凤凰复活和至高天使复活的版本号分开。凤凰复活更新到1.3版,修正有时凤凰复活的一些小问题。关于凤凰复活的具体数量计算公式见这里
至高天使复活后再动更新1.2版,修正至高天使等待,在回合结尾复活,这时敌方没有比我方要再动的至高天使快的情况下,利用再动的机会防御。之后进入新的回合以后不能防御的BUG。因为此BUG的影响甚少,而且修正此BUG有可能造成新的BUG,所以大家也可以下载1.1版。其中蓝色字体是1.2版添加的语句。

1月3日发布1.3版
1.3版改进了再动在回合末尾的处理方式,使得在回合最末尾使用复活,再动不会跳到下一回合,这个版本不在上面的文字上更新,直接写在附件上了,主要是要重新写注释太累了。如果这个版本没有发现bug将会是最终版。

1月3日再次发布1.4版
再动的时候添加了士气的动画,使得再动不再死气沉沉。不过如果觉得动画烦用1.3版就可以了。

如果还有任何BUG请在论坛回复我,先谢了。

[ 本帖最后由 yjwlhy 于 2010-1-3 17:12 编辑 ]

至高天使复活后再动1.1+凤凰战后复活1.3.rar

2.94 KB, 下载次数: 37, 下载积分: 金币 -5

至高天使复活后再动1.2+凤凰战后复活1.3.rar

2.97 KB, 下载次数: 27, 下载积分: 金币 -5

至高天使复活后再动1.3+凤凰战后复活1.3.rar

2.29 KB, 下载次数: 52, 下载积分: 金币 -5

如无BUG将会是最终版

至高天使复活后再动1.4+凤凰战后复活1.3.rar

2.38 KB, 下载次数: 202, 下载积分: 金币 -5

评分

2

查看全部评分

  • TA的每日心情

    8 分钟前
  • 签到天数: 3895 天

    连续签到: 134 天

    [LV.Master]伴坛终老

    4480

    回帖

    14万

    金币

    0

    精华

    版主

    始祖龙巫

    Rank: 10Rank: 10Rank: 10

    积分
    154859

    论坛守望者社区QQ达人魅力之星

    发表于 2009-12-31 13:13:48 | 显示全部楼层
    好脚本啊 赶紧下来用

    该用户从未签到

    564

    回帖

    7307

    金币

    0

    精华

    4级 Famous Hero

    Rank: 4

    积分
    1247
    发表于 2009-12-31 13:17:33 | 显示全部楼层
    同样适用于食人魔法师、灯神主、冰元素等
  • TA的每日心情

    8 分钟前
  • 签到天数: 3895 天

    连续签到: 134 天

    [LV.Master]伴坛终老

    4480

    回帖

    14万

    金币

    0

    精华

    版主

    始祖龙巫

    Rank: 10Rank: 10Rank: 10

    积分
    154859

    论坛守望者社区QQ达人魅力之星

    发表于 2009-12-31 13:18:27 | 显示全部楼层
    希望加上大天使复活后再动 和[wiki]神[/wiki]圣凤凰的战后复活 !

    该用户从未签到

    75

    回帖

    6249

    金币

    2

    精华

    2级 Adventuring Hero

    Rank: 2

    积分
    345
     楼主| 发表于 2009-12-31 17:14:36 | 显示全部楼层
    回复楼上的,已经包含[wiki]神[/wiki]圣凤凰战后复活,至于大天使复活后再动,你如果有心看我的实例教程,应该很容易找到应该在哪里改吧。
  • TA的每日心情

    8 分钟前
  • 签到天数: 3895 天

    连续签到: 134 天

    [LV.Master]伴坛终老

    4480

    回帖

    14万

    金币

    0

    精华

    版主

    始祖龙巫

    Rank: 10Rank: 10Rank: 10

    积分
    154859

    论坛守望者社区QQ达人魅力之星

    发表于 2009-12-31 18:09:14 | 显示全部楼层
    呵呵 你编的教程很清晰 只要有点入门的人都能看懂 可是对于对其一无所知的人来说 不可能看完就会编的 什么函数 变量 各种语句都不知是什么时 看完也还是不会编 难道是把兵种编号“ !!BMv781:T?y3;      //兵种编号”改了?
    对于只想用现成 目前也没什么时间涉猎erm的大部分人来说 还是太难了 等我有空想学习一下erm时 也许会发现这教程太有用了......
    再次对楼主表示感谢吧


    [ 本帖最后由 mly8887 于 2009-12-31 18:10 编辑 ]

    该用户从未签到

    75

    回帖

    6249

    金币

    2

    精华

    2级 Adventuring Hero

    Rank: 2

    积分
    345
     楼主| 发表于 2009-12-31 19:38:30 | 显示全部楼层
    想改兵种只需改!!VRv780&y1=10/y3=150:S1这一句其中y3=150里面的150是至高天使长的兵种代码,如果想让其他兵种也可以施法后再动,只需复制这一句添加到这一句的前面或后面,把150改成想改的兵种代码,其中13代表大天使。其实我之所以不改大天使是因为觉得这样会导致大天使太BT。

    [ 本帖最后由 yjwlhy 于 2009-12-31 19:40 编辑 ]

    该用户从未签到

    135

    回帖

    6559

    金币

    2

    精华

    2级 Adventuring Hero

    Rank: 2

    积分
    267
    发表于 2009-12-31 20:11:44 | 显示全部楼层
    写得好,对大家都有用处.

    该用户从未签到

    75

    回帖

    6249

    金币

    2

    精华

    2级 Adventuring Hero

    Rank: 2

    积分
    345
     楼主| 发表于 2009-12-31 20:24:40 | 显示全部楼层
    bzhxqlbt888也过来了,谢谢你的《[wiki]追随者[/wiki]快乐无忧成长版》,以前我一直都禁追随者的,觉得太BT,失去用兵的乐趣,你的这个版本刚好合适,不会太BT,又好玩。

    该用户从未签到

    135

    回帖

    6559

    金币

    2

    精华

    2级 Adventuring Hero

    Rank: 2

    积分
    267
    发表于 2009-12-31 20:52:21 | 显示全部楼层
    原帖由 yjwlhy 于 2009-12-31 20:24 发表
    bzhxqlbt888也过来了,谢谢你的《追随者快乐无忧成长版》,以前我一直都禁追随者的,觉得太BT,失去用兵的乐趣,你的这个版本刚好合适,不会太BT,又好玩。

    跑题了,呵呵.
  • TA的每日心情
    奋斗
    2024-7-2 10:34
  • 签到天数: 5 天

    连续签到: 1 天

    [LV.2]野猪

    77

    回帖

    6253

    金币

    0

    精华

    3级 Known Hero

    Rank: 3Rank: 3

    积分
    514
    发表于 2010-1-1 00:08:11 | 显示全部楼层
    这个很强大很实用啊 有时候因为攻城战掌握不好节奏 常常复活后又要被箭塔打掉 这样一来就方便多了 感谢LZ

    该用户从未签到

    75

    回帖

    6249

    金币

    2

    精华

    2级 Adventuring Hero

    Rank: 2

    积分
    345
     楼主| 发表于 2010-1-1 16:16:49 | 显示全部楼层
    既然楼上这么说,那么可不可以给点证据呢?就算国外有一模一样的效果的ERM,那么代码是不是一样,如果没有证据,你这就是毁谤。

    该用户从未签到

    95

    回帖

    8298

    金币

    1

    精华

    2级 Adventuring Hero

    Rank: 2

    积分
    234
    发表于 2010-1-1 17:29:59 | 显示全部楼层
    可惜,无论是至高天使复活后再动,还是凤凰战后复活,都有bug,如果天使或凤凰不是排在战场最上面一位,本erm都无效。

    该用户从未签到

    95

    回帖

    8298

    金币

    1

    精华

    2级 Adventuring Hero

    Rank: 2

    积分
    234
    发表于 2010-1-1 17:31:24 | 显示全部楼层
    !?FU77006;
    应该改为!?FU7006;

    该用户从未签到

    95

    回帖

    8298

    金币

    1

    精华

    2级 Adventuring Hero

    Rank: 2

    积分
    234
    发表于 2010-1-1 17:45:36 | 显示全部楼层
    招了骑士堡一周兵力,天使放在最上面一位。
    攻击两队神射手。
    天使选择等待,其他兵种防御。神射手攻击我方神射手。天使复活我方神射手。接着天使选择防御,骑士选择防御,再次轮到天使,点击防御图标无效!!!无论点击多少次,只好选择等待。其他兵种防御。再次轮到天使,点击防御图标还是无效!!!又不能等待!!!

    该用户从未签到

    75

    回帖

    6249

    金币

    2

    精华

    2级 Adventuring Hero

    Rank: 2

    积分
    345
     楼主| 发表于 2010-1-1 17:53:02 | 显示全部楼层
    回复14楼,如果你不清楚为什么要用几百以后的变量,建议你先自己看ERM的help文件,v1-v100大多数都被官方erm用了,你再用很容易出错。

    该用户从未签到

    75

    回帖

    6249

    金币

    2

    精华

    2级 Adventuring Hero

    Rank: 2

    积分
    345
     楼主| 发表于 2010-1-1 17:57:04 | 显示全部楼层
    回复16楼,我自己测试过很多次,绝对没有这样的问题。
    回复17楼,如果运行!?FU77006;出错,说明你的版本不对,请自己看最上面。
    回复18楼,的确存在不能够防御的问题。我一会儿修正。至于如果不把凤凰和至高放在第一位就不能用这个问题,我去试了试,没有这个问题。

    [ 本帖最后由 yjwlhy 于 2010-1-1 18:30 编辑 ]

    该用户从未签到

    564

    回帖

    7307

    金币

    0

    精华

    4级 Famous Hero

    Rank: 4

    积分
    1247
    发表于 2010-1-1 18:17:01 | 显示全部楼层
    lz为新人写实例教程方便大家,应该感激。

    多提良性建议,这样才有利于进步。

    该用户从未签到

    95

    回帖

    8298

    金币

    1

    精华

    2级 Adventuring Hero

    Rank: 2

    积分
    234
    发表于 2010-1-1 18:18:13 | 显示全部楼层
    原帖由 yjwlhy 于 2010-1-1 17:57 发表
    回复16楼,我自己测试过很多次,绝对没有这样的问题。
    回复17楼,如果运行!?FU77006;出错,说明你的版本不对,请自己看最上面。
    回复18楼,你等等,我去试一试。

    选择1队100头凤凰对100头黑龙,我方[wiki]英雄[/wiki]攻防各20,战后,我方还剩下92头凤凰,没有复活。

    选择1队100头凤凰放在第一队,下面再放三队枪兵,各一头,对100头黑龙,我方英雄攻防各20,战后,我方还剩下91头凤凰,战后成功复活为100头。

    该用户从未签到

    95

    回帖

    8298

    金币

    1

    精华

    2级 Adventuring Hero

    Rank: 2

    积分
    234
    发表于 2010-1-1 18:27:09 | 显示全部楼层
    选择1队100头凤凰,下面再放一队枪兵,一头。对100头黑龙,我方英雄攻防各20,战后,我方还剩下95头凤凰,没有复活。
    选择1队100头凤凰,上面放一队枪兵,一头。对100头黑龙,我方英雄攻防各20,战后,我方还剩下85头凤凰,战后成功复活为100头。
    好像成功复活没有规律的样子。
    ahome_bigavatar:guest
    ahome_bigavatar:welcomelogin
    您需要登录后才可以回帖 登录 | 英雄注册|Register

    本版积分规则

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

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

    GMT+8, 2024-11-16 00:25 , Processed in 1.116673 second(s), 14 queries , Gzip On, File On.

    Powered by Discuz! X3.4

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

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