构造使用类C语言的脚本引擎(1)
作者 :kevin_qing
转贴请注明
需求:
实现npc逻辑,与游戏(服务器)交互。
例如与商人NPC对话打开买卖物品窗口等
设计:
参考传奇2服务器端脚本后(实现的很烂),定义脚本规则如下:
1.采用类C语言,因为熟悉C的人很多,而且C语法较严谨,且使用方便
2.数据类型只支持int和const string(用于外部函数的参数或返回值).变量只能为int且不需要显示声明.
3.支持的语法有函数调用(外部),if-[else],switch-case,goto,只能定义一个main()函数
外部函数返回值
4.考虑到效率,脚本经编译后在虚拟机内执行。
例:
main(){
say( "您好:^1%s^0我这为大家提供各种优质的服务/n"
"如洗红名,转职,买宝宝,药品超负重……等等/n"
"如果^1%s^0您确认您需要服务,请进入选择所需的服务/n"
"<进入选择>┃<算了吧>",username(),username() );
switch(wait(0)){
1:{

本文介绍了如何构建一个使用类C语言的脚本引擎,主要用于游戏服务器中的NPC逻辑。设计中,脚本语言仅支持int和const string数据类型,包含函数调用、if-else、switch-case和goto语句,并且会编译后在虚拟机中执行。示例脚本展示了say()和wait()函数的使用,以及如何处理用户选择事件。
最低0.47元/天 解锁文章
2558

被折叠的 条评论
为什么被折叠?



