作者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