战斗中的技能与事件指令说明
二、专门用于战斗场景的脚本命令条如下:
1. 对话框:同上
2. 选择框:SELECT同上
3. 过场字幕:SCREEN同上
4. 屏幕震动:SHAKE_SCREEN同上
5. 延时等待:DELAY同上
6. 跳转事件:EVENT同上
7. 暂停游戏:PAUSE*1 暂停当前游戏场景
8. 继续游戏:RESUME*1 继续当前游戏场景
9. 设置天气:SET_WEATHER*同上
10. BB对话框:BB*同上
11. 战斗人物对话泡泡:B_TALK*对象ID#随机文字段落1#随机文字段落2#随机文字段落3#...#随机文字段落N
对象ID通常为角色或单位的ID,当目标类型为地城刷新对象时,对象ID为该单位的控制ID
对象ID特殊值:
RND_ENEMY_UNIT:任意一个敌方小兵单位
RND_FRIEND_UNIT:任意我方小兵单位
12. 敌方单位增援:ENEMY_REINF*小兵列表命令(见小兵列表格式)
13. 我方单位增援:FRIEND_REINF*小兵列表命令(见小兵列表格式)
14. 下达撤退指令:CMD_RETREAT*0为我方全体1为敌方全体
15. 立即强制结束战斗:BATTLE_OVER*0为胜利 1为失败
16. 全灭目标:KILL_ALL*0为我方 1:为敌方
17. 主角不死:UNDEAD_PLAYER*1
18. 所有单位不死:UNDEAD_ALL*0:仅我方 1:敌我双方
19. *全体单位停止活动:STOP_ALL*0:恢复 1:停止
20. *控制单位移动:MOVE*单位ID(同上)#路径坐标表(坐标1x,y|坐标2x,y|...|坐标Nx,y)#移动速度
21. 场景使用技能:EXEC_SKILL*释放者ID#技能ID,技能等级(默认1级)#目标坐标的x,y#坐标参数1的x,y(所有坐标均为TILEDMAP的地图坐标)
释放者ID为目标的识别ID,可以有以下特殊值
PLAYER:玩家 GM_A:进攻方的预设对象 GM_B:防守方的预设对象
THIS:指令发起者(一般返回发射器自身)
EMITTER=ID:指定ID的地城发射器,可为this表示当前地城发射器
RND_FRIEND_UNIT:随机友方单位 RND_ENEMY_UNIT:随机敌方单位
当释放者为预设对象时,坐标参数1代表技能释放的其起始坐标
22. (地城)刷新已定义的地城单位:DUNGEON_SPAWN*控制ID#是否无视状态(当该单位已被击败时仍可刷新 0:否[默认] 1是)
23. (地城)设置地城专用触发器的状态:SET_DUNGEON_TS*控制ID#状态(0正常 -1禁用)
24. (地城)结束地城:DUNGEON_OVER*结果代码(0:退出 1:胜利 2:失败)
25. 设置障碍区域的状态:SET_AREA*控制ID#状态(0正常 -1禁用)
26. 设置物件的显示状态:SET_WIDGET*控制ID#状态(0正常 -1隐藏)
27. 设置地城传送器状态:SET_TP*控制ID#状态(0正常 -1禁用)
28. 设置地城发射器状态:SET_EMITTER*控制ID#状态(0正常 -1禁用)
29. 设置玩家角色的模型:SET_PLAYER_MODEL*单位模型描述信息
30. 设置玩家角色的当前技能:SET_PLAYER_SKILL*技能ID1,等级|技能ID2,等级|...|技能ID n,等级 (最多4个技能)
31. 直接执行技能指令:SKILL_CMD*技能指令内容
32. 设置地城自定义整形字段:SET_DG_INTVAR*字段ID#设置值#设置模式(可选 1为增加模式(原值加上设置值) 其他为直接赋值模式)
33. 设置大地图镜头参数:SET_CAMERA*跟随模式#参数
目前支持的镜头跟随模式及参数含义
0:跟随主角,无参数(默认)
1:跟随指定目标,参数为目标单位的对象ID
2:战场坐标位置,参数为坐标X,Y
34. 命令一个目标攻击另外一个敌方目标:ATTACK*攻击发起者对象ID#攻击目标对象ID
35. 为一个单位指定控制命令队列:CMD_QUEUE*目标对象ID#命令脚本的事件ID
其中,战斗中命令队列的设置格式为(时间参数表示该秒数后执行下一条):
指令类型1[,时间参数]:指令参数
指令类型2[,时间参数]:指令参数
...
当前支持的队列指令类型有:
skill_cmd:执行技能指令:参数为一行技能指令
use_skill:使用技能:技能ID,技能等级#目标单位对象参数#目标位置参数
event:执行战斗事件:战斗中事件ID#执行条件(可选)
move_to:移动至指定点:目标坐标参数#速度参数(该指令中时间参数无效,只有当单位正确到达目标后执行下一条)
set_dir:设置单位方向:参数为方向
keep_act:保持一个动作:动作ID(为空时表示待机动作)#循环次数(小于等于0为无限循环 默认1)#单次动作时间(<=0为始终保持 默认0) 注:此命令中时间参数无效,需等待动作循环执行结束为止,当无限循环时只有对该单位下达新指令方可结束动作保持
注意,以上命令中所有的坐标参数当为2参数时表示目标位置的x,y地图坐标,当3参数时第三个参数表示位置类型(0:地图坐标 1:战场坐标)
36. 设置一个单位的当前策略:SET_POLICY*目标对象ID#主策略类型#参数1#位置参数
当前支持的主策略类型有:
0:强攻(参数为唤醒半径,小于等于0为无限距离)
1:固守(参数为守卫半径)
2:跟随(参数为跟随半径)
3:攻略目标点
37. 设置一个单位身上的计时器:SET_UNIT_TIMER*目标对象ID#计时器ID#时间参数(<=0时为关闭 只有当单位身上挂有”on_timer”触发器事件时有效)
38. 立即释放出当前吟唱中的技能:FINISH_CAST*目标对象ID#目标技能ID(只有当目标正在吟唱该技能时生效)
39. 设置一个单位身上的基础属性(最终属性=基础属性+BUFF等附加属性):SET_UNIT_STAT*目标对象ID#属性信息表(格式为:字段1,值1|字段2.,值2|...)
40. 替换单位的当前技能表:REPLACE_SKILLS*目标对象ID#技能ID1,等级|技能ID2,等级|...|技能ID n,等级 (一次最多4个技能,当等级为0时表示移除该技能)
41. 替换单位的地城技能:REPLACE_DGSKILL*目标对象ID#地城技能ID,等级(技能ID为空或者null表示关闭该角色地城技能)
42. 播放一条战场消息:BATTLE_MSG*消息内容#消息类型(0:普通 1:警告)
43. 设置战斗结束检查器工作状态:SET_BATTLE_CHECKER*工作状态(0:关闭 1:开启)
44. 显示手动结束战斗按钮:SHOW_BATTLEOVER_BTN*1