异界行者 发表于 2012-6-5 19:56:55

求高手写个取消攻防上下限的ERM

召唤目前论坛最活跃的三位大神:寻梦人,沧海一粟,骷髅召唤师

直接取消应该是不能的。我目前有个想法,就是计算攻防差值,如果超过限制(攻击超过防御60,或者防御超过攻击28),则修改生物的伤害值。比如攻击高于对方防御70点,则修改攻击生物的伤害值为原来的1.5倍。这样貌似能完美实现了。就是要考虑的降防特技,这个特技有生物自带特技,生物经验特技,还有战旗。宠物可能也有我忘了(很久没开宠物了,至少2年了)。求大神帮忙写出此ERM,让WOG升级一下!(之所以说升级是因为英雄无敌系3-4-5.攻防上下限分别 200(30) - 20000(5) - 无限(1))

renlinfeng 发表于 2012-6-5 20:19:43

;aim; 召唤被无视的老A

寻梦人 发表于 2012-6-5 20:32:04

回复 1# 的帖子

其实这个并不难!

除了个别情况计算会出点小错外,可以写出来的!

排除几个因数:幸运、死亡一击、特长进攻、反击、毒液

可以写出来的!

寻梦人 发表于 2012-6-5 21:14:12

楼主参照我的全特长脚本去写吧!

相信你一定可以写出来的!

十三木人 发表于 2012-6-5 21:21:27

ZVSE
!?MF1&1000;
!!BG:N?y1;
!!BG:E?y2;
!!MF:N?y3 W?y4;
!!FU&y4=1/y4=2:E;
!!FU1998&y3<>y1:P1/y1/y3;
!!FU1998&y3<>y2:P2/y2/y3;

!?FU1998&x1=1;
!!BMx2:A?y1 T?y3;
!!BMx3:D?y2;
!!VRy4:Sy2;
!!VRy4&y3=96:Sy2*6:10;
!!VRy4&y3=97:Sy2*2:10;
!!VRy4&y3=156:S0;
!!VRy-1:Sy1-y4;
!!MF:D?y10;
!!FU&y-1<61/y-1>-29:E;
!!VRy-2&y-1>60:Sy-1-60;
!!VRy-2&y-1<-28:Sy-1+28*-1;
!!VRy-3&y-1>60:Sy10*100*y-2:80:100+y10;
!!VRy-4&y-1<-28:Sy10*100*y-2:120:100;
!!VRy-3&y-1<-28/y-4<y10:Sy10-y-4+1;
!!VRy-3&y-1<-28/y-4>y10:S1;
!!MF:Fy-3;
!!VRz-1:S^{实际伤害%Y-3}^;
!!MM:Sz-1;

!?FU1998&x1=2;
!!BMx2:A?y1 T?y3;
!!BMx3:D?y2;
!!VRy4:Sy2;
!!VRy4&y3=96:Sy2*6:10;
!!VRy4&y3=97:Sy2*2:10;
!!VRy4&y3=156:S0;
!!VRy-1:Sy1-y4;
!!MF:D?y10;
!!FU&y-1<61/y-1>-29:E;
!!VRy-2&y-1>60:Sy-1-60;
!!VRy-2&y-1<-28:Sy-1+28*-1;
!!VRy-3&y-1>60:Sy10*100*y-2:80:100+y10;
!!VRy-4&y-1<-28:Sy10*100*y-2:120:100;
!!VRy-3&y-1<-28/y-4<y10:Sy10-y-4+1;
!!VRy-3&y-1<-28/y-4>y10:S1;
!!MF:Fy-3;
!!VRz-1:S^{实际伤害%Y-3}^;
!!MM:Sz-1;
我贡献一个好了,这个算简单的了。只考虑了生物特技的降防,没考虑经验特技的,太麻烦了
伤害的显示有问题,实际伤害和下面那句去掉没啥影响,喜欢就留着。只是当伤害过大的话貌似会出问题?
毕竟erm变量储存上限是21亿多,一般情况下应该没有问题。
原来忘了考虑箭塔和护城河,改了下。不过很奇怪的是箭塔这单位怎么算的?攻击箭塔貌似也不会报错?

