}
}
pawns = pawns[0..i - 1] + pawns[i + 1..i - 1]; set(\save(); continue;
tol+=1;
if(tol>=CAN_MAX_PAWNS) { }
write(\你最多仅能典当\件物品。\\n\return 1;
} else tol=0;
if( !me->can_afford(v)) { }
write(name+\唱道:押\sell_msg[random(sizeof(sell_msg))] + ob->query(\+
write(\你没有足够的钱支付,手续费需要\。\\n\return 1;
\一\。\\n\
write(sprintf(\你把身上的%s拿出来当掉了,支付手续费%s。\\n\
HOCKSHOP_NEW->money_num(v) ));
dbase = ob->query_entire_dbase(); pawn = allocate_mapping(11); pawn[\
pawn[\pawn[\pawn[\pawn[\
pawn[\pawn[\pawn[\pawn[\pawn[\if(efile==\
pawn[\长安城-董记当铺\else
if(efile==\
pawn[\开封城-徐记当铺\else
31
if(efile==\
pawn[\天竺国-乐记当铺\else
if(efile==\
pawn[\傲来国-吴家当铺\pawn[\else
if(tol<1) { }
if( !pointerp(pawns) || !sizeof(pawns) )
pawns = ({ pawn }); pawns += ({ pawn }); else
/* 所有MUD都该做此设置,可避免ID相同,却不是同一人 */ if(!query(\
set(\set(\if(!query(\
set(\save(); /*
在任何类似处,特别是没有前置判断的时候,都必须先做判断 否则会给变向消BUSY提供机会。而所有设置到物品易手特别是 金钱变动的时候,都必须至少BUSY为1。 */ }
int do_retrieve(string arg)
return 1; if(amount>1)
ob->add_amount(-1); destruct(ob); else
me->pay_money(v); me->save(); if(!me->is_busy())
me->start_busy(1);
32
{
me=this_player();
if(!query(\query(\
if (!arg)
////////////////////////////////////////////////////////
if( !sscanf(arg, \
return notify_fail(\你要取回第几号物品?\\n\name=boss->query(\
////////////////////////////////////////////////////////
boss=HOCKSHOP_NEW->have_hock_boss(env); if(!boss) return 1; // 禁止冒充BOSS
if(boss->query(\ }
write(query(\当前法定持牌人不在,无法进行交易。\\n\return 1;
pawns= query(\
if( !pointerp(pawns) || !sizeof(pawns) ) { }
write(\你目前没有任何当品放在当铺中!\\n\return 1;
return notify_fail(\你要取回第几样物品?请输入正确序号。\\n\if(me->is_busy()) return notify_fail(\你正忙着。\\n\ }
write(\这张当票不是你的。\\n\des_wait(); return 1;
if(!env->is_hockshop_room())
return notify_fail(\你只能在当铺取回当品。\\n\env=environment(me); mapping *pawns;
int num, amount, err_flag=0; object me, obj, env, boss; string name, file, errfile=\
33
if (file_size(file+\
write(sprintf(\你从%s将 \号当品%s取了回来。\\n\env->query(\arg, obj->name() ) );
return 1;
if(!me->is_busy()) me->start_busy(1); if(!obj->move(me,1)) { }
pawns= pawns[0..num-2] + pawns[num..sizeof(pawns)-1]; set(\save();
tell_object(me,\由于\太重了,你只好丢在地上。\\n\obj->move(env,1);
if( !undefinedp(pawns[num-1][\ }
string *key; int j;
key = keys(pawns[num-1][\j = sizeof(key);
while(j--) obj->set(key[j], pawns[num-1][\obj->delete(\obj=new(file+\ }
if(pawns[num-1][\ }
write(pawns[num-1][\是存放在return 1;
pawns= pawns[0..num-2] + pawns[num..sizeof(pawns)-1]; set(\save();
file=pawns[num-1][\
if( num < 1 || num > sizeof(pawns) )
return notify_fail(\物品序号不对。\\n\
return notify_fail(\没有这件物品!\\n\
\的,你无法在这里取回。\\n\
34
}
int do_stamps() {
if(getuid(me)!=query(\
return notify_fail(\这张当票不是你的。\\n\
// 容错
time=HOCKSHOP_NEW->Chinese_time(ctime(pawns[i][\
file=pawns[i][\
msg_to +=\┏━━┳━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━msg_to +=\┃序号┃ 物 件 名 称 [ID] ┃ 典 当 地 点 msg_to +=\┣━━╋━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━x=0; A=0;
for(i=count-1; i>=0; i--) { // 降序排列
reset_eval_cost();
┳━━━━━━━━┳━━┓\\n\┃ 到 期 时 间 ┃ QC ┃\\n\╋━━━━━━━━╋━━┫\\n\
msg_to += \◆ 取回当品请用:retrieve/shuhui <序号> ◆ 红色 \×× \说明文件异常。\\n\
count=sizeof(pawns) ; pawns= query(\
if( !pointerp(pawns) || !sizeof(pawns) ) { }
write( \目前没有任何典当过的物品。\\n\return 1; restore();
if(me->is_busy()) return notify_fail(\你正忙着。\\n\mapping *pawns;
int i, A, count, x, t=0, err_flag=0;
string desc=\object obj, me=this_player(); string time, hk_room, hk_file;
35

