- 积分
- 34677
- 威望
- 499
- 魅力
- 507
- 经验
- 20326
- 热心度
- 9
- 注册时间
- 2006-3-13
- 最后登录
- 2024-9-30
- 主题
- 134
- 回帖
- 4949
- 精华
- 35
- 阅读权限
- 150
TA的每日心情 | 郁闷 2015-6-6 16:12 |
---|
签到天数: 52 天 连续签到: 1 天 [LV.5]女巫
超级版主
- 积分
- 34677
|
本帖最后由 贤知有您 于 2013-11-14 16:54 编辑
相信很多ERM作者都为生物不能简单施法而烦恼.
为了模拟生物可以施法(也就是在玩家控制时可以对其它生物出现施法的指针)
一般是通过!?MM0触发器判断是否轮到施法生物,改动鼠标指针的样式.
再通!?CM4触发器判断点击的位置是否符合施法要求,再施放魔法.
说到底需要一大堆代码,而且还不够灵活.
其实有一种更简便的方法,特殊生物的可否施法在内存中有3个开关位.
位置确定的如下.生物编号从13开始,因为特殊生物是从13大天使开始的.
(沧海一粟感叹说:祭司又被无情地抛弃了)
-----------------------------------------------------------------
79FB90-79FC47
00 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 //13-28(00->13大天使)
09 09 09 09 09 09 09 09 01 09 09 09 09 09 09 09 //29-44(01->灯神37)
09 09 09 09 09 09 02 09 09 09 09 09 09 09 09 09 //45-60(02->51邪神)
09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 //61-76
09 09 09 09 09 09 09 09 09 09 09 09 09 09 03 09 //77-92(03->91食人魔)
09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 //93-108
09 09 09 09 09 09 09 09 09 09 09 09 09 09 04 09 //109-124
05 09 06 09 07 09 09 09 09 08 09 09 09 09 09 09 //125-140(08->紫龙134)
09 09 09 09 09 09 09 09 09 00 09 09 09 09 09 09 //141-156
09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 09 //157-172
08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 //173-188(08->指挥官)
08 08 08 09 09 09 09 09-09 09 09 00 00 00 00 00 //189-196
--------------------------------------------------------------
79FAD0-79FB87
00 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 //13-28(00->13大天使)
08 08 08 08 08 08 08 08 01 08 08 08 08 08 08 08 //29-44(01->37灯神)
08 08 08 08 08 08 00 08 08 08 08 08 08 08 08 08 //45-60(00->51邪神)
08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 //61-76
08 08 08 08 08 08 08 08 08 08 08 08 08 08 02 08 //77-92(02->91食人魔)
08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 //93-108
08 08 08 08 08 08 08 08 08 08 08 08 08 08 03 08 //109-124
04 08 05 08 06 08 08 08 08 07 08 08 08 08 08 08 //125-140(07->紫龙134)
08 08 08 08 08 08 08 08 08 00 08 08 08 08 08 08 //141-156
08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 08 //157-172
07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 07 //173-188(07->指挥官)
07 07 07 08 08 08 08 08-08 08 08 00 00 00 00 00 //189-196
--------------------------------------------------------------
79FA10-79FAC7
00 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 //13-28(00->13大天使)
03 03 03 03 03 03 03 03 01 03 03 03 03 03 03 03 //29-44(01->37灯神)
03 03 03 03 03 03 00 03 03 03 03 03 03 03 03 03 //45-60(00->51邪神)
03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 //61-76
03 03 03 03 03 03 03 03 03 03 03 03 03 03 01 03 //77-92(01->91食人魔)
03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 //93-108
03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 //109-124
03 03 03 03 03 03 03 03 03 02 03 03 03 03 03 03 //125-140(02->紫龙134)
03 03 03 03 03 03 03 03 03 00 03 03 03 03 03 03 //141-156
03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 //157-172
02 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 //173-188(01->指挥官)
01 01 01 03 03 03 03 03-03 03 03 00 00 00 00 00 //189-196
---------------------------------------------------------------------
这3份开关表其实是连续的一大块内存区域.
只不过我把它拆开了,这样看起来容易点.
从表中可以看出一些特殊生物施法,是由3个开关组成的.
非特殊生物,开关上都处于无用状态(如第一表09,第二表08,第三表03)
于是我决定把其它生物改成与这些特殊生物相同的开关,以测试可用性.
经过我多番测试,发现以下一些规律:
->(0-0-0)天使类
(不受BM:U影响)能复活未完全死亡的部队.
但不能复活完全死亡的部队.(没有施法指针)
->(2-0-0)邪神类
(不受BM:U影响)但无法对死亡部队施法,能对未死亡部队施法但无效!!
基本可以说是无法应用.
->(1-1-1)灯神
(不受BM:U影响)可以实现灯神的随机施法
->(3-2-1)食人魔
(不受BM:U影响)能实现食人魔的嗜血施法,但没多大价值.
->(4-3-3)冰元素
(不受BM:U影响)能实现冰元素的施放水系魔法
(其它元素类似,施放一些四系魔法),应用度不高.
->(8-7-2)紫龙
(受BM:U影响)能施放指定的魔法,且可以区分有益或有害
能对堆栈出现施法指针!!(这点很重要)
若不指定一个BM:U魔法则会施放空魔法(但会有施法动作)
在第一次施法时,若没有BM:U4指定施法编号,可以对所有堆栈施放空魔法
可在需要的地方设置BM:U4指定魔法(如BF,BR,FU77006等)
->(8-7-1) 指挥官 ,貌似效果跟紫龙类(8-7-2)一样.
这里,用紫龙或指挥官类的施法:
施法的力量,等于施法生物的个数!!
施法的技能等级是高级(即中间等级)!
如:100个生物施法54迟缓,回合数是100
100个生物施法17闪电,正常伤害值 25*100+20=2520
-----------------------------------------------------------------------------------------------------------
好了.我觉得最有用的莫过于紫龙类的施法,因为它可以用BM:U指定施放魔法,而且能自动判断施法的势力接受情况.
当然,灯神类的开关也可以直接用.大家可以自行测试.
下面给出一个范例脚本.
让暗黑龙施法,且随机施放指定魔法.
最后又啰嗦一句,改动内存最好是有借有还.请在适当的地方还原一下,否则可能会影响到其它读档地图的使用.
另外如果改动一些有其它特殊技能的生物,如魔幻法师(它的技能不在此开关上),会得到些奇怪的情况.大家可以试试.
- <P>ZVSE
- !?PI;[用暗黑龙进行测试(155)]
- !!MA:B155/10; [10次施法]
- !!FU9999902:P155/8/7/2;[暗黑龙可施法]
- !?FU9999902;[让生物出施法的脚本]
- **x1=生物编号
- **x2-x4=施法开关
- **x2-x4=(0-0-0)天使类(只能复活未完全死亡部队)
- **x2-x4=(1-1-1)灯神类
- **x2-x4=(8-7-2)紫龙类(可用BM:U4施放指定魔法)</P>
- <P>**x2-x4=(8-7-1)指挥官类(可用BM:U4施放指定魔法)跟8-7-2应该差不多
- **BM:U无法指定的魔法编号包括:
- **0-9冒险魔法,12力盾,40牺牲,63瞬移,64驱除障碍,76(死亡之云)及之后编号
- **堆栈施法只能对有堆栈的目标施法(也就是不能对完全死亡的部队施法)
- !!FU|x1<13/x1>196:E;
- !!VRy2:S7994243 +x1;
- !!VRy3:S7994051 +x1;
- !!VRy4:S7993859 +x1;
- !!UN:Cy2/1/x2;
- !!UN:Cy3/1/x3;
- !!UN:Cy4/1/x4;
- !?FU77006;[施放指定施法]
- **占用临时变量 v600-v625
- !!SN:X?y1/?y2;
- !!VRy3:Sy1 *21 +y2;[下一轮堆栈编号]
- !!BMy3:T?y11 N?y12;
- !!FU&y11<>155:E; [非暗黑龙]
- !!BMy3:E?y4;
- !!FU&y4<0:E; [没有施法次数]
- !!VRv600:C27/28/29/37/41/43/46/48/49/51/53/58/65;[一些魔法编号]有益状态
- !!VRv613:C42/45/47/50/52/54/59/62/70/71/73/74/75;[625]有害状态
- !!VRy20:S0 R25;[0-25]
- !!VRy20:+600;
- !!BMy3:U4/vy20;[随机施法]</P>
复制代码
|
评分
-
4
查看全部评分
-
|