XEricSin 发表于 2015-12-2 11:22:18

加强法系英雄的简单脚本

本帖最后由 XEricSin 于 2016-10-3 18:17 编辑

本脚本通过追加施法次数和伤害,增强法师在战场的输出和作用。并用知识减益效果限制最大魔力值。
复制粘贴以下到地图事件,或者贴在任意其他使用中的脚本的后面。
平衡性未经检验,自己可以改起始额外施法数。甚至公式也可以改。

2016 Jan 更新:**力盾,火墙,复制,瞬移,清除障碍,效果法术,没有加次数。增加复活法术(除牺牲)施法次数。目标死亡自动停止后续施法。

脚本下载

使用脚本的几个方法
http://www.h3wog.com/forum.php?mod=viewthread&tid=54083
(出处: WoG-英雄无敌III 中文论坛)


以下为2015.12.8 版本加了些战场记录和提示
默认起始奖励次数或者伤害为一倍。
效果法术也追加次数。

脚本开始:
ZVSE
*===================================================================================
*19*enhance magic heroes
*===================================================================================
**FU29999, flag599,v5999 占用
**BG触发追加非直接伤害法术或者片伤的施法次数
**MR触发追加直接单体伤害的法术伤害
**力盾,火墙,复活法术,复制,瞬移,清除障碍没有增强

!#VRv5999:S1;//v5999=基础额外奖励 要改次数就改左边的0,比如S1是起始加一次,S2是起始加2次
!#IF:Q599^
要增强法师吗?每次法师施战斗法术时,大部分魔法将追加施法次数{或}伤害。注意以下公式每步计算是忽略小数的。

额外次数 = %V5999 + (等级 + 10)/20 + 力量/30 - 知识/20
额外伤害倍数 = %V5999 + (等级 + 10)/20 + 力量/30 + 知识/20
^;

!?BG&599;//non direct damage spell trigger
!!BG:A?y1;y1=action type
!!if&y1=1:;//hero cast spell
!!BG:Q?y4;y4=current action side
!!if&y4=0:; //left
    !!BH0:N?y5;y5=hero id
!!el:; //right
    !!BH1:N?y5;y5=hero id
!!en:;

!!FU&y5<0:E;
!!HEy5:B0/?z1;//hero name
!!HEy5:B2/?y10;//hero class
!!FU | y10=0/y10=2/y10=4/y10=6/y10=8/y10=10/y10=12/y10=14/y10=16:E; //not apply to might heros

!!BG:S?y2;y2=sp num, must be non-damage or mass-cast spells
!!if|y2=12/y2=13:;//forceshield firewall
    !!FU:E;
!!en:;
!!if&y2>=15/y2<=19:;//single target damage
    !!VRz2:S^%Z1积聚了大量能量,命中后将造成额外伤害。^;
    !!BU:Mz2;
    !!FU:E;
!!en:;
!!if&y2>=38/y2<=40:;//revive
    !!FU:E;
!!en:;
!!if&y2=57:;//titan thunder
    !!VRz2:S^%Z1积聚了大量能量,命中后将造成额外伤害。^;
    !!BU:Mz2;
    !!FU:E;
!!en:;
!!if&y2>=63/y2<=65:; //tele, obst, clone
    !!FU:E;
!!en:;

!!BG:D?y3;y3=target grid

!!HEy5:F?y6/?y7/?y8/?y9 E?y11/?y12/1;//y8=power,y9=know,y12=level
    !!VRy20:Sy12+10:20;y20=additional casts due to level
    !!VRy21:Sy8:30; y21=additional casts due to power
    !!VRy19:Sy9:20; y19=additional casts PENALTY due to knowledge
**公式在这里
    !!VRy22:Sv5999+y20+y21-y19;y22=total additional casts

!!if&y22>0:;
    !!VRz2:S^法师英雄%Z1将{追加%Y22次}施法。^;
    !!BU:Mz2;
!!el:;
    !!FU:E;
!!en:;

!!HEy5:S14/?y14 S14/?y15 S16/?y16 S17/?y17;//14=fire,15=air 16=water 17=earth
!!SSy2:S?y23;y23=magic school bit num
    !!VRy24&y23=1:Sy15;y24= air magic level
    !!VRy24&y23=2:Sy14;y24=fire magic level
    !!VRy24&y23=4:Sy16;y24=water magic level
    !!VRy24&y23=8:Sy17;y24=earth magic level

!!DO29999/1/y22/1:Py4/y2/y3/y24;

!!en:;

