作者happyhero (2008 Fighter!)
看板mud
标题Re: [请益] 请问各位大大 如果要改写经验的获取方꘠…
时间Tue Aug 24 21:31:51 2010
※ 引述《ppl (猫一拳)》之铭言:
: 各位大大 大家好 感谢大家百忙中抽看小弟的文章
: 小弟最近在研究msr大大放出的es2
: 已经试图在里面尝试写出一些作品
: 不过 想要改写es2的经验获取方式
: 我的想法是这样子 把原有的战斗中会增加exp给拿掉 这部份不使用就是了
//请找
//varargs int do_attack(object me, object victim, object weapon, int
//attack_type)里面的一段
//
// (7) Give experience
//
/*if( !userp(me) || !userp(victim) ) {
if( (ap < dp)
&& (random(my["gin"]*100/my["max_gin"] + my["int"]) > 30) ) {
my["combat_exp"] += 1;
if( my["potential"] - my["learned_points"] < 100 )
my["potential"] += 1;
me->improve_skill(attack_skill, 1);
}
if( random(your["max_kee"] + your["kee"]) < damage ) {
your["combat_exp"] += 1;
if( your["potential"] - your["learned_points"] < 100 )
your["potential"] += 1;
}
}*/
问题是出在这段
把你不想增加的属性前面 // 就可以了
ex: //your["combat_exp"] += 1;
或是把整个大段用/*...*/ 这样系统也不会读取这段
: 把规则更改为玩家每杀死一只mob 加25exp and pot
: 不过mob的exp不得低於玩家exp三倍 否则杀死他也不会有exp报酬
请找这段
void killer_reward(object killer, object victim)
{
int bls;
string vmark;
// Call the mudlib killer apply.
killer->killed_enemy(victim);
if( userp(victim) ) {
killer->add("PKS", 1);
victim->clear_condition();
// Give the death penalty to the dying user.
victim->set("bellicosity", 0);
//在这里加入
//if(victim->query("combat_exp")>killer->query("combat_exp")/3)
// { killer->add("combat_exp",25);
// killer->add("potential",25);}
//把原本获得combat_exp的公式取代掉
//victim->add("combat_exp", -(int)victim->query("combat_exp") / 10);
victim->delete("vendetta");
if( victim->query("thief") )
victim->set("thief", (int)victim->query("thief") / 2);
//把原本获得potential的判定取代掉
// if( (int)victim->query("potential") > (int)victim->query("learned_points"))
// victim->add("potential",
// ((int)victim->query("learned_points") -
//(int)victim->query("potential"))/2 );
victim->skill_death_penalty();
bls = 10;
CHANNEL_D->do_channel(this_object(), "rumor",
sprintf("%s被%s杀死了。", victim->name(1), killer->name(1)));
} else {
killer->add("MKS", 1);
bls = 1;
}
// NPC got 10 times of bellicosity than user.
killer->add("bellicosity", bls * (userp(killer)? 1: 10));
if( stringp(vmark = victim->query("vendetta_mark")) )
killer->add("vendetta/" + vmark, 1);
}
: 酱子的话我应该在combatd如果改写?
: 烦请高手大大指教~~~~
以上仅供参考与提示
[email protected]:6666
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 218.172.101.165
※ 编辑: happyhero 来自: 218.172.101.165 (08/24 21:32)
1F:→ smmoon:原po真好人 (发卡! 08/27 16:19