|
|
发表于 2009-7-15 12:21:19
|
显示全部楼层
原帖由 kidrock 于 2009-7-14 22:07 发表 
7 U6 |: h$ I) O0 T- b' q主要我是个初学者,最多会修改数字,关于无敌状态这种根本不会,现学的话。。。 。。。我是恐龙,进化不了那种,哎
+ G. p( @: r+ M) j; K! @* @3 t+ {
* f# R- M( U' T; T' }7 C3 f, M其實修改無敵很容易,3 a* B1 V- s( O0 ~& b$ w2 ~9 C
就以遊戲程式設計的觀點來說,) J* K8 s8 R5 ^2 [7 W2 j* N8 R
一開始我會將人物無敵數值設定為03 I$ Y* G3 i0 z+ }5 k1 T
ex:
4 O" M% W* ], s' f, b7 U#define InvisibleInit 0
% X3 l: p. a' ^# @
; T. N% m: ~7 S7 }% x然後當觸發特定事件,例如受到敵方攻擊(物件碰撞),* d: D% Y9 W5 D; h( L6 ?% u
呼叫設定函數
( F& k5 ]0 ~5 `& Tex:
* z6 ?" u H9 J; r5 G: s7 {BYTE InviIniVal(EVENT event,BYTE SetVal)# u) ^+ P8 b5 m! ?) f7 J7 Y7 c9 l
{* ]1 l4 l$ x1 j
//Deal event ...
5 l" t! ?/ e7 G) w R: a1 a
; s$ U* d' T4 _5 G' u1 k//Deal InitVal
+ U; u8 ~7 Y; N/ lBYTE ret = 0;
% N1 _6 }( J$ J2 i; r' f% b/ A0 vSetVal+=InvisibleInit;
/ K+ u, V/ p2 m8 i1 Y8 oret += SetVal ;1 R) R o9 C& o6 V0 }/ b
return ret;
+ r# I' q+ V2 x3 C& B/ L ~}
) \: t, s+ {$ R3 w( ~4 Y$ n) n' s0 S7 h9 N4 V
最後關切的函數當然是遞減函數:
1 {' {' V1 h& j8 D) |ex:: s( L6 |' z$ r3 Q. e
BYTE DecInviVal(BYTE *InviVal)- j, M& G7 J0 a3 {$ b5 K* @
{
5 @. W L+ w2 m7 h) f& P) x% pcout<<*InviVal<<endl;
3 G6 M6 x' C. Y; L; e2 R! V(*InviVal)--; //*InviVal -= DecVal;
3 B( e# c; M7 s* U- d1 h$ Fcout<<*InviVal<<endl;
8 d5 h$ n' t5 v9 n* b* e2 N: S(*InviVal > 0) ? DecInviVal(InviVal) : *InviVal=0 ;
2 M: ]; D. g# z# L% s. l/ L$ R9 oreturn *InviVal;; c9 r1 j6 G4 n# c# P
}
/ X' V* k! H, q- Y* X7 x$ `6 L
2 K' T5 J$ ^+ X針對以上觀念,改遊戲就很簡單,) g. {: m3 q, H0 H3 V
一開始我們先初始化數值,輸入'?',. g- ^: z; U2 x( S& x, Z# c8 P
接著開始無敵時,輸入'+',, G, ?) I1 x, d+ O2 K! z
接著我們知道無敵時間會開始變動,
) h+ e$ L. s! \: \' O J1 [( r: u8 f以上例來說時間開始減少,每隔一段時間輸入'-',
! }/ g& T+ m; t最後沒有無敵效果了,輸入'!' 或是 '0'。
% P% b) o% T/ ]7 [% p
: H2 a0 S2 X4 e' L, B& o記憶體地址經由演算法篩選後,只會剩下幾個,. i" z* [2 y/ I+ D6 i& C
try 一下,你要的地址就出現了。 P+ E u: I& V5 k1 Y
' p: D) V' n+ K0 ^9 p0 t9 VP.S.以上程式已經Run過,沒有問題。
& o+ s! y7 K0 s* w" f$ E, ?: O6 ~4 [- h7 V- v8 P& R
[ 本帖最后由 krizal 于 2009-7-15 12:43 编辑 ] |
|