构造使用类C语言的脚本引擎(1)脚本语法定义

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

构造使用类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"
  "<进入选择>┃<算了吧>&#

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值