部落与弯刀Wiki
搜索
登录
↓
个人工具
创建账户
登录
导航菜单
导航
汉家松鼠官网
首页
游戏介绍
MOD开发者手册
MOD开发教学视频
新闻(Steam)
讨论区(Steam)
创意工坊(Steam)
下载(Steam)
语言
简体中文
English
查看“战斗中的技能与事件指令说明”的源代码
来自部落与弯刀Wiki
←
战斗中的技能与事件指令说明
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于这些用户组的用户使用:
管理员
、
界面管理员
您可以查看与复制此页面的源代码。
'''特别注意:脚本编辑时注意所有特殊符号必须为半角!!!同时在剧情和所有配置表里也要避免使用带有特殊符号的字符串,以防止和脚本配合使用时发生脚本注入错误!''' ===战斗中的脚本指令列表=== {| class="wikitable" |+ ! ! |- | | |- | | |- | | |} 对话框:同上 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 专门用于战斗场景中条件查询方法 3. [%result_code%]:战斗中各种事件脚本的查询结果(如:选择框的结果) 4. [%bs_time%]:当前战斗进行的时间(整秒数) 5. [%rnd:A,B%]:返回一个每次都不相同的大于等于A小于等于B的随机值 6. [%last_rnd%]:返回上一次[%rnd:A,B%]查询到的结果 7. [%const_rnd%]:返回一个执行周期内相同的0-100的随机值 8. [%last_rnd_pos_x%]:返回上一个随机位置结果的X 9. [%last_rnd_pos_y%]:返回上一个随机位置结果的Y 10. [%last_rnd_pos%]:返回上一个随机位置坐标 11. [%last_skill%]:返回上一个使用技能的ID 12. [%this_type%]:当前查询对象的类型 0英雄 1小兵 13. [%aim_type%]:当前查询目标对象的类型 0英雄 1小兵 14. [%this_level%]:当前查询对象的等级 15. [%aim_level%]:当前查询目标对象的等级 16. [%this_hp_pct%]:当前查询对象的HP百分比 17. [%aim_hp_pct%]:当前查询目标对象的HP百分比 18. [%this_mp_pct%]:当前查询对象的MP百分比 19. [%aim_mp_pct%]:当前查询目标对象的MP百分比 20. [%friends_num%]:我方剩余人数 21. [%enemy_num%]:敌方剩余人数 22. [%hit_enemy%]:判断当前命中的目标是否caster的敌人。敌方1 友方0 23. [%battle_res%]:当前当前战斗结果 24. [%skill_lv:SKILL_ID%]:查询当前source对象指定技能ID的等级,无则返回0 25. [%base_atk%]:当前技能等级所对应的基础物理攻击力 26. [%base_magic_atk%]:当前技能等级所对应的基础魔法攻击力 27. [%standard_magic_atk%]:当前技能等级所对应的魔法最终攻击力 28. [%this_buff:BUFF_ID%]:查询当前source对象指定BUFF_ID的当前层数 29. [%aim_buff:BUFF_ID%]:查询当前target对象指定BUFF_ID的当前层数 30. [%stat:STAT_FIELD%]:查询当前source指定属性字段的当前数值 31. [%aim_stat:STAT_FIELD%]:查询当前target对象指定属性字段的当前数值 32. [%this_weapon%]:当前查询source对象的武器类型 33. [%aim_weapon%]:当前查询target对象的武器类型 34. [%charge_val%]:本次伤害的蓄力值(0~100) 35. [%cmd_argval%]:当前命令行的参数值 36. [%cmd_argval_next%]:返回当前命令行参数值后立即加1 37. [%rpt_index%]:当前命令行所在循环的INDEX值 38. [%find_tag:TAGINFO%]:执行一次目标单位查找,TAGINFO为目标单位信息,参数格式见7.4章说明,当查询到合适目标时返回1否则返回0 39. [%add_find_tag:TAGINFO%]:从已查找单位列表中增加目标单位,始终返回1,TAGINFO同上 40. [%rm_find_tag:TAGINFO%]:从已查找单位列表中排除目标单位,始终返回1,TAGINFO同上 41. [%reset_find_list%]:重置当前查找列表,始终返回1 42. [%rnd_enum:PROB_A,RES_A:PROB_B,RES_B:PROB_C,RES_C[:...]%]:随机枚举值,根据所有项的概率分布返回其中一个项的RES值。比如[%rnd_enum:25,1:40,2:35,3%]表示有25%的概率返回”1”,40%的概率返回”2”,35%的概率返回”3” 43. [%dg_sp_state:ID%]:返回当前地城中ControlID为ID的刷新单位的当前状态 0:未刷新 1:已刷新 -1:已击败 44. [%dg_unitnum:TAG%]:返回当前地城中剩余未击败并且Tag为TAG的地城刷新单位的个数 45. [%fd_sum%]:当前查询source对象的友军倒下计数器值 46. [%ed_sum%]:当前查询source对象的敌军倒下计数器值 47. [%fd_mod:MOD_VAL%]:当前查询source对象的友军倒下计数器值与MOD_VAL取余后的值 48. [%ed_mod:MOD_VAL%]:当前查询source对象的敌军倒下计数器值与MOD_VAL取余后的值 49. [%dg_int_val:KEY%]:返回指定KEY的自定义地城整形字段的值 50. [%emitter_pos:ID,MIN-MAX%]:返回指定指定ID的发射器中心位置,距其中心MIN至MAX的一个随机位置,并记录入last_rnd_pos 51. [%unit_timer:UNIT_ID,TIMER_ID%]:返回指定UNIT_ID单位身上所附加的ID为TIMER_ID的计时器剩余时间 52. [%this_intvar:ID%]:返回当前查询source对象身上的自定义整形数值(技能指令set_unit_intvar设置) 53. [%aim_intvar:ID%]:返回当前查询target对象身上的自定义整形数值(技能指令set_unit_intvar设置) 54. [%defeat_hit%]:查询当前命令是否是在击杀单位指令中执行的并且目标单位已被击杀(0:否 1:是) 注意:只能在技能中的命中命令指令中生效 55. [%eft_count:TAG%]:查询当前场上指定TAG的特效体数量 '''注意:仅支持查询由caster本单位创建的特效体''' 56. [%this_id%]:当前查询对象的单位ID 57. [%aim_id%]:当前查询目标对象的单位ID 58. [%hit_dmg_val%]:查询当前施法中对目标造成的实际伤害或治疗的实际数值 注意:只能在命中指令中生效 59. [%stealth_hit%]:查询当前技能或伤害是否是在隐身状态下进行的 0否1是 60. [%hit_count%]:查询当前技能命中判定生效的次数 61. 伤害表达式格式 4. 伤害值表达式由形如 key1:value1;key2:value2;...keyN:valueN这样的格式键值组合组成。 伤害值表达式可通过“[&expression&]”的格式嵌入到一些数值表里(如BUFF列表的状态值等); 目前可支持的键值有: a. type 伤害类型:0:普通近战攻击 1:普通远程攻击 2:技能伤害 3:治疗 4:回蓝 b. dmg 物理伤害数值,值为伤害值公式 c. t_dmg 真实伤害数值(所有治疗效果都为此值),值为伤害值公式 d. hit 命中参数(-1000~1000) 当不能闪避时为-1000 e. blk 被招架参数(-1000~1000) 当不能被招架时为-1000 f. cri 暴击参数(-1000~1000) 当不能暴击时为-1000 g. act 是否播放受击动作 1是 0否 h. eft 受击特效ID i. trig 是否触发伤害效果(如反伤等) j. attack_type 指定伤害的武器攻击类型 k. buff 受到该伤害时附带的BUFF效果, 格式为 BuffID,[time],[overlay],两个参数为可选参数,分别表示时间及层数 伤害值公式仅支持标准数学公式,包含以下运算符号:+-*/^%(),可嵌入一些预定义字段,所有预定义字段写在形如[%cmd%]的格式内,目前支持的预定义字段有: [%rnd:min_val,max_val%]:随机一个大于等于min_val,小于等于max_val的整数 [%field%]:field表示任意一个定义在角色属性字段中的数值 ===七、技能命令编辑说明=== 以下命令适用于战斗中技能的效果与事件。 技能命令条以”\n”换行符分隔,每条由延迟时间*[条件表达式(可选)]#命令内容组成,参考格式如下: 0*条件表达式1#技能命令1 0.2#技能命令2 …… 当条件表达式不为空时,根据条件表达式判定结果执行。 条件语句中可以使用一些内置命令来实现一些例如重复之类的特殊效果,例如 <nowiki>*</nowiki>REPEAT_START:9 语句1 语句2 [@0.01*[%rpt_index%]@]#技能命令 ... 语句N <nowiki>*</nowiki>REPEAT_END 表示将REPEAT_START行与REPEAT_END之间的所有行重复9遍,期间可以通过[%rpt_index%]来查询当前语句处于第几次循环 <nowiki>*</nowiki>SELECT_UNITS:[目标筛选条件表达式](注意,次数查询cast_info中的target为当前单位) 语句1 语句2 ... 语句N <nowiki>*</nowiki>SELECT_END 表示对SELECT_UNITS行与SELECT_END之间所有的命令行,对SELECT_UNITS:后所有满足指定条件表达式的对象使用,并以该对象作为caster对象 其中,嵌入到[@...@]中的语句为保留两位小数的结果运算取值,此类查询仅在技能命令中有效。 目前支持的技能命令有: 1. stop_act:立即停止当前所有技能动作并按照之前指令行动 stop_act#1 2. add_eft:向战场中添加一个预定义的特效体 add_eft#特效体ID#初始位置#运动参数#修改伤检对象(可选,为空时为默认)#附带伤害表达式(可选,为空时按照特效表中定义的伤害表达式计算,格式见6.4节)#目标参数(见7.4节说明)#特效体TAG(用于replace_eft指令查询) 初始位置格式为:位置类型,偏移x,偏移y,偏移z(偏移量为相对于初始方向的偏移) 支持的位置类型有: cast_pos:技能施放动作的预设位置 tag_pos:技能施放目标单位或者目标坐标的位置 hit_pos:技能命中目标单位当前的位置 unit_pos:技能施放单位当前的位置 start_pos:技能释放时的开始位置 rnd_pos:技能释放单位周围一个任意的位置 dim_pos:通过set_dimpos命令定义的预设位置 reinf_pos:施法者阵营方的增援位置 emitter_pos=EMITTER_ID:ID为EMITTER_ID的发射器发射点位置 unit_round=DIR:LEN:距离施法者正方向偏移DIR角度,距离为LEN的位置 rnd_round=RAD[-MIN_RAD]:施法者半径RAD范围内的随机位置,可选参数MIN_RAD表示随机范围距中心的最小距离,默认为0 eft_pos=TAG:返回查询到的第一个指定特效体TAG的特效体位置,如不存在则返回caster的当前位置 '''注意:仅支持查询由caster本单位创建的特效体''' …… 运动参数格式为:运动类型:运动参数(形如:参数1,参数2,参数3.....) 支持的运动类型有: l 0:不运动 无参数 l 1:运动至技能目标点 偏移x,偏移y,偏移z l 2:运动至技能目标单位 无参数(当目标参数不为空时使用目标参数指定的目标,否则按照技能释放目标) l 3:向指定方向运动 偏移角度,移动距离(最大不超过战场宽度) l 4:向指定方向往返运动 偏移角度,移动距离(最大不超过战场宽度) l 5:跟随目标运动 跟随类型(0固定相对位置,1发射点位置),偏移x,偏移y,偏移z,持续时间(-1为永久) l 6:运动至dim_pos 偏移x,偏移y,偏移z l .。。 3. dmg_check:进行伤害判定 dmg_check#判断类型#伤害值表达式#目标对象参数#判断参数表(“,”分隔)#是否过滤掉重复检定对象(可选,默认关闭) 支持的判断类型有: l 0:单体判断(目标对象参数为目标单位见下一小节,为空表示技能目标) l 1:半径范围判断 目标对象参数为目标类型(0:敌方 1:我方 2:双方) 参数表中参数1为参考位置类型(见add_eft命令的位置类型) 参数2,3,4,5分别为偏移坐标的x,y,z及半径 l 2:多边形范围判断 目标对象参数同上 参数表中参数1同上 参数2为旋转角度 参数3为多边形顶点数,参数4以后为以参考点坐标为(0,0)的多边形坐标信息 4. add_buff:对目标施加BUFF add_buff#buff ID#BUFF目标参数#持续时间(如不指定则采用BUFF默认持续时间)#叠加层数(默认为1)#上限层数(默认为配置表中的数值,只有大于0时生效) 可支持的内置目标参数有: caster:技能释放者 target:目标单位(指向性技能的目标或技能命中的目标) roleid,ROLEID:查询单位绑定人物ID为ROLEID的一个目标对象 buffgiver,BUFFID:查询当前caster身上一个ID为BUFFID的BUFF给与者 find_tag_res:查询指定目标的结果单位(必须先执行一次[%find_tag:TAGINFO%]查询才可调用) tag_next_fu,距离D:当前命中目标的下一个小于距离D的友方单位 caster_next_fu,距离D:施法者的下一个小于距离D的友方目标 caster_next_eu,距离D:施法者的下一个小于距离D的敌方目标 5. remove_buff:移除目标的BUFF remove_buff#移除目标(同上)#移除方式#参数1,参数2,参数3... 目前支持的移除方式如下 l 0:全部移除 l 1:移除指定BUFF 参数1为BUFF ID,参数2为移除层数(默认-1为全部移除) l 2:移除有害BUFF 参数1为移除数量(默认-1全部移除),参数2为BUFF子类型(默认-1不限) l 3:移除有益BUFF 参数1为移除数量(默认-1全部移除),参数2为BUFF子类型(默认-1不限) 1: 6. dart_move:突进类移动 dart_move#动作ID#移动类型#速度参数#冲撞质量#绑定特效#运动结束承接技能,技能等级(默认1级)[可为空],时间偏移(秒,在运动结束前开始执行承接技能向前的时间偏移量>=0)[可为空]#操作对象(可选,默认为caster)#修正目标位置(可选,参数格式见节2)#是否强制(默认0 为1时强制移动) 移动类型分为: 0:匀速运动 1:跳跃 2:击退运动 3:击飞运动 (当为击飞运动时,速度参数为击飞的滞空时间) 速度参数为角色移动时的水平速度(当速度小于等于0时为闪现至目标) 冲撞质量在匀速运动时表示刚体质量,0为无视碰撞 (当为跳跃运动时该参数代表跳跃高度)——由于不使用物理引擎了,目前暂时无用了,参数还必须要填写。 绑定特效为运动时附加在单位上的特效ID 运动结束承接技能为执行运动结束后立即执行的技能ID 7. stop_dartmove:停止当前突进运动 stop_dartmove#1 8. explode:在目标位置进行一次爆破物理效果 explode#初始位置(见2节解释)#爆破半径#力度参数 9. add_force:对目标单位进行一次击退效果 add_force#力度参数#目标单位(可省略,默认target) 10. play_sound:播放一个指定音效 play_sound#音效ID#音效位置(同第一节解释) 11. unit_sound_dic:单位根据模型配置播放指定音效字典中的字段对应音效 unit_sound_dic#音效字典KEY值#单位目标参数 12. cast_sound:播放一个指定音效(在施法者处) cast_sound#音效ID 13. chain_eft_to:播放一个链式特效 chain_eft_to#释放单位#目标单位#特效预制体#传播速度(-1为瞬间)#维持时间#命中目标的伤害值表达式 释放目标的参数同本章第4小节 14. taunt:嘲讽效果,让目标立即攻击释放者 taunt#释放者#目标单位 15. use_skill:立即触发一个不需要吟唱时间的单体目标技能(可以是当前施法者没有的技能) use_skill#技能ID,技能等级(默认1级)#释放者#目标单位#目标位置(同2小节,为空表示同目标单位位置) 16. set_cmd_val:操作当前命令行参数 set_cmd_val#操作方式#操作值D 操作方式:0:设置为值D 1:增加值D 2:减少值D 注意:与其他缓冲后一次执行的指令不同,该指令不会进入执行队列,将立即执行生效。这是为了在一些需要在执行语句上下文中使用临时变量进行信息中继所设计的结构。 17. set_dimpos:设置预设位置参数 set_dimpos#操作方式#操作参数[#偏移参数(仅在查询单位位置时生效)] 操作方式: 0:我方增援出兵位置 操作参数分别为 x,y,z的偏移 1:查询目标单位位置 操作参数为查询指令(见第4小节) 2:查询技能参数位置 操作参数为查询指令(见第2小节位置信息) 18. play_sk_act:播放一个已定义的技能动作 play_sk_act#目标单位#技能动作ID名称#播放速度系数(默认1)#是否停止移动(默认否) 19. summon_unit:召唤一个单位 summon_unit#召唤方式#对象参数[,血量百分比(可选参数,默认为100)]#初始位置参数#持续时间#附加状态表#附加特效参数 召唤方式:0:对象的镜像 1:通过人物ID召唤 2:通过小兵ID召唤 对象参数: 当召唤方式为0时表示对象单位(参考本章4节);当召唤方式为1时表示人物模版ID,等级;当召唤方式为2时表示兵种单位ID 初始位置参数见本章2节 持续时间小于等于0时表示本次战斗永久持续,大于0时表示持续秒数 附加状态为该单位的附加属性表,如: s_生命,-[&[%s_生命%]*0.5&]|s_攻击,-[&[%s_攻击%]*0.5&] 表示召唤出的单位生命与攻击力均为原单位的一半 附加特效参数:默认为0 当为1时显示半透明影子效果 20. set_unitpos强制改变目标单位的当前位置 set_unitpos#操作对象(同4节)#位置信息(同2节) 21. set_active设置目标单位的激活状态 set_active#操作对象(同4节)#是否激活(1是0否),是否隐藏(1是0否,仅在非激活时有效) 22. kill_unit目标立即被击倒(无视无敌属性) kill_unit#操作对象(同4节) 23. down_unit目标主动倒下 down_unit#操作对象(同4节) 24. b_talk在目标头上弹出一个对话气泡 b_talk#操作对象#对话内容#持续时间(秒数,可省略) 25. yell目标呼喊出几个字(多为技能) yell#操作对象#喊话内容 26. warning_area播放一个圆形战场警告区域 warning_area#目标位置信息#半径#持续时间(秒) 27. timeline播放一个TimeLine技能对象 timeline#指定的TimeLine ID 28. block_act 设置当前施法者的动作锁定状态 block_act#状态类型(见下表)#是否可打断该状态(0否1是)#锁定时间(单位:秒 Timeline里编辑时可不指定该时间,以再度调用 block_act#0#0#0的时间差为准) 可用的锁定状态 0:不锁定 1:锁定攻击及移动 2:仅锁定攻击 29. camera_shake 镜头抖动 camera_shake#时长(秒)#幅度 30. rotate 控制角色进行旋转 rotate#目标参数(见7.4)#起始偏转角度(相对于当前方向)#共计旋转角度数(负数为反转)#持续时间(秒) 31. replace_eft:查找并用指定的特效体在当前位置替换目标特效体 replace_eft#指定的特效体TAG#匹配数量(≤0时为匹配全部,>0为匹配生成时间最早的有限几个)#用于替换的特效体ID(可为空表示直接停止目标特效)#初始位置(默认空或hit_pos为替换目标的当前位置,否则同add_eft)#运动参数#修改伤检对象(可选,为空时为默认)#附带伤害表达式(同add_eft)#目标参数(同add_eft)#特效体TAG(用于replace_eft指令查询)#原特效体创建者的对象参数(可选,默认为所有人) 32. hitstop 角色顿帧 hitstop#操作对象#曲线起点降速幅度(倍率)#曲线终点降速幅度(倍率)#时长(秒) (结束后角色动作速度恢复为1倍) 33. global_hitstop 全局顿帧 global_hitstop#曲线起点降速幅度(倍率)#曲线终点降速幅度(倍率)#时长(秒) (结束后全局速度恢复为1倍) 34. set_skill_cd 更改施法者的技能CD set_skill_cd#技能ID表(为空或者为ALL表示单位的所有技能,多个技能ID以”|”分隔)#操作方式(0:减少 1:直接赋新值)#操作值(单位:秒) 35. get_items 战斗中立即获得道具或资源(增加的道具只对主角自己使用时有效) get_items#道具列表(道具表格式同剧情指令中的GETITEMS指令)#获得道具的对象目标参数 36. set_unit_intvar 为此单位设置一个自定义的整形变量值 set_unit_intvar#变量ID#操作方式(0:±改变 1:直接赋值)#操作值#操作对象目标参数(可选,默认为施法者) 37. call_battle_event 执行一个指定的战斗事件 call_battle_event#事件ID#执行者的目标参数(可选,事件脚本中THIS对象的默认值) 38. change_skill 替换施法者单位的当前技能列表 change_skill#技能列表信息 39. revert_skill 还原施法者的当前技能列表 revert_skill#1 40. change_dungeon_skill 替换施法者的地城技能 change_dungeon_skill#技能ID,等级 41. revert_dungeon_skill 还原施法者的地城技能 revert_dungeon_skill#1 42. replace_tag_skill 将一个单位的指定技能暂时替换为其他技能 replace_tag_skill#原技能ID#替换为新的技能ID,等级(如需还原该技能则为空)#替换时长(≤0时为永久,>0为持续指定秒数)#对象单位目标参数 43. ===十二、单位对象附加触发脚本编辑说明=== 通过在地城单位对象中的触发命令中定义,可对该单位附加若干触发器脚本。角色表中角色也可以通过在TAG中指定attached_script字段为一个脚本事件ID来给该角色附加触发脚本。定义格式为: [CMD_BEGIN]#触发类型1#触发条件(可选)#触发参数(可选) 命令行1 命令行2 ... 命令行N [CMD_END] [CMD_BEGIN]#触发类型2#触发条件(可选)#触发参数(可选) 命令行1 命令行2 ... 命令行N [CMD_END] ... 每个对象可挂载多个地城对象触发器,当前已支持的触发类型有: on_spawn:当刷新出时 enter_combat:进入战斗 get_hurt:单位受到伤害 dead:单位死亡时 on_timer:当单位身上的计时器(战斗指令SET_UNIT_TIMER设置)到时时触发 on_skill:该单位开始释放技能时触发 触发参数位技能ID hp_pct:单位血线第一次少于目标百分比时触发 触发参数位目标血线的百分比 以下为一段示例附加脚本: [CMD_BEGIN]#enter_combat# B_TALK*THIS#关门,放狗! [CMD_END] [CMD_BEGIN]#get_hurt#[%this_hp_pct%][<=]5&[%dg_int_val:测试计数器1%][<=]0 SET_DG_INTVAR*测试计数器1#1#1 SKILL_CMD*THIS#THIS#0#add_buff#中立#caster B_TALK*THIS#别打了!别打了!我认输,什么都给你! CMD_RETREAT*1 [CMD_END]
返回至
战斗中的技能与事件指令说明
。