⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 wear.c

📁 C实现的MUD,对大家基本入门网络游戏很有帮助!
💻 C
字号:
// wear.c

#include <ansi.h>

inherit F_CLEAN_UP;

int do_wear(object me, object ob);

int main(object me, string arg)
{
	object ob, *inv;
	int i, count;

	if( !arg ) return notify_fail("你要穿戴什么?\n");
   if (me->is_busy()) return notify_fail("你正忙着呢!\n");
	if(arg=="all") {
		inv = all_inventory(me);
		for(count=0, i=0; i<sizeof(inv); i++) {
			if( inv[i]->query("equipped") ) continue;
			if(do_wear(me, inv[i]) ) count ++;
		}
		write("Ok.\n");
		return 1;
	}

	if( !objectp(ob = present(arg, me)) )
		return notify_fail("你身上没有这样东西。\n");

	if( ob->query("equipped") )
		return notify_fail("你已经装备着了。\n");

	return do_wear(me, ob);
}

int do_wear(object me, object ob)
{
	string str;

	if( ob->query("id") == "jinsi jia" && me->query("age") >= 20)
		return notify_fail("你长大了,穿不上金丝甲了。\n");

	if( ob->query("female_only")
	&&      (string)me->query("gender") =="男性")
		return notify_fail("这是女人的衣衫,你一个大男人也想穿,羞也不羞?\n");

	if( ob->wear() ) {
		if( !stringp(str = ob->query("wear_msg")) )
			switch( ob->query("armor_type") ) {
				case "cloth":
				case "armor":
				case "boots":
					str = YEL "$N穿上一" + ob->query("unit") + "$n。\n" NOR;
					break;
				case "head":
				case "neck":
				case "wrists":
				case "finger":
				case "hands":
					str = YEL "$N戴上一" + ob->query("unit") + "$n。\n" NOR;
					break;
				case "waist":
					str = YEL "$N束起一" + ob->query("unit") + "$n。\n" NOR;
					break;
				case "wrists":
					str = YEL "$N套起一" + ob->query("unit") + "$n。\n" NOR;
					break;
				case "surcoat":
					str = YEL "$N扎起一" + ob->query("unit") + "$n。\n" NOR;
					break;
				case "shield":
					str = YEL "$N拿起一" + ob->query("unit") + "$n。\n" NOR;
					break;

				default:
					str = YEL "$N装备$n。\n" NOR;
			}
		message_vision(str, me, ob);
		return 1;
	} else
		return 0;
}

int help(object me)
{
	write(@HELP
指令格式:wear <装备名称>
 
这个指令让你装备某件防具。
 
HELP
    );
    return 1;
}

⌨️ 快捷键说明

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