文字MUD游戏论坛-天下泥潭群英会-水泊梁山  

返回   文字MUD游戏论坛-天下泥潭群英会-水泊梁山 > 西游之旅 > 『 梁山论剑 』

『 梁山论剑 』 讨论西游记的武功秘技,介绍快捷有效的练功方法,解答各种游戏疑难杂症。这是高手过招,新手学艺的好地方。

发表新主题 回复
精华  
LinkBack 主题工具 主题评分 显示模式
旧 2008-07-10   #1
黄金会员
黄金会员二级会员
级别:3 | 在线时长:35小时 | 升级还需:15小时级别:3 | 在线时长:35小时 | 升级还需:15小时级别:3 | 在线时长:35小时 | 升级还需:15小时
 
bogao 的头像
 
注册: 08年07月03日
来自: 中国
帖子: 300
声望力: 20
声望: 66 bogao 略通道行
积分:24
精华:4
现金:32两梁山币
资产:10399两梁山币
致谢数: 0
获感谢文章数:0
获会员感谢数:0
zouxiao源码解读

这两天看到很多人讨论zouxiao,就献个丑,翻出xyj2000的源码给大家翻译一下。听说总站的源码已经升级了,但我想多少还能对各位有点借鉴作

用。

首先来看使用条件

if (!weapon || weapon->query("music/type") != "xiao")
return notify_fail("你手里的家伙吹不出调子。\n");

if (me->query_skill_mapped("force")!="zhenyuan-force")
return notify_fail("只有用镇元神功才能运力吹箫。\n");

if (me->query_skill("xiaofeng-sword",1)<50)
return notify_fail("你的晓风残月剑还得再练练。\n");

if (me->query_skill("zouxiao",1)<60)
return notify_fail("你奏箫的功夫还不够,再好好练练吧。\n");

if (target->query_skill("literate",1)<50)
return notify_fail("对他吹箫?还不如对牛弹琴呢。\n");

if((int)me->query("force") < 200 )
return notify_fail("你的内力还不到火候。\n");

if((int)me->query("kee") < 200 )
return notify_fail("你的体力已经不够了!\n");

if((int)me->query("sen") < 200 )
return notify_fail("你无法集中精力!\n");

这段代码的意思是,首先,你要拿萧来perform这个(拿个棒子来吹箫是不是太搞笑了),然后,你的force必须是zhenyuan-force,这里你的

zhenyuan-force必须是enable force上的,跟perform hammer,perform staff不一样(这两个要

求你有zhenyuan-force 80级就行了,不用enable上)。然后晓风残月剑要至少50级,zouxiao要至少60级。下面就是比较关键的了,对方(对,

就是你攻击的对象)的读书识字必须大等于50级,这就是为什么这个zouxiao不能灭妖,li或

者yuan的妖怪统统是文盲,没有读书识字技能,当然不知道现在总站有没有改这个,我估计不会改。所以其实这个perform主要用来搞玩家的。最

后几个就是你用这个技能的时候内力,精神和气血要大于200。



然后是判断命中与否的代码。

使用者的数据
ap =(int)me->query_skill("xiaofeng-sword", 1)+(int)me->query_skill("zouxiao", 1);
ap = ap * ap * ap /10;
ap = ap + (int)me->query("combat_exp");

这段话意思是 攻击者的数据 ap=(xiaofeng-sword级别+zouxiao级别)*(xiaofeng-sword级别+zouxiao级别)*(xiaofeng- sword级别+zouxiao级别

)/10+武学。 (其实就是3次方除10,没法打3次方,就写的长了点)

受害者的数据
dp = (int)target->query_skill("parry")
+(int)target->query_skill("literate")
+(int)target->query_skill("zouxiao")
+(int)target->query_skill("fuqin")
+(int)target->query_skill("spells");
dp = dp * dp * dp /10;
dp = dp + (int)target->query("combat_exp");


这里多谢kimmina兄提醒,(int)target->query_skill("parry")和(int)target->query_skill("parry",1)是不一样的,前者是skills有效级别

,后者是skills级别.比如所有级别都是200级,并且enable parry qianjun-bang了,那么第一个命令得到300,第二个得到200.在龙宫云房里面

