14380
"Set keypoll and delay to 10ms (EDIT > SETTINGS > HOTKEYS)"
1
59
"AR FIX"
FF0000
Auto Assembler Script
[ENABLE]
alloc(_zero,4)
aobscanmodule(ARFIX,Injustice2.exe,F3 0F 5C C3 0F 5A C0 0F 54 05 * * * * 66 0F 5A C0 0F 5A C8 66 0F 2F 0D 00)
alloc(newmem,$1000,ARFIX)
label(code)
label(return)
newmem:
movss xmm0,[_zero]// subss xmm0,xmm3
code:
cvtps2pd xmm0,xmm0
jmp return
ARFIX:
jmp newmem
db 90 90
return:
registersymbol(ARFIX)
[DISABLE]
ARFIX:
db F3 0F 5C C3 0F 5A C0
unregistersymbol(ARFIX)
dealloc(newmem)
Deactivate
17
34
0
14629
">> CAMERA [PGDN]"
FF0000
Auto Assembler Script
[ENABLE]
alloc(_camera,8)
alloc(_freecamON,4)
alloc(_slow,4)
alloc(_fast,4)
alloc(_faster,4)
registersymbol(_camera)
registersymbol(_freecamON)
registersymbol(_slow)
registersymbol(_fast)
registersymbol(_faster)
_slow:
dd (float)0.1
_fast:
dd (float)10
_faster:
dd (float)100
//"Injustice2.exe"+ACF1AB0
aobscanmodule(cameraAOB,Injustice2.exe,F2 0F 10 81 84 05 00 00)
alloc(newmem,$1000,cameraAOB)
label(code)
label(return)
newmem:
mov [_camera],rcx
code:
movsd xmm0,[rcx+00000584]
jmp return
cameraAOB:
jmp newmem
db 90 90 90
return:
registersymbol(cameraAOB)
//"Injustice2.exe"+AD1C597
aobscanmodule(writecamAOB,Injustice2.exe,0F 11 87 84 05 00 00)
alloc(newmem2,$1000,writecamAOB)
label(code2)
label(return2)
newmem2:
cmp [_freecamON],0
je code2
mov [rdi+00000580],ecx
mov rcx,rdi
jmp return2
code2:
movups [rdi+00000584],xmm0 // x, y, z, pitch
mov [rdi+00000580],ecx
mov rcx,rdi
movsd [rdi+00000594],xmm1 // yaw, roll
mov [rdi+0000059C],eax // FOV
jmp return2
writecamAOB:
jmp newmem2
db 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
return2:
registersymbol(writecamAOB)
//"Injustice2.exe"+6C59AA8
aobscanmodule(supermoveAOB,Injustice2.exe,0F 28 CE 48 89 D9 E8 1D)
alloc(newmem3,$1000,supermoveAOB)
label(code3)
label(return3)
newmem3:
code3:
movaps xmm1,xmm6
mov rcx,rbx
cmp [_freecamON],0
je return3
cmp [_camera],0
je return3
jmp supermoveAOB+0B
supermoveAOB:
jmp newmem3
db 90
return3:
registersymbol(supermoveAOB)
{$lua}
if syntaxcheck then return end
local symbolCheckT = createTimer()
symbolCheckT.Interval = 1000
symbolCheckT.OnTimer = function(sender)
if readInteger("Injustice2.exe") == nil then
sender.destroy()
return
end
local function cameraBase() return readQword("_camera") end
local freecamONAD = getAddress("_freecamON")
-- CAMERA ADDRESSES
local function camXAD() return cameraBase()+0x584 end
local function camYAD() return cameraBase()+0x588 end
local function camZAD() return cameraBase()+0x58C end
local function pitchAD()return cameraBase()+0x590 end
local function yawAD() return cameraBase()+0x594 end
local function rollAD() return cameraBase()+0x598 end
local function FOVAD() return cameraBase()+0x59C end
-- VARIABLES
local flySpeed = 2
local aimSpeed = 0.004
local rollSpeed = 40
local FOVSpeed = 0.2
local ultraFast = 100
local fastMult = 10
local slowDiv = 10
local defaultFOV = 60
local prevX
local prevY
local prevZ
local prevPitch
local prevYaw
local prevRoll
local prevFOV
local minDolly = 2
local defaultTarDist = 0.06
local function hellaFast() return readFloat("_faster") end
local function fastMult() return readFloat("_fast") end
local function slowMult() return readFloat("_slow") end
local useZ = true
local pitchMax = 0.48*math.pi
local separation3D = 6.6
local function freecamEnabled()
if readInteger(freecamONAD) == 1 then return true end
return false
end
local function gameHasFocus()
if getOpenedProcessID() == getForegroundProcess() then return true end
return false
end
local function requiredConditions()
if freecamEnabled() and gameHasFocus() then return true end
return false
end
local function toggleFreecam()
if not gameHasFocus() then return end
if freecamEnabled() then
for j=1,7,1 do camCheat[0].value[j] = readBytes(camCheat.addy[j],8,true) end
writeFloat(camXAD(),prevX)
writeFloat(camYAD(),prevY)
writeFloat(camZAD(),prevZ)
writeInteger(pitchAD(),prevPitch)
writeInteger(yawAD(),prevYaw)
writeInteger(rollAD(),prevRoll)
writeFloat(FOVAD(),prevFOV)
--sleep(100)
writeInteger(freecamONAD, 0)
else
prevX = readFloat(camXAD())
prevY = readFloat(camYAD())
prevZ = readFloat(camZAD())
prevPitch = readInteger(pitchAD())
prevYaw = readInteger(yawAD())
prevRoll = readInteger(rollAD())
prevFOV = readFloat(FOVAD())
--sleep(100)
local pitch = math.pi*readInteger(pitchAD())/32768
local yaw = math.pi*readInteger(yawAD())/32768
tarX = readFloat(camXAD())+32768*defaultTarDist*math.cos(yaw)*math.cos(pitch)/math.pi
tarY = readFloat(camYAD())+32768*defaultTarDist*math.sin(yaw)*math.cos(pitch)/math.pi
tarZ = readFloat(camZAD())+32768*defaultTarDist*math.sin(pitch)/math.pi
writeInteger(freecamONAD, 1)
end
end
if camCheat == nil then camCheat = {}
camCheat.addy = {camXAD(); camYAD(); camZAD(); pitchAD(); yawAD(); rollAD(); FOVAD()}
for i=0,9,1 do
camCheat[i] = {value = {}}
local set = function(sender)
if not requiredConditions() then return end
camCheat.addy = {camXAD(); camYAD(); camZAD(); pitchAD(); yawAD(); rollAD(); FOVAD()}
for j=1,7,1 do camCheat[i].value[j] = readBytes(camCheat.addy[j],8,true) end
end
if i == 0 then set(nil) else
camCheat[i].setHotkey = createHotkey(set, _G["VK_" .. i], VK_MENU)
camCheat[i].setHotkey.DelayBetweenActivate = 1000
end
local get = function(sender)
if not gameHasFocus() or #camCheat[i].value ~= 7 then return end
if not freecamEnabled() then toggleFreecam() end
camCheat.addy = {camXAD(); camYAD(); camZAD(); pitchAD(); yawAD(); rollAD(); FOVAD()}
for j=1,7,1 do
if i ~= 0 then camCheat[0].value[j] = readBytes(camCheat.addy[j],8,true) end
writeBytes(camCheat.addy[j], camCheat[i].value[j])
end
end
camCheat[i].getHotkey = createHotkey(get, _G["VK_" .. i])
camCheat[i].getHotkey.DelayBetweenActivate = 1000
end
else camCheat.addy = {camXAD(); camYAD(); camZAD(); pitchAD(); yawAD(); rollAD(); FOVAD()}
end
-- MOVEMENT SPEED MODIFIERS
local flySpeedOrig = flySpeed
local aimSpeedOrig = aimSpeed
local rollSpeedOrig = rollSpeed
local FOVSpeedOrig = FOVSpeed
local hellaFastModeEnabled = false
local fastModeEnabled = false
local slowModeEnabled = false
local didReset = true
local didSlow = false
local didFast = false
local didHellaFast = false
checkCamKeys = createTimer()
checkCamKeys.setInterval(100)
checkCamKeys.onTimer = function()
if not gameHasFocus() then return end
if isKeyPressed(VK_T) and not isKeyPressed(VK_MENU) then
if not didHellaFast then
flySpeed = flySpeedOrig*hellaFast()
aimSpeed = aimSpeedOrig*fastMult()
rollSpeed = rollSpeedOrig*fastMult()
FOVSpeed = FOVSpeedOrig*fastMult()
didReset = false
didHellaFast = true
end
elseif isKeyPressed(VK_F) and not isKeyPressed(VK_MENU) then
if not didFast then
flySpeed = flySpeedOrig*fastMult()
aimSpeed = aimSpeedOrig*fastMult()
rollSpeed = rollSpeedOrig*fastMult()
FOVSpeed = FOVSpeedOrig*fastMult()
didReset = false
didFast = true
end
elseif isKeyPressed(VK_C) and not isKeyPressed(VK_MENU) then
if not didSlow then
flySpeed = flySpeedOrig*slowMult()
aimSpeed = aimSpeedOrig*slowMult()
rollSpeed = rollSpeedOrig*slowMult()
FOVSpeed = FOVSpeedOrig*slowMult()
didReset = false
didSlow = true
end
elseif not didReset then
flySpeed = flySpeedOrig
aimSpeed = aimSpeedOrig
rollSpeed = rollSpeedOrig
FOVSpeed = FOVSpeedOrig
didHellaFast = false
didFast = false
didSlow = false
didReset = true
hellaFastModeEnabled = false
fastModeEnabled = false
slowModeEnabled = false
end
end
-- MOVEMENT SPEED TOGGLES
local function resetSpeed()
flySpeed = flySpeedOrig
aimSpeed = aimSpeedOrig
rollSpeed = rollSpeedOrig
FOVSpeed = FOVSpeedOrig
hellaFastModeEnabled = false
fastModeEnabled = false
slowModeEnabled = false
end
local function goHellaFast()
if hellaFastModeEnabled then resetSpeed()
else
flySpeed = flySpeedOrig*hellaFast()
aimSpeed = aimSpeedOrig*fastMult()
rollSpeed = rollSpeedOrig*fastMult()
FOVSpeed = FOVSpeedOrig*fastMult()
hellaFastModeEnabled = true
fastModeEnabled = false
slowModeEnabled = false
end
end
local function goFast()
if fastModeEnabled then resetSpeed()
else
flySpeed = flySpeedOrig*fastMult()
aimSpeed = aimSpeedOrig*fastMult()
rollSpeed = rollSpeedOrig*fastMult()
FOVSpeed = FOVSpeedOrig*fastMult()
hellaFastModeEnabled = false
fastModeEnabled = true
slowModeEnabled = false
end
end
local function goSlow()
if slowModeEnabled then resetSpeed()
else
flySpeed = flySpeedOrig*slowMult()
aimSpeed = aimSpeedOrig*slowMult()
rollSpeed = rollSpeedOrig*slowMult()
FOVSpeed = FOVSpeedOrig*slowMult()
hellaFastModeEnabled = false
fastModeEnabled = false
slowModeEnabled = true
end
end
-- CAMERA FUNCTIONS
local function toggleUseZ()
if not requiredConditions() then return end
if useZ then useZ = false
else useZ = true
end
end
local function move(moveDir)
if not requiredConditions() then return end
local camX = readFloat(camXAD())
local camY = readFloat(camYAD())
local camZ = readFloat(camZAD())
local Xdiff = tarX-camX
local Ydiff = tarY-camY
local Zdiff
local hypXY = math.sqrt(Xdiff*Xdiff+Ydiff*Ydiff)
if moveDir == "up" then
camZ = camZ+flySpeed
writeFloat(camZAD(), camZ)
tarZ = tarZ+flySpeed
elseif moveDir == "upCamOnly" then
camZ = camZ+flySpeed
Zdiff = tarZ-camZ
writeFloat(camZAD(), camZ)
writeInteger(pitchAD(),32768*math.atan(Zdiff/hypXY)/math.pi)
elseif moveDir == "down" then
camZ = camZ-flySpeed
writeFloat(camZAD(), camZ)
tarZ = tarZ-flySpeed
elseif moveDir == "downCamOnly" then
camZ = camZ-flySpeed
Zdiff = tarZ-camZ
writeFloat(camZAD(), camZ)
writeInteger(pitchAD(),32768*math.atan(Zdiff/hypXY)/math.pi)
else
local Zdiff = tarZ-camZ
local dX; local dY; local dZ
if moveDir == "right" or moveDir == "right3D" then
if moveDir == "right3D" then
dX = separation3D*Ydiff/hypXY
dY = separation3D*Xdiff/hypXY
else
dX = flySpeed*Ydiff/hypXY
dY = flySpeed*Xdiff/hypXY
end
if moveDir == "right3D" or useZ then
local roll = math.pi*readInteger(rollAD())/32768
local cosRoll = math.cos(roll)
dX = dX*cosRoll
dY = dY*cosRoll
if moveDir == "right3D" then
dZ = separation3D*math.sin(roll)
else
dZ = flySpeed*math.sin(roll)
end
tarZ = tarZ-dZ
camZ = camZ-dZ
writeFloat(camZAD(), camZ)
end
tarX = tarX-dX
tarY = tarY+dY
camX = camX-dX
camY = camY+dY
writeFloat(camXAD(), camX)
writeFloat(camYAD(), camY)
return
elseif moveDir == "left" or moveDir == "left3D" then
if moveDir == "left3D" then
dX = separation3D*Ydiff/hypXY
dY = separation3D*Xdiff/hypXY
else
dX = flySpeed*Ydiff/hypXY
dY = flySpeed*Xdiff/hypXY
end
if moveDir == "left3D" or useZ then
local roll = math.pi*readInteger(rollAD())/32768
local cosRoll = math.cos(roll)
dX = dX*cosRoll
dY = dY*cosRoll
if moveDir == "left3D" then
dZ = separation3D*math.sin(roll)
else
dZ = flySpeed*math.sin(roll)
end
tarZ = tarZ+dZ
camZ = camZ+dZ
writeFloat(camZAD(), camZ)
end
tarX = tarX+dX
tarY = tarY-dY
camX = camX+dX
camY = camY-dY
writeFloat(camXAD(), camX)
writeFloat(camYAD(), camY)
return
end
local hypZ = math.sqrt(Zdiff*Zdiff+hypXY*hypXY)
if useZ then
dX = flySpeed*Xdiff/hypZ
dY = flySpeed*Ydiff/hypZ
dZ = flySpeed*Zdiff/hypZ
if moveDir == "backward" then dZ = -dZ end
tarZ = tarZ+dZ
camZ = camZ+dZ
writeFloat(camZAD(), camZ)
else
dX = flySpeed*Xdiff/hypXY
dY = flySpeed*Ydiff/hypXY
dZ = flySpeed*Zdiff/hypXY
end
if moveDir == "forward" then
tarX = tarX+dX
tarY = tarY+dY
camX = camX+dX
camY = camY+dY
writeFloat(camXAD(), camX)
writeFloat(camYAD(), camY)
elseif moveDir == "backward" then
tarX = tarX-dX
tarY = tarY-dY
camX = camX-dX
camY = camY-dY
writeFloat(camXAD(), camX)
writeFloat(camYAD(), camY)
else return
end
end
end
local function orbit(orbitDir)
if not requiredConditions() then return end
local exitFunction = false
local camX = readFloat(camXAD())
local camY = readFloat(camYAD())
local Xdiff = tarX-camX
local Ydiff = tarY-camY
local hypXY = math.sqrt(Xdiff*Xdiff+Ydiff*Ydiff)
local pitch2Byte = readInteger(pitchAD())
local pitch = math.pi*pitch2Byte/32768
local yaw = math.pi*readInteger(yawAD())/32768
if orbitDir == "left" or orbitDir == "panRight" then
yaw = yaw + aimSpeed
elseif orbitDir == "right" or orbitDir == "panLeft" then
yaw = yaw - aimSpeed
else
local camZ = readFloat(camZAD())
local Zdiff = tarZ-camZ
local hypZ = math.sqrt(Zdiff*Zdiff+hypXY*hypXY)
if orbitDir == "down" or orbitDir == "panUp" then
pitch = pitch + aimSpeed
elseif orbitDir == "up" or orbitDir == "panDown" then
pitch = pitch - aimSpeed
else return
end
--if pitch>-pitchMax and pitch<pitchMax then
local R = hypZ*math.cos(pitch)/hypXY
local dX = Xdiff*R
local dY = Ydiff*R
local dZ = hypZ*math.sin(pitch)
if orbitDir == "panUp" or orbitDir == "panDown" then
tarX = camX+dX
tarY = camY+dY
tarZ = camZ+dZ
exitFunction = true
else
writeFloat(camXAD(), tarX-dX)
writeFloat(camYAD(), tarY-dY)
writeFloat(camZAD(), tarZ-dZ)
exitFunction = true
end
--end
exitFunction = true
end
if not exitFunction then
local dX = hypXY*math.cos(yaw)
local dY = hypXY*math.sin(yaw)
if orbitDir == "panLeft" or orbitDir == "panRight" then
tarX = camX+dX
tarY = camY+dY
elseif orbitDir == "left" or orbitDir == "right" then
writeFloat(camXAD(), tarX-dX)
writeFloat(camYAD(), tarY-dY)
else return
end
end
writeInteger(pitchAD(),32768*pitch/math.pi)
writeInteger(yawAD(),32768*yaw/math.pi)
end
local function dolly(dollyDir)
if not requiredConditions() then return end
local exitFunction = false
local camX = readFloat(camXAD())
local camY = readFloat(camYAD())
local camZ = readFloat(camZAD())
local Xdiff = tarX-camX
local Ydiff = tarY-camY
local Zdiff = tarZ-camZ
local hypXY = math.sqrt(Xdiff*Xdiff+Ydiff*Ydiff)
local hypZ = math.sqrt(Zdiff*Zdiff+hypXY*hypXY)
if dollyDir == "zoomReset" then
local FOV = readFloat(FOVAD()) -- stored in degrees
local FOVr = math.pi*FOV/180 -- convert to radians
local objWidth = hypZ*2*math.tan(FOVr/2)
local FOV2 = defaultFOV
local FOVr2 = math.pi*FOV2/180
local hypZ2 = objWidth/(2*math.tan(FOVr2/2))-hypZ
local dX = hypZ2*Xdiff/hypZ
local dY = hypZ2*Ydiff/hypZ
local dZ = hypZ2*Zdiff/hypZ
writeFloat(FOVAD(), FOV2)
writeFloat(camXAD(), camX-dX)
writeFloat(camYAD(), camY-dY)
writeFloat(camZAD(), camZ-dZ)
exitFunction = true
elseif dollyDir == "closer" then
if hypZ >= minDolly then
local dX = flySpeed*Xdiff/hypZ
local dY = flySpeed*Ydiff/hypZ
local dZ = flySpeed*Zdiff/hypZ
writeFloat(camXAD(), camX+dX)
writeFloat(camYAD(), camY+dY)
writeFloat(camZAD(), camZ+dZ)
end
exitFunction = true
elseif dollyDir == "farther" then
local dX = flySpeed*Xdiff/hypZ
local dY = flySpeed*Ydiff/hypZ
local dZ = flySpeed*Zdiff/hypZ
writeFloat(camXAD(), camX-dX)
writeFloat(camYAD(), camY-dY)
writeFloat(camZAD(), camZ-dZ)
exitFunction = true
end
if not exitFunction then
local FOV = readFloat(FOVAD()) -- stored in degrees
local FOVr = math.pi*FOV/180 -- convert to radians
local dollySpeed = flySpeed*(1-FOV/180)^2
local objWidth = hypZ*2*math.tan(FOVr/2)
if dollyDir == "zoomIn" then
FOVr = 2*math.atan(objWidth/(2*(hypZ+dollySpeed)))
FOV = 180*FOVr/math.pi -- convert back to degrees
if FOV >=1.2 then
local dX = dollySpeed*Xdiff/hypZ
local dY = dollySpeed*Ydiff/hypZ
local dZ = dollySpeed*Zdiff/hypZ
writeFloat(FOVAD(), FOV)
writeFloat(camXAD(), camX-dX)
writeFloat(camYAD(), camY-dY)
writeFloat(camZAD(), camZ-dZ)
end
elseif dollyDir == "zoomOut" then
FOVr = 2*math.atan(objWidth/(2*(hypZ-dollySpeed)))
FOV = 180*FOVr/math.pi -- convert back to degrees
if FOV <= 169 then
local dX = dollySpeed*Xdiff/hypZ
local dY = dollySpeed*Ydiff/hypZ
local dZ = dollySpeed*Zdiff/hypZ
writeFloat(FOVAD(), FOV)
writeFloat(camXAD(), camX+dX)
writeFloat(camYAD(), camY+dY)
writeFloat(camZAD(), camZ+dZ)
end
else return
end
end
end
local function zoomIn()
if not requiredConditions() then return end
local FOV = readFloat(FOVAD())
writeFloat(FOVAD(), FOV+FOVSpeed)
end
local function zoomOut()
if not requiredConditions() then return end
local FOV = readFloat(FOVAD())
writeFloat(FOVAD(), FOV-FOVSpeed)
end
local function rollLeft()
if not requiredConditions() then return end
local roll = readInteger(rollAD())
writeInteger(rollAD(), roll+rollSpeed)
end
local function rollRight()
if not requiredConditions() then return end
local roll = readInteger(rollAD())
writeInteger(rollAD(), roll-rollSpeed)
end
local function rollReset()
if not requiredConditions() then return end
writeInteger(rollAD(), 0)
end
local function moveForward() move("forward") end
local function moveBackward() move("backward") end
local function moveLeft() move("left") end
local function moveLeft3D() move("left3D") end
local function moveRight() move("right") end
local function moveRight3D() move("right3D") end
local function moveUp() move("up") end
local function moveDown() move("down") end
local function moveUpCamOnly() move("upCamOnly") end
local function moveDownCamOnly() move("downCamOnly") end
local function panUp() orbit("panUp") end
local function panDown() orbit("panDown") end
local function panLeft() orbit("panLeft") end
local function panRight() orbit("panRight") end
local function orbitUp() orbit("up") end
local function orbitDown() orbit("down") end
local function orbitLeft() orbit("left") end
local function orbitRight() orbit("right") end
local function dollyCloser() dolly("closer") end
local function dollyFarther() dolly("farther") end
local function dollyZoomIn() dolly("zoomIn") end
local function dollyZoomOut() dolly("zoomOut") end
local function dollyZoomReset() dolly("zoomReset") end
-- CAMERA HOTKEYS
camHotkeys = {
createHotkey(toggleFreecam, VK_NEXT),
createHotkey(toggleUseZ, VK_NUMPAD2),
createHotkey(goHellaFast, VK_MENU, VK_T),
createHotkey(goFast, VK_MENU, VK_F),
createHotkey(goSlow, VK_MENU, VK_C),
createHotkey(moveLeft3D, VK_MENU, VK_NUMPAD4),
createHotkey(moveRight3D, VK_MENU, VK_NUMPAD6),
createHotkey(moveForward, VK_NUMPAD8), -- pos 8
createHotkey(moveBackward, VK_NUMPAD5),
createHotkey(moveLeft, VK_NUMPAD4),
createHotkey(moveRight, VK_NUMPAD6),
createHotkey(moveUp, VK_NUMPAD9),
createHotkey(moveDown, VK_NUMPAD7),
createHotkey(moveUpCamOnly, VK_NUMPAD3),
createHotkey(moveDownCamOnly, VK_NUMPAD1),
createHotkey(panUp, VK_ADD, VK_NUMPAD8),
createHotkey(panDown, VK_ADD, VK_NUMPAD5),
createHotkey(panLeft, VK_ADD, VK_NUMPAD4),
createHotkey(panRight, VK_ADD, VK_NUMPAD6),
createHotkey(rollLeft, VK_ADD, VK_NUMPAD3),
createHotkey(rollRight, VK_ADD, VK_NUMPAD1),
createHotkey(rollReset, VK_ADD, VK_NUMPAD2),
createHotkey(zoomIn, VK_ADD, VK_NUMPAD7),
createHotkey(zoomOut, VK_ADD, VK_NUMPAD9),
createHotkey(orbitUp, VK_RETURN, VK_NUMPAD5),
createHotkey(orbitDown, VK_RETURN, VK_NUMPAD8),
createHotkey(orbitLeft, VK_RETURN, VK_NUMPAD6),
createHotkey(orbitRight, VK_RETURN, VK_NUMPAD4),
createHotkey(dollyCloser, VK_RETURN, VK_NUMPAD9),
createHotkey(dollyFarther, VK_RETURN, VK_NUMPAD7),
createHotkey(dollyZoomIn, VK_RETURN, VK_NUMPAD3),
createHotkey(dollyZoomOut, VK_RETURN, VK_NUMPAD1),
createHotkey(dollyZoomReset, VK_RETURN, VK_NUMPAD2),
createHotkey(orbitUp, VK_SUBTRACT, VK_NUMPAD5),
createHotkey(orbitDown, VK_SUBTRACT, VK_NUMPAD8),
createHotkey(orbitLeft, VK_SUBTRACT, VK_NUMPAD6),
createHotkey(orbitRight, VK_SUBTRACT, VK_NUMPAD4),
createHotkey(dollyCloser, VK_SUBTRACT, VK_NUMPAD9),
createHotkey(dollyFarther, VK_SUBTRACT, VK_NUMPAD7),
createHotkey(dollyZoomIn, VK_SUBTRACT, VK_NUMPAD3),
createHotkey(dollyZoomOut, VK_SUBTRACT, VK_NUMPAD1),
createHotkey(dollyZoomReset, VK_SUBTRACT, VK_NUMPAD2)
}
local smDelay = 8
for i=1,smDelay-1,1 do camHotkeys[i].DelayBetweenActivate = 1000 end
for i=smDelay,#camHotkeys,1 do camHotkeys[i].DelayBetweenActivate = 10 end
sender.destroy()
end
{$asm}
[DISABLE]
_freecamON:
dd 0
cameraAOB:
db F2 0F 10 81 84 05 00 00
unregistersymbol(cameraAOB)
dealloc(newmem)
writecamAOB:
db 0F 11 87 84 05 00 00 89 8F 80 05 00 00 48 89 F9 F2 0F 11 8F 94 05 00 00 89 87 9C 05 00 00
unregistersymbol(writecamAOB)
dealloc(newmem2)
supermoveAOB:
db 0F 28 CE 48 89 D9
unregistersymbol(supermoveAOB)
dealloc(newmem3)
{$lua}
if checkCamKeys ~= nil then
checkCamKeys.destroy()
checkCamKeys = nil
end
if camHotkeys ~= nil then
for i,v in ipairs(camHotkeys) do v.destroy() end
camHotkeys = nil
end
Activate
34
0
Deactivate
17
34
1
14630
">> values"
FF0000
1
14631
"Camera X"
Float
_camera
584
14632
"Camera Y"
Float
_camera
588
14633
"Camera Z"
Float
_camera
58C
14634
"Pitch"
1
2 Bytes
_camera
590
14635
"Yaw"
1
2 Bytes
_camera
594
14636
"Roll"
1
2 Bytes
_camera
598
14637
"FOV"
Float
_camera
59C
13238
">> hotkeys"
FF0000
1
13295
"*** MOVEMENT ***"
0080FF
1
13249
"SPEED: Slow, fast, faster - C, F, T (+ALT to toggle)"
000000
1
13240
"FREECAM: On/off - Pagedown"
000000
1
13296
"FLY - No modifier"
0080FF
1
13290
"(Below, NUMPAD keys...)"
000000
1
13298
"MOVE: Forward, backward, left, right - 8, 5, 4, 6"
000000
1
13297
"FLY: Up, down - 9, 7 (cam only - 3, 1)"
000000
1
13303
"Height lock: On/off - 2"
000000
1
13499
"3D Capture: Step left, right - ALT+4, ALT+6"
000000
1
13292
"AIM - Hold down PLUS"
0080FF
1
13339
"(Below, NUMPAD keys...)"
000000
1
13244
"PAN: Up, down, left, right - 8, 5, 4, 6"
000000
1
13246
"ZOOM: In, out - 9, 7"
000000
1
13242
"TILT: Left, right - 1, 3 (reset: 2)"
000000
1
13293
"ROTATE - Hold down ENTER (OR MINUS)"
0080FF
1
13340
"(Below, NUMPAD keys...)"
000000
1
13241
"ROTATE: Up, down, left, right - 5, 8, 6, 4"
000000
1
13248
"MOVE: Forward, backward - 9, 7 (cam only)"
000000
1
13247
"DOLLY-ZOOM: In, out - 3, 1 (reset: 2)"
000000
1
13294
"*** SETTINGS ***"
0080FF
1
13341
"(Below, standard number keys...)"
000000
1
13250
"SAVE: Save current settings - ALT+[number 1 to 9]"
000000
1
13252
"LOAD: Load saved settings - [number 1 to 9]"
000000
1
13251
"UNDO: Load previous settings - 0 (zero)"
000000
1
14638
"Freecam on/off [PGDN]"
1:ON
0:-
4 Bytes
_freecamON
13500
"Speed - Slow [C]"
Float
_slow
13502
"Speed - Fast [F]"
Float
_fast
13501
"Speed - Faster [T]"
Float
_faster
14335
">> GAME SPEED [F5]"
FF0000
Auto Assembler Script
[ENABLE]
alloc(_timescale,8)
registersymbol(_timescale)
//"Injustice2.exe"+5EB6703
aobscanmodule(timescaleAOB,Injustice2.exe,F3 0F 10 80 88 00 00 00 48 83 C4 28)
alloc(newmem,$1000,timescaleAOB)
label(code)
label(return)
newmem:
mov [_timescale],rax
code:
movss xmm0,[rax+00000088]
jmp return
timescaleAOB:
jmp newmem
db 90 90 90
return:
registersymbol(timescaleAOB)
//"Injustice2.exe"+ABDAAFC
aobscanmodule(timescale2AOB,Injustice2.exe,F3 0F 11 B1 88 00 00 00)
registersymbol(timescale2AOB)
timescale2AOB:
db 90 90 90 90 90 90 90 90
[DISABLE]
timescaleAOB:
db F3 0F 10 80 88 00 00 00
unregistersymbol(timescaleAOB)
dealloc(newmem)
timescale2AOB:
db F3 0F 11 B1 88 00 00 00
unregistersymbol(timescale2AOB)
Activate
116
0
Deactivate
17
34
1
14336
"Timescale [F5-F11] (def: F9)"
Float
_timescale
88
Set Value
116
0
0
Set Value
117
.01
1
Set Value
118
.1
2
Set Value
119
.5
3
Set Value
120
1
4
Set Value
121
2
5
Set Value
122
5
6
14610
">> COLOR/DOF [O]"
FF0000
Auto Assembler Script
[ENABLE]
alloc(_pp,8)
registersymbol(_pp)
//"Injustice2.exe"+AB68D5B
aobscanmodule(dofAOB,Injustice2.exe,88 43 68 41 8B 46 6C) // should be unique
alloc(newmem,$1000,dofAOB)
label(code)
label(return)
newmem:
mov [_pp],rbx
code:
mov [rbx+68],al
mov eax,[r14+6C]
jmp return
dofAOB:
jmp newmem
db 90 90
return:
registersymbol(dofAOB)
[DISABLE]
_pp:
dq 0
dofAOB:
db 88 43 68 41 8B 46 6C
unregistersymbol(dofAOB)
dealloc(newmem)
Activate
79
0
Deactivate
17
34
1
14586
"Make editable"
0000FF
Auto Assembler Script
[ENABLE]
//"Injustice2.exe"+AE56D9E
aobscanmodule(overrideDOF,Injustice2.exe,4C 8D 44 24 30 48 89 CA E8)
alloc(newmem2,$1000,overrideDOF)
label(code2)
label(return2)
newmem2:
code2:
lea r8,[rsp+30]
mov rdx,rcx
cmp [_pp],0
jne overrideDOF+0D
jmp return2
overrideDOF:
jmp newmem2
db 90 90 90
return2:
registersymbol(overrideDOF)
[DISABLE]
overrideDOF:
db 4C 8D 44 24 30 48 89 CA
unregistersymbol(overrideDOF)
dealloc(newmem2)
14639
">> COLOR"
FF0000
1
14611
"Bloom (0.3)"
000000
Float
_pp
24
14612
"Flares (1)"
000000
Float
_pp
30
14613
"Desaturation (0)"
Float
_pp
38
14614
"Exposure (1)"
000000
Float
_pp
3C
14640
">> DOF"
FF0000
1
14615
"DOF on/off [O, alt+O]"
2:ON
0:-
Byte
_pp
68
Set Value
79
2
0
Set Value
18
79
0
1
14616
"Blur amount [left, right]"
Float
_pp
6C
Increase Value
37
.002
0
Decrease Value
39
.002
1
Set Value
80
.3
2
14628
"Near transition"
Float
_pp
74
Set Value
80
400
0
14627
"Near distance [alt+up, down]"
Float
_pp
78
Set Value
80
0
0
Increase Value
18
38
.5
1
Decrease Value
18
40
.5
2
14626
"Focal distance [up, down]"
Float
_pp
7C
Increase Value
38
.5
0
Decrease Value
40
.5
1
Set Value
80
600
2
14617
"Far transition"
000000
Float
_pp
80
Set Value
80
400
0
14618
"Far distance [alt+up, down]"
Float
_pp
84
Increase Value
18
38
.5
0
Decrease Value
18
40
.5
1
Set Value
80
600
2
14646
"DOF preset: P"
1
14354
"HUD on/off [H, G]"
FF0000
Auto Assembler Script
[ENABLE]
alloc(_zero,16)
//"Injustice2.exe"+9973E97
aobscanmodule(hudAOB,Injustice2.exe,41 0F 28 48 10 0F 29 02)
alloc(newmem,$1000,hudAOB)
label(code)
label(return)
newmem:
movaps xmm1,[_zero]
movaps xmm0,[_zero]
code:
//movaps xmm1,[r8+10]
jmp return
hudAOB:
jmp newmem
return:
registersymbol(hudAOB)
[DISABLE]
hudAOB:
db 41 0F 28 48 10
unregistersymbol(hudAOB)
dealloc(newmem)
Activate
72
0
Deactivate
71
1
Deactivate
17
34
2
14355
"Motion blur [B, V]"
FF0000
Auto Assembler Script
[ENABLE]
//"Injustice2.exe"+A2A3160
aobscanmodule(blurAOB,Injustice2.exe,0F B6 41 09 84 C0)
registersymbol(blurAOB)
blurAOB:
db B0 00 90 90
[DISABLE]
blurAOB:
db 0F B6 41 09
unregistersymbol(blurAOB)
Activate
66
0
Deactivate
86
1
Deactivate
17
34
2
14466
">> OTHER"
FF0000
1
14381
"Pause fight countdown"
FF0000
Auto Assembler Script
[ENABLE]
//"Injustice2.exe"+5E9B55E
aobscanmodule(countdown,Injustice2.exe,8D 8A FF FF FF FF 48 8B 05)
registersymbol(countdown)
countdown+02:
db 00 00 00 00
[DISABLE]
countdown+02:
db FF FF FF FF
unregistersymbol(countdown)
Deactivate
17
34
0
14512
"Godmode"
FF0000
Auto Assembler Script
[ENABLE]
//"Injustice2.exe"+6D716AB
aobscanmodule(godmodeAOB,Injustice2.exe,0F 11 B3 44 0A 00 00)
registersymbol(godmodeAOB)
godmodeAOB:
db 90 90 90 90 90 90 90
[DISABLE]
godmodeAOB:
db 0F 11 B3 44 0A 00 00
unregistersymbol(godmodeAOB)
Deactivate
17
34
0
14641
"TIPS:"
1
14642
"Shoot ESC paused with HUD off (cursor will not be in your shot)"
1
14643
"If shooting F5 paused, ESC twice will clean up blur"
1
14644
"Use MINUS to rotate instead of ENTER (since it cancels ESC pause)"
1
14645
"You have the current fight to shoot. Turn off scripts and close CE"
1
14648
"Then, you may restart CE on next fight. CTRL+PGDN to disable all"
1
14647
"DISABLE ALL: CTRL + PGDN"
0000FF
1