任务增强补丁v3.15

任务增强补丁v3.15

  • 语言:简体中文
    作者:zmj_123
    大小:2.55 MB
    环境:/Meteor1.07/9.07/1.08/9.08
  • 热度:
    类型:.7z
    日期:2020-09-06
  • 评分:

详情

            流星蝴蝶剑任务增强补丁 v3.15
           ( 真武林江湖群侠传 出品)

     该版本以下功能适用于 1.07/1.08/9.07/9.08 版本
         请不要修改该文件,避免运行崩溃!          

1
增加的API 功能函数:
1. 支持 任务PST和地图PST 通信,任务PST通过函数可直接控制地图机关变化。 
2. 支持 任务PST直接函数控制 语音对白,播放语音文件。每句对白是单独语音文件,自由控制播放时间点。
3. 支持 任务等级进度等保存功能, 不限Meteor.exe版本, 比如9.07 也支持保存功能. (提供2种保存函数)
3. 支持 任务PST直接切换玩家的武器。(EnableSwitchWeapon后, 小键盘 4/8/6/2 默认也可切换)
4. 支持 任务PST直接移动玩家到任意地点 
5. 支持 任务PST直接指定玩家使用任意招式。
6. 支持 任务PST直接显示当前使用武器的招式表, 游戏中出现半透明窗口 (EnableSwitchWeapon后 小键盘 5 默认也可切换)
7. 支持 任务PST接收游戏中键盘1-9按键事件, 方便任务PST获得用户选择(1/2..../9)进行多条件开放剧情编写 (键盘事件 9001-9009)
8. 支持 任务PST直接切换当前玩家使用的人物模型。
9. 支持 任务PST禁用ESC键,防止玩家跳过某些桥段。
10.支持 语音自动合成, 对白直接转声音. (声音质量取决于采用的TTS语音引擎,TBD)

基本函数使用简介:
ZMJAI_SendEvent(1, 0, 0, 0);    //播放第1句话, 立即播放
ZMJAI_SendEvent(1, 1, 7, 1);    //播放第2句话,7秒后播放, 1表示结束此次声音事件请求(使用1表示AI引擎会立即处理)
ZMJAI_SendEvent(0, 10, 3, 1);    //启动机关10, 3秒后启动, 1表示结束此次机关事件请求(使用1表示AI引擎会立即处理)
ZMJAI_GameSave(int score, int scence, int val1, int val2, int val3, int val4) //保存本关得分, 以及其余5个用户自定义意义参数 到 pst文件
ZMJAI_SwitchWeapon(8);        //切换或通知SDK, 主角主武器为8(刀)
ZMJAI_MakePose(239);        //让主角使用 239这一招,双刺 左右A
ZMJAI_MoveLocat(8, 9, 10);    //把主角移动到 坐标为8,9,10的地点去。
ZMJAI_SwitchHero(19);        //使用p19 model 代替当前的 model(一般默认是p0 model)
ZMJAI_EnableSwitchWeapon(0);    //0 : 不允许使用小键盘(4/8/6/2 和 5) 切换武器和显示招式表,  1: 允许切换 (按 F12+小键盘5 也可以开关)
ZMJAI_EnableDumpstate(0);    //仅供调试bug使用, 0 : 不生成dumpstate文件, 1: 生成, (会自动记录日志供调试,可能会导致系统卡顿)

ZMJAI_ShowSkillBook(6);        //游戏中出现半透明窗口显示主角当前使用武器的招式秘笈, -1则表示AI猜测当前武器(用过ZMJAI_SwitchWeapon或小键盘) 
//小键盘5 也可以弹出秘笈窗口,(该功能默认关闭。 调试可用 F11+小键盘5 来弹出, 依然需要先用 F12+小键盘5 先使能)
//低版本图像补丁与该功能冲突,高版本图像补丁则无问题(2019年6月后)

