【更新】八级兵野外巢穴生物积累
更新一下。借鉴老外用的PO办法,不需要再用144个v变量。仍采用定时器触发。
两种办法都有缺陷,采用OB,则右键文本失效,且只对有归属的生物巢穴有效
采用TM,则无法判断最后一家颜色是否在第7天访问并雇出了八级兵。
ZVSE
***只适用有八个玩家的地图,且粉色不是人类玩家****
!#TM51:S8/999/7/255;
!#TM49:S7/999/7/255;
***保存八级兵生物巢穴可雇佣生物数量***
!?TM49;
!!OW:C?y10; 获取当前玩家颜色
!!FU&y10<>7:E; 非粉色时终止
!!FU656:P1/1;
***保存八级兵生物巢穴可雇佣生物数量***
***星期一叠加八级兵生物巢穴可雇佣生物数量***
!?TM51&1000;
!!FU656:P1/2;
***星期一叠加八级兵生物巢穴可雇佣生物数量***
***功能函数***
!?FU656&x1=1;
!!UN:U17/-1/?y10; 计算生物巢穴总量
!!DO656/1/y10/1&y10>0/x2=1:P2; 遍历所有生物巢穴
!!DO656/1/y10/1&y10>0/x2=2:P3; 遍历所有生物巢穴
!?FU656&x1=2;
!!VRv51:C-1/-1/-1; 初始化变量
!!UN:U17/-1/x16/51; 获取坐标
!!DWv51/v52/v53:M0/?y11/?y12;获取可雇佣怪物类型数量
!!FU|y11<150/y11>158:E; 怪物类型非八级兵时终止
!!PO51:V3/y12; 储存积累
!?FU656&x1=3;
!!VRv51:C-1/-1/-1; 初始化变量
!!UN:U17/-1/x16/51; 获取坐标
!!DWv51/v52/v53:M0/?y11/d; 获取可雇佣的生物类型
!!FU|y11<150/y11>158:E; 非八级兵时终止
!!PO51:V3/?y12; 读取积累量
!!DWv51/v52/v53:M0/d/dy12; 叠加积累量
***功能函数***
[ 本帖最后由 fastarrow 于 2012-12-29 01:31 编辑 ] 支持老离的新脚本!!
看到用了不少V变量哦.
我记得外国人也写过类似的脚本,累积8级巢穴生物.
但翻了一下,一时没找着.
那个脚本我印象中是用 OB 访问8级巢穴来写的,并没有用到TM触发器.
[ 本帖最后由 贤知有您 于 2012-12-27 20:47 编辑 ] 看到用了不少V变量哦.
因为地图上最多允许有144个生物巢穴,所以需要144个v变量来记录新的一周来临之前,144个巢穴的生物数量
我记得外国人也写过类似的脚本,累积8级巢穴生物.
但翻了一下,一时没找着.
那个脚本我印象中是用 OB 访问8级巢穴来写的,并没有用到TM触发器.
OB恐怕不行,从逻辑上看,没有办法获取该巢穴过去的时间里,到底累积了多少生物。
回复 3# 的帖子
也不是没可能的.用 PO:V 就可以存储这个坐标的一些数据.
如果我没记错的话,应该记录了2个数据
一个是最后访问时,当前周.估计是用于再次访问时通过经过了多少周来累积.
一个是访问后(招募后),当前巢穴的剩余数量
我得把这个脚本找出来才行.只是看过,也没有放地图上测试.也不知道效果. 老离这脚本写的相当严谨,相当棒,但147个V变量有点心疼哟,感觉还是可以通过其它方式来实现的。
而且和寻梦人的一键招兵的功能上有点冲突了,可惜。。。 原帖由 贤知有您 于 2012-12-27 21:01 发表 http://bbs.h3wog.com/images/common/back.gif
也不是没可能的.
用 PO:V 就可以存储这个坐标的一些数据.
如果我没记错的话,应该记录了2个数据
一个是最后访问时,当前周.估计是用于再次访问时通过经过了多少周来累积.
一个是访问后(招募后),当前巢穴的剩余数量 ...
老实说,PO:V我一直搞不太懂用法,PO命令我只用过PO:N,
看ERM说明,是记录一些访问信息,但是生物巢穴,无论对人类玩家还是AI,就算访问了,也不见得就把巢穴里的生物雇佣出来啊…… 原帖由 沧海一粟 于 2012-12-27 21:15 发表 http://bbs.h3wog.com/images/common/back.gif
老离这脚本写的相当严谨,相当棒,但147个V变量有点心疼哟,感觉还是可以通过其它方式来实现的。
而且和寻梦人的一键招兵的功能上有点冲突了,可惜。。。
老实说,我不大喜欢简化操作太多的脚本。我们应该做一些操作,并不是勤不勤快 的问题,大多数做这些看上去像很无聊的工作时,我们的脑子可以做很多别的事儿,比如考虑下一步的规划,英雄的走位,刚刚打完的仗,战场上的一些数据的分析,如果有异常(看上去跟平时不一样),那么这些异常可能是什么原因,怎么造成的……
三国也好,仙剑也好,游戏时间的一天,我花上一个小时甚至2-3个小时都是不稀奇的。 终于翻出来了,都是英文,难怪我找了这么久.
.感觉上只是测试版,可能不完善吧.我也没测试过.
老离看看是不是有用得着的地方
ZVSE
* TestLevel8DwAcc, JHV, Jan. 25, 2011
* Accumulate Creatures in Level 8 Dwellings (Types 17/80-17/88)
!#UN:P1; set Level 8 standard dwelling behavior
!?OB17; visit to type 17 Object
!!OBv998/v999/v1000:U?y1; get subtype
!!FU|y1<80/y1>88:E; do only subtypes 80-88
!!DWv998/v999/v1000:O?y1;
!!FU&y1=-1:E; skip accumulation if not owned
!!PO998:V2/?y2 V3/?y3; get week and count at last visit
!!VRy4:Sc0-1:7+1; current week (first week is week 1)
!!VRy4:-y2; current week-last visit
!!VRy3:+y4; accumulate count
!!DWv998/v999/v1000:M0/d/y3; set accumulated count
!$OB17; post-visit to type 17 Object
!!OBv998/v999/v1000:U?y1; get subtype
!!FU|y1<80/y1>88:E; do only subtypes 80-88
!!VRy3:Sc0-1:7+1; current week
!!DWv998/v999/v1000:M0/d/?y4; get count
!!PO998:V2/y3 V3/y4; save week and count 原帖由 贤知有您 于 2012-12-27 21:30 发表 http://bbs.h3wog.com/images/common/back.gif
终于翻出来了,都是英文,难怪我找了这么久.
.感觉上只是测试版,可能不完善吧.我也没测试过.
老离看看是不是有用得着的地方
ZVSE
* TestLevel8DwAcc, JHV, Jan. 25, 2011
* Accumulate Creatures in Level 8...
经过简单测试,可以累积,有个小小的毛病,他没有考虑八级兵的增长率,增长率不一定永远是1.
另外,因为ERM命令,可能使8级兵巢穴不一定招八级兵,非八级兵巢穴也不一定不能招八级兵。仍然会出BUG。
右键增强文本提示在访问巢穴前显示数值不正确。
另外,我仍然看不懂PO:V的用法,能否详细介绍一下?
[ 本帖最后由 fastarrow 于 2012-12-27 22:05 编辑 ] 说实话, PO:V 命令我也没用过.只是知道能这么用而已.
ERM里说这个能存储坐标的一些数据,(0-3)即有4项数据可供存储或读取.
相当于一个小数组,每个坐标均可附带这个 4项数据的数组.(类似于W变量吧)
右键增强文本这个倒是好办,自定义个暗示文本就是了.
老离觉得可用的话,不如修改一下,使之完善起来,可以作为一个通用型的ERM脚本. 原帖由 贤知有您 于 2012-12-27 22:15 发表 http://bbs.h3wog.com/images/common/back.gif
说实话, PO:V 命令我也没用过.只是知道能这么用而已.
ERM里说这个能存储坐标的一些数据,(0-3)即有4项数据可供存储或读取.
相当于一个小数组,每个坐标均可附带这个 4项数据的数组.(类似于W变量吧)
右键增强文本这个 ...
我觉得比我那种方法好,起码不用那么多V变量。这个我会研究一下。
回复 2# 的帖子
学习;orz; 以前玩WOG ,觉得八级兵太强,低级兵没有出场机会了,于是将八级兵封存了按自己的想法改ERM 玩。最近想要加点变化,又开始玩八级兵并调整了各级兵的产量保证出场机会,发现即使开了生物累积,八级兵也不累积产量,觉得是 bug,搜索下找到这个帖子。
楼主说两种办法都有缺陷,我综合两种办法自行作了修改,在没有别的ERM 改变巢穴生物的种类和数量的前提下应该可行了。
基本原理就是用PO:V来记录可招募数量,在数量变化的时候(主要是招走后数量减少和每周初数量增加)同步更新就行了。
!$OB17在英雄访问巢穴招募八级兵生物后用PO:V来记录剩余八级兵数量,!?OB17就不需要了,增加数量的工作由!?TM来完成。
利用!?TM和$weekday$ $once$在每周初运行一次,遍历所有生物巢穴,对于其中的八级兵巢穴,读取PO:V并运算得到累积后的八级兵数量,写入巢穴的招募数量,并相应更新PO:V。
页:
[1]