异界行者 发表于 2012-12-16 17:23:30

突破攻防上下限400%&30%

目前的版本尚未考虑魔法和箭术宝物,所以有些误差,不过因为是只会对超过限制的进行判断,所以对正常战斗无影响。
超过攻防限制的部分,因为未考虑魔法和箭术宝物,所以还有误差,但是不会很大。
另外因为官方原来的数据很容易达到下限(40点100%减伤了,太BUG),因此防御高于攻击者28点后,每点防御的减伤效果改为了1%。此外下限设定为了3%


感谢
寻梦人(破防特技检测)
沧海一粟(英雄特技检测)
对我帮助很大


脚本如下


!?BA0&1000;
!!BA:H0/?v9555; 保存进攻方英雄到v9555
!!BA:H1/?v9560; 防守方hero到v9560
!?BG0;
!!BG:N?v7224 A?y-87 E?v7227;获得当前堆栈v7224 动作类型v7225 目标堆栈v7227
!!BMv7224&v7224>-1:T?y-86;   获得动作堆栈类型 y-86
!!BMv7227&v7227>-1:T?y-56;    获得目标堆栈类型y-56
!!BG:H?y-63;                  获得动作方英雄编号
!!VRy-77&y-63=v9555:Sv9560;   获得目标方英雄编号
!!VRy-77&y-77<>v9560:Sv9555;
!!HEy-64:S0;
!!HEy-63&y-63>-1:E?y-74/?y-75; 获得动作方英雄等级
!!HEy-63&y-63>-1:S22/?y-64;    获得动作方进攻术等级
!!HEy-63&y-63>-1:X?y-6/?y-73/d/d/d/d/d;   获得动作方英雄特技
!!HEy-63&y-63>-1/v7225=7:S1/?y-64; 获得动作方箭术等级
!!HEy-63&y-63>-1:S23/?y-76;    获得动作方防御术等级
!!HEy-77&y-77>-1:E?y-74/?y-78; 获得目标方英雄等级
!!HEy-77&y-77>-1:S22/?y-79;    获得目标方进攻术等级
!!HEy-77&y-77>-1:X?y-7/?y-80/d/d/d/d/d;   获得目标方英雄特技
!!HEy-77&y-77>-1:S23/?y-81;    获得目标方防御术等级
!!BMv7224&v7227>-1:A?y-57;    获得动作堆栈攻击
!!BMv7224&v7227>-1:D?y-58;    获得动作堆栈防御
!!BMv7227&v7227>-1:A?y-59;    获得目标堆栈攻击
!!BMv7227&v7227>-1:D?y-60;    获得目标堆栈防御
;破防特技处理{
!!VRy-58&y-56=96:* 6 : 10;       比蒙 比蒙巨兽 幽灵比蒙
!!VRy-58&y-56=97:* 2 : 10;
!!VRy-58&y-56=156:S0;
!!VRy-60&y-86=96:* 6 : 10;
!!VRy-60&y-86=97:* 2 : 10;
!!VRy-60&y-86=156:S0;
!!VRy-89&v7227>-1/v7183=1:Sv7224 +1 * -1;   动作方检测
!!MA&v7227>-1:Ly-86/?y-3;                  获得生物等级
!!EAy-89&v7227>-1/v7183=1:E?y-2/2/d/d;       获得生物经验值
!!EAy-89&v7227>-1/v7183=1:F98/?y-88;   获得减防特技位置
!!EAy-89&v7227>-1/y-88>0/v7183=1:By-88/1/98/61/?y-10/y-11/y-12/y-13/y-14/y-15/y-16/y-17/y-18/y-19/y-20;    获得特技槽
!!VRy-3:+1;
!!VRy-3&v7227>-1/y-3=7/y-86>131/y-86<136:S8;
!!VRy-3&v7227>-1/y-3=7/y-86>149/y-86<159:S8;
!!VRy-3&v7227>-1/y-3=7/y-86=196:S8;
*Level 1~7
!!VRy-2&v7227>-1/y-3<8/y-3>0::y-3;
!!VRy-4&v7227>-1/y-3<8/y-2<1000:S0;
!!VRy-4&v7227>-1/y-3<8/y-2>=1000/y-2<2000:S1;
!!VRy-4&v7227>-1/y-3<8/y-2>=2000/y-2<3200:S2;
!!VRy-4&v7227>-1/y-3<8/y-2>=3200/y-2<4600:S3;
!!VRy-4&v7227>-1/y-3<8/y-2>=4600/y-2<6200:S4;
!!VRy-4&v7227>-1/y-3<8/y-2>=6200/y-2<8000:S5;
!!VRy-4&v7227>-1/y-3<8/y-2>=8000/y-2<10000:S6;
!!VRy-4&v7227>-1/y-3<8/y-2>=10000/y-2<12200:S7;
!!VRy-4&v7227>-1/y-3<8/y-2>=12200/y-2<14700:S8;
!!VRy-4&v7227>-1/y-3<8/y-2>=14700/y-2<17500:S9;
!!VRy-4&v7227>-1/y-3<8/y-2>=17500:S10;
*Level 8
!!VRy-4&v7227>-1/y-3=8/y-2<1050:S0;
!!VRy-4&v7227>-1/y-3=8/y-2>=1050/y-2<2100:S1;
!!VRy-4&v7227>-1/y-3=8/y-2>=2100/y-2<3360:S2;
!!VRy-4&v7227>-1/y-3=8/y-2>=3360/y-2<4830:S3;
!!VRy-4&v7227>-1/y-3=8/y-2>=4830/y-2<6510:S4;
!!VRy-4&v7227>-1/y-3=8/y-2>=6510/y-2<8400:S5;
!!VRy-4&v7227>-1/y-3=8/y-2>=8400/y-2<10500:S6;
!!VRy-4&v7227>-1/y-3=8/y-2>=10500/y-2<12810:S7;
!!VRy-4&v7227>-1/y-3=8/y-2>=12810/y-2<15435:S8;
!!VRy-4&v7227>-1/y-3=8/y-2>=15435/y-2<18375:S9;
!!VRy-4&v7227>-1/y-3=8/y-2>=18375:S10;
!!VRy-5&v7227>-1:Sy-4 + 10;
!!VRy-1&v7227>-1:S100 - yy-5;
!!VRy-60&v7227>-1: * y-1 : 100;
!!VRy-89&v7183=1/v7227>-1:Sv7227 +1 * -1;   目标方检测
!!MA&v7227>-1:Ly-86/?y-3;                  获得生物等级
!!EAy-89&v7227>-1/v7183=1:E?y-2/2/d/d;       获得生物经验值
!!EAy-89&v7227>-1/v7183=1:F98/?y-88;   获得减防特技位置
!!EAy-89&v7227>-1/y-88>0/v7183=1:By-88/1/98/61/?y-10/y-11/y-12/y-13/y-14/y-15/y-16/y-17/y-18/y-19/y-20;    获得特技槽
!!VRy-3:+1;
!!VRy-3&v7227>-1/y-3=7/y-86>131/y-86<136:S8;
!!VRy-3&v7227>-1/y-3=7/y-86>149/y-86<159:S8;
!!VRy-3&v7227>-1/y-3=7/y-86=196:S8;
*Level 1~7
!!VRy-2&v7227>-1/y-3<8/y-3>0::y-3;
!!VRy-4&v7227>-1/y-3<8/y-2<1000:S0;
!!VRy-4&v7227>-1/y-3<8/y-2>=1000/y-2<2000:S1;
!!VRy-4&v7227>-1/y-3<8/y-2>=2000/y-2<3200:S2;
!!VRy-4&v7227>-1/y-3<8/y-2>=3200/y-2<4600:S3;
!!VRy-4&v7227>-1/y-3<8/y-2>=4600/y-2<6200:S4;
!!VRy-4&v7227>-1/y-3<8/y-2>=6200/y-2<8000:S5;
!!VRy-4&v7227>-1/y-3<8/y-2>=8000/y-2<10000:S6;
!!VRy-4&v7227>-1/y-3<8/y-2>=10000/y-2<12200:S7;
!!VRy-4&v7227>-1/y-3<8/y-2>=12200/y-2<14700:S8;
!!VRy-4&v7227>-1/y-3<8/y-2>=14700/y-2<17500:S9;
!!VRy-4&v7227>-1/y-3<8/y-2>=17500:S10;
*Level 8
!!VRy-4&v7227>-1/y-3=8/y-2<1050:S0;
!!VRy-4&v7227>-1/y-3=8/y-2>=1050/y-2<2100:S1;
!!VRy-4&v7227>-1/y-3=8/y-2>=2100/y-2<3360:S2;
!!VRy-4&v7227>-1/y-3=8/y-2>=3360/y-2<4830:S3;
!!VRy-4&v7227>-1/y-3=8/y-2>=4830/y-2<6510:S4;
!!VRy-4&v7227>-1/y-3=8/y-2>=6510/y-2<8400:S5;
!!VRy-4&v7227>-1/y-3=8/y-2>=8400/y-2<10500:S6;
!!VRy-4&v7227>-1/y-3=8/y-2>=10500/y-2<12810:S7;
!!VRy-4&v7227>-1/y-3=8/y-2>=12810/y-2<15435:S8;
!!VRy-4&v7227>-1/y-3=8/y-2>=15435/y-2<18375:S9;
!!VRy-4&v7227>-1/y-3=8/y-2>=18375:S10;
!!VRy-5&v7227>-1:Sy-4 + 10;
!!VRy-1&v7227>-1:S100 - yy-5;
!!VRy-58&v7227>-1: * y-1 : 100;
;}破防特技处理
!!BMv7224&v7227>-1:U1/?v5530;   获得动作堆栈低伤
!!BMv7224&v7227>-1:U2/?v5531;   获得动作堆栈高伤
!!BMv7227&v7227>-1:U1/?v5532;   获得目标堆栈低伤
!!BMv7227&v7227>-1:U2/?v5533;   获得目标堆栈高伤
!!VRy-65&v7227>-1:Sy-57 - y-60; 动作A - 目标D
!!VRy-66&v7227>-1:Sy-59 - y-58; 目标A - 动作D

