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

📄 control.c

📁 C实现的MUD,对大家基本入门网络游戏很有帮助!
💻 C
📖 第 1 页 / 共 4 页
字号:
//Cracked by Kafei// Control panel for Group BWDH// Apache 10/98// changed by sdong 10/03/98 for fixing some bugs#include <ansi.h>inherit NPC;int reset();int auto_check();#define BOARD __DIR__"npc/bwboard"#define CANGKU "/d/bwdh/sjsz/cangku"// I put all possible npcs at here!string *high_npc = ({	 "/d/biwu/ouyangfeng",	 "/quest/menpaijob/emei/miejue",	 "/kungfu/class/emei/zhou",	 "/kungfu/class/gaibang/hong",	 "/kungfu/class/huashan/feng",	 "/kungfu/class/huashan/yue-buqun",	 "/kungfu/class/shaolin/du-jie",	 "/kungfu/class/shaolin/du-nan",	 "/kungfu/class/shaolin/da-mo",	 "/kungfu/class/wudang/zhang",	 "/kungfu/class/xingxiu/ding",	 "/kungfu/class/xueshan/fawang",	 "/kungfu/class/xueshan/jiumozhi",	 "/quest/menpaijob/shenlong/hong",	 "/d/biwu/dongfang",});string *middle_npc = ({	 "/kungfu/class/btshan/ouyangke",	 "/kungfu/class/emei/jingxuan",	 "/kungfu/class/gaibang/jian",	 "/kungfu/class/shaolin/xuan-ci",	 "/kungfu/class/shaolin/xuan-bei",	 "/kungfu/class/shaolin/xuan-nan",	 "/kungfu/class/shaolin/xuan-ku",	 "/kungfu/class/wudang/mo",	 "/kungfu/class/wudang/yu",	 "/kungfu/class/wudang/yin",	 "/kungfu/class/wudang/song",	 "/kungfu/class/wudang/zhang",	 "/kungfu/class/xingxiu/zhaixing",	 "/kungfu/class/xuedao/shengdi",	 "/kungfu/class/xueshan/lingzhi",	 "/d/quanzhen/npc/hao",	 "/d/quanzhen/npc/ma",	 "/d/quanzhen/npc/tan",	 "/d/quanzhen/npc/liu",});string *low_npc = ({	 "/d/taishan/npc/tianmen",	 "/kungfu/class/emei/fang",	 "/kungfu/class/gaibang/kongkong",	 "/kungfu/class/shaolin/hui-kong",	 "/kungfu/class/xingxiu/azi",	 "/kungfu/class/wudang/daotong",	 "/kungfu/class/emei/li",	 "/kungfu/class/emei/bei",	 "/kungfu/class/emei/fang",	 "/d/songshan/npc/zuo",	 "/d/henshan/npc/moda",	 "/d/hengshan/npc/xian",	 "/d/qingcheng/npc/hai",	 "/kungfu/class/shenlong/su",	 "/kungfu/class/shenlong/wugen",	 "/d/xingxiu/npc/gushou",	 "/d/xingxiu/npc/boshou",	 "/d/xingxiu/npc/haoshou",	 "/d/xingxiu/npc/caihua",});string *misc_npc = ({	 "/d/shenlong/npc/dushe",	 "/d/shenlong/npc/fushe",	 "/d/wudujiao/npc/baidu5",	 "/d/wudujiao/npc/chanchu5",	 "/d/wudujiao/npc/laohu2",	 "/d/wudujiao/npc/qiandu5",	 "/d/wudujiao/npc/wandu5",	 "/d/wudujiao/npc/wolf2",	 "/d/wudujiao/npc/wugong3",	 "/d/wudujiao/npc/xiezi3",	 "/d/wudujiao/npc/zhangao",	 "/d/wudujiao/npc/zhanglang",	 "/d/wudujiao/npc/zhizhu3",});string *special_weapon = ({		  "/d/bwdh/sjsz/obj/hunterbow.c",		  "/d/bwdh/sjsz/obj/arrow.c",		  "/d/bwdh/sjsz/obj/dantou.c",		  "/d/bwdh/sjsz/obj/huoyao.c",		  "/quest/skills2/shop/shops/hammer.c",		  "/quest/skills2/shop/shops/sword.c",  // 倚天剑		  "/d/bwdh/sjsz/obj/yuxiao.c",//       : 1,  // 玉箫		  "/d/shaolin/obj/fumo-dao.c",//     : 1,  // 伏魔刀		  "/d/jinshe/obj/jinshe-jian.c",//  : 1,  // 金蛇剑		  "/d/bwdh/sjsz/obj/eyujian.c",//      : 1,  // 鳄嘴剪		  "/d/bwdh/sjsz/obj/eweibian.c",//     : 1,  // 鳄尾鞭		  "/d/bwdh/sjsz/obj/xuantie-jian.c",// : 1,  // 玄铁重剑		  "/d/jinshe/obj/jinshe-zhui.c", //  : 1,  // 金蛇锥		  "/kungfu/class/gaibang/obj/yuzhu_zhang.c",//  : 1,  // 玉竹杖		  "/d/bwdh/sjsz/obj/qijue.c",//        : 1,  // 七绝针		  "/d/bwdh/sjsz/obj/yuchang-jian.c",// : 1,  // 鱼肠剑		  "/d/bwdh/sjsz/obj/zhenwu.c",//       : 1,  // 真武剑		  "/d/bwdh/sjsz/obj/dulong-bian.c", //		  "/d/bwdh/sjsz/obj/tulong-dao.c", //		  "/d/bwdh/sjsz/obj/fan.c", //		  "/d/bwdh/sjsz/obj/jingun.c",//		  "/d/bwdh/sjsz/obj/falun5.c",//		  "/d/bwdh/sjsz/obj/qixing-jian.c", //		  "/d/bwdh/sjsz/obj/zijin-dao.c", //		  "/d/bwdh/sjsz/obj/heilong-bian.c ", //		  "/d/bwdh/sjsz/obj/songwen-jian.c ", //		  "/d/bwdh/sjsz/obj/youlong.c ", //		  "/d/shaolin/obj/jingang-zhao.c",//: 1,  // 金刚罩		  "/d/bwdh/sjsz/obj/wucan-yi.c",//    : 1,  // 乌蚕衣		  "/kungfu/class/taohua/obj/ruanwei.c",//  : 1,  // 软猬甲		  "/d/bwdh/sjsz/obj/xuedao.c",//       : 1,  // 血刀		  "/d/bwdh/sjsz/obj/yuandao.c",//       : 1,		  "/d/bwdh/sjsz/obj/yangdao.c",//       : 1,});void move_npc(object npc);int update(int n, int result);void sort_rank();void clean_sjsz();int do_judge(string arg);int do_fire(string arg);int do_clean(string arg);int do_challenge(string arg);void auto_check(int nCounts);int do_duet(string arg);void do_challenge(string arg);void do_accept(string arg);int do_goon();int do_auto_teamup(string arg);void move_me(object me, string place);void nude(object obj);void my_destruct(object obj);void full_all(object me);void move_me(object me, string place);int update_room (string file);int refresh_room (string file);void make_weapon(object npc);void make_npc(object room);void refresh_sjsz();void auto_check();void clean_sjsz();int do_back_stuff(string id);void create() {	 set_name("群英会大主持", ({ "da zhuchi","zhuchi","host" }));	 set("unit", "座");	 set("long", "他就是天下英雄报名参加群英会团体比武大赛的总主持人。他手持一个牌子,上书:报名指令:  teamup 队名 玩家1 玩家2 ... ... 玩家19 (报名组队,每队最少三人,最多允许20人一队。队名可以带颜色)  例如: teamup $HIW$飞虎队$NOR$ sdong sdon sdo  or baoming 队名 玩家1 玩家2 ... ... 玩家19 (报名组队,每队最少三人,最多允许20人一队。队名可以带颜色)  例如: baoming $HIW$飞虎队$NOR$ sdong sdon sdo  dismiss n (解散第N队)  kickout id (开除某玩家出队)  challenge n (挑战第N队)  accept n(接受第N队挑战)  clean id(清除玩家比武记录)  help sjsz  \n");/*	 set("no_get", 1);	 set("chat_chance", 240);	 set("chat_msg", ({			 (: auto_check :),	 }) );*//*	 set("chat_chance_combat", 240);	 set("chat_msg_combat", ({			 (: auto_check :),	 }) );*/	set("inquiry", ([		"试剑山庄": "试剑山庄是闻名遐迩的武林圣地。各路英雄都争相来这里比武。",		"sjsz": "试剑山庄是闻名遐迩的武林圣地。各路英雄都争相来这里比武。",		"baoming": "baoming 队名 玩家1 玩家2 ... ... 玩家19 (报名组队,每队最少三人,最多允许20人一队。队名可以带颜色)",		"join": "baoming 队名 玩家1 玩家2 ... ... 玩家19 (报名组队,每队最少三人,最多允许20人一队。队名可以带颜色)",		//"askback": "askback",	]));	 set("bwdhpk",1);setup();}void init() {	object me = this_player();	//add_action("do_back_stuff", "askback");	if( !query("bwdh") || me->query("judge") || wizardp(me) )	{	 add_action("do_add", "add");	 add_action("do_add", "teamup");	 add_action("do_discard", "dismiss");	 add_action("do_discard", "discard");	 add_action("do_challenge", "challenge");	 add_action("do_accept", "accept");	 add_action("do_fire", "kickout");	 add_action("do_clean", "clean");	 add_action("do_auto_teamup", "auto");	 if( me->query("judge") || wizardp(me) )	 {		 add_action("do_assign", "assign");		 add_action("do_judge", "judge");		 add_action("do_duet", "duet");		 add_action("do_goon", "goon");		 add_action("do_start","start");		 add_action("do_stop","stop");       add_action("do_refresh","refreshsjsz");	 }  }}int do_start(string arg){	object me = this_player();	if( query("bwdh") ) return notify_fail("比武已经开始了。\n");	message_vision(HIR"$N宣布群英会现在开始!\n"NOR,me);	CHANNEL_D->do_channel(me, "chat", HIR"宣布群英会现在开始!\n"NOR);	set("bwdh",1);	return 1;}int do_stop(string arg){	object me = this_player();	if( !query("bwdh") ) return notify_fail("比武还没开始呢。\n");	delete("bwdh");	message_vision(HIR"宣布群英会结束!\n"NOR,me);	CHANNEL_D->do_channel(me, "chat", HIR"宣布群英会结束!\n"NOR);	return 1;}void full_all(object me){	 if( !living(me) ) me->revive(0);	 me->set("eff_jing", (int)me->query("max_jing"));	 me->set("jing", (int)me->query("max_jing"));	 me->set("eff_qi", (int)me->query("max_qi"));	 me->set("qi", (int)me->query("max_qi"));	 me->set("jingli", (int)me->query("max_jingli"));	 me->set("neili", (int)me->query("max_neili"));	 me->set("food", (int)me->max_food_capacity());	 me->set("water", (int)me->max_water_capacity());	 me->remove_all_killer();	 me->clear_condition();}int do_back_stuff(string id){	object *inv, cangku, *basket;	int i;	object player=this_player();  cangku = find_object(CANGKU);  if (! objectp(cangku)) {	 cangku = load_object(CANGKU);	 if (!objectp(cangku)) {		message_vision("$N请告诉 wiz: cangku not found\n", player);		return 1;	 }  }  basket = cangku->query("basket/"+player->query("id"));  if (basket) {	 for (i=0; i<sizeof(basket); i++) {		if (objectp(basket[i])) {		  basket[i]->move(player);		  message_vision("$N从主持人手里拿回一"+					 basket[i]->query("unit")+					 basket[i]->query("name")+"。\n", player);		}	 }	 cangku->delete("basket/"+player->query("id"));  }  else message_vision("主持人说:$N什么也没存在我这里,可别赖我贪污喔!\n", player);  return 1;}void my_destruct(object obj){		  int i;		  object *inv;		  string err;		  if (obj && objectp(obj) ) {								inv = all_inventory(obj);								i = sizeof(inv);								while(i--)								{										  if( inv[i] && objectp(inv[i]) && userp(inv[i]) )										  {											 call_out("move_me",1+random(4),inv[i],"/d/bwdh/sjsz/kantai_w1.c");											 if( !living(inv[i]) ) inv[i]->revive(1);											 full_all(inv[i]);											 nude(inv[i]);										  }										  else										  {											if(inv[i] && objectp(inv[i]))											{												my_destruct(inv[i]);											}										  }								}					 if( userp(obj) )					 {						 call_out("move_me",1+random(4),obj,"/d/bwdh/sjsz/kantai_w1.c");						 if( !living(obj) )obj->revive(1);						 full_all(obj);						 nude(obj);					 }					 else destruct(obj);		  }}void nude(object obj){		  int i;		  object *inv;		  if (obj && objectp(obj) ) {								inv = all_inventory(obj);								i = sizeof(inv);								while(i--)								{										  if( inv[i] && objectp(inv[i]) && userp(inv[i]) )										  {											 call_out("move_me",1+random(4),inv[i],"/d/bwdh/sjsz/kantai_w1.c");											 if( !living(inv[i]) ) inv[i]->revive(1);											 full_all(inv[i]);											 nude(inv[i]);										  }										  else										  {											if(inv[i] && objectp(inv[i]))											{												return my_destruct(inv[i]);												//destruct(inv[i]);											}										  }								}		  }}void move_me(object me, string place){	object obj;	if( !me || !objectp(me) || !userp(me) )return;	nude(me);	full_all(me);	if ( (obj = find_object(place)) && obj && objectp(obj) ) {		me->set("sjsz/fighting",1);		me->move(obj);	}	else if ( (obj = load_object(place)) && obj && objectp(obj) ) {   	me->set("sjsz/fighting",1);	me->move(obj);	}}int update_player(object me){		  object env, link_ob, obj;		  env = environment(me);		  // Save the data and exec the player to his/her link object.		  me->save();		  // First, create the new body.		  link_ob = me->query_temp("link_ob");		  obj = LOGIN_D->make_body(link_ob);		  if (!obj) return 0;		  exec(link_ob, me);		  destruct(me);		  // Restore new body and exec to it via enter_world in LOGIN_D		  obj->restore();

⌨️ 快捷键说明

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