|
|
发表于 2009-7-15 12:21:19
|
显示全部楼层
原帖由 kidrock 于 2009-7-14 22:07 发表 / p7 J1 d; i s7 Z9 f* n
主要我是个初学者,最多会修改数字,关于无敌状态这种根本不会,现学的话。。。 。。。我是恐龙,进化不了那种,哎 & q/ K0 P" R# E# d, M
" l) x+ X1 F0 X& d2 }+ y
其實修改無敵很容易,
; _9 p7 e! Y$ f& t9 n) p0 D就以遊戲程式設計的觀點來說,
9 p: B; h0 W; z9 ^! ]: Z: g一開始我會將人物無敵數值設定為06 e% @4 K2 l/ a( T8 i1 L# ~
ex: : e2 k8 b" i. G
#define InvisibleInit 07 f+ a: [ _) f: S# r
- Q. Z3 U: W; I# n, b- k) A然後當觸發特定事件,例如受到敵方攻擊(物件碰撞),
0 U/ F, F" |1 ^ o$ l! B0 o Q呼叫設定函數' Y/ c; k, l4 }+ s: x
ex:# o; s- T8 o1 s$ i" C0 {
BYTE InviIniVal(EVENT event,BYTE SetVal)
% \6 S3 j% v! v2 m }{
7 e0 K9 |4 i5 v- c0 u: o* v//Deal event ...
) o4 t4 W2 _9 T2 Q
9 W& h4 p1 P; D' p# l" J9 n2 {//Deal InitVal
) X# t8 O6 X a% g8 vBYTE ret = 0;0 N R/ [8 i( R, e( U
SetVal+=InvisibleInit;; d* p5 ~: L$ ?: m; H! D& K" C
ret += SetVal ;
1 Q1 F- u# S. f. @: r! ` Breturn ret;
, O* v$ O: \6 i5 H2 b; y, |' ] Y} 7 K( D6 ~5 P% e3 d" L3 z+ M
0 y! R: c/ m9 E: Q) k最後關切的函數當然是遞減函數:, R9 U/ Q! e& v+ r' j! G: S5 `
ex:7 s" e6 w- {3 o
BYTE DecInviVal(BYTE *InviVal)9 {: p9 R1 `8 w5 E& g+ K
{
! }9 i# e& X+ U$ }& ccout<<*InviVal<<endl;# n- |; ~: O& T
(*InviVal)--; //*InviVal -= DecVal;5 f5 W0 B- Z# T8 l$ F0 R8 e
cout<<*InviVal<<endl;
$ A& T$ G$ C9 j(*InviVal > 0) ? DecInviVal(InviVal) : *InviVal=0 ;. T2 q6 _. C' c6 o% y& u
return *InviVal;
1 _5 q& j* S% N" [}
5 q- T$ m7 k- X' i0 l, X
8 J3 e( w( C7 y( U! ]% c0 i3 ?, V針對以上觀念,改遊戲就很簡單,( L! i& V/ h+ t2 ^) L
一開始我們先初始化數值,輸入'?',
8 m. o1 ~0 p1 f' e+ _- }/ J) z% S接著開始無敵時,輸入'+',, a4 h% O$ |# [( }
接著我們知道無敵時間會開始變動,
7 W: X2 D# j6 j; b- L1 {9 ~以上例來說時間開始減少,每隔一段時間輸入'-',
8 o- M0 M- b+ O* N+ d; L最後沒有無敵效果了,輸入'!' 或是 '0'。
( f( Z) h& [0 G8 o, o5 d
0 k* t7 a: s4 q1 L4 ?- e記憶體地址經由演算法篩選後,只會剩下幾個,
$ E }% t; `; j+ _2 }) xtry 一下,你要的地址就出現了。
# v8 T* R( T; V; P* X4 y( u2 ~' P3 D
P.S.以上程式已經Run過,沒有問題。; z1 C/ g' H7 x2 i9 k3 E* @- y
1 p7 X4 L; D& s& X[ 本帖最后由 krizal 于 2009-7-15 12:43 编辑 ] |
|