jqmgame 发表于 2009-8-30 23:20:03

写了一个恐怖骑士特长加强的 遇到问题了。。。求助(update)

接触erm也有段时间了 最近尝试自己也写些简单的功能 实现长久以来就想实现的想法::hero:

所以今天写了一个恐怖骑士特长英雄稍微加强的erm
内容如下:
ZVSE
_WARNING_#1=IMPORTANT! This file is not in a plain text format. NEVER use any editor except ERM_S for making any kind of changes!
ERMS_PoweredBy=ERM Scripter v. 2004.6.29.918
ERMS_ScriptDate=30.8(August).2009
!#UN:P1/0 P3/1 P4/0 P900/1;            禁止使用指挥官
!?BA0;                                              开战
!!BA:H0/?y1;                                    取得左边英雄ID
!!BA:H1/?y2;                                    取得右边英雄ID
!!VRv9601&y1>-1:Sy1;                   把左边英雄ID赋给v9601
!!VRv9602&y2>-1:Sy2;                   把左边英雄ID赋给v9601

!?BG0;                                     -1- 当战场上发生动作时
!!FU&v9601<>68:E;                      如果进攻方不是塔米克 退出
!!BG:A?y10;                                  取得发生的动作类型
!!FU&y10<>6:E;                            不是攻击动作 退出
!!BG:N?y1;                                 取得动作的怪物堆栈
!!FU&y1>6:E;                               堆栈>6 (不是进攻方部队) 退出
!!FU15000:P;                               执行15000函数

!?BG0;                                 -2- 这一段和上面一段类似 说明的是防御方是塔米克的情况。
!!FU&v9602<>68:E;
!!BG:A?y10;
!!FU&y10<>6:E;
!!BG:N?y1;
!!FU&y1<21:E;
!!FU15000:P;
                                    
!?FU15000;                                    -3- 函数15000内容
!!BG:N?y1;                                          取得函数调用时的兵种堆栈
!!BMy1:T?y2 N?y3 P?y4 F?y5;             取得兵种的ID 数量 位置 造成的伤害
!!VRy6:S1 R99; [随机数]                     取一个从1~100的随机数
!!FU&y2<>67:E;                                    兵种不是恐怖骑士 退出
!!FU&y6<50:E;                                    随机数小于50(技能未发动) 退出
                                                            下面是发动效果
!!VRz900:S^{恐怖骑士的长刀发出血红色光芒}!^;      在战场对话框里显示
!!BU:Mz900;   
!!BMy1:C43/y4/2/1/1;                                                恐怖骑士施展嗜血术
!!VRv9600:S1;                                                          设置v9600为1(调用伤害函数)

                                                                              -4- 伤害函数
!?MF1&v9600=1;                           
!!VRv9600:S0;
!!BG:N?y1;                                                                  取得怪物堆栈
!!BMy1:T?y2 N?y3;                                                       y2生物编号y3 生物数量
!!MF:F?y4 N?y5;                                                         y4取得伤害   y5受到伤害的生物堆栈
!!BMy5:T?y9 P?y7;                                                       y9 受到伤害的生物的类型y7 位置
!!VRy3:Sy3*3;                                                               计算实际伤害
!!VRy3&y9=10:Sy3*10:3;
!!VRy3&y9=11:Sy3*10:3;
!!VRy6:Sy4*2+y3;
!!MF:Fy6;                                                                      赋予伤害
!!BMy5:V73;                                                                  受到伤害的生物上显示致命一击的"刀"效果
!!VRz900:S^{恐怖骑士造成了%Y6点伤害。}^;                对话框显示
!!BU:Mz900;
!!VRy8:S1 R99; [随机数]                                              又是随机数
!!BMy5&y8>50:C42/y7/2/3/1 C47/y7/3/3/1;               释放诅咒 毁灭之光
!!BMy5&y8>80:C75/y7/3/3/1;                                    老化

!?BG0;                                                                         这段同上面-1-类似 当英雄带领的是黑骑士
!!FU&v9601<>68:E;
!!BG:A?y10;
!!FU&y10<>6:E;
!!BG:N?y1;
!!FU&y1>6:E;
!!FU15001:P;

!?BG0;                                                                         这段同上面-2-类似 当英雄带领的是黑骑士
!!FU&v9602<>68:E;
!!BG:A?y10;
!!FU&y10<>6:E;
!!BG:N?y1;
!!FU&y1<21:E;
!!FU15001:P;

