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

📄 updated.c

📁 C实现的MUD,对大家基本入门网络游戏很有帮助!
💻 C
字号:
// updated.c
#include <ansi.h>;
void create() { seteuid(getuid()); }

void check_user(object ob)
{
	int v1, i, level; 
	mapping my, skill_status;
	string *sname, m;
	float exper;
	string name,id,or,type,time;
	int value,make,lv,money_limit;

	my = ob->query_entire_dbase();

	if( (v1=ob->query_skill("xingxiu-duzhang", 1)) > 0 )
	{
		ob->set_skill("chousui-zhang", v1);
		ob->map_skill("unarmed", "chousui-zhang");
		ob->delete_skill("xingxiu-duzhang");
	}

	if( (v1=ob->query_skill("mizong-xinfa", 1)) > 0 )
	{
		ob->set_skill("lamaism", v1);
		ob->delete_skill("mizong-xinfa");
	}
	if( ob->query("family/generation")==0)
		ob->delete("family");
	if( ob->query("gender")=="无性")
		ob->set("class", "eunach");
	if( ob->query("new_mail") == 1 )
	{
		tell_object(ob, HIG "绿林邮差跑步过来递给你一封信,转身就走了。\n" NOR );
//		write(GRN+"\n绿林邮差跑来对你说:这是人家留给您的信!\n\n"+NOR);
		ob->set("new_mail", 0);
	}
	if( ob->query("linji/jing") )
	{
		ob->apply_condition("linji_daxiao", 1);
	}
	if( ob->query("linji/per") )
	{
		ob->apply_condition("linji_tiandi", 1);
	}
	if( ob->query("linji/dex") )
	{
		ob->apply_condition("linji_fengyun", 1);
	}
	if( ob->query("linji/con") )
	{
		ob->apply_condition("linji_longhe", 1);
	}
	if( ob->query("linji/int") )
	{
		ob->apply_condition("linji_zhixin", 1);
	}

//	if (!wizardp(ob))
//	ob->set("channels", ({ "chat", "rumor", "party", "xkx", "sing" }) );

	if (ob->query("age")==14) money_limit = 100;
	if (ob->query("age")>14) money_limit = 100 + (ob->query("age")-15) * 20;
	if (ob->query("age")>20) money_limit = 200 + (ob->query("age")-20) * 20;
	if (ob->query("age")>30) money_limit = 400 + (ob->query("age")-30) * 30;
	if (ob->query("age")>40) money_limit = 800 + (ob->query("age")-40) * 40;
	money_limit = money_limit*10000;

	if (ob->query("balance") > money_limit)
	{
		ob->set("old_balance",ob->query("balance"));
		ob->set("balance",money_limit);
	}

	if( (ob->query("weapon/制造")==1) )
	{
		name = ob->query("weapon/名称");
		id = ob->query("weapon/代号");
		or = ob->query("weapon/原料");
		type=ob->query("weapon/类型");
		time=ob->query("weapon/时间");
		value=ob->query("weapon/值");
		lv = ob->query("weapon/等级");
		ob->delete("weapon");
		ob->set("weapon/make",1);
		ob->set("weapon/name",name);
		ob->set("weapon/id",id);
		ob->set("weapon/or",or);
		ob->set("weapon/type",type);
		ob->set("weapon/value",value);
		ob->set("weapon/lv",lv);
		ob->set("weapon/time",time);
	}

/*
	if( (v1=ob->query_skill("unarmed", 1)) > 0 && my["family/family_name"] == "华山派")
	{
		ob->set_skill("strike", v1);
		if( stringp(m=ob->query_skill_mapped("unarmed")) )
			ob->map_skill("strike", "hunyuan-zhang");
		ob->delete_skill("huashan-zhangfa");
		ob->delete_skill("unarmed");
	}
*/
	if (wizardp(ob)) return;

	if( undefinedp(my["eff_jing"]) ) my["eff_jing"] = my["max_jing"];
	if( undefinedp(my["eff_qi"]) ) my["eff_qi"] = my["max_qi"];
	if( my["eff_jing"] > my["max_jing"] ) my["eff_jing"] = my["max_jing"];
	if( my["eff_qi"] > my["max_qi"] ) my["eff_qi"] = my["max_qi"];
	if( my["jing"] > my["eff_jing"] ) my["jing"] = my["eff_jing"];
	if( my["jing"] > my["eff_jing"] ) my["jing"] = my["eff_jing"];
//	if( my["max_neili"] > ob->query_skill("force",1)*20 ) my["max_neili"] = ob->query_skill("force")*10;
	if( my["neili"] > my["max_neili"] ) my["neili"] = my["max_neili"];

	exper = to_float(ob->query("combat_exp"));

	if ( !(skill_status = ob->query_skills()) ) return;
	sname  = keys(skill_status);

	for(i=0; i<sizeof(skill_status); i++) 
	{
		level = skill_status[sname[i]];
		if( pow(to_float(level), 3.0) / 10.0 > exper 
//		&& exper > 100.0
		&& sname[i] != "buddhism"
		&& sname[i] != "mahayana"
		&& sname[i] != "lamaism"
		&& sname[i] != "literate"
		&& sname[i] != "taoism" 
		&& sname[i] != "qimen-wuxing" 
		&& sname[i] != "poison" ) 
		{
			level = ceil( pow( exper*10.0, 0.333333) );
			ob->set_skill(sname[i], level);
		}
	}
}

⌨️ 快捷键说明

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