![]() |
【总站】【原创】西游记2000源码分析-wdd 破绽
int delay, myblade;
if( !target || !target->is_character() || !me->is_fighting(target) ) return notify_fail("不在战斗中,露什么破绽?\n"); myblade=(int)me->query_skill("kugu-blade",1); if(myblade>160) myblade=160; // mon 12/7/98 if(myblade<50) return notify_fail("你的修为不够深,露破绽给人太危险了。\n"); delay=myblade/16; if( target->is_busy() ) return notify_fail(target->name() + "目前正自顾不暇,放胆攻击吧!\n"); msg = CYN "$N的招式突然一变,变得全无章法,浑身上下破绽百出,\n"; //change totoal random to half random half ur own value to make the sucessrate more stable if( ((random(me->query("combat_exp"))*3/4 + (me->query("combat_exp")/4) > (int)target->query("combat_exp")*5/8 ))) { msg += "$n想攻,去不知道哪个破绽是真的,哪个是假的。\n"; msg += "结果$p被$P攻了个措手不及!\n" NOR; target->start_busy(delay); me->start_busy(random(2)); } else { msg += "可是$p看破了$P的企图,并没有上当。\n" NOR; me->start_busy(delay/2); } message_vision(msg, me, target); if( !target->is_fighting(me) ) { if( living(target) ) { if( userp(target) ) target->fight_ob(me); else target->kill_ob(me); } me->kill_ob(target); } perform pozhan 的代码很简单就这么点, busy时间: myblade=(int)me->query_skill("kugu-blade",1); ////你的枯骨刀等级 if(myblade>160) myblade=160; // mon 12/7/98 ////如果枯骨刀等级超过160部分会被忽略不计, if(myblade<50) ////最少50级才能用枯骨刀 return notify_fail("你的修为不够深,露破绽给人太危险了。\n"); delay=myblade/16; target->start_busy(delay); me->start_busy(random(2)); ////如果成功,目标被busy枯骨刀等级/16秒,自己被busy 0-2秒。 me->start_busy(delay/2); ////如果失败,自己被busy枯骨刀等级/32秒 因为myblade 和 delay 都是整数类型变量,除出来的小数会被忽略(不是四舍五入),因此枯骨刀等级读到16的奇数倍比较划算。 成功率: ((random(me->query("combat_exp"))*3/4 + (me->query("combat_exp")/4) > (int)target->query("combat_exp")*5/8 )) (0-(你的武学)之间随机数)×3/4+(你的武学×1/4) > 目标武学×5/8成功,否则失败 成功率分析: 随机数(your_wx)×3/4+your_wx/4 > target_wx×5/8 如果你的wx和目标的一样,则成功率为50% 如果目标wx是你的80%,则成功率为66.7% 如果目标wx是你的120%,则成功率为33.3% |
回复: 【总站】【原创】西游记2000源码分析-wdd 破绽
上面的代码是根据2000年4月的代码分析的,可能与目前总站使用的代码有不同
|
回复: 【总站】【原创】西游记2000源码分析-wdd 破绽
xuexi...............................
|
所有时间均为格林尼治时间 +9, 现在的时间是 18:36. |
Powered by SPLS
版权所有 2001-2023 水泊梁山
皖ICP备05012024号
站长 fengyue