- 积分
- 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
|
第一次应用ERA的模式来编写脚本,感觉有点不好控制.if的语句似乎有点多,希望不要看眼花了.
此脚本已经详细做了注释.
请大家帮忙测试一下,看看是否有错误或者漏洞?
也希望ERMer也尽快适应ERA的新增功能.- ZVSE
- **实现神圣天使多次连动的脚本.主要参考研究了Ber的大精灵脚本.
- **神圣天使可以连续行动3次,连动过程中士气高涨仍计入连动次数.但若最后一次的行动士气高涨时,将重新触发连动.
- **圣天使在连动过程中,好像不会触发士气低落.(待鉴定)
- **圣天使第一次行动后,下一个行动生物的士气低落会提前触发,暂时未想到解决的办法,但不影响天使的连动.
- **鉴于本人对ERA也是一知半解,请帮忙测试测试.以便改进.
- *--------------------------------------------------------
- !?BA0&1000;
- !!BA:O?y1/?y2 Q?y5; [y1攻击方玩家所属/y2防御方玩家所属/y5快速战斗(1启用,0关闭)
- !!OW:Iy1/?y3 Iy2/?y4; [检测玩家是 AI(1) 或 人类(0)]
- !!SN:W^BA0.IsAI.0^/y3 W^BA0.IsAI.1^/y4 W^BA0.QuickBattle^/y5; [使用变量名及赋值](如BA0.IsAI.0赋值意义是:进攻方是否AI)
- !!SN:W^Combo.Stack^/-1 W^Combo.Count^/0; [设置变量的初始值(连动的堆栈号及连动的次数)]
- **这里"W^Combo.Stack^/-1"定义了一个数字型变量,变量名"Combo.Stack",该变量值为-1
- **变量名"Combo.Stack"相当于一个内存地址.可以通过此变量名来访问该内存地址对应的值.
- **操作变量名,第二参数设置或检测即可(如"W^Combo.Stack^/v1"为设置,"W^Combo.Stack^/?v1"则为检测)
- *--------------------------------------------------------
- !?BG0&1000; [动作前]
- !!BU:T?y1 ; [检查是否有战术学因素]
- !!FU&y1=1:E; [战术学因素存在时不触发]
- !!SN:W^BA0.QuickBattle^/?y50; [获取是否自动战斗]*
- !!FU|y50=1:E; [自动战斗则退出]
- !!SN:W^Combo.Stack^/-1; [默认没有连动的堆栈]
- !!BG:N?y1 Q?y2 A?y3; [进攻堆栈/动作方势力/动作类型]
- !!FU|y1<0/y1>41:E;
- !!BMy1:T?y6; [检测生物类型]
- !!FU&y6<>150:E; [非神圣天使退出]
- !!SN&y3=3:W^Combo.Count^/0; [若生物防御,则连动次数归零]
- !!IF:V10/0; [初始化标志变量]
- !!IF|y3=2/y3=6/y3=7/y3=8/y3=10:V10/1; [若动作是:移动/移动攻击/射击/等待/生物施法,则标志为真]
- !!FU&-10:E; [标志10为假时退出]
- !!SN:W^Combo.Count^/?y4; [检测连击次数y4]
- !!SN:W^BA0.IsAI.%Y2^/?y5; [当前攻击方是否AI(1是,0否).注意SN:W中可应用%Y2引用字符串(类似于对话框中的显示)]*
- **连动过程中出现士气高涨时,也算入连击的次数,且连动时不允许等待**
- !!if&y4>=1:; [连动阶段时]
- !!if&y3=8:; [当前动作为 等待时]
- !!if&y5=0:; [人类玩家操作时](攻击方所属是人类玩家)
- !!VRz1:S^连动攻击模式下不能使用{等待}!^;
- !!MM:Sz1; [显示信息]
- !!VRy10:Sy4 +1; [还原动作前的连击次数]
- !!SN:W^Combo.Count^/y10; [设置连动数(因为动作后依然要减一)]
- !!BG:A0; [强制取消动作]
- !!SN:Q; [退出触发器,且同类型其它触发器BG:0均不执行]*
- !!el:; [电脑操作时]
- !!VRz1:S^电脑操控生物连动中使用{等待}动作,将强制为{防御}!^;
- !!MM:Sz1;
- !!BG:A3; [强制为防御动作]
- !!SN:W^Combo.Count^/0; [连动次数归零]
- !!en:;
- !!en:;
- !!if&y4>1:; [多次连击的情况]
- !!SN:W^Combo.Stack^/y1; [设置连击堆栈号Combo.Stack]
- !!BMy1:F?i; [获取标志]
- !!VRi:&-67108865; [改为未行动](相当于先 |67108864 再 -67108864)*
- !!BMy1:Fi; [将堆栈改为未行动]
- !!VRz1:S^神圣天使处于{连动攻击状态}!^;
- !!MM:Sz1;
- !!en:;
- !!el:;
- **大天使在该回合初次行动时(若最后一次连击后,士气高涨,下面代码依然有效)**
- !!FU&y3=8:E; [非连动模式下的等待,不触发连动]
- !!SN:W^Combo.Stack^/y1; [设置连击堆栈号Combo.Stack]
- !!BMy1:F?i; [获取标志]
- !!VRi:&-67108865; [改为未行动](相当于先 |67108864 再 -67108864)*
- !!BMy1:Fi; [将堆栈改为未行动]
- !!SN:W^Combo.Count^/3; [设置神圣天使的连动次数为3(动作后将自动减一)](可直接改多次)
- !!VRz1:S^神圣天使处于{连动攻击状态}!^;
- !!MM:Sz1;
- !!en:;
- *--------------------------------------------------------
- !?BG1&1000; [动作后]
- !!SN:W^Combo.Count^/?y1; [获取连动次数]
- !!FU&y1=0:E; [没有连动次数]
- !!VRy1:-1; [连动次数减一]
- !!SN:W^Combo.Count^/y1; [重设连动次数]
- *--------------------------------------------------------
- !?BA1&1000; [战斗结束后]
- !!SN:W^Combo.Stack^/-1 W^Combo.Count^/0; [重设变量值]
- *--------------------------------------------------------
- !?FU77006; [ERA新增的函数触发器:决定谁先行动的函数,此触发器在"堆栈动作后"触发(但在BG1之前触发)]
- **这里的作用是:当有连动的堆栈时,还原战场所有堆栈的行动状态,给予该连动堆栈行动优先权(需考虑死亡或石化等情况)**
- **注:77006函数会在战斗前运行一次(也在布阵之前),同样也在布阵后触发一次**
- !!SN:W^Combo.Stack^/?y1; [y1是连动的堆栈]
- !!FU|y1<0/y1>41:E; [由于函数在战斗前也会触发,战斗前必须将Combo.Stack设为-1]
- !!BMy1:T?y11 N?y12 G62/?y-3/d G70/?y-4/d G74/?y-5/d; [堆栈生物和个数,是否有禁止行动的魔法状态]
- !!VRy2:Sy1:21; [堆栈所属:0左,1右]
- !!VRy3:Sy1%21; [属于势力的第几支堆栈(0-20)](求余数的计算)
- !!SN|y11<0/y12<1/y-3>0/y-4>0/y-5>0:W^Combo.Count^/0; [连动模式被打断]
- !!SN&y11>-1/y12>0/y-3=0/y-4=0/y-5=0:Xy2/y3; [堆栈未完全死亡,且没有限制行动的魔法状态时:给予优先移动权]
- !!SN:W^Combo.Stack^/-1; [取消连动的堆栈号]
- **关于SN:Xy2/y3语句的说明
- **在新增的ERA触发器中,使用"SN:X"命令来传递变量(类似于FU:P传递参数).
- **查看帮助知道FU77006触发器中有2个参数, ①位置 (0 - 左方, 1 - 右方) / ②堆栈号 (0..41)
- **这里帮助貌似有个笔误,按理如果已经有堆栈号(0-41),就不需要左右方的判定了.
- **看了Ber的脚本才明白,第二参数应该是指该堆栈号处于该位置(左/右)的第几支队伍(0-20).
- **再来说SN:Xy2/y3意义,是给予了某支部队优先行动的权利.必须注意到FU77006函数是在生物动作后触发的,它能安排下一个该由谁来行动.(同一回合中)
- **贤知有您 2012-11-21**
复制代码
[ 本帖最后由 贤知有您 于 2012-11-30 22:45 编辑 ] |
评分
-
2
查看全部评分
-
|