今天预计将 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 我目前是先 // 掉)
排程拍卖也将确定不会卖“破旧的油灯”,脚本档若有这个东西它
将自动无视。