jiading.c

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

C
144
字号
// jiading.c 家丁#include <ansi.h>inherit NPC;inherit F_MASTER;void upgrade_title(object me,string arg);string clear_title(string arg);int ask_me();void create(){	set_name("家丁", ({ "jia ding", "ding" }));          set_name("家丁", ({ "jia ding", "ding","jia" }));	set("title", "大理镇南王府");	set("long", "他是大理国镇南王府的家丁。\n");	set("gender", "男性");	set("age", 40);	set("attitude", "friendly");	set("shen_type", 1);	set("str", 20);	set("int", 20);	set("con", 20);	set("dex", 20);		set("max_qi", 300);	set("max_jing", 200);	set("neili", 200);	set("max_neili", 200);	set("jiali", 10);	set("combat_exp", 10000);	set("score", 2000);	set("env/wimpy", 5);        set_skill("force", 25);        set_skill("dodge", 25);        set_skill("parry", 25);        set_skill("sword", 25);        set_skill("cuff", 25);	set_skill("kurong-changong", 25);        set_skill("duanjia-sword", 25);        set_skill("tiannan-step", 25);        set_skill("jinyu-quan", 25);	map_skill("force", "kurong-changong");	map_skill("dodge", "tiannan-step");	map_skill("sword", "duanjia-sword");	map_skill("cuff", "jinyu-quan");	map_skill("parry", "jinyu-quan");	set("inquiry", ([		"指点武功" : (: ask_me :),	]));	setup();	carry_object("/clone/misc/cloth")->wear();	carry_object("/clone/weapon/changjian")->wield();	add_money("silver",2 );}int ask_me(){	string oldtitle;	object ob, me;	me = this_object();	ob = this_player();	if ((int)ob->query_skill("kurong-changong",1) < 30)	{		command("say 你想当家臣,再练几年功夫去。\n");		return 1;	}if (!ob->query("title"))return 1;	oldtitle = ob->query("title");	if ((strsrch(oldtitle, "大理镇南王府家丁") >= 0) ||	   (strsrch(oldtitle, "大理镇南王府婢女") >= 0)) 	{		ob->set_temp("fight_ok",1);		command("say 好,既然如此想切磋,那就看你的本事如何了。\n");		return 1;	}	else	{		command("say 只有家丁或婢女才能升家臣。\n");		return 1;	}}int accept_fight(object ob){        object me  = this_object();        if ( !ob->query_temp("fight_ok") ) return 0;        remove_call_out("checking");        call_out("checking", 1, me, ob);        ob->delete_temp("fight_ok");        return 1;}int checking(object me, object ob){	object obj;	int my_max_qi, his_max_qi;	my_max_qi  = me->query("max_qi");	his_max_qi = ob->query("max_qi");	if (me->is_fighting()) 	{		call_out("checking",2, me, ob);		return 1;	}	if ( !present(ob, environment()) ) return 1; 	if (( (int)me->query("qi")*100 / my_max_qi) <= 50 ) 	{		command("say 青出於蓝胜於蓝,不愧是大理段家的好弟子 ! 恭喜你了 !\n");		command("say 你的已经可以胜任大理家臣 !\n");		upgrade_title(ob, "大理镇南王府家臣");		return 1;	}	if (( (int)ob->query("qi")*100 / his_max_qi) < 50 ) 	{		command("say 看来" + RANK_D->query_respect(ob) + 			"还得多加练习,方能在大理段家诸多弟子中出人头地 !\n");		return 1;	}	return 1;  }void upgrade_title(object ob,string arg){	string title;	title=arg+clear_title(ob->query("title"));	ob->set("title",title);}string clear_title(string arg){	if( (strsrch(arg, "大理镇南王府家丁") >= 0) ||	    (strsrch(arg, "大理镇南王府婢女") >= 0))	{		arg = replace_string(arg, "大理镇南王府婢女","");		arg = replace_string(arg, "大理镇南王府家丁","");	}	return arg;}

⌨️ 快捷键说明

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