您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 公司方案 > 生化危机4物品修改方法
生化危机4物品修改方法*******************************************************************************为了下文中16进制数和10进制数不搞混,特此批注:注:——下文中(图片中的数值除外)的数值中有“0”、“1”、“00”、“01”、“36”、“00h”、“01h”“57h”、“FFh”、“1234h”、“ABCDh”、“152”等,在这些16进制数和10进制数混合搭配的数值中,除了这种格式:16进制数字+h是16进制数以外,其它的数值均默认为10进制数。重复:——下文中(图片中的数值除外)的数值如果不是这种格式16进制数字+h,则默认为10进制数。16进制数的进位方法:每满10进制的数16,就向更高位进1。16进制数字一共有16个,从小到大依次为:0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F。它们分别代表10进制的:0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15。我常用的16进制数值表示方法就是16进制数字+h(即16进制数字右边加个“h”,16进制数字右边的“h”大小写均可,即例如:“2Ch”也可写作“2CH”)。下文中的“57h,0,152,0,1,0,0,0,0,0,0,0,0,0”、“25h,0,1,0,1,0,10h,32h,120,0,7,5,0,1”、“57h,00,255,00,01,00,00,00,00,00,00,00,00,00”等数值串均为16进制数和10进制数混合搭配。**************************************************************************************************************************************************************《基础知识》@@@注:数值串“00h,01h,02h”和数值串“01,2,003”以及数值串“1,02h,003,45,AB12h”等里面,用逗号隔开来的数值从左到右依次是:第1字节的数值,是第2字节的数值,是第3字节的数值。。。依此类推。——下文中所有带逗号的数值串都是按照从左到右的顺序,即从小到大的字节顺序,用逗号隔开来排列的。@@@*******************************************************************************生化危机4里任何一个单一的物品(物品箱、手枪类武器、补血药、手雷、鸡蛋、宝石等)在地址栏里都分别占用14个连续的字节。图例1:***注:图中地址列表中的数值均为16进制数值***----------------------------------------------------------------------------------------------------------------------图中“7Ch,00h,01h,00h,01h,00h,00h,00h,00h,00h,00h,00h,00h,00h”(也可写作“7Ch,0,1,0,1,0,0,0,0,0,0,0,0,0”)是物品地址段最开始的地方,也代表物品箱,如果不知道物品地址段,就直接搜索物品箱的地址串即可快速找到物品地址段的范围的起始点。如图:----------------------------------------------------------------------------------------------------------------------***字长为14个字节的地址串,且即便是同种物品,也可用两个或更多个地址串表示,代表多个物品。***图例2:***注:图中数值串“57h,00h,98h,00h,01h,00h,00h,00h,00h,00h,00h,00h,00h,00h”和另一个数值相同的数值串“57h,00h,98h,00h,01h,00h,00h,00h,00h,00h,00h,00h,00h,00h”中的数值均为16进制数值***这14个连续的字节依次是:·第1、2字节:物品种类的代码(比如,16进制数值“00h,00h”是麦格农弹药,16进制数值“01h,00h”是手雷),@@@一般物品种类的代码由第1字节来决定,第2字节的数值一般为“00h”。@@@·第3、4字节:物品的数量(最小=0,最大=10进制数65535);·第5、6字节:这两个字节一般值为16进制00h,00h或16进制01h,00h,16进制数值为00h,00h时代表物品不存在,16进制数值为01h,00h时代表物品存在;·第7、8字节:当物品为物品箱、补血药、手雷、鸡蛋、宝石等时,这两个地址的值为00h,00h,而当物品为手枪类武器时,这两个字节的16进制数值的个位和十位分别代表手枪类武器的4种属性:第7字节的16进制数的个位上的数字代表手枪类武器的威力(最小0h,最大Fh);第7字节的16进制数的十位上的数字代表手枪类武器的射速(最小0h,最大Fh);第8字节的16进制数的个位上的数字代表手枪类武器的上膛速度(最小0h,最大Fh);第8字节的16进制数的十位上的数字代表手枪类武器的弹夹容量(最小0h,最大Fh)。在游戏中,手枪类武器的各项属性的数值均为地址中相应数值+1。比如(下面是例子):如果手枪类武器的威力是1格,射速是1格,上膛速度是1格,弹夹容量是1格,则第7、8字节的16进制数值就是00h,00h;如果手枪类武器的威力是2格,射速是2格,上膛速度是2格,弹夹容量是2格,则第7、8字节的16进制数值就是11h,11h;如果手枪类武器的威力是3格,射速是3格,上膛速度是3格,弹夹容量是3格,则第7、8字节的16进制数值就是22h,22h;如果手枪类武器的威力是1格,射速是2格,上膛速度是3格,弹夹容量是4格,则第7、8字节的16进制数值就是10h,32h;;如果手枪类武器的威力是2格,射速是3格,上膛速度是4格,弹夹容量是5格,则第7、8字节的16进制数值就是21h,43h;;如果手枪类武器的威力是16格,射速是16格,上膛速度是16格,弹夹容量是16格,则第7、8字节的16进制数值就是FFh,FFh(16进制数“F”代表10进制数15)。图例3:***注:图中的数值串“25h,00h,01h,00h,01h,00h,10h,32h,B0h,00h,05h,05h,00h,01h”里的数值均为16进制数值***·第9、10字节:当物品为物品箱、补血药、手雷、宝石等时,这两个地址的值为00h,00h,而当物品为手枪类武器时,这两个字节的10进制数代表手枪类武器里弹药的数量,地址中弹药数量的10进制数值为手枪类武器中实际弹药数量的8倍。比如:如果手枪里有1发子弹,则地址中弹药数量的数值为8;如果手枪里有2发子弹,则地址中弹药数量的数值为16;如果手枪里有3发子弹,则地址中弹药数量的数值为24。。。依此类推,最多能有8191发子弹,也就是地址中的10进制数65525。·第11、12字节:当物品为物品箱、宝石等时,这两个字节的16进制数值为00h,00h,而当物品为手枪类武器、补血药、手雷、鸡蛋等时,则第11字节代表物品的横位置,第12字节代表物品的纵位置。在游戏中打开物品箱画面,里面陈列着各式手枪类武器、补血药、手雷、鸡蛋等物品。下面来说一下横纵位置值(横纵位置值的单方向上的数值计算方法完全相同,并且都是用10进制数来计算):————————物品横位置值—————————物品横位置值由两部分数值(10进制数值)相加组成:第①部分:从箱子里物品所在水平线的箱子的最左端数起,从左往右数,一直数到物品所占格的左面前一格,一共有几格,就把这个总格数乘以2,这个数出来的总格数*2就是物品横位置的地址数值的第1部分。提示:如果物品在物品栏最左端,则物品左面,物品所在水平线上,从物品栏最左端到物品所占格的左面前一格的总格数就是0,这个数出来的总格数*2的数值就是0*2=0。第②部分:在忽视物品摆放的角度(顺时针旋转0度、顺时针旋转90度等,后面有介绍)的情况下,只是从物品所占格的最左一格往物品的最右一格数物品的横长度、从物品的最上一格往物品的最下一格数物品的纵长度的情况下,数物品的横长度:如果物品在水平线上占了1格,则数出来的物品横长度是0;如果物品在水平线上占了2格,则数出来的物品横长度是1;如果物品在水平线上占了3格,则数出来的物品横长度是2。。。依此类推。这个数出来的物品横长度就是物品横位置的地址数值的第2部分。把第①部分的数值和第②部分的数值加起来就是物品的横位置的地址数值。————————物品纵位置值————————物品纵位置值同样由两部分数值(10进制数值)相加组成:第①部分:从箱子里物品所在垂直线的箱子的最上端数起,从上往下数,一直数到物品所占格的上面前一格,一共有几格,就把这个总格数乘以2,这个数出来的总格数*2就是物品纵位置的地址数值的第1部分。提示:如果物品在物品栏最上端,则物品上面,物品所在垂直线上,从物品栏最上端到物品所占格的上面前一格的总格数就是0,这个数出来的总格数*2的数值就是0*2=0。第②部分:在忽视物品摆放的角度(顺时针旋转0度、顺时针旋转90度等,后面有介绍)的情况下,只是从物品所占格的最左一格往物品的最右一格数物品的横长度、从物品的最上一格往物品的最下一格数物品的纵长度的情况下,数物品的纵长度:如果物品在垂直线上占了1格,则数出来的物品纵长度是0;如果物品在垂直线上占了2格,则数出来的物品纵长度是1;如果物品在垂直线上占了3格,则数出来的物品纵长度是2。。。依此类推。这个数出来的物品纵长度就是物品纵位置的地址数值的第2部分。把第①部分的数值和第②部分的数值加起来就是物品的纵位置的地址数值。下面是横纵位置值的例子:图例4:(横纵位置值用10进制数来计算)***注:图中的数值串“25h,00h,01h,00h,01h,00h,10h,32h,B0h,00h,05h,05h,00h,01h”里的数值均为16进制数值***·第13字节:当物品为物品箱、宝石等时,这个字节的数值为00h,代表不在物品箱里的物品没有物品摆放的角度值;而当物品为手枪类武器、补血药、手雷、鸡蛋等时,则这个字节的数值代表物品摆放的角度值(顺时针旋转0度,顺时针旋转90度等)。第13字节的数值有8种,分别代表8种物品摆放的角度。它们分别是:物品正面(——即物品未做任何旋转时放入物品箱时对着我们的面)(数值0,1,2,3):数值0(00h):物品正面顺时针或逆时针旋转0度,即物品未做任何旋转时放入物品箱时的摆放角度;数值1(01h):物品正面顺时针旋转90度(物品正面逆时针旋转270度);数值2(02h):物品正面顺时针或逆时针旋转180度;数值3(03h):物品正面顺时针旋转270度(物品正面逆时针旋转90度);物品背面(——即物品未做任何旋转时放入物品箱,然后将它绕着纵轴旋转180度后对着我们的面,又即游戏中拿起一个未做任何旋转的物品按1下“视角向左”或“视角向右”按键后,物品旋转后对着我们的面)(数值4,5,6,7):数值4(04h):物品背面顺时针或逆时针旋转0度;数值5(05h):物品背面顺时针旋转90度(物品背面逆时针旋转270度);数值6(06h):物品背面顺时针或逆时针旋转180度;数值7(07h):物品背面顺时针旋转270度(物品背面逆时针旋转90度);图例5:***注:图中的数值串“0Ah,00h,01h,00h,01h,00h,00h,00h,00h,00h,04h,04h,00h,01h”和数值串“0Ah,00h,01h,00h,01h,00h,00h,00h,00h,00h,04h,04h,01h,01h”里的数值均为16进制数值***~~~~~~~~~~~~~~~~~~~
本文标题:生化危机4物品修改方法
链接地址:https://www.777doc.com/doc-731935 .html