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

📄 lookold.c

📁 C实现的MUD,对大家基本入门网络游戏很有帮助!
💻 C
📖 第 1 页 / 共 3 页
字号:
           switch (NATURE_D->outdoor_room_outcolor())        {              case "BLK":        str = sprintf( BLK + "【"+ "%s"+"】"+ NOR + " - %s\n    %s" + BLK + "%s" + NOR,                env->query("short"),                wizardp(me)? file_name(env): "",                env->query("long"),                env->query("outdoors")? NATURE_D->outdoor_room_description():"");                   break;              case "RED":        str = sprintf( RED + "【"+ "%s"+"】"+ NOR + " - %s\n    %s" + RED + "%s" + NOR,                env->query("short"),                wizardp(me)? file_name(env): "",                env->query("long"),                env->query("outdoors")? NATURE_D->outdoor_room_description():"");                   break;              case "HIR":        str = sprintf( HIR + "【"+ "%s"+"】"+ NOR + " - %s\n    %s" + HIR + "%s" + NOR,                env->query("short"),                wizardp(me)? file_name(env): "",                env->query("long"),                env->query("outdoors")? NATURE_D->outdoor_room_description():"");                   break;              case "GRN":        str = sprintf( GRN + "【"+ "%s"+"】"+ NOR + " - %s\n    %s" + GRN + "%s" + NOR,                env->query("short"),                wizardp(me)? file_name(env): "",                env->query("long"),                env->query("outdoors")? NATURE_D->outdoor_room_description():"");                   break;              case "HIG":        str = sprintf( HIG + "【"+ "%s"+"】"+ NOR + " - %s\n    %s" + HIG + "%s" + NOR,                env->query("short"),                wizardp(me)? file_name(env): "",                env->query("long"),                env->query("outdoors")? NATURE_D->outdoor_room_description():"");                   break;              case "YEL":        str = sprintf( YEL + "【"+ "%s"+"】"+ NOR + " - %s\n    %s" + YEL + "%s" + NOR,                env->query("short"),                wizardp(me)? file_name(env): "",                env->query("long"),                env->query("outdoors")? NATURE_D->outdoor_room_description():"");                   break;              case "HIY":        str = sprintf( HIY + "【"+ "%s"+"】"+ NOR + " - %s\n    %s" + HIY + "%s" + NOR,                env->query("short"),                wizardp(me)? file_name(env): "",                env->query("long"),                env->query("outdoors")? NATURE_D->outdoor_room_description():"");                   break;              case "BLU":        str = sprintf( BLU + "【"+ "%s"+"】"+ NOR + " - %s\n    %s" + BLU + "%s" + NOR,                env->query("short"),                wizardp(me)? file_name(env): "",                env->query("long"),                env->query("outdoors")? NATURE_D->outdoor_room_description():"");                   break;              case "HIB":        str = sprintf( HIB + "【"+ "%s"+"】"+ NOR + " - %s\n    %s" + HIB + "%s" + NOR,                env->query("short"),                wizardp(me)? file_name(env): "",                env->query("long"),                env->query("outdoors")? NATURE_D->outdoor_room_description():"");                   break;              case "MAG":        str = sprintf( MAG + "【"+ "%s"+"】"+ NOR + " - %s\n    %s" + MAG + "%s" + NOR,                env->query("short"),                wizardp(me)? file_name(env): "",                env->query("long"),                env->query("outdoors")? NATURE_D->outdoor_room_description():"");                   break;              case "HIM":        str = sprintf( HIM + "【"+ "%s"+"】"+ NOR + " - %s\n    %s" + HIM + "%s" + NOR,                env->query("short"),                wizardp(me)? file_name(env): "",                env->query("long"),                env->query("outdoors")? NATURE_D->outdoor_room_description():"");                   break;              case "CYN":        str = sprintf( CYN + "【"+ "%s"+"】"+ NOR + " - %s\n    %s" + CYN + "%s" + NOR,                env->query("short"),                wizardp(me)? file_name(env): "",                env->query("long"),                env->query("outdoors")? NATURE_D->outdoor_room_description():"");                   break;              case "HIC":        str = sprintf( HIC + "【"+ "%s"+"】"+ NOR + " - %s\n    %s" + HIC + "%s" + NOR,                env->query("short"),                wizardp(me)? file_name(env): "",                env->query("long"),                env->query("outdoors")? NATURE_D->outdoor_room_description():"");                   break;              case "WHT":        str = sprintf( WHT + "【"+ "%s"+"】"+ NOR + " - %s\n    %s" + WHT + "%s" + NOR,                env->query("short"),                wizardp(me)? file_name(env): "",                env->query("long"),                env->query("outdoors")? NATURE_D->outdoor_room_description():"");                   break;              case "HIW":        str = sprintf( HIW + "【"+ "%s"+"】"+ NOR + " - %s\n    %s" + HIW + "%s" + NOR,                env->query("short"),                wizardp(me)? file_name(env): "",                env->query("long"),                env->query("outdoors")? NATURE_D->outdoor_room_description():"");                   break;              default:        str = sprintf( HIC + "【"+ "%s"+"】"+ NOR + " - %s\n    %s" + HIG + "%s" + NOR,                env->query("short"),                wizardp(me)? file_name(env): "",                env->query("long"),                env->query("outdoors")? NATURE_D->outdoor_room_description():"");                   break;	}	    if( wizardp(me) && mapp(exits = env->query("exits")) ) {        dirs = keys(exits);        for(i=0; i<sizeof(dirs); i++)            if( (int)env->query_door(dirs[i], "status") & DOOR_CLOSED )                dirs[i] = 0;        dirs -= ({ 0 });        if( mapp(exits) ){            str +=HIG + "    这里的"+ HIC +"【出口】"+ HIG +"有:"+ NOR + "\n";            dirs =keys(exits);            for (i=0;i<sizeof(exits);i++){                if (!room=find_object(exits[dirs[i]]))                room=load_object(exits[dirs[i]]);            if (room)   str+=sprintf(HIG + BOLD"  %-12s"+NOR+YEL+" --> "+CYN+"%-10s"+RED+"%s.c\n"+NOR,dirs[i],room->query("short"),exits[dirs[i]]);            else    str+=sprintf(HIR +BOLD"  %-12s"+NOR+YEL+" --> "+RED+"没有正常出口。\n"+NOR,dirs[i]);            }}}else    if( !wizardp(me) && mapp(exits = env->query("exits")) ) {        dirs = keys(exits);        for(i=0; i<sizeof(dirs); i++)            if( (int)env->query_door(dirs[i], "status") & DOOR_CLOSED )                dirs[i] = 0;        dirs -= ({ 0 });        if( mapp(exits) ){str +=HIG + "    这里的"+ HIC +"【出口】"+ HIG +"有:"+ NOR + "\n";            dirs =keys(exits);            for (i=0;i<sizeof(exits);i++){                if (!room=find_object(exits[dirs[i]]))                room=load_object(exits[dirs[i]]);            if (room)        str+=sprintf(HIG + BOLD"  %-12s"+NOR+YEL+" --> "+CYN+"%s"+RED+"\n"+NOR,dirs[i],room->query("short"));            else        str+=sprintf(HIR + BOLD"  %-12s"+NOR+YEL+" --> "+RED+"没有正常出口。\n"+NOR,dirs[i]);            }}}else            str += HIR +"  这里没有任何明显的出路。"+NOR"+\n";/*    i=0;    foreach (obj in all_inventory(env)){    if (!wizardp(me) && obj->query("no_show")) continue;        if (!obj->is_character() && (i++)>99) continue;        if (obj==me || !me->visible(obj) ){            continue;        }        if (obj->query("money_id")             || !obj->query("unit")            || obj->is_character()){                if(!wizardp(me)){str+=sprintf("    %-12s\n",obj->short());}                if(wizardp(me)){str+=sprintf("  %-28s" + YEL":"NOR + RED"%s" + ".c"NOR+ "\n",obj->short(),base_name(obj));}            continue;        }        if (!mapp(my))            my=([obj->query("unit")+obj->short():1]);        else{            amount=my[obj->query("unit")+obj->short()];            my[obj->query("unit")+obj->short()]=amount+1;        }    }    if (mapp(my)){        dirs=keys(my);        for (i=0;i<sizeof(my);i++)                str+=sprintf("  %s%s\n",my[dirs[i]]==1?"":CHINESE_D->chinese_number(my[dirs[i]]),my[dirs[i]]==1?dirs[i][2..]:dirs[i]);    }    write(str);    return 1;} */        inv = all_inventory(env);		for (i = 0; i < sizeof(inv); i++) {			if (inv[i]!=me 			&&  me->visible(inv[i])			&&  !inv[i]->query("money_id")			&&  !inv[i]->query_temp("check_only"))			{				data[k]=([]);				for(j = i; j < sizeof(inv); j++ )				{					if ( inv[i]->query("name")==inv[j]->query("name")					&&   inv[i]->query("id")==inv[j]->query("id")					&&   !inv[j]->query_temp("check_only") )					{						data[k]["id"]=inv[i]->short();						data[k]["unit"]=inv[i]->query("unit");						data[k]["num"]= data[k]["num"] + 1;						inv[j]->set_temp("check_only", 1);					}					else continue;				}				k++;			}			else continue;		}		for (i = 0; i < sizeof(inv); i++) {			if ( !inv[i]->query_temp("check_only") && inv[i]!=me && me->visible(inv[i]) )			str += sprintf("%s%s\n", "  ", inv[i]->short());		}		for (i = 0; i < sizeof(inv); i++)			if ( inv[i]->query_temp("check_only") )				inv[i]->delete_temp("check_only");		if (k > 0)		{			for (l = 0; l < k; l++)				str = sprintf("%s%s%s\n", str,  (data[l]["num"]==1)? "  ":"  "+ chinese_number(data[l]["num"])+data[l]["unit"], data[l]["id"]);		}realtime_map(me,env);                      write(str);        return 1;}int look_item(object me, object obj){        mixed *inv;        write(obj->long());        inv = all_inventory(obj);        if( sizeof(inv) ) {                inv = map_array(inv, "inventory_look", this_object() );                message("vision", sprintf("里面有:\n  %s\n",                        implode(inv, "\n  ") ), me);        }        return 1;}string gettof(object me, object ob){	object weapon;	string skill_type,parry_type;	mapping prepare;	int attack_points;    if( objectp(weapon = ob->query_temp("weapon")) )        {                skill_type = weapon->query("skill_type");        }        else        {                prepare = ob->query_skill_prepare();                if (!sizeof(prepare)) skill_type = "unarmed";                else skill_type = keys(prepare)[0];   	    }        attack_points = COMBAT_D->skill_power(ob, skill_type, SKILL_USAGE_ATTACK);    	return tough_level((int)(attack_points/100));}int look_living(object me, object obj){        int per;        int spi;        int age;        int weight;        string str, limb_status, pro;        mixed *inv;        mapping my_fam, fam;        int me_shen, obj_shen;        int equip, wearornot;        me_shen = (int)me->query("shen");        obj_shen = (int)obj->query("shen");        per = obj->query_per();        age = obj->query("age");        if( me!=obj )                message("vision", me->name() + "正盯著你看,不知道打些什么主意。\n", obj);        str = obj->long();        pro = (obj==me) ? gender_self(obj->query("gender")) : gender_pronoun(obj->query("gender"));	    if (age>50) per = per*2/3;		if (obj->query_temp("is_riding"))                str += sprintf("%s正骑在%s上,低头看着你。\n", pro, obj->query_temp("is_riding"));        if( (string)obj->query("race")=="人类"        &&      intp(obj->query("age")) )        {       if(wizardp(obj))			str+=sprintf(HIY"%s全身散发着耀眼的金光,看来是万物之尊的神类。\n"NOR,pro);                str += sprintf("%s看起来约%s多岁,", pro, chinese_number(obj->query("age") / 10 * 10));                  if ((string) obj->query("gender") == "男性" || (string) obj->query("gender") == "无性")        {		                        if (per >=40)                         str +=pro+ HIG"英姿勃发,一表人才,称为古往今来第一人!\n";                if (per <= 39 && (per > 38))                        str +=pro+ HIG"清秀俊雅,相貌非凡,真是人中龙凤!\n";                if (per <= 38 && (per > 37))                        str +=pro+ HIG"现在丰神俊朗,长身玉立,宛如玉树临风。\n"NOR;                if (per <= 37 && (per > 36))                        str +=pro+ HIG"现在飘逸出尘,潇洒绝伦。\n"NOR;                if (per <= 36 && (per > 35))                        str +=pro+ HIG"现在面如美玉,粉妆玉琢,俊美不凡。\n"NOR;                if (per <= 35 && (per > 34))                        str +=pro+ HIG"现在丰神如玉,目似朗星,令人过目难忘。\n"NOR;                if (per <= 34 && (per > 33))                        str +=pro+ HIY"现在粉面朱唇,身姿俊俏,举止风流无限。\n"NOR;                if (per <= 33 && (per > 32))                        str +=pro+ HIY"现在双目如星,眉梢传情,所见者无不为之心动。\n"NOR;                if (per <= 32 && (per > 31))                        str +=pro+ HIY"现在举动如行云游水,独蕴风情,吸引所有异性目光。\n"NOR;                if (per <= 31 && (per > 30))                        str +=pro+ HIY"现在双眼光华莹润,透出摄人心魄的光芒。\n"NOR;                if (per <= 30 && (per > 29))                        str +=pro+ HIY"生得英俊潇洒,风流倜傥。\n"NOR;                if (per <= 29 && (per > 28))                        str +=pro+ MAG"生得目似点漆,高大挺俊,令人心动。\n"NOR;                if (per <= 28 && (per > 27))

⌨️ 快捷键说明

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