[bash]随手写了个用ttyrec记录本地rep的脚本..
nethack吧
全部回复
仅看楼主
level 11
Frank_XuZ 楼主
以前一直懒得管这事, 不过昨天想起来了感觉不难就顺手写了写...
DATESTR=$(date '+%Y.%T')
NAME=$(whoami)
RECDIR=$HOME/nhsave
RECFN=$RECDIR/$NAME.$DATESTR.ttyrec
ttyrec $RECFN -e nethack
bzip2 $RECFN
linux党可以直接把这个复制到一个脚本里面加上x权限, 然后要打nh的时候就开这个就好了, 记录的文件名格式和NAO差不多, 应该... ttyrec记录的文件都用bz2压缩了, 需要回看的时候就简单地
$ bzcat <repfile>.bz2 | ttyplay
这样就行了~
记得以前翻看别人的rep的时候还有写过匹配开始游戏的画面并且选出开头的一个小脚本, 嘛, 也是几乎只有1行的小脚本, 不想去找也懒得写了, 再说吧...
总之这就是段超级simple/naive的wrapper, 想存rep的时候可以少敲一点东西...
以上~
2014年03月29日 05点03分 1
level 11
Frank_XuZ 楼主
笔误, date的格式应该是date '+%F-%T'...嘛, 反正没人会看, 自己用着就好了..
2014年03月29日 08点03分 2
level 10
我准备用,是好东西。不过,目前录像档都是实况,所以以后的档再试试看。我以前都是手动命名。。。。
2014年03月29日 10点03分 3
写个wrapper自动命个名也不是什么很难的事所以你自己肯定也写得出来的对吧ww~ p主实况继续加油, 我会一直看的ww~
2014年03月29日 10点03分
level 13
[太开心]
2014年03月30日 12点03分 4
[太开心]
2014年03月30日 12点03分
level 7
我机器里面没有安装这个ttyrec命令
2014年03月30日 18点03分 5
装呗, 用包管理器, 比如apt-get install ttyrec这样就好了, 反正整个ttyrec又不大...
2014年03月31日 00点03分
level 10
自编译了一个NAO版的NETHACK,装在了home里面,用你这脚本来录几个其他角色的快速流程。
2014年04月08日 04点04分 6
加油打完果断求发rep~~其实我自己也是用的和NAO同样patch的nethack~
2014年04月08日 05点04分
level 11
Frank_XuZ 楼主
然后又通关了一次wef之后就随手补上找rep开头的办法吧..
毕竟是固定程度的rep, 所以只要匹配welcome to NetHack这个字符串就可以搞定了, 因为只有开新角色的时候才会出现, 其他时候是welcome back, 就像下面这样...
#!/bin/bash
if [[ -z $1 ]]; then
INDIR=$PWD
else
INDIR=$1
fi
for fn in $(find $INDIR -name '*.ttyrec.bz2'); do
bzcat $fn | grep -H 'welcome to NetHack' >/dev/null
if [[ $? -eq 0 ]]; then
echo $fn
fi
done
写进一个脚本, 如果后面不加rep所在目录那就用当前目录, 所有开头的文件名打出到stdout
然后测试感觉还好, 另外, 目测度娘要吞缩进, 懒得调教, 愿意用的少年自行缩进应该无所谓吧...
以上~
2014年04月09日 07点04分 7
1