|
|
发表于 2009-7-15 12:21:19
|
显示全部楼层
原帖由 kidrock 于 2009-7-14 22:07 发表 
" a2 M; _4 |. D3 K) l主要我是个初学者,最多会修改数字,关于无敌状态这种根本不会,现学的话。。。 。。。我是恐龙,进化不了那种,哎 ) Y- E- C+ }" X- {
) }; o4 l; y5 @+ m其實修改無敵很容易,1 K, M# w$ J+ n
就以遊戲程式設計的觀點來說,
0 g$ l' s! Q( E( Y1 [4 C! {一開始我會將人物無敵數值設定為0
8 x: T3 [$ z- ^ex: . n0 K* g7 u) u1 ]( Z. F
#define InvisibleInit 0
$ c& ?3 V; h# R" v& u" _* }( {& b0 W1 I+ u' X G+ X
然後當觸發特定事件,例如受到敵方攻擊(物件碰撞),
/ C" l( c% K1 h& B6 U( y+ S呼叫設定函數
3 V1 Z) c. K2 Xex:
+ ~: n+ g3 I/ j1 _, fBYTE InviIniVal(EVENT event,BYTE SetVal)# z( M: Q7 Q. X3 ?% N0 A
{
" _+ W" s' [7 J7 T//Deal event ...# w9 G& f6 U q$ J4 X/ t& u8 _+ W
5 Y; D2 b* A- m//Deal InitVal
! L- l4 \' U( m; `! pBYTE ret = 0;5 x+ |: k. h$ R% V5 o! N
SetVal+=InvisibleInit;
* S/ F" ~8 ^* Z, a5 {. Hret += SetVal ;" o/ V# E* v/ Y4 L0 \8 F4 d( ~
return ret;. W1 ~# ~7 d/ [. ^$ H# J
} 7 v4 Y! T$ j& A* Z7 ^0 U& u A
' C8 D. Q6 }3 h m5 s) |最後關切的函數當然是遞減函數:
$ a& V, a' C9 d0 Gex:
: t: v' J: Q" ~& J$ D- ]BYTE DecInviVal(BYTE *InviVal)5 j+ t% \6 X% o8 G. `
{
1 [4 b: w& j+ H& U% g$ v3 E. ]cout<<*InviVal<<endl;
$ v0 z+ i" m1 e9 w" L: \) B5 S/ d(*InviVal)--; //*InviVal -= DecVal;
* Z- y) F& b, C% Y+ w: s* b- ]cout<<*InviVal<<endl;
9 h' w2 X g9 a: ^$ }9 d# R(*InviVal > 0) ? DecInviVal(InviVal) : *InviVal=0 ;
, o1 {, c5 q t+ [return *InviVal;
8 Q* `+ V9 b# ?# T6 r m) b) Z1 w} |1 e! J Q7 }
7 M& o: s$ V$ X/ `針對以上觀念,改遊戲就很簡單,$ a/ L. C R$ \$ e
一開始我們先初始化數值,輸入'?',
' g: _ }# F. c5 a' }1 ]接著開始無敵時,輸入'+',' y! T" q- Q6 p. P4 {6 q s* X
接著我們知道無敵時間會開始變動,
" q0 v! F3 `$ a, Y: O以上例來說時間開始減少,每隔一段時間輸入'-',4 D: C9 j% ~- o5 p' U. }
最後沒有無敵效果了,輸入'!' 或是 '0'。1 ?& d Y- M& ?8 M2 ]4 C5 J
5 @; C" O+ S8 z% D* V
記憶體地址經由演算法篩選後,只會剩下幾個,5 @0 V4 U% u4 Y1 o1 U, k. W
try 一下,你要的地址就出現了。7 S/ o8 t9 j5 T. x& D) o/ \
* ]- h" m' }. u- |3 @1 t
P.S.以上程式已經Run過,沒有問題。
4 |# [ d. z- k. [) g4 }* e, o5 U" Y
[ 本帖最后由 krizal 于 2009-7-15 12:43 编辑 ] |
|