\[官方引擎\]Cgdev.me官方Lua脚本引擎
-
适用版本 GMSV Avaritia(GA)
简要例子:
请看 /Module 下的三个简单的例子,喇叭(laba.lua) ,原地登录(myLogin.lua) ,地图生成(mapProc.lua)cgdev.me官方LUA架构版使用简要说明:
前言:此架构非必须,但是今后Cgdev的展示脚本都以这个架构展示。1,在此架构中,使用了基于模块(Module)的机制,每个功能独立于 /Module/*.lua中,使用时,请将写好的模块
放入 Module 文件夹内,然后在 Config.lua 中 useModule("*"); 即可。2,除了 Config.lua 文件,请不要修改除了 Module 文件夹以外的所有文件,需要自定义扩展库(第三方库)时,请放入 /System/OtherModule 文件夹中。
3,新增 Delegate 类,该类允许创建事件委托,实现方式请在 /System/BaseModule/Delegate.lua 中查看。
委托类用于创建一个后期绑定的事件,可以是多个文件进行绑定。
例子:假设我创建了 A.lua 和 B.lua 两个模块。
在 A.lua 中
Delegate.RegDelLoginEvent("ALoginEvent"); --创建登录委托事件function ALoginEvent(player)
NLG.SystemMessage(player,"来自A的问候。");
end
在 B.lua 中
Delegate.RegDelLoginEvent("BLoginEvent"); --创建登录委托事件function BLoginEvent(player)
NLG.SystemMessage(player,"来自B的问候。");
end
在 Config.lua 中添加引用
useModule("A");
useModule("B");那么,在玩家登录的时候,会同时收到
来自A.lua的问候。
来自B.lua的问候。
委托事件调用的先后顺序,取决于 Config.lua 中的引用顺序。Ver 2: 2013/1/20
增加以下委托事件:
*RegDelBattleSkillExpEvent
*RegDelProductSkillExpEvent
*RegDelGetExpEvent
注意:当注册多个调用以上三个经验加成事件委托都有返回值时,那么经验加成值则会累加,Ver 1:
增加以下委托事件:
*RegInit /* NPC,物品初始化时使用 */
*RegDelTalkEvent
*RegDelBattleStartEvent
*RegDelBattleOverEvent
*RegDelLoginEvent
*RegDelLogoutEvent
*RegDelDropEvent
*RegDelLoginGateEvent
*RegDelWarpEvent
*RegDelAllOutEvent /* 玩家离开事件,包括大登与断线。注:此委托之前也会调用DropEvent或LogoutEvent */
-
..............................................
-
不错啊要学习一下
-
感謝分享,學習中~~~~~~~~~
-
学习中 多谢楼主
-
感谢楼主分享!!
-
为什么减去我的活跃,还不让我下载附件呢
-
为什么归零就不让下载呢`?
-
什么狗屁引型,只是脚本而已 骗子
-
网站怎么时常没有主页呢?
-
能不能活跃绑定啊,刷新一下网页就筘一次活跃