!!VRy-71:S0;
!!VRy-71&v7225<>7/y-63>-1:Sy-64 * 10;       动作方攻击术箭术修正   y-71
!!VRy-71&v7225=7/y-63>-1:Sy-64 * 10;
!!VRy-71&v7225=7/y-63>-1/y-64=2:+5;
!!VRy-71&v7225=7/y-63>-1/y-64=3:+20;
!!VRy-74:Sy-71;
!!VRy-74&v7225<>7/y-73=22/y-6=0:Sy-75 * 5 + 100 * y71 : 100;
!!VRy-74&v7225=7/y-73=1/y-6=0:Sy-75 * 5 + 100 * y71 : 100;
!!VRy-71:Sy-74 + 100;
!!VRy-72:S0;                      目标方防御术修正   y-72
!!VRy-72&y-77>-1/y-81>0/y-81<4:Sy-81 * 5;
!!VRy-72&y-77>-1/y-81=22:S10;
!!VRy-72&y-77>-1/y-81=23:S15;
!!VRy-72&y-77>-1/y-81=19:S20;
!!VRy-74:Sy-72;
!!VRy-74&y-80=23/y-7=0:Sy-78 * 5 + 100 * y-72 : 100;
!!VRy-72:S100 - y-74;
!!VRy-72&y-72<1:S1;
!!VRy-82:S0;
!!VRy-82&v7225<>7/y-77>-1:Sy-79 * 10;       目标方攻击术修正    y-82
!!VRy-74:Sy-82;
!!VRy-74&v7225<>7/y-80=22/y-7=0:Sy-79 * 5 + 100 * y82 : 100;
!!VRy-71:Sy-74 + 100;
!!VRy-83:S0;                      动作方防御术修正    y-83
!!VRy-83&y-63>-1/y-76>0/y-76<4:Sy-76 * 5;
!!VRy-83&y-63>-1/y-76=22:S10;
!!VRy-83&y-63>-1/y-76=23:S15;
!!VRy-83&y-63>-1/y-76=19:S20;
!!VRy-74:Sy-83;
!!VRy-74&y-73=23/y-6=0:Sy-75 * 5 + 100 * y-83 : 100;
!!VRy-83:S100 - y-74;
!!VRy-83&y-83<1:S1;
!!VRy-84&y-65>60:Sy-71 + 300 * y-72 ;   主动方原修正
!!VRy-84&y-65<-28:Sy-71 * 30 * y-72 ;
!!VRy-84&y-84<1:S1;
!!VRy-85&y-66>60:Sy-82 + 300 * y-83 ;   被动方原修正
!!VRy-85&y-66<-28:Sy-82 * 30 * y-83 ;
!!VRy-85&y-85<1:S1;
!!VRy-90:S100;
!!VRy-90&y-65>60/v7227>-1:Sy-65 * 5 + y-71 * 100 * y-72 : y-84 ;               动作A-目标D > 60时
!!VRy-90&y-65<-28/v7227>-1:Sy-65 + 28 + 30 * 100 : 30 ;                         动作A-目标D < -28时
!!VRy-90&y-90<10:S10;
!!VRy-67:Sv5530 * y-90 : 100;                                                对动作低伤修改
!!VRy-68:Sv5531 * y-90 : 100;                                                对动作高伤修改
!!VRy-91:S100;
!!VRy-91&y-66>60/v7227>-1:Sy-66 * 5 + y-82 * 100 * y-83 : y-85 ;               目标A-动作D > 60时
!!VRy-91&y-66<-28/v7227>-1:Sy-66 + 28 + 30 * 100 : 30 ;                     目标A-动作D < -28时
!!VRy-91&y-91<10:S10;
!!VRy-69:Sv5532 * y-91 : 100;                                                对目标低伤修改
!!VRy-70:Sv5533 * y-91 : 100;                                                对目标高伤修改
!!VRy-61:S0;
!!VRy-62:S0;
!!VRy-61|y-65>60/y-65<-28:S1;
!!VRy-62|y-66>60/y-66<-28:S1;
!!BMv7224&v7227>-1/y-61=1:U1/y-67;   设置动作堆栈低伤
!!BMv7224&v7227>-1/y-61=1:U2/y-68;   设置动作堆栈高伤
!!BMv7227&v7227>-1/y-62=1:U1/y-69;   设置目标堆栈低伤
!!BMv7227&v7227>-1/y-62=1:U2/y-70;   设置目标堆栈高伤
!?BG1;
!!BMv7224&v7227>-1:U1/v5530;   还原动作堆栈低伤
!!BMv7224&v7227>-1:U2/v5531;   还原动作堆栈高伤
!!BMv7227&v7227>-1:U1/v5532;   还原目标堆栈低伤
!!BMv7227&v7227>-1:U2/v5533;   还原目标堆栈高伤

