dreamnb 发表于 2015-4-7 13:35:50

关于tintin++结合python的请教

请问tt++是怎么结合python脚本的?
是python脚本里写一个函数,tt里可以调用?

比如我用python脚本写一个 hello(name) 函数。当我hello(zhang)的时候,就返回一个hi zhang的命令。

def hello(name):
    hi zhang

然后我在tt里,如何调用这个函数呢?
另外只要hi zhang就可以了? 还是需要用什么方法才可以将输出传回tt呢?

北大侠客行MUD,中国最好的MUD

erq 发表于 2015-4-7 19:03:38

本帖最后由 erq 于 2015-4-7 11:08 AM 编辑

没法这么直接的调用与返回。。。两种方法:
1. 可以通过 #script {ret} {python3 xxxx} 执行一个 python 脚本, 脚本的输出 (stdout) 会放在 ret 中, 然后 tintin 自己解析 ret 的数据。
2. 通过 #run python_session {python3 xxx} 启动一个新的 session, 一般这个脚本需要在 stdin 上循环的读, 然后 tintin 这面可以通过 #python_session xxx 给脚本的 stdin 数据。脚本收到数据后可以往 stdout 写, 然后在 #python_session 里可以通过 #action 捕获这些 python 输出。。。。说的不太明白, 看看 #help run 吧。。

我觉得这两种都挺麻烦的, 所以使用第一种方法这样写:
脚本输出的东西都写到一个临时文件中, 并且通过 stdout 把临时文件的名字返回到 tintin, 然后 tintin 用 #read 去加载脚本产生的数据...
页: [1]
查看完整版本: 关于tintin++结合python的请教