金山卫士 发表于 2012-12-7 12:29:09

(已解决)再次请骷髅召唤师大大帮一下忙!

这次是在战场的事件,比方我方所拥有的生物圣龙被干掉,就弹出“我的圣龙呀”的对话框!不知道行不行!请骷髅召唤师大大再次出一援手!

[ 本帖最后由 金山卫士 于 2012-12-8 20:05 编辑 ]

骷髅召唤师 发表于 2012-12-7 12:57:25

回复 1# 的帖子

你去试试吧,有BUG说一下。

11.7 优化了代码

ZVSE
***V变量   v55~v56   v2801~v2804
***FU变量   FU2800x1=100~101

!?BA0&1000;   战斗开始前
!!BA:O?y1/?y2;    获取玩家颜色
!!OW:Iy1/?v55;   进攻方是否人类   v55=0进攻方为人类玩家   v55=1防守方为人类玩家

!?BG0&1000;   动作前
!!VRv2801:C-1/-1/-1/-1;   初始变量 v2801~v2804=-1
!!BG:N?v2801 E?v2802;       获取动作堆栈v2801与目标堆栈v2802
!!BMv2801&v2801>-1:T?v2803;获取动作堆栈v2801的v2803
!!BMv2802&v2802>-1:T?v2804;获取目标堆栈v2802的生物类型v2803
!?BG1&1000;   动作后
!!VRv56:S0;   初始变量v56=0
!!FU2800&v2803=132:P100/v2801;   当动作堆栈的生物是圣龙时触发x1=100 x2=v2801
!!FU2800&v2804=132:P100/v2802;   当目标堆栈的生物是圣龙时触发x1=100 x2=v2802
!?FU2800&x1=100;   触发器x1=100
!!BMx2:N?x3 I?x4;      获取当前堆栈生物圣龙的数量x2 所属势力x30~左 1~右
!!FU&x3>0:E;       当前堆栈生物圣龙的数量>0时退出
!!DO2800/0/20/1&v55=0/x3=0/x4=0:P101;   左边当前堆栈圣龙全部死亡后且进攻方为人类玩家时触发 x1=101
!!DO2800/21/41/1&v55=1/x3=0/x4=1:P101;右边当前堆栈圣龙全部死亡后且防守方为人类玩家时触发 x1=101
!!FU&v56>0:E;      v56>0时退出v56值在触发器x1=101时的数值
!!IF:Q1/21/132/1^我的圣龙呀,你死的好惨啊!^;   出现有圣龙图片的对话框
!?FU2800&x1=101;    触发器x1=101
!!BMx16:T?x2 N?x3;当前循环堆栈的生物类型x2 数量x3
!!FU|x2<0/x3<1:E;   没有生物或生物数量时退出
!!VRv56&x2=132:+1;   当循环堆栈的生物是圣龙时v56+1

[ 本帖最后由 骷髅召唤师 于 2012-12-8 16:06 编辑 ]

金山卫士 发表于 2012-12-7 13:15:23

非常感谢!!!;juwe;

金山卫士 发表于 2012-12-7 14:25:56

我测试了,bug就是不论谁受的攻击都会出现“我的圣龙呀,你死的好惨啊!^;”

骷髅召唤师 发表于 2012-12-7 16:17:26

回复 4# 的帖子

刚看到,你再去试试。

金山卫士 发表于 2012-12-7 19:52:12

回复 5# 的帖子

这次好像没反应了,干掉圣龙也没对话框出现!

金山卫士 发表于 2012-12-7 20:47:56

拜求骷髅召唤师大大再给看看!!

贤知有您 发表于 2012-12-7 21:24:37

我也给你写一个吧。V变量都来自沧版的,与沧版的通用。

ZVSE
!?BA0&1000;         [战斗开始前]
!!BA:O?y-2/?y-3;    [攻击方: y-2, 防御: y-3]检测玩家颜色
!!OW:Iy-2/?y-4;   [检测进攻方是人类玩家(0)还是AI(1)]
!!VRv9999&y-4=0:S0; [攻击方是人类玩家]
!!VRv9999&y-4=1:S1; [防守方是人类玩家]

!?BG0&1000;         [攻击前]
!!VRv1370:S-1;
!!VRv1375:S-1;
!!BG:E?v1362 N?v1364; [目标堆栈/当前进攻堆栈]
!!BMv1364&v1364>-1:T?v1370; [生物类型]
!!BMv1362&v1362>-1:T?v1375;

!?BG1&1000;
!!FU&v1370<>132/v1375<>132:E; [均非圣龙132]---这里修改你想要的生物编号
!!BMv1364&v1364>-1:N?y1 I?y2; [主动攻击方]
!!BMv1362&v1362>-1:N?y3 I?y4; [防御]
!!IF&v1370=132/y1<1/v9999=y2:M^我的圣龙呀,你死的好惨啊!^;
!!IF&v1375=132/y3<1/v9999=y4:M^我的圣龙呀,你死的好惨啊!^;

金山卫士 发表于 2012-12-7 22:53:45

多谢贤知有您的帮忙,在问一句能不能比如打死电脑的大天使会出“我要投降”的对话框!

骷髅召唤师 发表于 2012-12-8 08:15:39

回复 6# 的帖子

很久没写ERM了,都忘记了,我测试是可以的啊。如图

[ 本帖最后由 骷髅召唤师 于 2012-12-8 09:21 编辑 ]

贤知有您 发表于 2012-12-8 09:12:04

其实你认真看看 BG1那段,就知道怎样改了。

