- 积分
- 924
- 威望
- 0
- 魅力
- 0
- 经验
- 591
- 热心度
- 0
- 注册时间
- 2006-9-13
- 最后登录
- 2023-12-10
- 主题
- 27
- 回帖
- 112
- 精华
- 0
- 阅读权限
- 30
TA的每日心情 | 擦汗 2023-10-16 19:35 |
---|
签到天数: 61 天 连续签到: 1 天 [LV.6]地狱战马
3级 Known Hero
- 积分
- 924
|
想把gelu的特长改一下,让可以升级幻影射手的兵种更多
可是用触发器!!HE#:X,一次只支持将两个生物升级为一个
而如果多次调用!!HE#:X,又只有最后一次有效
所以只能绕个圈子,通过捕捉鼠标动作来进行升级
于是研究了[wiki]TDS[/wiki]中的Orrin的特长,找到了相关的代码。
<以下就是那段代码,其中红字是没看懂的地方>
!?CM2;
//触发器,鼠标点击
!!HE-1:N?y-10;
//将英雄代码保存在y-10中
!!FU&y-10<>0:E;
//英雄若不是Orrin(代码0),则推出
!!UN:G2/0/3/0;
//设置英雄特技的图片
!!CM:I?y1 S?y2 F?y3;
//得到CM的参数
//I:说白了就是点的是哪个button
//S:动作子类型,这个不太懂
// [wiki]ERM[/wiki]帮助里面只说一般是14,然后就没了。可是这里这个值是12
//F:标志,不懂什么意思
ERM帮助里面说0x200表示鼠标右键压下,其他什么也没说。这里似乎也不是0x200
!!HE0&y1=30720/y2=12:X0/1;
//判断当前压下的是哪个BUTTON
//30720代表的是OK按钮,如果按下OK按钮,则将Orrin的特长设成默认的X0/1(即箭术)
//这实际上是退出时恢复默认用的
//y2=12是什么作用,目前还不清楚
!!FU|y1<68/y1>74:E;
//如果点击的不是兵种的格子,则直接退出
!!FU&y2<>12:E;
//如果动作子类型不是12,则直接退出
!!VRy3:Sy1 -68;
//y3这个值实际上就是第几个格子的意思
!!HE0:C0/y3/?v1/?v3;
//将怪物的类型保存在v1,怪物的数量保存在v3
!!FU|v1<0/v3<1:E;
//怪物的类型和数量不正常(为负数),则直接退出
!!VRv2:S-1;
//v2=-1
!!MA:Xv1/?y4 Xv1/?y5;
//将怪物的属性标志为放入y4和y5
!!VRy4:&16;
//怪物属性是否为有生命的,结果保存在y4
!!VRy5:&262144;
//怪物属性是否为不死的,结果保存在y5
!!VRv2&y4=0/v1<>159:S123;
//生物为无生命的,且不是鬼魂,v2=123(转化为冰元素)
!!VRv2&y4>0:S-1;
//生物有生命,v2=-1(不能转化)
!!VRv2&y5>0:S65;
//生物为不死生物,v2=65(转化为尸巫)
!!VRv2|v1=8/v1=9/v1=34/v1=35/v1=76/v1=77:S136;
//生物为僧侣/祭司/法师/大法师/美杜莎/美杜莎女王,v2=136(转化为梦幻法师)
!!VRv2|v1=2/v1=3/v1=18/v1=19/v1=100/v1=101:S137;
//生物为弓箭手/神射手/木精灵/大精灵/蜥蜴人/蜥蜴勇士,v2=137(转化为幻影射手)
!!VRv2|v1=65/v1=123/v1=196:S-1;
//生物本身为尸巫/冰元素,则v1=-1,(即不能升级)
//v1=196不知道什么意思,ERM帮助里没有196这种生物
!!HE0&v2>=0:X6/v1/v1/v2;
//如果v2>=0,给英雄的特长临时变成v1升级为v2的特技
!!HE0&v2=-1:X0/1;
//如果v2=-1,恢复英雄默认特技 |
|