|
发表于 2010-5-6 17:01:06
|
显示全部楼层
if ( who->query("combat_exp",1 ) > 2000000 && job > 2000) //经验值>2M并且job次数>2000
x = job%20; //X=job次数除以20,取余 ,既>2M并且>2000次任务,20次有一次机会
else
x = job%50; //X=job次数除以50,取余 ,既不满足以上条件,都50次才有一次机会
if ( wizardp(who))
tell_object(who,sprintf("x = %d\n", x ));
if( random(job) > 300 //job次数,取随机数要>300,如350次,测满足这个条件的可能为 14.2%,400次为25%,500次为40%, 600次为 50%,一次类推,次数越多,概率越大
&& x == 0 //要为50或20的倍数,视exp以及job次数而定
&& !who->query("jiuyang/wei") //还没解过(防止已经解了再提示)
&& ( !random(5) || (job > 2000 && !random(2)) ) // !random(5) 只有0才满足,1,2,3,4都不行,既前面的都OK的话,这里只剩下20%了
// (job > 2000 && !random(2)) ,如果job次数>20000,如果前面都OK的话,这里只剩下为50%了
//综上,
//350次解9Yang的概率为14.2%x20% = 2.84%
//400次解9Yang的概率为25%x20% = 5%
//500次 40%x20% = 8%
//600次 50%x20% = 10%
//.......
//PSUBOY 1650次 = 82% x 20% = 16.4% 无限接近20% Addoil psuboy!!!!!!
)
{
command("whisper "+who->query("id")+" 你快去张教主那里一次,他好象有什么传闻要告诉你。");
who->set("jiuyang/wei", 1);
log_file("quest/jiuyang",sprintf("%8s%-10s明教任务第%s次的时候,从韦一笑处,听到有关九阳神功的传闻。\n",
who->name(1),"("+ capitalize(getuid(who))+")",chinese_number(job)), who); |
|