hell____fire 发表于 2016-6-27 23:59:42

关于回城术平衡策略修改的脚本

本帖最后由 hell____fire 于 2016-6-28 00:05 编辑

考虑到飞跳都只能在一定范围内使用,而回城这个魔法可以横跨整个地图,使得这个魔法的能力和重要性都非常之高。英雄学会了这个魔法后比没有学会该魔法的英雄占有过强的优势,特别是如果学会这个魔法往往可以一个超级英雄走天下,因此对整个策略性和平衡性有不好的影响。英雄无敌5的回城术便基于平衡性和策略性的考量无论任何等级都只能回到最近的城镇。因此鄙人考虑能否有这样一个脚本,将回城术修改为无论任何等级,只有初级的效果即回到最近的城镇?然后通过调整回城术各级别的魔法耗费来平衡(这个较为简单可以通过txt修改)。
@XEricSin @克招 @贤知有您

贤知有您 发表于 2016-6-27 23:59:43

既然楼主喜欢,那就改个吧.
对AI是无效的.准备让AI虐吧.消耗魔法自行改.

!?PI;
!!UN:C4314837/2/59792;
!?GM0;
!!UN:C4314837/2/59792;

逆风流 发表于 2016-6-28 03:03:42

如果回城改成你说的那样,你会发现电脑和你捉迷藏时候那个纠结的。。。

hell____fire 发表于 2016-6-28 09:26:32

逆风流 发表于 2016-6-28 03:03
如果回城改成你说的那样,你会发现电脑和你捉迷藏时候那个纠结的。。。

英雄无敌5的回城术就是如此啊,电脑也没有怎么捉迷藏:)其实老实说英雄无敌5的可玩性比h3差,但在平衡性上是远胜h3的

78776756 发表于 2016-6-28 09:47:27

这个简单,按照我自己推想,施法检测魔法是否异次元,检测土是否中级/高级,如果同时符合,则临时将土变成初级,传送完变回去,连txt都不用改,关键是,何用?坑爹?另外,谢谢了,我正在自学erm,不知道写什么脚本练手,准备试试这个,估计明年可以拿出来

hell____fire 发表于 2016-6-28 10:00:27

本帖最后由 hell____fire 于 2016-6-28 10:02 编辑

78776756 发表于 2016-6-28 09:47
这个简单,按照我自己推想,施法检测魔法是否异次元,检测土是否中级/高级,如果同时符合,则临时将土变成 ...
这样改可能有不妥。毕竟中高级土系魔法应该要比初级魔法耗魔少才是,这样改就等于中高级毫无效果了。txt我指的是魔法有个txt文件可以改派系和耗费等。用处主要就是调整平衡性,原版回城术太强,学到了优势太大,这样改回城便成了一个合理普通的四级魔法。另外,明年拿出来........................

78776756 发表于 2016-6-28 10:14:39

hell____fire 发表于 2016-6-28 10:00
这样改可能有不妥。毕竟中高级土系魔法应该要比初级魔法耗魔少才是,这样改就等于中高级毫无效果了。txt ...

那个txt我知道,去年我无聊的把魔法神箭改成雷鸣爆弹……中高级无效果可以用修改耗魔代替,优势太大我不怎么觉得,毕竟只是回城,又不是传送到敌人城镇附近,不过机动性强大了很多,起码不怕偷城,明年拿出来是打个比方,比方,懂吗(我刚刚花了十分钟找魔法的编号……),说不定等下有无聊的大神无聊的编了一份,然后又无聊的扔给你了

贤知有您 发表于 2016-6-28 10:58:13

如果非要削弱的话,也可以考虑距离的问题.
比方说,只能回城到同一层面的地方.然后考虑各种影响英雄和城镇距离的因素.
不过这种做法并不能简单地修改,需要先屏蔽掉原来的法术效果,稍微有难度.当然用HOOK也是个不错的选择(更难).
而且,都不知道能不能很好地控制AI的操作.
;han;

78776756 发表于 2016-6-28 11:09:39

本帖最后由 78776756 于 2016-6-28 11:11 编辑

贤知有您 发表于 2016-6-28 10:58
如果非要削弱的话,也可以考虑距离的问题.
比方说,只能回城到同一层面的地方.然后考虑各种影响英雄和城镇距 ...
……贤知,我花了一早上,终于找到!?MG1;了
然后我也会检测是不是回城了
!!VRy1:Sv997;
!!VRz1&y1=9:S^回城术^;
!!IF:M^你使用了魔法?是%Z1么^;
然后结果是……我不知道?的读取究竟怎么用,只能设置不能还原了……求教@贤知有您 具体给个小脚本可好,我真的是新人