[ 本帖最后由 十三木人 于 2012-6-7 18:03 编辑 ]

异界行者 发表于 2012-6-5 21:26:01

原帖由 寻梦人 于 2012-6-5 21:14 发表 http://www.wogcn.net/images/common/back.gif
楼主参照我的全特长脚本去写吧!

相信你一定可以写出来的!

要考虑的东西太多,我写不出来啊;ft;
我至今写过的代码都是不需要考虑别的因素的小段代码的

寻梦人 发表于 2012-6-5 21:28:12

回复 5# 的帖子

脚本考虑的因素太少了点,其实根据伤害的计算公式会更准确一些!

还有脚本里面的计算很容易超限,

Sy10*100*y-2===这个超过21亿应该是很容易的!

异界行者 发表于 2012-6-5 21:28:22

原帖由 十三木人 于 2012-6-5 21:21 发表 http://www.wogcn.net/images/common/back.gif
ZVSE
!?MF1&1000;
!!BG:N?y1;
!!BG:E?y2;
!!MF:N?y3;
!!FU1998&y3=y2:P1/y1/y3;
!!FU1998&y3=y1:P2/y2/y3;

!?FU1998&x1=1;
!!BMx2:A?y1 T?y3;
!!BMx3:D?y2;
!!VRy4:Sy2;
!!VRy4&y3=96:Sy2*6:10;
!!VRy ...
非常感谢。不过很多因素没考虑,那和我所想的也不一样啊

[ 本帖最后由 异界行者 于 2012-6-5 21:31 编辑 ]

寻梦人 发表于 2012-6-5 21:30:29

!?FU5555&x1=513;进攻特长
!!HEx2:X?y20/?y21/d/d/d/d/d;
!!FU&y20=0/y21=22:E;
!!FU&v5555=5555:E;
!!FU&v5556=2/v5020<>65536/v5010>0:E;
!!BG:A?y-10 N?y-11 E?y-12 H?y-15;
!!MF:D?y-13 N?y-14;
!!FU&y-10<>6:E;
!!FU|y-11<0/y-11>41:E;
!!FU|y-14<0/y-14>41:E;
!!FU&y-11=y-14:E;
!!BMy-14:I?y1;
!!BHy1:N?y2;
!!FU&y2=x2:E;
!!BMy-11:T?y1 A?y2 U2/?y3;
!!BMy-14:D?y30;
!!VRy27:Sy-11+1*-1;取经验堆栈
!!EAy27:E?y-2/2/d/d;
!!MA:Ly1/?y-3;
!!VRy-3:+1;
!!VRy-3&y-3=7/y1>131/y1<136:S8;
!!VRy-3&y-3=7/y1>149/y1<159:S8;
!!VRy-3&y-3=7/y1=196:S8;
*Level 1~7
!!VRy-2&y-3<8::y-3;
!!VRy-4&y-3<8/y-2<1000:S0;
!!VRy-4&y-3<8/y-2>=1000/y-2<2000:S1;
!!VRy-4&y-3<8/y-2>=2000/y-2<3200:S2;
!!VRy-4&y-3<8/y-2>=3200/y-2<4600:S3;
!!VRy-4&y-3<8/y-2>=4600/y-2<6200:S4;
!!VRy-4&y-3<8/y-2>=6200/y-2<8000:S5;
!!VRy-4&y-3<8/y-2>=8000/y-2<10000:S6;
!!VRy-4&y-3<8/y-2>=10000/y-2<12200:S7;
!!VRy-4&y-3<8/y-2>=12200/y-2<14700:S8;
!!VRy-4&y-3<8/y-2>=14700/y-2<17500:S9;
!!VRy-4&y-3<8/y-2>=17500:S10;
*Level 8
!!VRy-4&y-3=8/y-2<1050:S0;
!!VRy-4&y-3=8/y-2>=1050/y-2<2100:S1;
!!VRy-4&y-3=8/y-2>=2100/y-2<3360:S2;
!!VRy-4&y-3=8/y-2>=3360/y-2<4830:S3;
!!VRy-4&y-3=8/y-2>=4830/y-2<6510:S4;
!!VRy-4&y-3=8/y-2>=6510/y-2<8400:S5;
!!VRy-4&y-3=8/y-2>=8400/y-2<10500:S6;
!!VRy-4&y-3=8/y-2>=10500/y-2<12810:S7;
!!VRy-4&y-3=8/y-2>=12810/y-2<15435:S8;
!!VRy-4&y-3=8/y-2>=15435/y-2<18375:S9;
!!VRy-4&y-3=8/y-2>=18375:S10;
!!EAy27:F98/?y-5;
!!EAy27&y-5>0:By-5/1/98/61/?y10/?y11/?y12/?y13/?y14/?y15/?y16/?y17/?y18/?y19/?y20;
!!VRy21&y-5>0:Sy-4 +10;
!!VRy-20&y1=96:S40;
!!VRy-20&y1=97:S80;
!!VRy-20&y1=156:S100;
!!VRy-21&yy21>=y-20:Syy21;
!!VRy-21&yy21<y-20:Sy20;减防系数为y-21
!!VRy-22:S100-y-21;
!!VRy-23:Sy30*y-22:100;计算减防后的防御值
!!VRy-24:Sy2-y23;计算结果
!!FU5555&y-24>=0:P514/x2/y1/y-13/y-24;大于0函数
!!FU5555&y-24<0:P515/x2/y1/y-13/y-24;小于0函数




