作者enthos (影斯)
看板HOT_Game
标题[人狼] 文字版伪人狼指令设定
时间Sat Feb 28 22:55:43 2009
0. 只做了设定,程式码一行都没改。
1. 目标:
a. 消除暴毙的设定,改用电脑乱数或AI(?)
b. 利用文字版的 Mud 修改,减轻网路流量及CPU load.
c. 允许制作外挂及AI(Server side)
d. 可以玩单机版
2. 设定
a. 每个人编号. 1,2,3,...,22
b. 提示符号
日-狼 1.路人甲 :>
夜-共 13.狐小妹 :>
c. 状态
(投票结果显示资料)
梦游 # 此回合未下指令投票,为预先投票或电脑乱数.
离魂 # 网路断线,其他同梦游.
回魂 # 重新连线的那一回合.(表示损失断线那一段时间的判断)
d. 开局後第一个白天回合, 占卜师的占卜发言会等待3分钟
再统一乱数发送. 但排序为 d1, d2, d3...
3. 指令集:
格式: 缩写 全名 # 注解
a auto # 自动做动作, 无脑新手专用
# a 占卜师自动占卜未占过的人(乱数)
# a 2 占卜师自动占 2 号, 若 2 号已占卜过,产生提示.
# a 灵能自动验屍
# a 猎人自动保护
as autosay # 自动做动作+说话,无脑新手专用
# as 3 占卜师自动占 3 号, 并广播. (同 ds)
# as 灵能自动验屍, 并广播.
# as 晚上+共有, 自动说一堆 ...
aw autowrite # 自动写遗书,无脑新手专用
# 占卜结果, 灵能验屍结果...
c check # 灵能验屍
v vote # 投票, 可以预先投, 例: vote 1 2 3 4 5
v2 vote2 # 投票相同时, 要改投谁, 例: v2 2 2 2 2 3 3
b bite # 狼咬人, 可以预先咬, 例 b 5 4 3 2 1
b2 bite2 # 投票相同时, 要改咬谁, 例: b2 2 2 2 2 3 3
d divine # 占卜, 无参数时列出已占结果
# 时间到时则乱数占卜
ds dsay # (divine and say)
# 广播占卜结果
f fake # 伪装系列
fd 1 w # 伪占 1 号为狼
fd 2 m # 伪占 2 号为人
fds # 伪占的广播
fc 1 w # 伪验屍 1 号为狼
fcs # 伪灵的广播
g guard # 猎人保护, g 1 (保护 1 号)
# g d1 (保护第1占)
q quickreview # 列出目前已知资讯
# q a 全部资讯
# q d 占卜结果
# q h 吊人资讯
# q w 狼人列表 (狼人端)
# q c 验屍结果
s say # 说话, 是 SocketMud 目前提供的可用指令.
w write # 写遗书,例: w abc\ndef\nghi (\n 换行)
w+ # 写遗书(append 模式), 例: aw\n w+ 我很闲.
4.
code base:
http://www.socketmud.dk/download/SocketMud-2.3.tar.gz
改掉下列这一行,就可以 "say 中文"
diff -u -r1.1 socketmud/src/socket.c
--- socketmud/src/socket.c 2009/02/24 13:22:38 1.1
+++ socketmud/src/socket.c 2009/02/24 13:47:06
@@ -817,7 +817,7 @@
compressEnd(dsock, TELOPT_COMPRESS2, FALSE);
}
}
- else if (isprint(dsock->inbuf[i]) && isascii(dsock->inbuf[i]))
+ else /* if (isprint(dsock->inbuf[i]) &&
isascii(dsock->inbuf[i])) // enable 8-bit */
{
dsock->next_command[j++] = dsock->inbuf[i];
}
参考用:
http://homepages.uc.edu/~hollisgf/nakedmud.html
keyword: mud game programming
keyword: 2shared 4shared csdn
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.113.22.98
1F:推 chenglap:何谓文字版? 02/28 23:05
2F:推 salagadoola:就是用telnet而不是用http 03/01 16:32