|
|
发表于 2009-7-15 12:21:19
|
显示全部楼层
原帖由 kidrock 于 2009-7-14 22:07 发表 6 o# h4 \- w* z- R c X5 k
主要我是个初学者,最多会修改数字,关于无敌状态这种根本不会,现学的话。。。 。。。我是恐龙,进化不了那种,哎
4 @3 Z' H- B9 B7 U4 E+ Q3 |4 Q# N, U, }+ s8 `
其實修改無敵很容易,2 N6 n) O" I8 A
就以遊戲程式設計的觀點來說,4 t' {! c8 [3 U4 a- H( H
一開始我會將人物無敵數值設定為0; m/ \7 }0 g. h8 H! W% R
ex: ( _, y& @* s0 f* y/ @
#define InvisibleInit 0$ v5 u8 v* ^, E& N# O: G
! |8 Z' f$ G3 M$ u! T+ g( W& i* I然後當觸發特定事件,例如受到敵方攻擊(物件碰撞),7 w) p, M" e. ^, ]
呼叫設定函數
7 t; B: ?( S* V! P5 J5 [( ]ex:$ R! d5 H1 T& e. j5 b! t
BYTE InviIniVal(EVENT event,BYTE SetVal)) s( H+ T4 W' A& M$ l
{
9 ^, k8 j* F% X8 w. ^5 G3 v, D- |//Deal event ...* J) F7 x# I* u
3 J8 S1 |! C5 K% Y6 @+ R& V9 B//Deal InitVal
, i+ V: J$ A4 G. aBYTE ret = 0;8 G0 @) A) T" t9 t
SetVal+=InvisibleInit;
3 h* f/ M( i( n- Z. hret += SetVal ;2 D0 W- K6 ?1 E/ r0 ]8 g
return ret;/ X1 S7 ?- |7 ^5 d$ _3 q
} ) [- c% D7 f* ^. ]/ r! h
) y8 P) e& P1 i! v+ h
最後關切的函數當然是遞減函數:
! w% W# o4 A. jex:
, m4 s6 C7 d1 fBYTE DecInviVal(BYTE *InviVal)# O- o" C2 I3 c/ }" b+ E( V
{
, g# n& `# I0 f- {, H& P. Q; ^cout<<*InviVal<<endl;& k1 t1 t `: d2 f
(*InviVal)--; //*InviVal -= DecVal;
" p; b8 ?. \" V+ }8 qcout<<*InviVal<<endl;
0 t8 p( H# P) f* A(*InviVal > 0) ? DecInviVal(InviVal) : *InviVal=0 ; ~! X$ I2 T1 o6 |. N* c' Z
return *InviVal;
# r) K& e* e+ }2 L; Z3 N}; ]4 d$ R3 E) n9 o @0 I
4 v6 `7 G6 ], C* E
針對以上觀念,改遊戲就很簡單,
! K( M4 n" ~ s/ V0 V& y一開始我們先初始化數值,輸入'?',
9 x+ E) [, w. w接著開始無敵時,輸入'+',
. k1 l9 [& A; x3 V& p接著我們知道無敵時間會開始變動,5 {; ^# S5 b# G; e3 V% b Q
以上例來說時間開始減少,每隔一段時間輸入'-',# C" y5 x8 v% H: I/ B1 i
最後沒有無敵效果了,輸入'!' 或是 '0'。
! ~! _3 r! C1 d; K' ?& q7 \5 ~% U" V% p
記憶體地址經由演算法篩選後,只會剩下幾個,
( D/ ]( |7 U! |' P& f4 ]try 一下,你要的地址就出現了。6 _& ?# z) q& k; }8 l3 m
; G2 o: S4 a3 N; {
P.S.以上程式已經Run過,沒有問題。 t/ R- R$ X, n0 Z
0 L* B2 }+ O m[ 本帖最后由 krizal 于 2009-7-15 12:43 编辑 ] |
|