[ 本帖最后由 异界行者 于 2012-12-18 15:27 编辑 ]

dadds 发表于 2012-12-16 17:50:40

取消攻防差?这个脚本好:good_job:

异界行者 发表于 2012-12-16 18:04:52

原帖由 dadds 于 2012-12-16 17:50 发表 http://www.wogcn.net/images/common/back.gif
取消攻防差?这个脚本好不是取消攻防差,而是取消攻防差的上下限。

比如
生物A 攻击80 伤害100-100
生物B 攻击60 伤害100-100
生物C 防御 0 ;
A 和 B 攻击 C,如果只看数据,那么A能对C造成500点伤害,而B能对C造成400点伤害。
但是由于H3本身设定,规定伤害最多只能造成基础伤害的400%。所以A也只能对C造成400点伤害。

而我这个脚本就是取消这个限制。让A能对C造成500点伤害。

dadds 发表于 2012-12-16 18:53:14

好吧,我少写了上限两字;hx;

寻梦人 发表于 2012-12-16 20:03:57

检查经验特技不会影响速度的!

有空可以参考万历里面,全兵复活的脚本里面,有检查经验特技有否复活!

异界行者 发表于 2012-12-16 21:12:20

原帖由 寻梦人 于 2012-12-16 20:03 发表 http://www.wogcn.net/images/common/back.gif
检查经验特技不会影响速度的!

