box.c
来自「C实现的MUD,对大家基本入门网络游戏很有帮助!」· C语言 代码 · 共 79 行
C
79 行
// box.c 功德箱#include <ansi.h>inherit ITEM;void create(){ set_name("功德箱", ({ "gongde xiang", "xiang", "box" }) ); set_weight(3000); set_max_encumbrance(5000); if( clonep() ) set_default_object(__FILE__); else { set("unit", "个"); set("long", "这是一个小庙里常见的功德箱,专门用来接受善男信女们的捐款。\n"); set("value", 1000); set("material", "wood"); set("no_get",1); set("no_drop",1); set("amount",30); set("no_steal", 1); } setup();}int is_container() { return 1; }void init(){ object ob; object me = this_player(); if( me->query("combat_exp") <= 5 && this_object()->query("amount") >=10 && random(2) == 1 ) { ob=new("/clone/money/silver"); ob->set_amount(10); ob->move(this_object()); tell_object(me, "\n你忽然看到功德箱里有什麽东西在闪闪发光!\n\n"); me->add("combat_exp", 1); } add_action("do_put", "put");}int do_put(string arg){ object me, obj; string item, target; int amount; me = this_player(); if(!arg) return notify_fail("你要将什么东西放进哪里?\n"); if( sscanf(arg, "%s in %s", item, target)!=2 || sscanf(item, "%d %s", amount, item)!=2 || !objectp(obj = present(item, me)) ) return notify_fail("你要给谁什么东西?\n"); if( obj->query("money_id") == "silver" && obj->query_amount() >= 5 && amount >= 5 ) { if( me->query("begger") > 0) { message_vision( sprintf(HIY "$N将一%s%s放进%s。\n" NOR, obj->query("unit"), obj->name(), this_object()->name()),me ); obj->set_amount(obj->query_amount() - amount);; me->add("begger", (-1)*(amount/5)); if( me->query("begger") < 0) me->set("begger", 0); this_object()->add("amount", amount); return 1; } } return 0;}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?