加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

CS高处落下不死:Jumpbug教程

(2007-09-01 08:54:36)
标签:

游戏部落

分类: 电子竞技

    这不是一种edgebug,而是“jumpbug”,有了这个方法相信会改变kz世界中很多的东西。方法:在将要落地那一帧时松开蹲键,然后你要在没碰到地面前蹲两下(doubleduck)。这样引擎就只会计算蹲两下,而不会计算以前掉下来的高度。

    首先,应该是个最重要的问题:什么是jump-bug?它适用于哪方面?

Jump-bug是由tjubby在以前发现的。是从可以从很高的地方落下而不伤血/死亡的另外一种方式。和普通的edgebug类似。

    怎样使Jump-bug成功?

    为了发现jump bug的构成,我们首先得分析cs引擎。Counter-Strike引擎使用了2种互相抵触得模型。而上层的模型在位于下层模型的下面一点点。只要上层模型没有接触到地面,玩家就不会因落下而受伤。
    如果你用+duck下层模型就会下落4个单位的距离。有趣的是,这也正是用于+Jump的模型。所以如果你在下落的过程中蹲着,并且在离地面上4个单位的距离“跳下来”。对引擎来说你永远也碰不到地面。你得松开+duck键(使得抵触模型回去),并且大约在你落地摔死之前0.01秒内,同时按跳。这样就触发了bug,落地不伤血。

总结:你需要跳,落下,蹲(按着蹲键),然后几乎同时跳和松开蹲键(在你落地的地方)

    Jump-bug是个巧合吗?我可以学会吗?

    恩,这个就是具体的说就是和正确的时机,还有fps有关
    有3种可能的fps情况:
    1.  fps稳定在100.0.如果你高度完全正确(见下文),掌握完美的时机,符合所有的要求(见下面的E3方程)。你的成功率是100%.

    2.fps不稳定,如果你的fps不稳定,那么是否触发jump-bug就完全是个巧合了。完美的时机不是必要的因素意味着你可以成功的触发jump-bug!但是:在这种情况下jump-bug可以在任何高度实现(高度的不同并不限制jump-bug成功的可能性,如第一种情况)。要计算这种情况(不稳定的fps)jump-bug的方法,参见后面的方程E5

    3.稳定的fps但是小于100,和第一种情况类似,但是比第一种情况更难触发jump-bug.计算这种可能性也是用E3这个方程,但等级更高[用0,01*(100/fps) 代替 0,01]

    另一方面就是高度的不同:下落的距离越高(高度差距越大),越难触发jump-bug。

一些纯数据(给数学天才看的)

下落速度的计算公式:
E1: v(t)=268.25units/s-800units/s^2*t

计算每帧高度的不同:
每帧的不同高度(=1帧就是引擎用于计算的实体。100fps意味着每秒是100帧)
E2: v(t)/fps

你需要在离地面4个单位以内的区域内行jump命令和松开蹲键。这个动作要在落地前的1帧内完成。(~0,01 seconds @ 100 fps [=1/fps]).

在fps稳定于100的情况下,满足成功触发jump-bug的方程:
E3: h2+4units>h(t)=h1+268.25units/s*t-0.5*800units/s^2*t^2>h2
In frames @ 100 fps: E4: h2+4units>h(f)=h1+2.6825 units/f*f-0.5*8units/f^2*f^2>h2

->注释:h1-=高度(落下的),h2=高度(落地),t=时间,f=帧
->t是在(1/fps) 秒内定性定量分析的大小

如果fps不稳定,用这个方程:
E5: 400/sqrt(71958.0625+1600*hd)

-> 注释:sqrt = square root, hd = height difference
-> E5 must be scaled with the fps of the frame in which you re doing the bug to get the correct probability: E5*(fps/100)

0

阅读 收藏 喜欢 打印举报/Report
前一篇:CS跳跃知识2
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有