lianwu就是这样,是(int)target->query_skill("dodge"),所以要enable dodge none再lianwu,否则就高了。那么zouxiao和literate没有东西

可以enable,所以只是1/2. 再次感谢kimmina兄提醒。


这段话意思是 受害者的数据 dp=(parry有效级别+lieterate有效级别+zouxiao有效级别+fuqin有效级别+spells有效级别)的3次方/10+武学。 这

里fuqin应该是抚琴,估计是刚开始作这个游戏的时候想加进去,后来没加的,放在这里可以忽略了。

然后开始判断

if( random(100*ap/dp) < 20 )
{
msg += HIW "$n冲着你鄙意的冷笑道:就这点本事,也来贻笑大方?"
+"$N顿时羞愧难当。\n"NOR;
message_vision(msg, me, target);
me->start_busy(3+random(5));
}

当从1到(100*ap/dp)这个范围中产生一个随机数小于20的时候,最悲惨的事情发生了,对方啥事没有,自己要busy3秒加上1到5中间的一个随机

数这么长时间。

然后
else if( random(100*ap/dp) < 40 )
{
msg += HIW "可$n冲耳不闻,不为所动。\n"NOR;
message_vision(msg, me, target);
me->start_busy(random(3));
}

当从1到(100*ap/dp)这个范围中产生一个随机数大于20而小于40的时候,次悲惨的事情发生了,对方啥事没有,自己busy 1到3秒中间的一个随

机数。

else
{
target->receive_damage("sen",damage,me);
msg += HIW "$n听了箫声,心中莫名其妙的感到一阵酸楚,悲从中来,泪水正涔涔落下。\n"NOR;
message_vision(msg, me, target);
COMBAT_D->report_status(target);
target->start_busy(5+random(5));
me->start_busy(random(3));
}

当从1到(100*ap/dp)这个范围中产生一个随机数大于40的时候,不悲惨的事情发生了,对方受到精神伤害(伤害多少一会再说)并且busy5秒加

上1到5秒之间一个随机数这么长时间。然后自己busy 1到3秒中间的一个随机数

伤害对方的精神多少跟技能有关,是(xiaofeng-sword级别+zouxiao级别)*(xiaofeng-sword级别+zouxiao级别)/300。


然后是我的一点分析或感想。

首先是关于伤害的感想,(xiaofeng-sword级别+zouxiao级别)*(xiaofeng-sword级别+zouxiao级别) /300,这个是打对方多少精神,大家可以注

意一下,这个是个二次函数。虽然在刚开始的时候很低,但是随着你级别的提高,伤害提高的

越来越快,,而且没上限。(说句题外话,摄气决加攻击的exert就有上限)。但是人物的精神除了年龄的增长加的精神以外,其他的跟法力有关

,我记得是法力/4,但是这不是重点,重点是精神随级别的增长是一次函

数,在级别达到一定高度以后,伤害随级别增长的速度远远大于精神增长的速度,也就是说,在很高级别的情况下,用这个,基本可以一击必杀

。举个例子,但你xiaofeng-sword 和zouxiao达到1000级,那么伤害是13333,同级别的精神

大概是6,7千左右,中了就死。

然后是关于命中
除去fuqin技能不提,对方有4个技能加在一起,parry,literate,zouxiao,spells。

首先不考虑wzg内战,对方没zouxiao,那么对方也要考虑3个技能级别parry,literate,spells,在低级的时候对攻击方是很不利的,这里假设两个

