北大侠客行MUD论坛

 找回密码
 注册
搜索
热搜: 新手 wiki 升级
查看: 5371|回复: 1

关于tintin++结合python的请教

[复制链接]
发表于 2015-4-7 13:35:50 | 显示全部楼层 |阅读模式
请问tt++是怎么结合python脚本的?
是python脚本里写一个函数,tt里可以调用?

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

def hello(name):
    hi zhang

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

北大侠客行MUD,中国最好的MUD
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 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 去加载脚本产生的数据...
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|北大侠客行MUD ( 京ICP备16065414号-1 )

GMT+8, 2024-11-28 09:50 AM , Processed in 0.009100 second(s), 14 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表