!?FU5555&x1=514;
!!VRx5&x5>60:S60;
!!VRy1:Sx5*5+100+30;算出初始系数
!!VRy2:Sx4:y1*100;算出基础伤害
!!HEx2:Ed/?y3;
!!VRe-4:Sy3*5*3:1000;增加的伤害系数
!!VRe-4:*y2;
!!VRy5:Se-4;

!!VRy6:Sy5+x4;
!!MF:Fy6;
!!UN:N3/-1/x3/1;
!!VRz10:S^进攻特使{%Z-1}造成伤害增加:{%Y5},最终伤害为:{%Y6}!^;
!!BU:Mz10 R;


!?FU5555&x1=515;
!!VRy2:Sx4*10:13;
!!HEx2:Ed/?y3;
!!VRe-4:Sy3*5*3:1000;增加的伤害系数
!!VRe-4:*y2;
!!VRy5:Se-4;

!!VRy6:Sy5+x4;
!!MF:Fy6;
!!UN:N3/-1/x3/1;
!!VRz10:S^进攻特使{%Z-1}造成伤害增加:{%Y5},最终伤害为:{%Y6}!^;
!!BU:Mz10 R;



!?FU5555&x1=516;箭术特长
!!HEx2:X?y20/?y21/d/d/d/d/d;
!!FU&y20=0/y21=1:E;

