{REQUEST} Battle Pirates Repair Fleet Only Hack

05/07/2012 11:43 firefox666#1
Rokon, All-Hail-Zoltan or Hellion can you please make a hack with just repair fleet please :handsdown: you are gods
05/07/2012 16:27 darkwarchief#2
yeah that's what I want too
05/07/2012 18:48 StreHa#3
Hi i also look for the way to "hack" BP but if U just want to have rapid fleet repair this could work, for it works.

here is the way to do it on FF
U need Cheatengine 6.1
and this lua
Code:
-- HACKS START LINE 70, TURN THEM OFF BY ADDING -- AT THE START OF THE LINE JUST LIKE THE AT THE START OF THIS LINE
function hack(name, search, replace, initialOffset)
    initialOffset = initialOffset or 0
	local scan = AOBScan(search)
	if scan ~= nil and strings_getCount(scan) > 0 then
		local scan_num = strings_getCount(scan);
		for n = 0, scan_num - 1 do
			local addr = strings_getString(scan, n)
            local offset = initialOffset
            for byte in string.gfind(replace,"%S%S") do
                writeBytes(addr .. "+" .. dec2hex(offset),tonumber(byte, 16))
                offset = offset + 1
            end
		end
		object_destroy(scan);
		print(name .. " (" .. scan_num .. " found) - Enabled");
	else
		print(name .. " - Not Found");
	end
end
function findBytes(name,search,offset,count)
	local scan = AOBScan(search)
    local result
    local resultString = ""
	if scan ~= nil and strings_getCount(scan) > 0 then
		local scan_num = strings_getCount(scan);
		local addr = strings_getString(scan, 0)
		result = readBytes(addr .. "+" .. dec2hex(offset),count,true)
		object_destroy(scan);
        for n = 0, #result do
            local r = dec2hex(result[n])
            if #r == 1 then
               r = "0"..r
            end
			if n == 0 then
				resultString = r
			else
				resultString = resultString.." "..r
			end
        end
		print(name .. " = " .. resultString);
		return resultString;
	else
		print(name .. " - Not Found");
		return ""
	end
end
function dec2hex(num)
	local hexstr = '0123456789abcdef'
	local s = ''
	while num > 0 do
		local mod = math.fmod(num, 16)
		s = string.sub(hexstr, mod + 1, mod + 1) .. s
		num = math.floor(num / 16)
	end
	if s == '' then s = '0' end
	return s
end

