这一章將会說一說金手指碼的分类。主要的金手类别有:直接寫入碼,鍵位碼,条件碼,壓縮碼。事不疑遲,立即进行解說。
――――――――――――――――
附件1: x遊戲的數据图
地址 +0 +1 +2 +3 +4 +5 +6 +7
0x00…001 10 00 00 00 00 00 00 00
0x00…002 00 00 00 00 00 00 00 00

0x18…000 00 00 00 00 00 00 00 00
――――――――――――――――
1)直接寫入碼
故名思义,是一种直接打上地址和值的代码,即是簡單直接地修改數据。是編寫時最常用到的類别。提供一个例子吧!如果想把附件1中的地址0x00…001(某项数据或物品)中的10(数据或物品的值)修改成14,便直接修改,然后按他的地址进行鎖定。
在不同的情況下,地址会自动變成0x1xxxxxxx或0x2xxxxxxx!为什么?
不要怕,現在就給你解難。
在值的填寫(現在也不会多用数据图,而用搜索,再加列表进行修改)也有一定的規則和分类。
………………………………………………
设[a=地址(0-F),b=值(0-F)]
………………………………………………
1)8bits[单字節]
0x0aaaaaaa 0x000000bb
当值只是佔两个位时,地址不会变化。
………………………………………………
2)16bits[双字節]
0x1aaaaaaa 0x0000bbbb
当值佔四个位时,地址必须为0x1aaaaaaa,而且,最后那一个位的值必须为0,2,4,8。
………………………………………………
3)32bits[四字節]
0x2aaaaaaa 0xbbbbbbbb
当值是佔多於四个位便即成为32bits。而最后的值必须为0,4,8,C。
――――――――――――――――
2)鍵位碼
这是一种类似按鍵反射的碼,除了要有鍵位值外,亦要有令一組的碼去启动(事件或变量值改變)
………………………………………………
附件2:鍵位碼表(轉自sam大)
Button             Code
SELECT             0x00000001
START               0x00000008
DPAD UP        0x00000010
DPAD RIGHT   0x00000020
DPAD DOWN  0x00000040
DPAD LEFT      0x00000080
L TRIGGER      0x00000100
R TRIGGER    0x00000200
TRIANGLE        0x00001000
CIRCLE            0x00002000
CROSS              0x00004000
SQUARE         0x00008000
HOME              0x00010000
HOLD               0x00020000
NOTE               0x00800000
SCREEN          0x00400000
VOLUME+ 0x00100000
VOLUME-      0x00200000
WLAN UP        0x00040000
HOLD        0x00080000
………………………………………………
公式:
0xD00000nn 0x1bb bb bbb
※當鍵位値等於bbbbbbb時執行該行代碼下的nn行代碼,否則跳過nn行代碼
[這個的意思是,當按下你所設定的鍵時,啟動你所設定的代碼. ]
0xD00000nn 0x3bb bb bbb
※當鍵位値等於bb bb bbb時跳過該行代碼下的nn行代碼,否則執行nn行代碼
[這個的意思是,當按下你所設定的鍵時,不啟 動你所設定的代碼.當不按下時,則啟動.]
eg(gvgnp)
0xD0000001 0x30004000
0x213DDE90 0x213DDE98
[这是解作:当按下"X"时,執行此列表下一行代碼。而那代碼的效用很可怕,当双方均为独角高达,我按下x会变高彈速。而在不按下时,彈速跟原来的一样,所以只有我的彈才会变快。]
――――――――――――――――
3)壓縮碼
壓縮碼是一种让大量,有規律的地址和值可以方便修改。
………………………………………………
附件3:壓縮公式
單字節/8 bits
0x8aaaaaaa 0xnnnncccc
0x000000bb 0x000000dd
※從aa aa aa a地址開始連續作nn nn行的修改,每行地址 間隔cc cc,第一行修改値爲bb,之後每行修改値遞增dd

雙字節/16 bits
0x8aaaaaaa 0xnnnncccc
0x1000bbbb 0x0000dddd
※從aa aa aa a地址開始連續作nn nn行的修改,每行地址 間隔cc cc×2,第一行修改値爲bb bb,之後每行修改値遞增 dd dd,地址尾數必須是0、2、4、6、8、A、C或E

四字節/32 bits
0x4aaaaaaa 0xnnnncccc
0xbbbbbbbb 0xdddddddd
※從aa aa aa a地址開始連續作nn nn行的修改,每行地址 間隔cc cc×4,第一行修改値爲bb bb bb bb,之後每行修改 値遞增dd dd dd dd,地址尾數必須是0、4、8或C
………………………………………………
以四字節的公式为例:
0x413DDE90 0x00030002
0x00364501 0x00000001
就以这代碼为例,他是在0x013DDE90这地址中,向下进行三个相隔8行(4x2)的代码鎖定。而每次鎖定再加上1,所以第二个碼(在地址0x013DDE98中)的值是0x00364502。
――――――――――――――――
其实,金手指還有指針碼、複制碼,邏輯运算碼和高手常用的条件碼。不过,這些都要作者在2012年1月17日後取回psp才能講解,因这些是要实习才会明的高階碼,但基本上,前这四种也暫時夠大家寫平常的小金。
~第二章完~
arrow
arrow
    全站熱搜

    Redsuns Chan 發表在 痞客邦 留言(3) 人氣()