!!BG:A?y-10 N?y-11 E?y-12 H?y-15;
!!MF:D?y-13 N?y-14;
!!FU&y-10<>7:E;
!!FU|y-11<0/y-11>41:E;
!!FU|y-14<0/y-14>41:E;
!!BMy-14:I?y1;
!!BHy1:N?y2;
!!FU&y2=x2:E;
!!BMy-11:T?y1 A?y2 U2/?y3;
!!BMy-14:D?y30;
!!VRy27:Sy-11+1*-1;取经验堆栈
!!EAy27:E?y-2/2/d/d;
!!MA:Ly1/?y-3;
!!VRy-3:+1;
!!VRy-3&y-3=7/y1>131/y1<136:S8;
!!VRy-3&y-3=7/y1>149/y1<159:S8;
!!VRy-3&y-3=7/y1=196:S8;
*Level 1~7
!!VRy-2&y-3<8::y-3;
!!VRy-4&y-3<8/y-2<1000:S0;
!!VRy-4&y-3<8/y-2>=1000/y-2<2000:S1;
!!VRy-4&y-3<8/y-2>=2000/y-2<3200:S2;
!!VRy-4&y-3<8/y-2>=3200/y-2<4600:S3;
!!VRy-4&y-3<8/y-2>=4600/y-2<6200:S4;
!!VRy-4&y-3<8/y-2>=6200/y-2<8000:S5;
!!VRy-4&y-3<8/y-2>=8000/y-2<10000:S6;
!!VRy-4&y-3<8/y-2>=10000/y-2<12200:S7;
!!VRy-4&y-3<8/y-2>=12200/y-2<14700:S8;
!!VRy-4&y-3<8/y-2>=14700/y-2<17500:S9;
!!VRy-4&y-3<8/y-2>=17500:S10;
*Level 8
!!VRy-4&y-3=8/y-2<1050:S0;
!!VRy-4&y-3=8/y-2>=1050/y-2<2100:S1;
!!VRy-4&y-3=8/y-2>=2100/y-2<3360:S2;
!!VRy-4&y-3=8/y-2>=3360/y-2<4830:S3;
!!VRy-4&y-3=8/y-2>=4830/y-2<6510:S4;
!!VRy-4&y-3=8/y-2>=6510/y-2<8400:S5;
!!VRy-4&y-3=8/y-2>=8400/y-2<10500:S6;
!!VRy-4&y-3=8/y-2>=10500/y-2<12810:S7;
!!VRy-4&y-3=8/y-2>=12810/y-2<15435:S8;
!!VRy-4&y-3=8/y-2>=15435/y-2<18375:S9;
!!VRy-4&y-3=8/y-2>=18375:S10;
!!EAy27:F98/?y-5;
!!EAy27&y-5>0:By-5/1/98/61/?y10/?y11/?y12/?y13/?y14/?y15/?y16/?y17/?y18/?y19/?y20;
!!VRy21&y-5>0:Sy-4 +10;
!!VRy-20&y1=96:S40;
!!VRy-20&y1=97:S80;
!!VRy-20&y1=156:S100;
!!VRy-21&yy21>=y-20:Syy21;
!!VRy-21&yy21<y-20:Sy20;减防系数为y-21
!!VRy-22:S100-y-21;
!!VRy-23:Sy30*y-22:100;计算减防后的防御值
!!VRy-24:Sy2-y23;计算结果
!!FU5555&y-24>=0:P517/x2/y1/y-13/y-24;大于0函数
!!FU5555&y-24<0:P518/x2/y1/y-13/y-24;小于0函数


!?FU5555&x1=517;
!!VRx5&x5>60:S60;
!!VRy1:Sx5*5+100+50;算出初始系数
!!VRy2:Sx4:y1*100;算出基础伤害
!!HEx2:Ed/?y3;
!!VRe-4:Sy3*5*5:1000;增加的伤害系数
!!VRe-4:*y2;
!!VRy5:Se-4;

!!VRy6:Sy5+x4;
!!MF:Fy6;
!!UN:N3/-1/x3/1;
!!VRz10:S^箭术特使{%Z-1}造成伤害增加:{%Y5},最终伤害为:{%Y6}!^;
!!BU:Mz10 R;


!?FU5555&x1=518;
!!VRy2:Sx4:15*10;
!!HEx2:Ed/?y3;
!!VRe-4:Sy3*5*5:1000;增加的伤害系数
!!VRe-4:*y2;
!!VRy5:Se-4;