对战的武学正好是级别要求的下限,就是级别的3次方/10,所有级别大家都一样x级(我没有

用具体数字是因为这样的成功率计算跟级别具体数字没关系,这样 ap=(x+x)*(x+x)*(x+x)/10+x*x*x/10(这个是武学,级别要求下限=9*(x^3)/10

,dp=(1.5x+0.5x+1.5x)*(1.5x+0.5x+1.5x)*(1.5x+0.5x+1.5x)/10+x*x*x/10=43.875*(x^3)/10 (这里看不懂的自己把x随便换

成个数,100,200就明白了),100*ap/dp=20.5, 在看上面的判断,就是说,不可能成功。

那么在高级时候呢,因为不会有疯子把literate升到400以上吧,这里假设个悟性25的对手,他为了节约潜能和带天师法冠,所以只学了140的

literate,但是你们其他级别已经达到1000级,武学还是级别要求下限,这样ap=9E8

(900000000),dp=2993444000, 100*ap/dp=30,不能成功。

至于wzg内战,大家可以加进去自己算算,同级别的不管是多少级,成功率都趋于零。

关于这个技能的busy。

这个技能的busy不同fengbo和pozhan,那两个如果对手正在busy,就不能使用,而如果对手也有busy技能,在那边不停的用,一旦busy时间过了,

对方先用出来还是你先用出来就得看网络了。但是zouxiao不一样,不管对方有没有在busy

,都可以busy对方,就是说,如果能保证成功率,可以一直busy下去,而且每次都伤对方精神,这样不用别的什么技能也能busy对方到死。


综上,我的意见就是,zouxiao,就是个低级没用,高级恐怖的东西。所以新手开始悟性比较低的时候,没必要在这上面浪费潜能,等高级了再学

就可以了。


这个绝对原创啊,斑竹看在我写了这么多冬冬的分上,加点威望吧。

还有对什么perform感兴趣的,可以点播啊,我为了那个ningxie-force的帖子声望当真是求望若渴啊。




咦,为什么改正错误以后,这个技能的成功率低成这样了,大家再帮看看吧,哪里不对我马上改过来。

此帖于 2008-07-10 12:18 被 bogao 编辑. 原因: 被提醒
帅哥 bogao 当前离线  
回复时引用此帖

旧 2008-07-10   #2
黄金会员
黄金会员四级会员
级别:22 | 在线时长:1334小时 | 升级还需:46小时级别:22 | 在线时长:1334小时 | 升级还需:46小时级别:22 | 在线时长:1334小时 | 升级还需:46小时级别:22 | 在线时长:1334小时 | 升级还需:46小时
 
kimmina 的头像
 
注册: 07年11月28日
来自: 川崎
帖子: 447
声望力: 22
声望: 52 kimmina 初领妙道
积分:19
精华:3
现金:23两梁山币
资产:117616两梁山币
致谢数: 3
获感谢文章数:2
获会员感谢数:2
回复: zouxiao源码解读

谢谢楼主分析
另有两处提示

(int)target->query_skill("parry,spells") <---这里算出的应该是parry,spells的有效等级
(int)target->query_skill("zouxiao,literate") <---这里算出的应该是zouxiao/2,literate/2
攻击命中率。。。

random(x) <---取到的值应该是0~x-1。

此帖于 2008-07-10 10:22 被 kimmina 编辑. 原因: 刚才写错了,汗
kimmina 当前离线  
回复时引用此帖
旧 2008-07-10   #3
黄金会员
黄金会员二级会员
级别:3 | 在线时长:35小时 | 升级还需:15小时级别:3 | 在线时长:35小时 | 升级还需:15小时级别:3 | 在线时长:35小时 | 升级还需:15小时
 
bogao 的头像
 
注册: 08年07月03日
来自: 中国
帖子: 300
声望力: 20
声望: 66 bogao 略通道行
积分:24
精华:4
现金:32两梁山币
资产:10399两梁山币
致谢数: 0
获感谢文章数:0
获会员感谢数:0
回复: zouxiao源码解读

多谢kimmina兄提醒。

perform zouxiao on kimmina

>kimmina冲着你鄙意的冷笑道:就这点本事,也来贻笑大方?

>bogao顿时羞愧难当
帅哥 bogao 当前离线  
回复时引用此帖

旧 2008-07-10   #4
月影花雨蝶
级别:19 | 在线时长:954小时 | 升级还需:96小时级别:19 | 在线时长:954小时 | 升级还需:96小时级别:19 | 在线时长:954小时 | 升级还需:96小时级别:19 | 在线时长:954小时 | 升级还需:96小时
 
ding 的头像
 
注册: 02年12月30日
来自: 蝴蝶谷
帖子: 1,330
声望力: 37
声望: 174 ding 渐入佳境ding 渐入佳境
积分:9
精华:10
现金:1899两梁山币
资产:426171两梁山币
致谢数: 0
获感谢文章数:4
获会员感谢数:4
回复: zouxiao源码解读

嗯,很好。有没有真人示范?(总站的)

http://i41.tinypic.com/103enpv.gif
问花花不语,为谁落?为谁开?算春色三分,半随流水,半入尘埃...
ding 当前离线  
回复时引用此帖
旧 2008-07-10   #5
黄金会员
黄金会员四级会员
级别:22 | 在线时长:1334小时 | 升级还需:46小时级别:22 | 在线时长:1334小时 | 升级还需:46小时级别:22 | 在线时长:1334小时 | 升级还需:46小时级别:22 | 在线时长:1334小时 | 升级还需:46小时
 
kimmina 的头像
 
注册: 07年11月28日
来自: 川崎
帖子: 447
声望力: 22
声望: 52 kimmina 初领妙道
积分:19
精华:3
现金:23两梁山币
资产:117616两梁山币
致谢数: 3
获感谢文章数:2
获会员感谢数:2
回复: zouxiao源码解读

呵呵
我可不是这个意思~

想学zouxiao的人很多,不知道总站现在的zouxiao是什么样子。
如果跟以前的差不多的话,除了攻击超高以外,命中率确实不怎么样啊。。。
如果跟自己差不多的话就是不可能成功的perform。。。?
秒杀比自己弱的倒是很容易。
kimmina 当前离线  
回复时引用此帖
旧 2008-07-10   #6
月影花雨蝶
级别:19 | 在线时长:954小时 | 升级还需:96小时级别:19 | 在线时长:954小时 | 升级还需:96小时级别:19 | 在线时长:954小时 | 升级还需:96小时级别:19 | 在线时长:954小时 | 升级还需:96小时
 
ding 的头像
 
注册: 02年12月30日
来自: 蝴蝶谷
帖子: 1,330
声望力: 37
声望: 174 ding 渐入佳境ding 渐入佳境
积分:9
精华:10
现金:1899两梁山币
资产:426171两梁山币
致谢数: 0
获感谢文章数:4
获会员感谢数:4
回复: zouxiao源码解读

奏萧在总站的使用率不高,原因除了它不适合灭妖之外,也是因为这款武器不好用。萧只有两种,一种是唯一物品的法宝,攻击力还好,可是会飞走;另一种攻击力太低,削个胡萝卜可以,用来砍人就算了。
ding 当前离线  
回复时引用此帖

旧 2008-07-10   #7
黄金会员
黄金会员二级会员
级别:3 | 在线时长:35小时 | 升级还需:15小时级别:3 | 在线时长:35小时 | 升级还需:15小时级别:3 | 在线时长:35小时 | 升级还需:15小时
 
bogao 的头像
 
注册: 08年07月03日
来自: 中国
帖子: 300
声望力: 20
声望: 66 bogao 略通道行
积分:24
精华:4
现金:32两梁山币
资产:10399两梁山币
致谢数: 0
获感谢文章数:0
获会员感谢数:0
回复: zouxiao源码解读

引用:
作者: kimmina 查看帖子
呵呵
我可不是这个意思~

想学zouxiao的人很多,不知道总站现在的zouxiao是什么样子。
如果跟以前的差不多的话,除了攻击超高以外,命中率确实不怎么样啊。。。
如果跟自己差不多的话就是不可能成功的perform。。。?
秒杀比自己弱的倒是很容易。
知道知道,我就是搞笑一下
帅哥 bogao 当前离线  
回复时引用此帖

发表新主题 回复

添加到书签


发帖规则
不可以发表主师
不可以回复帖子
不可以上传附件
不可以编辑自己的帖子

论坛启用 vB 代码
论坛启用 表情图标
论坛启用 [IMG] 代码
论坛禁用 HTML 代码
Trackbacks are 启用
Pingbacks are 启用
Refbacks are 启用



所有时间均为格林尼治时间 +9, 现在的时间是 15:03.


Powered by SPLS
版权所有 2001-2023 水泊梁山
皖ICP备05012024号

站长 fengyue

Search Engine Optimization by vBSEO 3.6.1