我正在开发一款游戏机器人。我想在那里放置类似脚本编写器的东西,我的程序正在从游戏的内存中读取所有需要的东西,而且我有所有的游戏对象。我想在我的程序中添加一些内容,允许用户创建自己的脚本。
例如
foreach (character ch in characters_on_screen)
{
if (ch.burning()) {game_say("burning!");}
}
我真的不知道它是否难以制作,这就是为什么我在这里写作:P,我在c#工作,我认为脚本语言并不重要,因为所有的游戏脚本都不会我觉得很难 那么最简单的方法是什么? (如果有的话) 谢谢:))
P.S。 我还想知道是否有办法禁用多个功能,比如创建文件等。
答案 0 :(得分:2)
查看csscript。
答案 1 :(得分:2)
您可以选择几种方式。
答案 2 :(得分:1)
您还可以使用C#编译器在运行时编译C#代码。查看Microsoft.CSharp
命名空间中的运行时补充类。
还有一个教程here。
通过这种方式,如果您愿意,可以尝试将输入视为santise;它只需要字符串。以及实施接口等限制。
答案 3 :(得分:1)
我会使用JavaScript。它更安全(例如,没有文件系统访问)并且易于编写。 JavaScript .NET是V8引擎的一个很好的包装器。
还有IActiveScript
COM接口,可用于托管任何实现IActiveScript的基于COM的脚本语言(例如VBScript,JScript [旧的5.x和更新的9.x {Chakra}] )