战斗中的技能与事件指令说明

来自部落与弯刀Wiki

Kevintien86讨论 | 贡献2020年1月20日 (一) 10:51的版本 (创建页面,内容为“===二、专门用于战斗场景的脚本命令条如下:=== 1. 对话框:同上 2. 选择框:SELECT同上 3. 过场字幕:SCREEN同上 4. 屏幕震动…”)
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)

二、专门用于战斗场景的脚本命令条如下:

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