Rokon, All-Hail-Zoltan or Hellion can you please make a hack with just repair fleet please :handsdown: you are gods
-- 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");