XEricSin 发表于 2016-6-28 12:26:27

78776756 发表于 2016-6-28 11:09
……贤知,我花了一早上,终于找到!?MG1;了
然后我也会检测是不是回城了
!!VRy1:Sv997;


所有变量(包括v997)是直接可以用的,不用再提取了

!?MG1;
!!FU&v997<>9:E; //如果v997不是9,则直接退出,后面的!!都无视了。
!!VRz1:S^回城术^;
!!IF:M^你用的是%Z1^; //这是变量和文字的结合,你也可以只用变量。
。。。接下来写自己想做的

78776756 发表于 2016-6-28 13:10:56

XEricSin 发表于 2016-6-28 12:26
所有变量(包括v997)是直接可以用的,不用再提取了

!?MG1;


…………………………………………………………前面只是我自己做的小实验,当时ZVSE,触发器,ZVSE,冒号,变量表示错了好几次,理论永远是理论……我读取是要当前英雄土魔法等级,不然等下不能还原就好玩了……

sharpmental 发表于 2016-6-28 14:38:53

平衡了 打一张大地图就太拖沓了

78776756 发表于 2016-6-28 15:20:46

XEricSin 发表于 2016-6-28 12:26
所有变量(包括v997)是直接可以用的,不用再提取了

!?MG1;


编了两小时,搞出这么些东西
!?MG0;
!!HE-1:S17/?y1;
!!HE-1:S17/0;
!?MG1;
!!HE-1&v997=3:S17/y1;
!!HE-1&v997=2:S17/y1;
!!FU&v997<>9:E;
!!HE-1&y1>0:Id4;
!!HE-1:S17/y1;

烂尾了这脚本……不管我怎么测试,最后都不能改回来,就是说,你打开地图魔法书你土魔法就变成没有……好不容易解决了耗魔和另外两个冒险魔法释放问题的……然后我在每一句后面加!!IF:M^这时y1=%Y1^;
测试出在第二次打开魔法书时y1就变0了,准确说,是第一个!?都执行完后就0(但是当时执行中时y1还是正常的……)然后我进行了各种限制,最后变成
!?MG0;
!!FU&v266=266:E;
!!HE-1:S17/?y1;
!!VRv266:S266;
!!HE-1:S17/0;
!!FU&v266=266:E;

依然不行……最后y1还是=0……我实在想不出到底哪错了
另外,有没有关闭魔法书的语句……不然即使是我想象中的理想情况也是打开就要用魔法,不然土系暂时变0……直到下一次用土系冒险魔法之前

walker999 发表于 2016-6-28 16:38:49

其实我觉得可以参考英雄无敌2的版本,分入城术和回城术,一个是4级魔法,一个是5级魔法。忘记哪个是5级哪个是4级了。一个是只回最近的城堡,一个可以任意回城。可以将任意回城次数改为限制次数,低级土系和中级土系都是一次,但是耗魔减半。高级可以回城使用2-3次。只是参考而已。。。。。。

XEricSin 发表于 2016-6-28 21:26:39

本帖最后由 XEricSin 于 2016-6-28 21:30 编辑

78776756 发表于 2016-6-28 15:20
编了两小时,搞出这么些东西
!?MG0;
!!HE-1:S17/?y1;

//后为我的解说
!?MG0; //这个是打开施法界面时触发
!!HE-1:S17/?y1; //这个读取是正确的。但是注意,所有的y变量只能存在于当前的函数中。所有的!?都算作函数。就是说,MG0中的y1和MG1中的y1是完全不相关的。所有y变量的初始值是0。所有你在MG1里看到的y是0。如果你想记录下来,并用在不同的函数(!?)中,那么你要用v变量。一般用v1-v10就可以了。既然v变量是跨函数的,那么它就有可能在中途被其他函数改写,如果你担心,就得选一个没有人会用v变量。
!!HE-1:S17/0;

