我是个好人 发表于 2019-8-9 11:30:36

BG接收器求助~~

!?BG;
!!BG:A?y1;
!!IF:M^%Y1^;
为啥这儿会无限弹框呀???

!?BG1;
!!BG:A?y1;
!!IF:M^%Y1^;
为啥这儿y1永远是1呀?

;bf;

canary 发表于 2019-8-9 11:56:43

因为你设置的触发是做任何动作 包括行动 攻击 待机 防御 施法==

BG1这段显示的是你上一个行动堆栈时期做的动作,包括英雄施法。

BG0 BG1的很多指令都需要自己琢磨下使用方法,比如你是A,敌人是B,你用BG0检测攻击反击时候的BGH BGN这些显示的结果 跟BG1返回的结果都不太一样。

我是个好人 发表于 2019-8-9 14:53:16

canary 发表于 2019-8-9 11:56
因为你设置的触发是做任何动作 包括行动 攻击 待机 防御 施法==

BG1这段显示的是你上一个行动堆栈时期做 ...

嗯,我要做一个喝了魔井后放魔法不耗魔的功能,结果这个BG1触发器里面BG:A的返回值好像永远是0,也不知道怎么回事
代码就这两句

!?BG1;
!!BG:A?v2330;
!!IF:M^行动结束:%V2330^;
!!FU&v2330<>1:E; 如果不是施放魔法就退出**如果是1的话那必定是英雄




BG触发器里面返回的BG:A倒是对的。。一开始无限弹框估计是因为我代码有问题。。

实在不行只能在BG里面判定了,;cool;

我是个好人 发表于 2019-8-9 15:13:08

canary 发表于 2019-8-9 11:56
因为你设置的触发是做任何动作 包括行动 攻击 待机 防御 施法==

BG1这段显示的是你上一个行动堆栈时期做 ...

不纠结了,我就在BG0里就把动作类型存储起来算了
;bf;

canary 发表于 2019-8-9 15:47:22

我是个好人 发表于 2019-8-9 14:53
嗯,我要做一个喝了魔井后放魔法不耗魔的功能,结果这个BG1触发器里面BG:A的返回值好像永远是0,也不知道 ...

BG触发器主要是用在战斗中判定各个单位动作方式

访问建筑触发为啥不用OB触发器?

我是个好人 发表于 2019-8-9 15:55:06

canary 发表于 2019-8-9 15:47
BG触发器主要是用在战斗中判定各个单位动作方式

访问建筑触发为啥不用OB触发器?

访问建筑那个写过了,访问完魔井 我就把英雄的某个没用过的英雄变量的改了下值

我查了下WOG里的BG:A用法貌似没有见到过放在BG1触发器里面用的,难道说真的只能BG0里才能用;bf;

感觉坑还是蛮多的。。

我是个好人 发表于 2019-8-9 16:01:36

canary 发表于 2019-8-9 15:47
BG触发器主要是用在战斗中判定各个单位动作方式

访问建筑触发为啥不用OB触发器?

大佬 我能问下如果我要移除神秘术的原本的功能,是不是需要修改SN:E调用的那些特殊函数?

否则的话我感觉实现起来挺麻烦的,要绕一个大圈子

canary 发表于 2019-8-9 16:40:46

我是个好人 发表于 2019-8-9 14:53
嗯,我要做一个喝了魔井后放魔法不耗魔的功能,结果这个BG1触发器里面BG:A的返回值好像永远是0,也不知道 ...

你得要先获取每个释放的魔法的魔法消耗,然后施法后弥补魔法消耗。
这类挺麻烦,还得检查是否有带减少魔法消耗的宝物,是否有生物有-少或者增加魔法消耗的天生特技(比如大法师,银飞马什么的)。

!?TM2;每天触发还原标记 英雄访问魔井后 当天内施法不消耗魔法值
!!OW:C?y1;检测当前游戏控制权所属颜色
!!OW:Iy1/?y2;检测该颜色是电脑还是玩家
!!FU&y2=1:E;是电脑退出
!!OW:Ay1/?y3;获取访问魔井的英雄编号
!!SN:W^魔法水井%X16^/-1;

!$OB49;访问魔井后触发
!!OW:C?y1;检测当前游戏控制权所属颜色
!!OW:Iy1/?y2;
!!FU&y2=1:E;是电脑退出
!!OW:Ay1/?y3;获取访问魔井的英雄编号
!!SN:W^魔法水井%X16^/y3;

!?BG0&1000;玩家参与的战斗触发
!!SN:W^魔法水井%X16^/?y10; 获取访问魔井的英雄编号
!!BG:A?y1 S?y2 H?y3 ; 获取施法英雄编号 动作类型 施法编号
!!FU&y3<>y10/y3=-1:E;当前动作英雄非访问魔井英雄退出
!!FU&y1<>1:E;非英雄施法退出
!!SSy2:E?y4/d;检测该魔法所属派系等级
!!SSy2:Cy4/?y5;检测该魔法消耗的魔法值
!!VRy5:S0;   设定访问魔井当天施法0消耗
!!SSy2:Cy4/y5; 直接不设置SSy2:Cy4/0;是为了防止有额外增加魔法消耗的生物改变了魔法消耗

