这一章將会說一說金手指碼的分类。主要的金手类别有:直接寫入碼,鍵位碼,条件碼,壓縮碼。事不疑遲,立即进行解說。 ―――――――――――――――― 附件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才能講解,因这些是要实习才会明的高階碼,但基本上,前这四种也暫時夠大家寫平常的小金。 ~第二章完~
文章標籤