master.c

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

C
158
字号
// mu-ren.c 木人#include <ansi.h>inherit NPC;//inherit F_CLEAN_UP;void create(){	set_name(HIY"代理教头"NOR, ({ "jiaolian" }) );   set("no_get",1);	set("gender", "男性" );	set("age", 30);	set("long", "一个门派教头。\n");	set("attitude", "heroism");	set_temp("no_kill", 1);	set("str", 25);	set("con", 25);	set("dex", 25);	set("int", 25);	set("no_get", "1");	set("max_qi", 300);	set("eff_qi", 300);	set("qi", 300);	set("max_jing", 100);	set("jing", 100);	set("neili", 300);	set("max_neili", 300);	set("jiali", 10);	set("shen_type", 0);	set("combat_exp", 50000);	set_skill("force", 130); 	set_skill("unarmed", 130);	set_skill("dodge", 130);	set_skill("parry", 130);	set_skill("sword", 130); 	set_skill("blade", 130);	set_skill("staff", 130);	set_skill("strike", 130);	setup();        }void init(){	object me = this_object();	add_action("do_recover", "recover");}int do_recover(){	object me,ob;	mapping hp_status, skill_status, map_status, prepare_status;	string *sname, *mname, *pname;	int i, temp;	me = this_object();	ob = this_player();	if ( wizardp(ob)) 		return notify_fail("你是WIZ,没有这个资格!\n");;	if ( ob->query("combat_exp") < 3000000 ) 		return notify_fail("你的经验不够,没有这个资格!\n");;	if ( ob->query("score") < 5000 ) 		return notify_fail("你的江胡阅历不够,没有这个资格!\n");;		if ( mapp(skill_status = me->query_skills()) ) {		skill_status = me->query_skills();		sname  = keys(skill_status);		temp = sizeof(skill_status);		for(i=0; i<temp; i++) {			me->delete_skill(sname[i]);		}	}	if ( mapp(skill_status = ob->query_skills()) ) {		skill_status = ob->query_skills();		sname  = keys(skill_status);		for(i=0; i<sizeof(skill_status); i++) {			me->set_skill(sname[i], skill_status[sname[i]]);		}	}	/* delete and copy skill maps */	if ( mapp(map_status = me->query_skill_map()) ) {		mname  = keys(map_status);		temp = sizeof(map_status);		for(i=0; i<temp; i++) {			me->map_skill(mname[i]);		}	}	if ( mapp(map_status = ob->query_skill_map()) ) {		mname  = keys(map_status);		for(i=0; i<sizeof(map_status); i++) {			me->map_skill(mname[i], map_status[mname[i]]);		}	}	/* delete and copy skill prepares */	if ( mapp(prepare_status = me->query_skill_prepare()) ) {		pname  = keys(prepare_status);		temp = sizeof(prepare_status);		for(i=0; i<temp; i++) {			me->prepare_skill(pname[i]);		}	}	if ( mapp(prepare_status = ob->query_skill_prepare()) ) {		pname  = keys(prepare_status);		for(i=0; i<sizeof(prepare_status); i++) {			me->prepare_skill(pname[i], prepare_status[pname[i]]);		}	}		hp_status = ob->query_entire_dbase();		me->set("str", hp_status["str"]);		me->set("int", hp_status["int"]);		me->set("con", hp_status["con"]);		me->set("dex", hp_status["dex"]);		me->set("max_qi",    hp_status["max_qi"]);		me->set("eff_qi",    hp_status["eff_qi"]);		me->set("qi",        hp_status["qi"]);		me->set("max_jing",  hp_status["max_jing"]);		me->set("eff_jing",  hp_status["eff_jing"]);		me->set("jing",      hp_status["jing"]);		me->set("max_neili", hp_status["max_neili"]);		me->set("neili",     hp_status["neili"]);		me->set("jiali",     hp_status["jiali"]);		me->set("combat_exp",hp_status["combat_exp"]);	write("状态复元完毕。\n");	return 1;}int is_apprentice_of() {return 1;}int recognize_apprentice(){return 1;}

⌨️ 快捷键说明

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