增加支持Lua脚本

功能

 增加支持Lua脚本

Lua脚本用法

与之前所有NPC的脚本文件所放文件位置一样,原本脚本文件“NPC名字-地图编号.TXT”,用LUA就是“NPC名字-地图编号.LUA”。

注意: 当前M2脚本读取的方式是优先读取原本TXT脚本,在TXT脚本不存在时候去读取LUA脚本,如两种类型脚本都不存在则跳过此NPC脚本加载

Lua脚本例子

functionmain()

local role = server.getMyself()

NPCSAY(role.Name.."("..role.Level.."),<你好/AUTOCOLOR=253>\\<开始任务/@kai>\\")

end

function kai()

CHANGEEXP("+ 100")

SENDMSG("0 你的经验增加了100点!")

SENDCENTERMSG(" 180 251 这是一个居中显示的公告. 0 3")

end

function chkdbg()

if CHECKBAGSIZE("36") then

NPCSAY("你的背包至少有 35 个空位!\\ \\<返回/@main>")

else

NPCSAY("你的背包已没有 35 个空位\\ \\<返回/@main>")

end;

end;

二.新脚本语法规则说明:

正如上文示例所示,新脚本的语法有需注意的地方,如下:

1)、每个新脚本文件(通用的库文件除外),都应有main入口函数;

2)、新脚本系统预定义及处理了数个“变量”和函数,它们皆大写
3)、调用预定义的函数时(如CHANGEEXP),所有参数以字符串形式书写传递(如"+ 100"); …

N)、待补充。

三.预定义变量:(亦即由M2Server导出的可在脚本中引用的变量)列表

1)、GETOBJECT,获取某个变量,已支持获取当前角色及NPC对象(如上);

2)、新脚本系统预定义及处理了数个“变量”和函数,它们皆大写
四、预定义函数:(亦即由M2Server导出的可在脚本中引用的函数)列表

1)、每个新脚本文件(通用的库文件除外),都应有main入口函数;

2)、NPCSAY

3)、SENDMSG

4)、所有HERO支持的老脚本指令

五、角色属性列表

M2Server导出了一些可在脚本中以类似“role.XX”的形式引用的角色属性,以供方便快捷的读取角色信息,列表如下:

1)、Name

c7)、DC

13)、MaxWeight

2)、Level

8)、MC

14)、WearWeight

3)、HP

9)、SC

15)、MaxWearWeight

4)、MaxHP

10)、AC

16)、HandWeight

5)、MP

11)、MAC

17)、MaxHandWeight

6)、MaxMP

12)、Weight

18)、CreditPoint …等等。

注意:应先“role      =      GETOBJECT("PLAYER")”获取role对象,才可引用role的诸属性。