!?BG1&1000;
!!FU&v1370<>132/v1375<>132:E; [均非圣龙132]
!!BMv1364&v1364>-1:N?y1 I?y2; [主动攻击方的 个数/势力]
!!BMv1362&v1362>-1:N?y3 I?y4; [另一方的个数和势力]
**以下是条件:
**在这个BG回合内, 主动进攻的是 v1364, 被进攻的是 v1362
**动作后,分别考虑 v1364 和 v1362
**如考虑进攻方的生物: 死亡的是圣龙 (v1370=132/y1<1), 然后必须是人类玩家的圣龙 (v9999=y2)
**被进攻方也一样.
!!IF&v1370=132/y1<1/v9999=y2:M^我的圣龙呀,你死的好惨啊!^;
!!IF&v1375=132/y3<1/v9999=y4:M^我的圣龙呀,你死的好惨啊!^;

好了,正如你说的,要修改成 敌方的天使死亡. 前面的语句都基本相似,只需要将132圣龙改成13天使
最后条件是相反的,将 人类玩家的生物 to电脑的生物,所以最后那句 v9999=y2 换成 v9999<>y2

如果你有很多这样的设计,合并一下,把BG1第一句删掉.

例如
圣龙和大天使的ZVSE
!?BA0&1000; [战斗开始前]
!!BA:O?y-2/?y-3; [攻击方: y-2, 防御: y-3]检测玩家颜色
!!OW:Iy-2/?y-4; [检测进攻方是人类玩家(0)还是AI(1)]
!!VRv9999&y-4=0:S0; [攻击方是人类玩家]
!!VRv9999&y-4=1:S1; [防守方是人类玩家]

!?BG0&1000; **攻击前变量准备**
!!VRv1370:S-1;
!!VRv1375:S-1;
!!BG:E?v1362 N?v1364; [目标堆栈/当前进攻堆栈]
!!BMv1364&v1364>-1:T?v1370; [生物类型]
!!BMv1362&v1362>-1:T?v1375;

!?BG1&1000;
!!BMv1364&v1364>-1:N?y1 I?y2; [主动攻击方]
!!BMv1362&v1362>-1:N?y3 I?y4; [防御]
!!IF&v1370=132/y1<1/v9999=y2:M^我的圣龙呀,你死的好惨啊!^;
!!IF&v1375=132/y3<1/v9999=y4:M^我的圣龙呀,你死的好惨啊!^;
!!IF&v1370=13/y1<1/v9999<>y2:M^敌方大喊: 天啊,大天使居然挂挂挂掉了,我要投降!^;
!!IF&v1375=13/y3<1/v9999<>y4:M^敌方大喊: 天啊,大天使居然挂挂挂掉了,我要投降!^;

骷髅召唤师 发表于 2012-12-8 09:17:36

回复 11# 的帖子

007,他是要全部圣龙死亡后出现对话框,而不是死亡一次弹出一次。

贤知有您 发表于 2012-12-8 09:33:33

回复 12# 的帖子

哟, 还以为是杀一个弹出一个.
那还请 骷髅师把自己的代码修改一下给楼主吧.
我的就当练习练习.

骷髅召唤师 发表于 2012-12-8 09:51:25

回复 13# 的帖子

007,我可没什么意思啊,我的要修改也只是简化下代码,因为我测试是可以的,
007写一个不是这个方式的吧,我也可以学一招。因为很久没写了,都忘记了,想向007学ERA啊。

贤知有您 发表于 2012-12-8 10:04:28

回复 14# 的帖子

骷髅师误会了.我确实没看清楚题目,呵呵.
而且很抱歉我之前也没看你的代码.

刚才特意测试骷髅师的代码,确实是可行.
楼主可能搞错了.
;go;

金山卫士 发表于 2012-12-8 12:34:26

骷髅召唤师大大的
!?FU2800&x1=18;
!!BU:T?y-1;
!!FU&y-1=1:E;
!!DO2800/0/20/1&v59=0:P20;    攻方部队
!?FU2800&x1=20;
!!BMx16:T?x2 N?x3;
!!FU|x2<0/x3<1:E;
!!VRv57&x2=132:+1;

!?FU2800&x1=19;
!!BU:T?y-1;
!!FU&y-1=1:E;
!!DO2800/21/41/1&v59=1:P21;    攻方部队
!?FU2800&x1=21;
!!BMx16:T?x2 N?x3;
!!FU|x2<0/x3<1:E;
!!VRv58&x2=132:+1;这段不知道加那,所以试了试没成功!

神圣炽天使 发表于 2012-12-8 13:09:59

回复 16# 的帖子

你把2楼的全部复制后就可以了,因为代码是上下连接的,不能只复制一段。

金山卫士 发表于 2012-12-8 15:01:47

回复 2# 的帖子

!?FU2800&x1=18;
!!BU:T?y-1;
!!FU&y-1=1:E;
!!DO2800/0/20/1&v59=0:P20;    攻方部队
!?FU2800&x1=20;
!!BMx16:T?x2 N?x3;
!!FU|x2<0/x3<1:E;
!!VRv57&x2=132:+1;

!?FU2800&x1=19;
!!BU:T?y-1;
!!FU&y-1=1:E;
!!DO2800/21/41/1&v59=1:P21;    攻方部队
!?FU2800&x1=21;
!!BMx16:T?x2 N?x3;
!!FU|x2<0/x3<1:E;
!!VRv58&x2=132:+1;这段加哪呀!

骷髅召唤师 发表于 2012-12-8 15:19:09

回复 18# 的帖子

你把原来的删除,把2楼的重新复制。优化了原来的代码。

[ 本帖最后由 骷髅召唤师 于 2012-12-8 16:07 编辑 ]

金山卫士 发表于 2012-12-8 19:47:24

非常感谢骷髅召唤师的一直不懈的帮助,再次感谢!!
页: [1]
查看完整版本: (已解决)再次请骷髅召唤师大大帮一下忙!

捐赠