|
|
发表于 2009-7-15 12:21:19
|
显示全部楼层
原帖由 kidrock 于 2009-7-14 22:07 发表 
N$ s0 P7 b# T# P! Y主要我是个初学者,最多会修改数字,关于无敌状态这种根本不会,现学的话。。。 。。。我是恐龙,进化不了那种,哎 5 e+ a, t+ f% D7 d3 [6 \
/ N9 D2 |7 U* v1 }+ w1 U其實修改無敵很容易,
5 q; ]4 R- H# g; k8 _# [就以遊戲程式設計的觀點來說,
5 V+ T. |- v& \: j, M一開始我會將人物無敵數值設定為0
' h9 z/ }8 k- Xex: ' R& p5 n# n$ y1 J
#define InvisibleInit 0: G) T3 l+ n0 p; {$ |/ b' z1 `: T( h
$ @* W/ x- F) N1 V
然後當觸發特定事件,例如受到敵方攻擊(物件碰撞),
7 c( a% p( k7 e @呼叫設定函數: J' r: s. `/ }4 r" ?1 ~8 @
ex:
7 }3 X! d; e" \; l( `BYTE InviIniVal(EVENT event,BYTE SetVal)
: R+ o- `9 x* @3 R6 |: x$ C2 d{0 p5 M. l7 J1 |; M( T9 x0 N; T3 b2 L
//Deal event ...
% S' D' _ m0 `% R9 ^' E" B
0 M( ~0 _/ j- _8 g5 P. \% F//Deal InitVal! J- [' f) Y& M" Q$ Q- P% r, F; O4 D
BYTE ret = 0;
1 l& @ S2 Z/ D: g2 ^: D0 KSetVal+=InvisibleInit;
5 q9 ]: o4 u/ L1 D2 nret += SetVal ;1 |' j, X# I5 D# m6 f
return ret;
$ \* D* S+ S! i: ~}
3 w! V! d: d) \1 p4 s: X* A% s/ N3 M( Z! b! b8 P
最後關切的函數當然是遞減函數:
, i7 O4 n. F, Z: o2 ]3 Qex:, E7 [$ D8 M% T, H) t: c
BYTE DecInviVal(BYTE *InviVal): W- [7 h$ _* @0 }* h8 b
{
8 t- g. s/ i. ?$ v6 R5 Z. Icout<<*InviVal<<endl;
% Z' w( O* r. W+ c3 a(*InviVal)--; //*InviVal -= DecVal;
! ~2 w) n' V! _; V3 Ocout<<*InviVal<<endl;+ o' k- W# t- q$ f) i9 R5 P8 c4 h g
(*InviVal > 0) ? DecInviVal(InviVal) : *InviVal=0 ;
$ i. i8 ?- h/ y- g) }% R* ]/ X. [return *InviVal;; p& @! G! }+ o% S0 I& _; r
}
, K: n+ _6 F9 Q5 H1 U* v. ^
+ K1 A/ R2 ~0 D7 q. I9 |7 i針對以上觀念,改遊戲就很簡單,
5 |5 d# r8 A, w$ p* y一開始我們先初始化數值,輸入'?',
: E/ Z& P9 t; l- i# f u. s* W1 x! Z接著開始無敵時,輸入'+',
4 \0 O. y$ r/ I7 U; ~$ Z接著我們知道無敵時間會開始變動,
4 }0 M& i! {8 V5 L7 R' |以上例來說時間開始減少,每隔一段時間輸入'-',) M9 e! `; E+ Y( E, i
最後沒有無敵效果了,輸入'!' 或是 '0'。: J# P U! A) _9 L* m8 q, K8 C2 T
* o' ]) R2 `3 L. N" N; H) [3 T記憶體地址經由演算法篩選後,只會剩下幾個,
/ c7 ]) z3 e+ v: \try 一下,你要的地址就出現了。
) R5 w- {, z; W E5 ]# e% W; Z( N7 v! I; t
P.S.以上程式已經Run過,沒有問題。
7 W0 |3 @! O0 Z5 a1 {; m
# ?; L) @6 R6 D0 @[ 本帖最后由 krizal 于 2009-7-15 12:43 编辑 ] |
|