有空可以参考万历里面,全兵复活的脚本里面,有检查经验特技有否复活!
非常感谢,我就怕战斗时每个步骤都多了那么多检测判断,变卡了。不会就好!

异界行者 发表于 2012-12-16 22:22:20

原帖由 寻梦人 于 2012-12-16 20:03 发表 http://www.wogcn.net/images/common/back.gif
检查经验特技不会影响速度的!

有空可以参考万历里面,全兵复活的脚本里面,有检查经验特技有否复活!
看了下你的全复活脚本才知道,原来可以直接检测是否有某个特技而不需要循环检测每个特技槽啊。太感谢了,不然代码多了不少不说,而且或许还会降低游戏性能

兽哥哥 发表于 2012-12-16 23:00:15

脚本呢?抹掉了?;yowe;

灰狼王子 发表于 2012-12-17 01:41:37

突破上下限后有没有一个封顶?话说这个脚本要是用到寻梦改版的疯狂姆拉克里那可真是不得了啊,梦梦懂得;orz; 吸魂后的生物动辄都是几万的攻防呢;ft;

贤知有您 发表于 2012-12-17 08:37:10

听起来这脚本够厉害的了。
突破上限后,攻击伤害会大幅提升
特长兵种的英雄又牛A了一大截
:good_job:

