今天預計將 blarket 改完,並確定腳本檔的格式,希望這禮拜
六日就有機會測試排程拍賣。
(視情況可讓它支援 blarket -end2 模式)
一、指令 blarket 修改
備份檔: blarker.20180120
int times_check(string names,string files,mixed vars)
{
// 實際執行排程的部份
if(sizeof(vars)>0)
return cmd_blarket(vars[0],this_object());
// 以下則是設定的部份
files="/open/cmds/"+substr(names,"_","/");
scripts=explode(read_file(files),"\n");
foreach(files in scripts)
{
sscanf(files,"%s %s",files,kind);
// 每一項拍賣進行 1 分鐘
if(kind=="-end2")
times_check_ob->set_times_no_save(names,files,
({"-auc "+files+"x100",t}));
else
times_check_ob->set_times_no_save(names,files,({"-auc "+files,t}));
times_check_ob->set_times_no_save(names,files,({"-continue",t+20}));
times_check_ob->set_times_no_save(names,files,({"-continue",t+40}));
times_check_ob->set_times_no_save(names,files,({kind,t+60}));
t=t+65;
}
return 1;
}
大概是這樣的感覺吧....不過我其實沒啥把握,還好這一段可以
try,我只要寫一個檔命名為 /open/cmds/blarket/newyear,然
後用手動的去 call times_check 來執行它即可。
接著要改 cmd_blarket 函數......這個好煩,我得先休息一下。
二、測試 blarket 排程拍賣
code 已經改好了,寫好後要花時間去看 times_check 才是問題
,但總之改完了也看完了。
腳本檔 /open/cmds/blarket/test
================================================
/d/auc/blarket/ob01 -end
/d/auc/blarket/ob02 -end
/d/auc/blarket/ob01 -end2
================================================
執行以下測試命令
> call _blarket;times_check;"blarket_test";"/cmds/std/_blarket";({})
房間(laechan /cmds/std/_blarket)-> times_check(
"blarket_test", "/cmds/std/_blarket", ({ }) ) = 1
兩秒後,自動執行 blarket -auc,進行第一項物品的拍賣
【黑市頻道】
====================================================
競標品:枯樹枝(deadwood)
競標價:十萬影特幣
得標方式:出價最高者得標。
====================================================
laechan:有意者請開始競標(blarket)!
假設有競標者
> blarket -bet 500000
【黑市頻道】 摳頂機器(Laechan:進階刀客)出價競標了!
20 秒後,第一次廣播
【黑市頻道】
====================================================
競標品:枯樹枝(deadwood)
競標價:十萬影特幣
得標方式:出價最高者得標。
====================================================
拍賣會主辦人:目前已有 1 位競標者!還有沒有人要競標?(blarket)
再 20 秒後,第二次廣播
【黑市頻道】
====================================================
競標品:枯樹枝(deadwood)
競標價:十萬影特幣
得標方式:出價最高者得標。
====================================================
拍賣會主辦人:目前已有 1 位競標者!還有沒有人要競標?(blarket)
再 20 秒後,進行結標
【黑市頻道】
====================================================
競標品:枯樹枝(deadwood)
競標價:十萬影特幣
得標方式:出價最高者得標。
====================================================
laechan:恭喜 laechan 以五十萬 int 得標!
其它人的出價為:
經過 5~7 秒,進行第二項物品的拍賣
【黑市頻道】
====================================================
競標品:Ψ一坪的密林Ψ(Forest of acreage)
競標價:十萬影特幣
得標方式:出價最高者得標。
====================================================
laechan:有意者請開始競標(blarket)!
以下同樣廣播兩次
【黑市頻道】
====================================================
競標品:Ψ一坪的密林Ψ(Forest of acreage)
競標價:十萬影特幣
得標方式:出價最高者得標。
====================================================
拍賣會主辦人:目前已有 0 位競標者!還有沒有人要競標?(blarket)
【黑市頻道】
====================================================
競標品:Ψ一坪的密林Ψ(Forest of acreage)
競標價:十萬影特幣
得標方式:出價最高者得標。
====================================================
拍賣會主辦人:目前已有 0 位競標者!還有沒有人要競標?(blarket)
若這時仍無人競標,就會出現以下訊息:
【黑市頻道】laechan 結束了這次的競標!
再經過 5~7 秒,進行第三項物品的拍賣,模式為 -end2
【黑市頻道】
====================================================
競標品:枯樹枝(deadwood)[一百份]
競標價:十萬影特幣
得標方式:所有參與競標者都有機會得到一份拍賣物。
====================================================
laechan:有意者請開始競標(blarket)!
這時我讓兩隻角色參與競標
【黑市頻道】 摳頂機器(Laechan:進階刀客)出價競標了!
【黑市頻道】 飛影(Hiei:騎士)出價競標了!
結標時就會出現如下訊息:
【黑市頻道】
====================================================
競標品:枯樹枝(deadwood)[一百份]
競標價:十萬影特幣
得標方式:所有參與競標者都有機會得到一份拍賣物。
====================================================
laechan:恭喜以下眾人得標
摳頂機器(Laechan:進階刀客)
飛影(Hiei:騎士)
排程拍賣大致沒問題了,再次證明 times_check 的泛用性及可靠
度,明天我再修正一些訊息的顯示以及 -crontab 的一些功能的執
行後,再測試完一次,之後就可以安排實際測試了,實測期間我會
在線上,若有發生狀況會立即介入處理。
(排程的 set_times_check 我目前是先 // 掉)
排程拍賣也將確定不會賣「破舊的油燈」,腳本檔若有這個東西它
將自動無視。