目前排程拍賣運作的模式 - 聖殿英雄傳說 MUD
By Harry
at 2018-01-21T01:20
at 2018-01-21T01:20
Table of Contents
明天改完後這東西將會進行實測,wiz 們可先瞭解一下這東西的運作。
腳本檔
腳本檔統一放在 /open/cmds/blarket/ 目錄下,檔名不能用中文、不
能有底線。
檔案內容很簡單,每一行都是
欲拍賣物品的絕對路徑+檔名(不含.c) 結標模式(-end 及 -end2 兩種)
例如
/d/auc/blarket/ob01 -end <= 價高者得
/d/auc/blarket/ob01 -end2 <= 每個競標者都有機會拿到一份(預設拍賣100份)
另外,當腳本檔內某一行為 -- 時,就代表只讀到該行就結束。
寫好腳本檔後怎麼測試
很簡單,指令如下
cd /cmds/std
call _blarket;times_check;"blarket_腳本檔名";"/cmds/std/_blarket";({})
例如腳本檔名叫 test (/open/cmds/blarket/test)
call _blarket;times_check;"blarket_test";"/cmds/std/_blarket";({})
它就會跑了。
萬一發現執行有問題怎麼強制中止?
很簡單,指令如下
update /open/cmds/times_check <= 中止 times_check 的呼叫
blarket -halt <= 中止拍賣的進行
這樣就行了。通常 update times_check 就可以停了,多執行一個
blarket -halt 則是為了清除拍賣資料。
實際讓腳本檔依預訂的時間執行要怎麼設定
很簡單,指令只有一個:
blarket -crontab
再來就依顯示內容做相對映的輸入即可,例如腳本名稱假設叫 test
> blarket -crontab
1.新增排程
2.刪除排程
3.離開(按 q 或 quit 也可)
請輸入選項: 1
請輸入欲設定的排程拍賣主題(全英文, 例如 newyear): test
請輸入預定執行時間(mm/dd hh:mm): 02/15 21:00
腳本名稱: test 預定執行時間: Thu Feb 15 21:00:45 2018
資料設定 ok.
設定好之後再執行一次 blarket -crontab 就會看到設定資料
> blarket -crontab
腳本名稱: test 預定執行時間: Thu Feb 15 21:00:45 2018
1.新增排程
2.刪除排程
3.離開(按 q 或 quit 也可)
一個腳本只能被設定為一個排程,這個意思就是,如果你想在不同
的時間拍賣相同的東西,就應該給兩個腳本(然後它們的內容可以
相同),比方一個叫 test1,一個叫 test2。
blarket -auc 新增新的用法
目前可以這樣子下指令:
blarket -auc /d/auc/blarket/ob01
blarket -auc /d/auc/blarket/ob01 x 100
它會將這東西 clone 出來後,移到你的身上,再進行拍賣。以前
則是你要先將 /d/auc/blarket/ob01 出來再去 blarket -auc 它
以上,這是磨了很多天之後才確定的做法,它已經非常簡單且單純
了,希望會用到 blarket 的 wiz 都知道怎麼使用,未來其它例行
排程的東西我也都會參照 blarket 的寫法去弄,並要求 wiz 們也
必須 follow,亦即:
1.需自寫 times_check 函數且做必要修改
2.不允許在自己寫的 times_check 函數內使用 set_times_check
須一律使用 set_times_no_save,且需盡量使用內迴做法。
3.只要遵守前兩項原則,times_check 內要怎麼寫都是彈性的。
以上我日後也將撰寫非常簡單的範例來呈現,我會寫在區域房間內
,並寫兩條 crontab,一條是讓這個房間在預訂的時間開啟某個設
定,一條是讓這個房間在預訂的時間關閉某個設定。春節會用到這
個,例如 777 賭場。
Laechan
--
腳本檔
腳本檔統一放在 /open/cmds/blarket/ 目錄下,檔名不能用中文、不
能有底線。
檔案內容很簡單,每一行都是
欲拍賣物品的絕對路徑+檔名(不含.c) 結標模式(-end 及 -end2 兩種)
例如
/d/auc/blarket/ob01 -end <= 價高者得
/d/auc/blarket/ob01 -end2 <= 每個競標者都有機會拿到一份(預設拍賣100份)
另外,當腳本檔內某一行為 -- 時,就代表只讀到該行就結束。
寫好腳本檔後怎麼測試
很簡單,指令如下
cd /cmds/std
call _blarket;times_check;"blarket_腳本檔名";"/cmds/std/_blarket";({})
例如腳本檔名叫 test (/open/cmds/blarket/test)
call _blarket;times_check;"blarket_test";"/cmds/std/_blarket";({})
它就會跑了。
萬一發現執行有問題怎麼強制中止?
很簡單,指令如下
update /open/cmds/times_check <= 中止 times_check 的呼叫
blarket -halt <= 中止拍賣的進行
這樣就行了。通常 update times_check 就可以停了,多執行一個
blarket -halt 則是為了清除拍賣資料。
實際讓腳本檔依預訂的時間執行要怎麼設定
很簡單,指令只有一個:
blarket -crontab
再來就依顯示內容做相對映的輸入即可,例如腳本名稱假設叫 test
> blarket -crontab
1.新增排程
2.刪除排程
3.離開(按 q 或 quit 也可)
請輸入選項: 1
請輸入欲設定的排程拍賣主題(全英文, 例如 newyear): test
請輸入預定執行時間(mm/dd hh:mm): 02/15 21:00
腳本名稱: test 預定執行時間: Thu Feb 15 21:00:45 2018
資料設定 ok.
設定好之後再執行一次 blarket -crontab 就會看到設定資料
> blarket -crontab
腳本名稱: test 預定執行時間: Thu Feb 15 21:00:45 2018
1.新增排程
2.刪除排程
3.離開(按 q 或 quit 也可)
一個腳本只能被設定為一個排程,這個意思就是,如果你想在不同
的時間拍賣相同的東西,就應該給兩個腳本(然後它們的內容可以
相同),比方一個叫 test1,一個叫 test2。
blarket -auc 新增新的用法
目前可以這樣子下指令:
blarket -auc /d/auc/blarket/ob01
blarket -auc /d/auc/blarket/ob01 x 100
它會將這東西 clone 出來後,移到你的身上,再進行拍賣。以前
則是你要先將 /d/auc/blarket/ob01 出來再去 blarket -auc 它
以上,這是磨了很多天之後才確定的做法,它已經非常簡單且單純
了,希望會用到 blarket 的 wiz 都知道怎麼使用,未來其它例行
排程的東西我也都會參照 blarket 的寫法去弄,並要求 wiz 們也
必須 follow,亦即:
1.需自寫 times_check 函數且做必要修改
2.不允許在自己寫的 times_check 函數內使用 set_times_check
須一律使用 set_times_no_save,且需盡量使用內迴做法。
3.只要遵守前兩項原則,times_check 內要怎麼寫都是彈性的。
以上我日後也將撰寫非常簡單的範例來呈現,我會寫在區域房間內
,並寫兩條 crontab,一條是讓這個房間在預訂的時間開啟某個設
定,一條是讓這個房間在預訂的時間關閉某個設定。春節會用到這
個,例如 777 賭場。
Laechan
--
Tags:
線上
All Comments
Related Posts
光陰戰士請進-83勇士
By Jacky
at 2018-01-21T00:01
at 2018-01-21T00:01
如何棄卡不出牌
By Audriana
at 2018-01-20T21:00
at 2018-01-20T21:00
來討論中華可能的新金吧
By Franklin
at 2018-01-20T20:13
at 2018-01-20T20:13
元祖時神社長龍
By Christine
at 2018-01-20T19:55
at 2018-01-20T19:55
Shadowverse Packapalooza
By Rae
at 2018-01-20T19:21
at 2018-01-20T19:21