异界行者 发表于 2012-12-17 10:21:16

脚本抹掉主要是发现一问题:我原来是要检测英雄的特长的,我用的语句是:
HExxxx:X0/?y-1;

结果发现一旦检测,就会把英雄的特长给抹掉,变成无特长。空有特长说明,却无实际效果了。

先解决这个问题再说
另外还有一点就是,防御高于攻击40点,就减伤到1了。40点感觉也太容易达到了。我在想关于降低伤害要不要别用官方的算法,否则游戏很容易变得无聊。固定每点防御减伤-2.5%太BUG了

[ 本帖最后由 异界行者 于 2012-12-17 10:23 编辑 ]

贤知有您 发表于 2012-12-17 10:29:15

回复 11# 的帖子

检测英雄特技会取消原特长吗??还真不知道呢

既然有检测,检测完后重设还原一下就可以了吧。

异界行者 发表于 2012-12-17 10:32:55

原帖由 贤知有您 于 2012-12-17 10:29 发表 http://www.wogcn.net/images/common/back.gif
检测英雄特技会取消原特长吗??还真不知道呢

既然有检测,检测完后重设还原一下就可以了吧。
这个我不知道怎么做,因为如果不是技能特长,我这样检测后直接消失,根本不知道它原特长是什么……

eva2000as 发表于 2012-12-17 10:45:24

原帖由 异界行者 于 2012-12-17 10:32 发表 http://bbs.h3wog.com/images/common/back.gif

这个我不知道怎么做,因为如果不是技能特长,我这样检测后直接消失,根本不知道它原特长是什么……
和宝物典当行及9in1的某些情况一样。设置英雄别的特长后,某些情况下会变回去或抹掉,原来是这个命令……

[ 本帖最后由 eva2000as 于 2012-12-17 10:48 编辑 ]

异界行者 发表于 2012-12-17 10:51:00