!?FU15001;                                                               这个类似-3-
!!BG:N?y1;
!!BMy1:T?y2 N?y3 P?y4 F?y5;
!!VRy6:S1 R99; [随机数]
!!FU&y2<>66:E;
!!FU&y6<50:E;
!!VRz900:S^{黑骑士的长刀发出血红色光芒}!^;
!!BU:Mz900;   
!!BMy1:C43/y4/1/1/1;
!!VRv9601:S1;

!?MF1&v9601=1;                                                      类似-4-
!!VRv9601:S0;
!!BG:N?y1;                                                               取得怪物堆栈
!!BMy1:T?y2 N?y3;                                                y2生物编号y3 生物数量
!!MF:F?y4 N?y5;                                                   y4取得伤害   y5受到伤害的生物堆栈
!!BMy5:T?y9 P?y7;
!!VRy3:Sy3*3;
!!VRy3&y9=10:Sy3*10:3;
!!VRy3&y9=11:Sy3*10:3;
!!VRy6:Sy4*2+y3;
!!MF:Fy6;
!!BMy5:V73;
!!VRz900:S^{黑骑士造成了%Y6点伤害。}^;
!!BU:Mz900;
!!VRy8:S1 R99;
!!BMy5&y8>60:C42/y7/2/3/1 C47/y7/3/3/1;               释放诅咒 毁灭之光


参考了n多大大的代码(特别感谢猪大大) 拼拼凑凑 ,估计错误不少,不过基本上功能还是实现了嘿嘿:

基本上就是黑骑特长英雄带领的黑骑士 和恐怖骑士 有50%的几率伤害加倍;
每个恐怖骑士额外造成3点伤害;对于骑士和骑兵,额外造成10点伤害;
攻击后有50%几率释放 诅咒 和毁灭之光;
恐怖骑士还有小几率释放老化;
基本上就是这样。但是有一些问题,还要请教下各位大大:
1,诅咒 和毁灭之光这些魔法效果都是在攻击之前就显示动画了,然后恐怖骑士的刀才落下 实际效果还是在攻击后起作用。如果要改成刀落下后才释放效果动画如何实现?
用什么语句?试过用!?BG1;未果;
2,用随机数实现概率,总是觉得不太准确,测试下来发现前几回合表现还凑合,后面回合都不发动。。。。。就算都弄成100%也有不发动的情况;
3,发动特技在战场下方窗口显示伤害以后,还会再显示一次原来电脑预估的结果,这个有没有办法去掉呢?
4,发动特技的时候,设置了在敌人身上显示一把刀(就是致命一击的效果啦),如果本来就要发动致命一击,就会显示两把刀。。。。。
这个有办法去掉么?(这个没办法就算啦,两把刀也不错啦)

呼唤高手!:shangxin:


自己给加了一些注释,这样大家因该好看一些了吧,全都是查help和参考高手们的代码写出来的东西 做的比较模块化 所以也很繁琐
估计可能有随机数冲突情况,但是y变量数量有限,如果做其他兵种还是会重复的 望高手来help我一下
或者有什么其他实现的方法?能给我段类似代码研究研究也行啊 :shangxin:

[ 本帖最后由 jqmgame 于 2009-9-1 19:19 编辑 ]

噬魂恶魔 发表于 2009-8-31 00:07:29

友情支持一下

yjwlhy 发表于 2009-8-31 01:15:17

1、3、4都不能够解决。2就交个下一位高人。

jqmgame 发表于 2009-8-31 09:03:44

2 有办法解决么 随机数如何设置才能让结果比较合理一些?

yjwlhy 发表于 2009-8-31 09:43:18

2是绝对可以的,但是你的代码很乱,很难看。肯定是你某些条件的问题导致概率不可用。

zzy007 发表于 2009-9-1 10:20:41

1我没看懂
2明显变量运算错误或者冲突造成
3没办法
4没办法

jqmgame 发表于 2009-9-2 17:48:44

原帖由 zzy007 于 2009-9-1 10:20 发表 http://bbs.h3wog.com/images/common/back.gif
1我没看懂
2明显变量运算错误或者冲突造成
3没办法
4没办法


关于第二点 能具体说说么??
页: [1]
查看完整版本: 写了一个恐怖骑士特长加强的 遇到问题了。。。求助(update)

捐赠