canary 发表于 2019-8-9 16:45:25

我是个好人 发表于 2019-8-9 16:01
大佬 我能问下如果我要移除神秘术的原本的功能,是不是需要修改SN:E调用的那些特殊函数?

否则的话我 ...

你需要每天检测地图上的所有英雄,包括城内的。
然后挨个检测有没有神秘术
有神秘术按照你自己的规则进行魔法恢复设定

我是个好人 发表于 2019-8-9 16:53:33

canary 发表于 2019-8-9 15:47
BG触发器主要是用在战斗中判定各个单位动作方式

访问建筑触发为啥不用OB触发器?

关于移除神秘术的方式,我现在能想到的只有鼠标点击过夜那个沙漏时,将玩家所有英雄的魔力值记录到英雄变量里面,然后第二天还原,这方法貌似比较笨,而且没法记录电脑的魔法,不知道有没有巧妙一点的办法。

canary 发表于 2019-8-9 17:20:29

我是个好人 发表于 2019-8-9 16:53
关于移除神秘术的方式,我现在能想到的只有鼠标点击过夜那个沙漏时,将玩家所有英雄的魔力值记录到英雄变 ...

直接改官方神秘术脚本里回魔的设定值不就结了?还自己重新写干嘛?
觉得官方脚本按神秘术每级别回蓝10% 20% 30% 多了,自己改数值不就完事:buxie:

我是个好人 发表于 2019-8-9 19:38:14

canary 发表于 2019-8-9 17:20
直接改官方神秘术脚本里回魔的设定值不就结了?还自己重新写干嘛?
觉得官方脚本按神秘术每级别回蓝10%...

我想把神秘术改成10% 15% 20%几率干扰对方英雄施法成功率{:1_389:}

我是个好人 发表于 2019-8-9 19:44:49

canary 发表于 2019-8-9 16:45
你需要每天检测地图上的所有英雄,包括城内的。
然后挨个检测有没有神秘术
有神秘术按照你自己的规则进 ...

现在有个问题是我要还原的话必须知道过夜前英雄的魔法值
因为假如过天后回满的话,通过神秘术倒推前一天的魔法值就行不通了

我本来的方案是检测鼠标点击过夜按钮时记录魔法值,但是好像按键盘的E也能过夜,然而键盘事件好像不支持

所以我现在只能用过夜时系统自动保存触发GM触发器,来记录魔法值,但是好像依然只能记录玩家的魔法值,而不能记录到电脑的魔法值{:1_381:}

我是个好人 发表于 2019-8-9 19:58:00

canary 发表于 2019-8-9 16:40
你得要先获取每个释放的魔法的魔法消耗,然后施法后弥补魔法消耗。
这类挺麻烦,还得检查是否有带减少魔 ...

减少耗魔原来是要这样实现的啊;iunei;大佬威武~~~;iunei;

不过这句代码 !!SN:W^魔法水井%X16^/-1;中的X16是哪来的呀?莫非是指当前英雄编号吗?

另外!$OB49 访问后触发的话 访问魔井是不是还会回满魔法?

我其实是想移除魔井的回魔,把魔井改成访问后,下一场战斗中该英雄 ①完全不耗魔【变态】②前n次施法不耗魔【保守】或者耗魔减半【折中】

另外其他回魔手段我都要砍残掉;ovo;



我是个好人 发表于 2019-8-9 20:02:07

canary 发表于 2019-8-9 16:40
你得要先获取每个释放的魔法的魔法消耗,然后施法后弥补魔法消耗。
这类挺麻烦,还得检查是否有带减少魔 ...

感谢大佬的代码,针对我自己设计的需求,再对照大佬的代码,感觉真的能学到好多技巧;aiel;

我是个好人 发表于 2019-8-12 16:54:12

canary 发表于 2019-8-9 16:40
你得要先获取每个释放的魔法的魔法消耗,然后施法后弥补魔法消耗。
这类挺麻烦,还得检查是否有带减少魔 ...

大{:1_282:}佬 我想问下有关英雄的一些参数,是存到英雄变量里面好,还是SN:W存在全局变量里比较好?

我是个好人 发表于 2019-8-12 16:57:38

canary 发表于 2019-8-9 16:40
你得要先获取每个释放的魔法的魔法消耗,然后施法后弥补魔法消耗。
这类挺麻烦,还得检查是否有带减少魔 ...

算了 暂时不纠结了,反正需要存的值也不多,应该还不至于太过影响运行速度;bf;
页: [1]
查看完整版本: BG接收器求助~~

捐赠