难道逼我直接检测英雄编号?这样局限性太大,英雄特长一旦被改掉那就乱了。还是等各位大神来吧

贤知有您 发表于 2012-12-17 11:16:12

其实,你的脚本应该也是改变 伤害值来达到目的的吧?
简单一点,能不能按比例啊?
比如既然原来高于 60时,都按 60,这时60产生的伤害是一个标准值,用MF可以检测吧。
当大于60时,考虑与攻防相关的伤害,是不是也可以按这个标准比例来衡量呢?
如攻防差90,则是60的1.5倍,伤害按照你的算法是否也相当于1.5倍?

我觉得全方面都考虑,脚本可能会异常复杂哦。
比如仇恨也要考虑等等。

顺便问一句,楼主是不是通过 MF:D来改变原始伤害值?

沧海一粟 发表于 2012-12-17 11:20:39

原帖由 异界行者 于 2012-12-17 10:32 发表 http://bbs.h3wog.com/images/common/back.gif

这个我不知道怎么做,因为如果不是技能特长,我这样检测后直接消失,根本不知道它原特长是什么……

检查特长不至于会让特长消失吧?!!HE-1:X?y1/?y2/d/d/d/d/d;行者试试这样会吗?
循环函数只要一次不循环超过1万次,应该不会引起速度问题,我有专门试过,循环再内循环到一万左右出现卡机现象(保守估计5000没问题,我还是用BR)。至于检查堆栈是否有某项经验特技及是否触发,可以套入你那函数内来写才是。

-------------------------------------
攻击伤害值无法得出实际的结果,只有求其次大概了。致命一击、幸运一击、魔法加成、石化、降低防御.......要检查的东西太多了,致命一击及幸运一击貌似还无法检测到。

[ 本帖最后由 沧海一粟 于 2012-12-17 11:23 编辑 ]

异界行者 发表于 2012-12-17 11:41:28

原帖由 沧海一粟 于 2012-12-17 11:20 发表 http://www.wogcn.net/images/common/back.gif


检查特长不至于会让特长消失吧?!!HE-1:X?y1/?y2/d/d/d/d/d;行者试试这样会吗?
循环函数只要一次不循环超过1万次,应该不会引起速度问题,我有专门试过,循环再内循环到一万左右出现卡机现象(保守估计5000没问 ...
感谢沧海解答,我之前检测用过两种方法
1. !!HE-1:X0/?y1;
2.!!HE-1:X?y1/?y2;
第2中方法直接报错。原来应该在后面加参数的。我马上去试试真的可以,是我检测方法用错了!

另外因为我是用 (A-D)/60 * 伤害值,就算不检测误差不会很大。修改兵种伤害值比起直接造成伤害,优点是这样不会伤害溢出,BT图一样可以玩,缺点是有误差。不过误差是不会造成离谱的伤害。最多比如本来应该造成1050点伤害的,变成了1125点,感觉还可以接受。其实魔法造成的误差可以避免的,不过因为这个比较小我目标还没考虑,先把大概的弄出来再考虑吧。加箭术技能的宝物我也还没检测。致命一击和幸运的误差个人感觉可以忽略,不去考虑了。

[ 本帖最后由 异界行者 于 2012-12-17 11:49 编辑 ]

贤知有您 发表于 2012-12-17 11:41:32

回复 17# 的帖子

以沧版的经验,MF:D 包含了哪些原始伤害数据呢?
是否也包括了致命一击、幸运一击之类?

沧海一粟 发表于 2012-12-17 11:50:00

回复 19# 的帖子

寻梦人和我都有专门的测试过,MF:D的值和MF:F的值是完全一样的,MF:D其实没有任何意义。所以说致命一击和幸运一击貌似相当难于检测到。

[ 本帖最后由 沧海一粟 于 2012-12-17 11:52 编辑 ]
页: [1] 2
查看完整版本: 突破攻防上下限400%&30%

捐赠