作者laechan (小太保)
看板mud_sanc
标题Re: [公告] 新增board相关指令
时间Thu Aug 11 07:02:39 2011
※ 引述《hlead (希多)》之铭言:
: 目前只写队伍的,大家可以party -board xxx看看。
: 然後浏览指令为 party -board list。
: ☆☆☆☆☆ 队伍布告栏 ☆☆☆☆☆
: ─────────────────────────────────────
: 新手盗贼(Norr):我要招募队员!!
: 话说,时间格式有哪几种可以用阿?除了Ctime()以外还有吗?
: 然後麻烦大家提供一下显示的格式吧!
: 基本上要有:时间、编号、张贴者、讯息。
晚上十点 徵召队员 去 试链之路 by norr(新手盗贼)
不限时间 徵召队员 去 八卦 by norr(新手盗贼)
不限时间 希望加入 去 试链之路 的队伍 by norr(新手盗贼)
if(徵召)
sprintf("%s 徵召队员 去 %s by %s(%s)\n",
时间,地点,ppl->query("name"),ppl->query("chi_name"));
else
sprintf("%s 希望加入 去%s 的队伍 by %s(%s)\n",
时间,地点,ppl->query("name"),ppl->query("chi_name"));
或是
norr 想在 晚上十点 徵召队员 去 试链之路
上面两种格式都可避免因为讯息过长而产生吃字情况.
(就是尽量别用到 chi_name 或 short, 要用的话就摆後面)
一个人限定只能贴一篇讯息。
然後你可以加个
party -boardjoin who
然後若有人 join 就变成..
norr 想在 晚上十点 徵召队员 去 试链之路
响应者有: laechan
因为 party -board 的资料格式假设是..
mapping board=([
"时间标记":
(["time":
"place":
"type":徵召 or 加入,
"who_join":({...}),
]),
]);
这样 who_join 就方便加入, 而要判断有没有 who_join
if(!undefinedp(board[时间标记]["who_join"])) // 代表有响应者
时间格式的部份建议你自写函数处理
string str=ctime(指定时间); // 先抓 ctime
str=return_my_hope_time_format(str);
^^^^^^^^^^^^^^^^^^^^^^^^^^
自写的函数
我很多时候也是自写函数处理,这可以减少撰写 simul_efun
的情况。(一个 simul_efun + 自写函数)
还有一种方法是让玩家直接输入, 例如..
party -board 组队 in 晚上十点 to 试链窟
party -board 加入 in 今天任何时间都可以 to 试链窟
^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^
限定字 格式不限 格式不限
然後讯息就加上张贴时间
norr 想在 今天晚上十点 组队 去 试链之路 (8/11 10:05am)
这样看到讯息的人就知道今天晚上十点指的是 8/11 22:00pm
做法大概如上,你可以参考,你也可以选择 teach/learn 先做
,先做如何让这两个共用同一块板子,或者板子分开,teach那
边看到的全是想教, learn 看到的全是想被教之类的. 或者一
律写在 guide 也可以,讯息就分教与被教。
Laechan
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 122.117.9.179