diaoyu.c

来自「C实现的MUD,对大家基本入门网络游戏很有帮助!」· C语言 代码 · 共 71 行

C
71
字号
// created by snowcat inherit ITEM;void create(){  set_name("雕玉箱", ({ "diaoyu xiang", "xiang" }) );  set_weight(250000);  set_max_encumbrance(8000);  if( clonep() )    set_default_object(__FILE__);  else {    set("unit", "个");    set("long", "这是一个沉重的雕玉箱。\n");    set("value", 2000);  }}int is_container(){  return 1;}void init (){  add_action ("do_donate","donate");}int do_donate (string arg){  object who = this_player ();  object silver = present ("silver",who);  int amount, val;  string item;  object obj;  if(arg && sscanf(arg, "%d %s", amount, item)==2) {    if( !objectp(obj = present(item, who)) )      return notify_fail("你身上没有这样东西。\n");    if(!obj->value())        return notify_fail("这里只接受钱币捐款。\n");    if( amount < 1 )       return notify_fail(obj->name()+"的数量至少是一个。\n");    if( amount > obj->query_amount() )       return notify_fail("你没有那么多的" + obj->name() + "。\n");  } else {    if (! silver)      return notify_fail("你身上没有银子。\n");    obj=silver;    amount=1;  }  val=obj->query("base_value")*amount/1000;  // each gold will reduce total waiting time by 30 sec.  // mon 4/5/98  if(val<1) val=1;  who->add_temp("kaifeng_donate_silver", val);  message_vision ("$N从身上取出"+chinese_number(amount)+     "两"+obj->name()+"放到雕玉箱里。\n",who);  obj->set_amount( (int)obj->query_amount()-amount );  if (obj && obj->query_amount() == 0)    destruct (obj);  return 1;}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?