---- all documented classes found under com > waterworld
print("BEGIN =======================================")
print("FINDING LOCALS")
local charge = findBytes("charge","4f ?? ?? 02 d0 66 ?? 66 ?? 24 00",0,4)	-- search entities > BuildingFoundation 			for _as3_callpropvoid Charge(param count:2)
local fund = findBytes("fund","4f ?? ?? 02 d1 66 ?? ?? 24",0,4)				-- search entities > BuildingFoundation 			for _as3_callpropvoid Fund(param count:2)
local maxlvl = findBytes("maxlvl","d0 66 ?? 66 ?? 66 ?? d0",0,7).." 02 02"	-- search entities > BuildingFoundation 			for length, but grab commands above to find this._buildingProps.costs.length, nop extra bytes to total 9 bytes
local hpMax = findBytes("hpMax","d0 66 ?? ?? a2 24 00",1,3)					-- Search entities > BuildingFoundation 			for _as3_getproperty each::_hpMax
local weight = findBytes("weight","60 ?? 60 ?? d3 66 ?? ?? 46",5,3)			-- search managers > component > Component Manager	for _as3_getproperty weight
print("")
print("APPLYING HACKS")
---- DETECTION HACKS
hack("Disable Hack Check","11 07 00 00 5e ?? ?? 26 61 ?? ?? 60 ?? 66","47",11)	-- core > CHECKER > Check() just return void after _gen = true near start of function
hack("Disable Hack Logging 1","08 00 00 60 ?? ?? d1 24","47",3)					-- log > LOGGER > LogRemote() in the check for HACK and ERROR just return void
-- hack("Disable Hack Logging 2","d0 30 d2 2c ?? ?? 46 ?? ?? 01 85","47")			-- log > LOGGER > output() just return void at start
---- RESOURCES
-- hack("Res gain gives MAX","60 ?? 62 05 66 ?? ?? d2 a0 60","10 43 00 00")		-- core > BASE > Fund() jump over the condition and statement for if (_resources[_loc_5] + param2 < _resources[_loc_6] || param3) forcing the else condition
-- hack("All Charge() = Fund()",charge,fund)										--* (29) easy search and replace found in many classes
-- hack("No Base Points Gain","d0 30 10 54","47")									-- core > BASE > PointsAdd() Return void at start
---- INSTANT WHATEVER
-- hack("Instant Build","5d ?? d0 66 ?? 24 01","24 01 73 10 07 00 00")				-- entities > BuildingFoundation > Place() modify the this._buildingEndTime.Set(... line
-- hack("Instant Upgrade & Fortify","d2 12 60 00","24 01 75 63 06 10 5c 00 00")	-- entities > BuildingFoundation > UpgradeB() Replace the section with Charge() calls with _loc_6 = 1 then jump the rest of that section.
-- hack("Instant Research","00 62 04 66 ?? ?? a0 4f","24 01 02 02 02",1)			-- entities > BuildingGenericResearch > researchStart() edit this._researchEndTime.Set(...
-- hack("Instant Turret Build","d0 66 ?? ?? 24 00 0d 13","10 06 00 00")			-- entities > BuildingGenericTower > Tick() jump over the test for if (this.turretBuildTimeRemaining <= 0)
-- hack("Instant Building Repair","66 ?? ?? d2 d1 a2 a0",hpMax)					-- entities > BuildingFoundation Change... this._hp = this._hp + _loc_2 * param1; To... this._hp = this._hpMax;
-- hack("Instant Ship Build","66 ?? ?? 62 06 a0 68","24 01",3)						-- entities > BuildingShipYard > shipBuildStart() Line with... this.buildEndTime = this._buildStartTime + _loc_6; change the _loc_6
hack("Instant Ship Repair","d2 66 ?? ?? a0 68 ?? ?? d0 d2","24 00 73 02")		-- entities > BuildingShipDock > repairStart() edit this._repairEndTime = this._repairStartTime + _loc_2.repairTime;
-- hack("Instant Rocket Build","5d ?? ?? d1 46 ?? ?? 01 a0 4f ?? ?? d0","24 01 10 02 00 00")				-- entities > BuildingRocketPad > rocketBuildStart() edit this._rocketEndTime.Set(this.rocketStartTime + getBuildTime(param1));
---- BASE LOAD HACKS
-- hack("Auto-Upgrade Lv2+","5d ?? d1 66 ?? ?? 46 ?? 01 4f ?? 01 10 09 00 00 d0 66 ?? ?? 24 01",maxlvl)	--* entities > BuildingFoundation > Setup() change this._lvl.Set(int(param1.l)); to .Set(this._buildingProps.costs.length) MAKE SURE BYTE COUNT MATCHES
-- hack("Auto-Fortify","5d ?? d1 66 ?? ?? 46 ?? 01 4f ?? 01 d0 66 ?? ?? 46","24 04 10 03 00 00")			-- entities > BuildingFoundation > Setup() change this._fortificationLevel.Set(int(param1.fl)); to set level 4
---- SHIP HACKS
-- hack("Free Ship Parts","66 ?? 5d 01 60 ?? ?? 66 ?? ?? 46 ?? ?? 01 46 ?? 01","24 00 73 10 08 00 00",2)		-- (15) core > GLOBAL > applyWeaponProps()
-- hack("600 Map Speed","66 ?? ?? d2 66 ?? ?? 4f ?? 01 32","25 d8 04 10 24 00 00",3)	-- managers > worldmap > WorldMapObject > setFleetProperties() change this._fleetSpeed.Set(_loc_2.mapSpeed); .set(600) and jump if (this.data.fspd) -- To save space I jumped after 600 to the set inside if (this.data.fspd)
-- hack("Docking gives max ship xp","62 07 62 07 66 ?? ?? 62","24 64 24 0a a2",7)		-- entities > BuildingShipDock > dockFleet() edit _loc_7.vxp = _loc_7.vxp + _loc_6.vxp;
--[[
RISKY HACKS
	Once used if you build illegal ships or ones you dont have real blueprints for,
	you must NEVER load the game without hacks or risk instant hack detection.
	Best to recycle ships before logging off.
Extra Note for "All Blueprints":
	Any blueprint parts you have will be completed permanently, but BPs you have none of can only be used when hack is active.
]]
-- hack("All Blueprints","d0 30 20 80 ?? ?? d7 60 ?? ?? 60 ?? ?? 66 ?? ?? 46 ?? ?? 01 80 ?? ?? d6 24 00 63 04 d2 82 63 05 10 15","26 48")	-- managers > blueprints > BLUEPRINTS > isComplete() force return true
-- hack("Weapons & Special Weigh 1","5d 01 60 ?? d2 "..weight.." 46 ?? ?? 01 46 01 01","24 01 73 10 08 00 00")								--* (2) managers > component > Component Manager > applyWeaponProps() and applyAdvancedProps() change param1.weight = int(StringUtils.removeCommas(param2.weight));
-- hack("Armor Weigh 1","5d 01 60 ?? 60 ?? d3 "..weight.." 46 ?? ?? 01 46 ?? ?? 01 46 01 01","24 01 73 10 0e 00 00") 						--* managers > component > Component Manager > loadArmorProps() change _loc_4.weight = int(StringUtils.removeCommas(StringUtils.removeCommas(_loc_3.weight)));
-- hack("Always valid ship design","d0 30 24 00 d6 24 00 d7 20 80 ?? 63 04 d0","26 48")													-- datastores > IOShipDesign > valid() force return true
print("========================================= END");
I have commented the rest, most is not working but instant ship repair will.

Now start Cheat Engine 6.1
select the plugin-container.exe (I usually check if have got the right process with the Speedhack) and open it
now select the Table menu in CE and load the lua (the code above should be copied in a .lua file or U copypaste the code in CE)
thats all.
Sometimes U will need to reload the page and repeat the steps but it should work. after that just repair, but u have to start the repairs after u have used the cheat. repairs which are allredy running wil not be effected.

I found this solution around the web but cant figure out where so sorry for the author of the original

have fun
05/07/2012 18:56 enorth#4
Probably not great, they are already banning for instant repair glitch, this seems like itd be the same thing. Dont use it too much = wont get caught.
05/08/2012 08:56 hellion2#5
ship repair only
[Only registered and activated users can see links. Click Here To Register...]