我正在开发一款名为Tibia的视频游戏,我几乎掌握了游戏服务器的基本功能,但现在我需要能够开发动作或者脚本编写,但是非常简单,没有任何花哨或困难,我不知道好像杂乱无章。
目前,该视频游戏的社区已经可以访问其脚本环境的原始文件,它是这样的:
Collision, IsCreature (Obj2) -> Teleport(Player,[47,14,1])
此闭源环境使用的脚本或语法分析器是一个基于令牌的简单类,它根据代码查找令牌并进行相应的读取。
代币如下:
A-Z = IDENTIFIER
0-9 = NUMBER
“= STRING
Anythig else = SYMBOL
它的用法如下:
// This is a sample to use with the code below:
// USERNAME = "ROBERT"
//
nextToken(); // Looks for next token type
if (token == IDENTIFIER) {
readSymbol(); // This reads =
readString(); // This reads text inside "
}
它基本上是在char *数组中循环并查找标记,我希望这很容易理解。
我希望实现的是一种在我的C ++代码中组织脚本文件中给出参数的函数的方法,就像我在脚本文件中有这样的一样:
// Conditions -> Actions
IsPosition([10,20,7]) -> TeleportPlayer(Player,[25,10,30])
知道一种方法来收集这个函数及其在我的游戏世界环境中使用的参数吗?就像我读完这个脚本文件后保存特定的条件和操作来检查我的代码上的其他地方,如果条件完成,然后执行以下操作?比如检查玩家是否站在位置然后传送播放器(这是脚本文件中写的内容)