游民星空 > 攻略秘籍 > 攻略 > 正文

《侠客风云传》MOD工具及MOD制作图文教程

2015-12-13 18:21:02 来源:侠客风云传吧 作者:纱布RaBbiT 我要投稿

第15页:第三章-战斗系统

展开

第三章-战斗系统

  这次说一下战斗系统。战斗可以说是贯穿整个游戏并推动剧情发展的事件。而在剧情脉络设置里面,战斗也是至关重要的。

  战斗主要用的到文件有五个:BattleAreaData(战斗代码)、BattleSchedule(战斗补充)、RewardData(奖励信息)、MapTalkManager(大地图剧情对话)和BattleCharacterData(Npc战斗参数)。

  关联大概是这样的:一切战斗的初始状态都要从BattleAreaData(战斗代码)里面调用,例如养成剧情的IDevelopType为3时iArg3就要调用这里的代码;BattleSchedule(战斗补充)就是补充啦,各种高端战斗里面例如战斗中的对话、某人血量低了触发buff、或者上来就有buff、或者对方补充人数之类的;RewardData是战斗和剧情的连接,每一次战斗都有胜利和失败奖励,养成剧情下奖励文件里面必须包括接下来要跳转的事件id,不然游戏就会无法继续,出现五岳四龙那俩逗比然后卡住;战斗里的对白都是调用自MapTalkManager;BattleCharacterData(Npc战斗参数)就不说了,战斗要是没人还打什么鬼。

  当然还有MapID和BattleCondition什么的文件也有关联,这里就不细说了。

  先看看BattleAreaData(战斗代码),具体还是看图片吧,大概就是这些了:

游民星空

  简单的战斗,改BattleAreaData即可完成。复杂的战斗就得编辑BattleSchedule(战斗补充)了。说实话我也只是把BattleSchedule(战斗补充)里的东西稍微捋顺了一些,还没有真正去编辑它。这里首先要感谢mod群白川发出来的 基本思路 很有启发,文件我网盘里面有,自己去拿。这个BattleSchedule如果不狠心一次把它对照着捋顺了,下次再看基本就会全忘掉。如果对战斗有复杂想法的同学建议还是一次搞定。我这里可能表达得不会太清楚,但是相互对照着还是能弄的差不多的。

  先说战斗中的对白吧,想要自己编写或者增删战斗对白的话不止要改对白文件,还要要注意这里的调用

游民星空

游民星空

游民星空

  具体的触发条件请看下面,最好打开编辑器里找个战斗查看,不然看不懂的。

  战斗补充 BattleSchedule

  TriggerType

  0=默认,以及开场触发

  1=指定角色攻击时触发 TriggerData:BattleCharacterData id

  2=指定角色攻击后时触发 TriggerData:BattleCharacterData id

  3=指定角色受伤前触发 TriggerData:BattleCharacterData id

  4=指定角色受伤后触发 TriggerData:BattleCharacterData id

  5=指定角色死亡触发 TriggerData:BattleCharacterData id

  6=第几回合激活 TriggerData:回合数

  7=战斗胜利

  8=战斗失败

  9=某阵营全 TriggerData:0=我方 1=敌方

  TriggerData 是TriggerType 的说明,绑定的。

  RequireType

  0 无需求

  1=血量

  2=亲密度

  3=仇恨值 设定优先目标?

  4= 敌人数量 m_iRequireValue1 阵营编号 m_iRequireValue2 人数

  5=目标是谁 只有(触发点是1,2时)有用 m_iRequireValue1 填 目标 ID

  6=被谁打 只有(触发点是3,4时)有用 m_iRequireValue1 填 攻击者 ID

  7=进行中任务

  8=完成任务

  9=养成 事件作为前置(DevelopQuestData)

  RequireEqual

  0=等于

  1=大于

  2=小于

  3=大于等于

  4=小于等于

  5=不等于

  RequireType、RequireEqual和 iRequireValue2通常来说是跟TriggerType 4(=指定角色生命)绑定的,

  组成一个完整的目标气血到一定程度的事件触发开关

  iTriggerPercent 全都是0 不知道什么卵用

  TriggerEvent

  0=显示对话(Arg1=Map对话ID,Arg2=0)

  1=加入角色 iT1=BattleCharacterData id iT2= 0我方 1敌方 一条只能加一个人

  2=换阵营

  3=发动技能(Arg1=战斗NPCID,Arg2=技能ID,Arg3=目标NPCID)

  4=指定角色添加BUFF 0我方所有 1敌方所有(iT1=BattleCharacterData-对战角色 iT2=BattleCondition-buff效果)

  5=获得任务(进行中)(Arg1=任务ID,Arg2=0)

  6=获得任务(已完成)(Arg1=任务ID,Arg2=0)

  7=离开战场(Arg1=战斗NPCID)

  8=拨放音乐(Arg1=背景音乐)

  9=战斗结束(Arg1=获胜阵营)

  10=换AI (Arg1=战斗NPCID,Arg2=AI编号,Arg3=目标)

  iTriggerEventArg1 根据TriggerEvent的值调用MapTalkManager或BattleCharacterData里的id

  iTriggerEventArg2 读取剧情段或BattleCondition id

  iTriggerEventArg3 不知道干什么的

  iT1/2/3是跟TriggerEvent绑定的。

  我们这里做一个大概的设定,然后操作一下试试吧,我也是第一次搞这个。

  例如还是刚刚那一场,我们给怪医少女加个设定,要她在气血低于50%的时候获得聚气:

游民星空

  大概是这么个意思,我也没测试。这方面我还是弄得不好,希望有经验的玩家指正

更多相关内容请关注:侠客风云传专区

责任编辑:Agent

上一页 11 12 13 14 15 16 17 下一页
友情提示:支持键盘左右键“← →”翻页

本文是否解决了您的问题

游民星空APP
随手浏览游戏攻略
code
单机游戏下载
休闲娱乐
综合热点资讯
游民星空联运游戏