!!VRy6:Sy5+x4;
!!MF:Fy6;
!!UN:N3/-1/x3/1;
!!VRz10:S^箭术特使{%Z-1}造成伤害增加:{%Y5},最终伤害为:{%Y6}!^;
!!BU:Mz10 R;


!?FU5555&x1=519;设置防守特长
!!HEx2:X?y20/?y21/d/d/d/d/d;
!!FU&y20=0/y21=23:E;
!!VRy-15:S-1;
!!BG:A?y-10 N?y-11 E?y-12 H?y-15;
!!MF:D?y-13 N?y-14;
!!FU&y-10<>6/y-10<>7:E;
!!FU&v9555<>21/v9560<>21:E;
!!FU|y-11<0/y-11>41:E;
!!FU|y-14<0/y-14>41:E;
!!FU&y-11=y-14:E;
!!BMy-14:I?y1;
!!BHy1:N?y2;
!!FU&y2<>x2:E;
!!HEy2:Ed/?y-16;
!!VRy12:Sy-16*5*15+1500;
!!VRy10:S10000-y12;
!!VRy10::100;
!!VRy10&y10<0:S0;
!!VRy11:Sy-13:85*y10;
!!VRy11&y11<0:*-1;
!!BMy-14:T?y-18;
!!UN:N3/-1/y-18/1;
!!VRz10:S^防御特使{%Z-1}受到伤害:{%Y11},原始伤害:{%Y-13}。^;
!!BU:Mz10 R;
!!MF:Fy11;

异界行者 发表于 2012-6-5 21:30:56

回复 7# 的帖子

改的是生物的伤害属性,不是总伤害值,按理说也不容易达到上限啊

寻梦人 发表于 2012-6-5 21:31:01

这个是我写的全特长脚本!

十三木人 发表于 2012-6-5 21:34:28

是我欠考虑了,不过我觉得用MF触发器能够少计算很多东西,毕竟MF:D得到的伤害本来就是经过各种计算后得到的最后结果了吧,在erm方面我毕竟是个新人,总要写出来多多让人指导的;oweojs;

异界行者 发表于 2012-6-5 21:35:31

回复 11# 的帖子

寻梦大的脚本和我的想法不一样啊。我的想法是通过BM来修改生物伤害值的,所以不需要考虑幸运、死亡一击、特长进攻、反击、毒液。基本也不会遇到伤害超标问题

十三木人 发表于 2012-6-5 21:35:39

不过我用1000只比蒙做了测试,没有超过上限哦,不是bt图没那么容易超限吧

寻梦人 发表于 2012-6-5 21:38:42

回复 13# 的帖子

改伤害是不符合伤害的计算公式的!

不是很赞成!

异界行者 发表于 2012-6-5 21:39:22

回复 14# 的帖子

你的脚本再考虑生物经验特技就基本符合我的想法了。战旗那个基本没人去选吧……

看错了,方法和我想的不一样……

[ 本帖最后由 异界行者 于 2012-6-5 22:00 编辑 ]

异界行者 发表于 2012-6-5 21:42:25

回复 15# 的帖子

为什么啊。比如攻击方超过防御方70点攻击。按照原来,伤害为 (1+60*0.05*)*攻击者伤害值*数量
修改后就是(1+60*0.05)*伤害值*数量*(1+(70-60)*0.05)

修改伤害值完全没问题啊

异界行者 发表于 2012-6-5 21:45:10

上面公式错了:lianhong:

应该是 (1+60*0.05+(70-60)*0.05)*伤害值*数量

寻梦人 发表于 2012-6-5 21:48:04

回复 18# 的帖子

我分了两个函数去计算!

一个是攻大于防的函数

一个是攻小于防的函数

我这个脚本其实把毒液的伤害也有加成

也会忽略死亡一击和幸运造成的影响

寻梦人 发表于 2012-6-5 21:49:10

其实我们改这个伤害,只要算出基础伤害就很好办事了!
页: [1] 2 3
查看完整版本: 求高手写个取消攻防上下限的ERM

捐赠