| IceTeaMan Newbie cheater
 
 ![]() Reputation: 1 
 Joined: 23 Jul 2011
 Posts: 19
 
 
 | 
			
				|  Posted: Sun Aug 28, 2011 11:44 pm    Post subject: |   |  
				| 
 |  
				| was playing around with this script to locate the 2 addresses that seem to hold the Heavy Mech Armor value when taking damage:
 
 
  	  | Code: |  	  | function DEC_HEX(IN)
 local B,K,OUT,I,D=16,"0123456789ABCDEF","",0
 while IN>0 do
 I=I+1
 IN,D=math.floor(IN/B),math.mod(IN,B)+1
 OUT=string.sub(K,D,D)..OUT
 end
 return OUT
 end
 
 local autoattach = getAutoAttachList();
 strings_add(autoattach, 'F.E.A.R. 3.exe');
 
 local scan = AOBScan("C5009B102B000000??????1E");
 if scan ~= nil and strings_getCount(scan) > 0 then
 local scan_num = strings_getCount(scan);
 for n = 0, scan_num - 1 do
 local addr6 = strings_getString(scan, n);
 addr6p=tonumber("0x"..addr6)-16
 IN = addr6p
 if (readBytes(addr6.."-9")) == 0x00
 and (readBytes(addr6.."-5A")) == 0x3F
 then print (DEC_HEX(IN).."   Heavy Mech Armor "
 ..DEC_HEX(IN).." = "..readDouble(addr6.."-10")
 .." double floating point");
 print ("                   "
 .."value until first entered");
 elseif (readString(addr6.."-9", 2)) == "?"
 and (readBytes(addr6.."-5A")) == 0x3F
 then print (DEC_HEX(IN).."   Heavy Mech Armor "
 ..DEC_HEX(IN).." = "..readDouble(addr6.."-10")
 .." double floating point");
 end
 end
 object_destroy( scan );
 end
 local scan = AOBScan("20????05B0??A9042100000002");
 if scan ~= nil and strings_getCount(scan) > 0 then
 local scan_num = strings_getCount(scan);
 for n = 0, scan_num - 1 do
 local addr7 = strings_getString(scan, n);
 addr7p=tonumber("0x"..addr7)+32
 IN = addr7p
 if (readString(addr7.."+27", 2)) == "@"
 then print (DEC_HEX(IN).."   Mech Armor multi-fuction address "
 ..DEC_HEX(IN).." = "..readDouble(addr7.."+20")
 .." double floating point");
 print ("                   "
 .."set when you exit armor");
 elseif (readString(addr7.."+27", 2)) == "?"
 then print (DEC_HEX(IN).."   Mech Armor multi-fuction address "
 ..DEC_HEX(IN).." = "..readDouble(addr7.."+20")
 .." double floating point");
 print ("                   "
 .."set when you enter the area");
 elseif (readBytes(addr7.."+27")) == 0x00
 then print (DEC_HEX(IN).."   Mech Armor multi-fuction address "
 ..DEC_HEX(IN).." = "..readDouble(addr7.."+20")
 .." double floating point");
 print ("                   "
 .."set to this value when first entered");
 print ("                   "
 .."changes to double float 1 when damage starts");
 end
 end
 object_destroy( scan );
 end
 local scan = AOBScan("C5009B102B000000????????0A????????????1E");
 if scan ~= nil and strings_getCount(scan) > 0 then
 local scan_num = strings_getCount(scan);
 for n = 0, scan_num - 1 do
 local addr8 = strings_getString(scan, n);
 addr8p=tonumber("0x"..addr8)+24
 IN = addr8p
 if (readBytes(addr8.."+1F")) == 0x00
 and (readBytes(addr8.."-32")) == 0x3F
 then print (DEC_HEX(IN).."   Heavy Mech Armor "
 ..DEC_HEX(IN).." = "..readDouble(addr8.."+18")
 .." double floating point");
 print ("                   "
 .."set to this value before first use");
 elseif (readString(addr8.."+1F", 2)) == "?"
 and (readBytes(addr8.."-32")) == 0x3F
 then print (DEC_HEX(IN).."   Heavy Mech Armor "
 ..DEC_HEX(IN).." = "..readDouble(addr8.."+18")
 .." double floating point");
 end
 end
 object_destroy( scan );
 end
 local scan = AOBScan("0B0080??E0674D0100??0505");
 if scan ~= nil and strings_getCount(scan) > 0 then
 local scan_num = strings_getCount(scan);
 for n = 0, scan_num - 1 do
 local addr9 = strings_getString(scan, n);
 addr9p=tonumber("0x"..addr9)-32
 IN = addr9p
 if (readBytes(addr9.."-4E")) == 0x80
 and (readBytes(addr9.."-3D")) == 0x3F
 then print (DEC_HEX(IN).."   Light Mech Armor "
 ..DEC_HEX(IN).." = "..readFloat(addr9.."-20")
 .." floating point");
 print ("                   "
 .."Float = 3F800D80 before entering Mech");
 end
 end
 object_destroy( scan );
 end
 local scan = AOBScan("B08E1E20230000000000000040316300");
 if scan ~= nil and strings_getCount(scan) > 0 then
 local scan_num = strings_getCount(scan);
 for n = 0, scan_num - 1 do
 local addr9 = strings_getString(scan, n);
 addr9p=tonumber("0x"..addr9)+16
 IN = addr9p
 if (readBytes(addr9.."-10")) == 0x5C
 and (readBytes(addr9.."+80")) == 0xC5
 then print (DEC_HEX(IN).."   Light Mech Armor "
 ..DEC_HEX(IN).." = "..readFloat(addr9.."+10")
 .." floating point");
 print ("                   "
 .."Float = 3F800000 before entering Mech");
 end
 end
 object_destroy( scan );
 end
 | 
 
 had a bit of fun getting the  AOB script to works as the value changes a lot
 address 0x0506?C44 is used for a lot of different values all double floating
 points, -1, 1, 2, 3, 100 are a few I've noticed
 the first & third address found point to the same address
 |  |