snowfox373 2007-9-10 09:29
XJ发布的Jump bug教程
Jump-bug教程Ss:LZceDq,T
pMp kc^
faker 2007年4月22曰:?t ba7M
e
m
Y-AW k{9YC
翻译者:就是lz本人啦
9\#@!hfLqq*AA
b|
OkY@KX,Ib
大家好:}|dMSiaT
我相信大家都听说了很多关于这个疯狂的新技术并且很好奇想学习怎样做到。
_3io+Ekf5?ls
`L4j2Y/}A2~6w
v2{i` R
在我空闲时我和[b]eDark[/b]【(非)正式cs引擎专家[img]http://xtreme-jumps.eu/e107_images/emoticons/smilie3.gif[/img] 】,谈过一些实情和最好实现jump-bug的方法。
`9Tg`&c$hP
)U
fd(a9@sf R7A.q"~
首先,应该是个最重要的问题:什么是jump-bug?它适用于哪方面?
b
{/ei7?
(k'_N
||2[E,tv
Jump-bug是由[b]tjubby[/b]在以前发现的。是从可以从很高的地方落下而不伤血/死亡的另外一种方式。和普通的[b]edgebug[/b]类似。-v+v!R"}p } c
'J_7u"b]4YF
+`Yo.w$ml
ME
怎样使Jump-bug成功?:b,yLd6KHl
xg.M4gu Pc
为了发现jump bug的构成,我们首先得分析cs引擎。Counter-Strike引擎使用了2种互相抵触得模型。而上层的模型在位于下层模型的下面一点点。只要上层模型没有接触到地面,玩家就不会因落下而受伤。`{+cP9@4b+K
如果你用+duck下层模型就会下落4个单位的距离。有趣的是,这也正是用于+Jump的模型。所以如果你在下落的过程中蹲着,并且在离地面上4个单位的距离“跳下来”。对引擎来说你永远也碰不到地面。你得松开+duck键(使得抵触模型回去),并且大约在你落地摔死之前0.01秒内,同时按跳。这样就触发了bug,落地不伤血。
y%i#o D%Nj!{o
1JIsh9]V&k*z
[b][color=red]总结:你需要跳,落下,蹲(按着蹲键),然后几乎同时跳和松开蹲键(在你落地的地方)[/color][/b]
l!{8Zi%YE${b
\2a
[tP8Y{@
$_YbKx ~6uq
Jump-bug是个巧合吗?我可以学会吗?
:]bI9cR
U.AO8b"c&|V!\
恩,这个就是具体的说就是和正确的时机,还有fps有关
yEjnt#p
有3种可能的fps情况:
/fhS3lVx,Ae
1. fps稳定在100.0.如果你高度完全正确(见下文),掌握完美的时机,符合所有的要求(见下面的E3方程)。你的成功率是100%.
I&M1_ HEy
7EF_8T O1`A:r
2.fps不稳定,如果你的fps不稳定,那么是否触发jump-bug就完全是个巧合了。完美的时机不是必要的因素意味着你可以成功的触发jump-bug!但是:在这种情况下jump-bug可以在任何高度实现(高度的不同并不限制jump-bug成功的可能性,如第一种情况).要计算这种情况(不稳定的fps)jump-bug的方法,参见后面的方程E5
y&~*JkI nf
w
'`I,Q;F:L*Yq
3.稳定的fps但是小于100,和第一种情况类似,但是比第一种情况更难触发jump-bug.计算这种可能性也是用E3这个方程,但等级更高[用0,01*(100/fps) 代替 0,01]
.g0?4u&gv-n
Mq-g+p)cFA
[color=red][b]另一方面就是高度的不同:下落的距离越高(高度差距越大),越难触发jump-bug.[/b]
O |w,u5EO
[/color]
oL3{fTM
u)w-O
一些纯数据(给数学天才看的[img]http://xtreme-jumps.eu/e107_images/emoticons/smilie3.gif[/img])b$rD9Pl3} f
/xK*c Gcl T
vuL
下落速度的计算公式:`-Te/e"C+i@2y
[i]E1: v(t)=268.25units/s-800units/s^2*t[/i]
t.D0t9s0R;R,F9r:@(uC&p
k0RW0y;B*{\
计算每帧高度的不同:
:@X0v c Du0S,kD
每帧的不同高度(=1帧就是引擎用于计算的实体。100fps意味着每秒是100帧)
KRD
l
?j+|
[i]E2: v(t)/fps[/i]~UcV:sVa!e W
(X#P~nP
X
[b][size=3][color=red]你需要在离地面4个单位以内的区域内行jump命令和松开蹲键。这个动作要在落地前的1帧内完成[/color][/size][/b]。(~0,01 seconds @ 100 fps [=1/fps]).
})`2ZEgM3Ti6O
:Q_;MB:W
i]q
在fps稳定于100的情况下,满足成功触发jump-bug的方程:]'rQ&HK
[i]E3: h2+4units>h(t)=h1+268.25units/s*t-0.5*800units/s^2*t^2>h2 ,a?JmyZ@@
In frames @ 100 fps: E4: h2+4units>h(f)=h1+2.6825 units/f*f-0.5*8units/f^2*f^2>h2[/i]
9l$qfC$Gn4}4R
.D[X~&@eq#P
->注释:h1-=高度(落下的),h2=高度(落地),t=时间,f=帧S#w)N#~]Y
->t是在(1/fps) 秒内定性定量分析的大小
YBG,x8M(J
h-HQ6EF]]
如果fps不稳定,用这个方程:k)pLnR:]-YL-E
E5: 400/sqrt(71958.0625+1600*hd)
aQi/V2z5d
A}bD,YcV
-> 注释:sqrt = square root, hd = height difference
XzO4{+V!Gef
-> 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)
@g8v!S3L*a!reh&R
i9S7O\/qv:l-~|.m
一些连接:
m\ioJ`
No~d\
一些jump-bug的demo也许可以帮助你学习:us:V5Oi*u
P7T9A
[quote] F h/wD4^;alz@6W
[attach]28450[/attach][/quote]m8L8w{&MU
感谢:
-eNw)Lg)Sp$q2S
eDark计算并解释这一切,还有所有跳jump-bug的”先锋“,特别感谢tjubby,在很久前就把demo发到论坛上使这个技术得到注意,还有感谢Pulsarl录这个demo的人。
W"H1YV)|5K)d4B(@/{ n
感谢[b]angie[/b]帮助我修改这篇文章。eF8Jq5hB
p5C*i:n6oD,k
#j~)?~[H2S
附原文:%Q#GV.t!} y hr xS
Jump-Bug Guide
^8{Dy
}TD?)kT?w ]
[email=-][color=#0000ff]faker[/color][/email] Sunday 22 April 2007z(@#k,})t o3D
`
m__C,o0|2E3v}
|
?|#@wK2wa7YNXR
Hey guys, `9~&Sg"z$j.z8G:~8Fo
h
Jnf Ti0`
I’m pretty sure most of you have already heard a lot about this crazy new technique and are very curious to find out more about all this and to learn how it works.
.v4J6X8v7U'vvu {r
4Ri(M8k,K;R
In my spare time I spoke with [b]eDark[/b] (the (in)official Counter-Strike engine professor [img]http://xtreme-jumps.eu/e107_images/emoticons/smilie3.gif[/img] ) about some facts and the best way to master this technique.
3I~6V^
mE
y L
+}
r!_1y
c+}"V
First of all, probably the most important question: What is a jump-bug and what is it good for? @%jdv}0h(I0~%U
:B9d$c RFih
The Jump-bug was found by [b]tjubby[/b] some time ago and is another way to fall down a pretty long distance without taking any damage and/or dying, pretty similar to the normal [b]edgebug[/b]. Q!zH,Kb
Therefore, using this technique gives the jumper a considerable advantage on maps without a health charger. Perhaps the most amazing benefit is the fact that you can use the jump-bug in areas where edge-bugs are impossible.
$i kq"Q]A"^3Q)q&{
DP mr,DKs
Okay, so let’s try to find out how this technique is even possible and how it is possible to trigger the bug. c2s7ID[8E
s:I%B5?~,i^
Abp8FN2O
[b]How does the Jump-bug work?[/b]
0MYt-W%ulv
M}&d)U8qUBo
In an attempt to discover how the jump bug functions, we must first break down the CS engine. The Counter-Strike engine uses two different collision models. In this case the upper collision model is located slightly above the lower one, and as long as the upper collision model does not make contact with the ground, then the player will not take fall damage.
*K i3he W b
u]7wMP0DCe
If you use +duck the lower collision model will drop down about 4 units. The funny thing is, that this is the exact collision model used for the +jump command too, so if you duck while you are falling down and “jump off” within an area of 4 units above the ground, you’ve never touched the ground for the engine. You have to release the +duck key (to move the collision box back up) and jump at the very same moment, about 0.01 seconds before you would touch the ground and die, to trigger the bug and land without taking any damage.
@W"hV vqU
D
,C\?(Hy I"r5Cj7o$TR
Summing-Up: You have to jump, fall down, duck (hold the duck key), jump and release duck at the very same moment (at the place you are supposed to “land”). l?h {-VDb
T'N0lO*o:cKmg
"fgr&M1gk`
eP.S
[b]Is it just coincidence, or can I learn it?[/b]
f'mh$B4W-p
*yT+ZBg:lB1XXKK
Well, it’s particularly all about the right timing and the fps.
6WQF
w!hR
"u
V`WrS;nz
- FPS Issues: There are 3 different possibilities:
Rwp8y"NU;A'a
C T.gE\ ?*}
1. [i]constant 100,0 fps:[/i] If you have the right height difference (see below), perfect timing and all the requirements are met (to see what the requirements are about check the equation E3 below) your chances are 100% to do it. 6e7b6^?zv%Ly
2. [i]inconstant fps:[/i] If your FPS are inconstant it is pure coincidence if you will be able to trigger the jump-bug or not. Perfect timing does not necessarily mean that you will be able to trigger the bug successfully! BUT: Jump-bugs are possible with any height difference in this case (the height difference does not restrict the possibility to be able to do a jump-bug like it did in case 1.). To calculate how likely you will be able to trigger a jump-bug with inconstant fps see the equation below (E5). w]r2_]$MRg7J A
d,D2X&s.S] z$P
3. [i]constantly AND <100 fps:[/i] Pretty similar to case 1., but it’s harder (more unlikely) to trigger the bug. To calculate the possibility you have to use the same equation (E3) but with bigger steps (0,01*(100/fps) instead of 0,01) |d\:S$x ] K
W Fz0`({"X(KBd8?
- Another aspect is the [i]height difference [/i]: The higher the jump is (and therefore the bigger the height difference is) the harder it will become to trigger a bug. 1qd3AX/b
l
fc CM5S*t
A.^(^R x4Sb
[b]Pure facts (for the math geeks [img]http://xtreme-jumps.eu/e107_images/emoticons/smilie3.gif[/img] )[/b]