!?MG1; //这个触发在施法成功后(v997是法术编号) 或者关闭施法界面后(v997是-1)
!!HE-1&v997=3:S17/y1; //v997是魔法的编号,不是等级。所以你这句的意思是,当使用的魔法是3号(透视大地)后,把当前英雄的17号辅助技能(土系)设为等级y1。因为y1默认为0,所以你的土系就没有了。
!!HE-1&v997=2:S17/y1; //类似的,这个是使用2号魔法(透视之眼)后,去除土系辅助技能。
//两个错误。1,ERM不熟悉,记录的原等级需要存在v变量中。2,逻辑错误,你应该总是还原土系等级,而不是使用某个法术后才还原。
!!FU&v997<>9:E; //只有使用9号魔法(回城)才继续
!!HE-1&y1>0:Id4; //假设你的y用的是v,只要土系的等级大于0(即学了土系),当前英雄会增加4点蓝。为什么这样设定???
!!HE-1:S17/y1; //参见错误2

XEricSin 发表于 2016-6-28 21:39:13

78776756 发表于 2016-6-28 15:20
编了两小时,搞出这么些东西
!?MG0;
!!HE-1:S17/?y1;


你要削回城,
可以通过你的方法,禁止中级和高级回城。
(不知道会不对AI有效)

还可以考虑其他的方法。
1.增加回城的耗蓝,这样就不能多次传送了
2.增加回城的耗体力,这样回城就不能立即出来追人了
你也可以根据传送的距离来扣蓝和扣体。
这个可以记录回城前的坐标,和回城后的坐标,然后算距离。

78776756 发表于 2016-6-28 22:53:18

XEricSin 发表于 2016-6-28 21:26
//后为我的解说
!?MG0; //这个是打开施法界面时触发
!!HE-1:S17/?y1; //这个读取是正确的。但是注意, ...

噗,是函数选择错误……难怪我不管怎么设置都是0……我明白有人对老实猪的评价了:敢跨脚本使用y变量,你胆子不小啊
使用回城继续是因为我看了一下txt,发现只要有土系魔法回城消耗就都是12了,,没有是16,按照楼主所说,我要补还给他实际上消耗的魔法指,图省事,就这么设置了,反正结果一样就行了,233,唯一的问题是要16的魔法才能放……而不是12
我现在想了想,1~9是冒险魔法,那么,我直接搞<=9还原不就行了……还有关闭还原
另外,什么叫总是还原

78776756 发表于 2016-6-28 23:16:59

请允许我吐血而亡
原来我写了好几句,然后不行,TM现在我只是随心写了两句,TM居然成了,而且完美符合你条件
ZVSE
!#IF:M^新异次元门有点坑爹,小心使用^;
!?MG0;
!!HE-1:S17/?v128;
!!HE-1:S17/1;

!?MG1;
!!HE-1&v997<=9:S17/v128;
允许我数一下,原来9行,现在5行,差距……
原来我对XE所说的v997=-1理解不正确,差点准备随便找个条件比如英雄等级大于1这样子的东西后面加!!HE-1&v997=-1:S17/v128;了……然而现在<=9也包括了-1……话说大多数情况下是可以改成<10的吧
然后现在的问题是,透视之眼不同等级的效果到底一不一样……
另外,我在测试另一个脚本时,图方便,我直接在ZVSE后面加个1,但是似乎正常工作了,为什么?

78776756 发表于 2016-6-28 23:44:47

刚刚想了一小会,没错,确实把高级时的耗魔解决了,但是,我突然想到,没有土魔时怎么办,占便宜么,然后又加了一句(这句坑了我5分钟……)
ZVSE

!#IF:M^新异次元门有点坑爹,小心使用^;
!?MG0;
!!HE-1:S17/?v128;
!!FU&v128=0:E;
!!HE-1:S17/1;


!?MG1;
!!HE-1&v997<=9:S17/v128;

变成了6句……
另外再给你一个链接,我不想灌水了,心好累,更累的是每天总会有人不知道为什么水回超过我,索性不水了
http://www.h3wog.com/forum.php?mod=viewthread&tid=54083
另外我这变量应该不会冲突吧
然后请允许我保存一张有深意的图片


然而我当时告诉你要明年的,于是我一直等到了这时



终于0点了,为了保证信誉,我决定在等1分钟


噗,让我吐一大口血吧,我发了,收好哦


hell____fire 发表于 2016-6-29 01:13:14

78776756 发表于 2016-6-28 23:44
刚刚想了一小会,没错,确实把高级时的耗魔解决了,但是,我突然想到,没有土魔时怎么办,占便宜么,然后又 ...

亲,非常感谢,我测试下!
页: [1] 2
查看完整版本: 关于回城术平衡策略修改的脚本

捐赠