铁血丹心

 找回密码
 我要成为铁血侠客
搜索
查看: 2371|回复: 1

金水diy事件篇

[复制链接]
发表于 2013-12-30 13:46 | 显示全部楼层 |阅读模式
本帖最后由 柳无色 于 2013-12-30 15:17 编辑

金庸水浒传的系统,从DOS版到复刻版,再到现在的引擎,经历了许多变化,因此研究金水并不是一件容易的事。
最近引擎制作者weyl公布了金水diy演示版,公布了除源码外的所有东西,任何人可基于此系统做任何的MOD。
在事件制作方面,经过weyl、KA以及五酒肆屋等人的努力,由kdef转到了lua,事件制作上比原来简单。

在这里我会作些事件与指令方面的简单讲解,大家可试一试去改动。
首先是事件的打开方法。
在演示版的script\event文件夹里,可以看到kaXXX.lua文件,这便是各个编号的事件了,相当于fish修改器事件编辑里面的各个编号的事件。
这些lua文件可用ue、madedit等工具打开。
例如:

打开后就可以编辑事件了。
要新增事件,就直接新建文件,做好事件后,保存为kaXXX.lua就可以了。
要实现事件,方法跟DOS一样,在Fishedit里的场景编辑的事件层里实现就可以了。

接着是指令的改动,Fishedit的事件指令与lua里的指令对应如下表。


举个简单的事件例子:

DarkScence();--场景变黑
ModifyEvent(15, 0, 0, 0, -2, -2, -1, -2, -2, -2, -2, -2, -2);--原版的3指令,重新修改事件内容,必不可少的指令
LightScence();--场景变亮
WalkFromTo(14, 27, 7, 27);--主角行走
Talk(0, "这是什么东西?", -2, 0, 0, 0);--对话,现在对话不用清屏,直接下一个对话就行。
Talk(0, "这是一面神奇的镜子,你可以从里面看到你的资质", "商贩", 1, 1, 0);
Talk(85, "哈,不知&&哥哥的资质是多少呢", -2, 0, 0, 0);
showstringwithbox(10, 10, '是否看资质');
a=menu(2, 10, 40, 100, {'是','否'});--显示菜单,返回值0是第一项,小于0是esc。
if a==0 then
        b=GetRolePro(0,60);--原来50指令的一条,读取R属性,现在分开了,读人物是getrolepro,场景是getscencepro,物品是getitempro,参数是编号,偏移。
        ShowTitle("你的资质为"..b, 1);--显示字幕。如果要显示变量,则像这条指令那样,显示的地方接”..变量名“(引号里内容)
        if b<=50 then--分支不再用label,用if、while等条件、循环语句。
                Talk(0, "你的资质也太那个了,这里有两个智慧果,送给你罢。", "商贩", 1, 1, 0);
                GetItem(5,2);--得到物品的指令
                exit();--原版的7跟-1,结束事件
        end
else
        exit();
end

(待编辑)

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?我要成为铁血侠客

x
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
 楼主| 发表于 2013-12-30 13:57 | 显示全部楼层
占个位置备用。           
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。

本版积分规则

小黑屋|手机版|铁血丹心

GMT+8, 2024-11-15 12:12

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表