!?FU29999;x1=y4 side, x2=y2 sp num, x3=y3 target grid, x4=y24 magic level
!!BHx1:Cx2/x3/x4/0;

!?MR1&599;//damage spell receiving trigger
!!BG:A?y1;y1=action type
!!if&y1=1:;//spell from hero cast
!!BG:Q?y4;y4=current attacking side
!!if&y4=0:;//left
    !!BH0:N?y5;y5=hero id
!!el:;//right
    !!BH1:N?y5;y5=hero id
!!en:;

!!FU&y5<0:E;
!!HEy5:B2/?y10;//hero class
!!FU|y10=0/y10=2/y10=4/y10=6/y10=8/y10=10/y10=12/y10=14/y10=16:E; //not apply to might heros

!!MR:S?y2;y2=sp num , must be single direct damage spell
!!FU&y2<15:E;//
!!FU&y2>19/y2<57:E;//
!!FU&y2>57:E;//

!!HEy5:F?y6/?y7/?y8/?y9 E?y11/?y12/1;//y8=power,y9=know,y12=level
    !!VRy20:Sy12+10:20;y20=additional times of dmg due to level
    !!VRy21:Sy8:30; y21=additional times of dmg due to power
    !!VRy19:Sy9:20; y19=additional times of dmg due to knowledge
**公式在这里
    !!VRy22:Sv5999+y20+y21+y19;y22=total additional times of dmg

!!FU&y22<1:E;

!!MR:F?y30;
!!VRy31:Sy30*y22;//total additional damage
!!VRy30:+y31;//total damg
!!MR:Fy30;//set final damage
!!en:;

贤知有您 发表于 2015-12-2 12:07:30

太好了,又有热衷于ERM的玩家出现.况且这次是地图创作者.
:good_job:

没测试,目测脚本后说几句.
1.!!HEy5:B2/?y10;//hero class 这句之前是判断了BH:N编号.最好还是加一句 !!FU&y5<0:E; 安全一点. 或者干脆在不是英雄施法时提前退出.
2.如果楼主要制作一整套脚本,最好有一套自己的变量.比如BG的全局变量,方便每次的调用,而不必都重新检测一次.
3. MR类的触发器应用时适合而止,如果脚本太多的时候,可能会导致画面动作变慢(类似卡机),因为很多内部运算都触发了 MR.不过一般情况是没问题的.

总之非常支持楼主不断开发新脚本.

XEricSin 发表于 2015-12-2 12:47:14

贤知有您 发表于 2015-12-2 12:07
太好了,又有热衷于ERM的玩家出现.况且这次是地图创作者.




谢谢提点。都是经验之谈啊。

人来人往 发表于 2015-12-2 20:28:36

我能说我两眼一摸黑么,完全看不懂~~还是感谢楼主了,虽然我不知所云。;bf;没文化真可怕。。:shangxin:

XEricSin 发表于 2015-12-3 04:05:28

zxy774 发表于 2015-12-2 22:19
有帖子讲脚本怎么用么,找不到啊,完全看不动

附上简单详细讲解了

XEricSin 发表于 2015-12-3 04:07:00

人来人往 发表于 2015-12-2 20:28
我能说我两眼一摸黑么,完全看不懂~~还是感谢楼主了,虽然我不知所云。没文化真可怕。。

附上了一些讲解,欢迎学习试用

XEricSin 发表于 2015-12-3 12:42:43

zxy774 发表于 2015-12-3 12:38
我作了各种尝试,改等级,力量知识什么的。但最终重复施法没有实现,攻击倍数有效果了35力量5知识的爆弹 ...

好吧可能是我没谢清楚。
1.非直接伤害技能加次数。
2.直接伤害技能加伤害。

人来人往 发表于 2015-12-3 20:12:16

XEricSin 发表于 2015-12-2 22:07
附上了一些讲解,欢迎学习试用

好的,谢谢,我自行体会下。对我来说,难度真的是200%的。;sw;

夏侯飞机 发表于 2015-12-3 20:59:04

楼主的热情,令我想起了,我读大学那会儿,废寝忘食的写程序,调试。。。。。。;bf;想起来,都是汗
楼主加油啊,希望你的大作,能够源源不断,H3能够继续传承下去,:good_job:
楼主也要注意身体啊,昨晚好像3,4点,还在论坛上忙啊,不过,我以前写程序也是这样的,有时候搞到通宵了,肯本停不下来;angr;
页: [1]
查看完整版本: 加强法系英雄的简单脚本

捐赠