作者laechan (小太保)
看板mud_sanc
标题Re: [建议] 新增国家查询指令
时间Tue Jun 21 11:10:22 2011
※ 引述《hlead (希多)》之铭言:
: 国家指令能新增查询 国民的最後上线 时间吗?
: 不然有很多幽灵国民,其实不知道该怎麽踢。
: 查到的参数貌似为 last_on ,不过没作用。
比较简单的方法是修改 /adm/daemons/logind.c
1.判断该人是否为某国国民
2.是的话, 呼叫位於该国目录下的某物件->登录->存档
存档内容可用 time(). 各国目录下的物件则统一继
承位於你目录下(/u/n/norr/)的某一档案即可.
然後该档案设定一个起始时间.
3.写一个大臣指令(/cmds/simul_king/), 用来查询本国
国民的最後一次上线时间.
a.最近有登入过的, 就会留下登入时间.
b.最近没登入过的就无纪录, 无纪录时把查询时间减
去上面2.的「起始时间」, 就能得到该国民至少已几
天未上线。
然後为避免 bug, 假设读取到的该国民国籍为 kingdom_name,
存档用物件为 xxx.c, 采用下列语法..
if(file_exists("/g/"+kingdom_name+"/xxx.c") &&
!catch(ob=find_object_or_load("/g/"+kingdom_name+"/xxx.c")))
ob->save_login_time(ppl,time());
这样就能避免一些语法错误, 造成玩家在 login 时产生
无法 login 的情况。
Belldandy.
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 115.80.208.231
1F:→ laechan :若你不方便写, 由我写也可以. 06/21 11:10
2F:→ hlead :那就由您写吧..avert 06/21 11:56
3F:→ hlead :编写位置在790~810行左右 06/21 11:59
4F:→ laechan :我最怕写这种国民有几百人的相关列表了 06/21 12:02
5F:→ hlead :我是想说可以设超过一个礼拜or一个月没上线才显示 06/21 12:13
6F:→ hlead :不然资料量也有点大... 06/21 12:13
7F:推 justinj :结论.....全部砍了比较快.......amem 06/21 13:49