ZMJAI_EnableESCkey(0);        //0:不允许玩家使用ESC按键跳过剧情  1:允许玩家使用ESC按键跳过剧情

ZMJAI_SpeakVoice("Liang", "真武林",2, 1);//播放这句话,Liang表示男声/Liang (Lily表示女声Lily, ...), 1表示女声, 2秒后开始发声, 1表示结束此次声音事件请求, 
//使用TTS语音引擎合成来说话,必须安装TTS引擎,默认是 NeoSpeech, 质量比较高.默认该功能关闭, 可通过ZMJAI_SendEvent 播放高质量音频替代。


########################### MOD 制作简介 ###########################
再也不用设计NPC吃道具来控制地图机关了,
再也不用全程看哑巴字幕了,
再也不用全程使用同一个主角了,
再也不用全程使用同一把武器了,
再也不用切换出来看招式表了,
再也不能强制ESC跳过剧情桥段了,

添加相关文件到流星目录:
1. AIHero32.dll
2. UIHero32.dll
3. PScriptLib\zmjeve.pst  
4. default.res

如何使能补丁:
二进制打开Meteor.exe, 搜索AVIFile32.dll, 替换成AIHero32.dll 即可


######################## 如何编写剧本:
为了保证游戏效率,只有任务PST和地图PST 都添加了如下代码,
补丁才工作起来。

  
任务PST: sn01_.pst
///////////////////////////////////////////////////////////////////
ZMJAI_OnEvent(int zmjEvt)
{
    //Say(1, "Recv event : ", zmjEvt);
    return zmjEvt-0;
}
#include "..\PScriptLib\zmjeve.pst"

OnUpdate()
{
    int evt = ZMJAI_OnHandler();
    
    // ... 收到事件后该干嘛干嘛
    // ... evt 9001-9009 是专指用户按了键盘 1-9
    // ... 其他事件主要是自己编写的任务和地图互传事件
    // ... 调用 ZMJAI_XXX 做你想做的吧 !
}
///////////////////////////////////////////////////////////////////



地图PST:sn01.pst
///////////////////////////////////////////////////////////////////
ZMJAI_OnEvent(int zmjEvt)
{
    if(zmjEvt == -1)
    {
        return -1;
    }

    if(zmjEvt == 10)
    {
        Misc("transfer", 1, "D_wpBBox01"); // ... 做你想做的吧 !
        return 11;                           // 11会传给 任务PST
    }

    if(zmjEvt == 12)
    {
        int i;
        for(i=1; i<=32; i++)
        {
            StoneOnAttack(i, 1000);        // ... 做你想做的吧 !
        }

        return 13;                        // 13会传给 任务PST
    }
    
    return -1;
}
#include "..\PScriptLib\zmjeve.pst"
///////////////////////////////////////////////////////////////////


########################  对白语音定义:sound\zmjAIvoice.lst
///////////////////////////////////////////////////////////////////
zmj1.mp3
zmj2.mp3
zmj3.mp3
zmj4.mp3
zmj5.mp3
...

音频名是可以随意指定编写,
ZMJAI_SendEvent(1, 0, 0, 0); //播放第1句话(zmj1.mp3), 立即播放
///////////////////////////////////////////////////////////////////


########################   如何保存存档: 
ZMJAI_GameSave 或 ZMJAI_GameEncryptSave/ZMJAI_GameEncryptLoad
1. PScriptLib\zmjcfg.pst 该文件自动生成,可以直接包含在剧情PST里,函数调用保存的数据。 
2. Level\usrhero.sav     该文件是加密保存存档,最多保存120个数据,需要调用save/load函数


其他更多相关功能以及API使用方法,请参考附带的 演示demo 关卡 (钟乳洞)
 
展开全文…
收起全文…

下载

评论

友情链接

取消

感谢您对我们的支持!

扫码支持
扫码赞助,所有赞助资金将用于网站建设!

打开支付宝扫一扫,即可进行扫码赞助哦!

查看赞助人列表