Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Process priority, , Realtime
- SendMode Input
- SetFormat float, 0.14
- dec2hex(n) {
- oIF := A_FormatInteger
- SetFormat,Integer, hex
- n := StrLen(n+0) ? n+0 : n
- SetFormat,Integer, % oIF ; %
- return n
- }
- HexToFloat(d) {
- global
- Return (1-2*(d>>31)) * (2**((d>>23 & 255)-127)) * (1+(d & 8388607)/8388608) ; 2**23
- }
- FloatToHex(f) {
- form := A_FormatInteger
- SetFormat Integer, HEX
- v := DllCall("MulDiv", Float,f, Int,1, Int,1, UInt)
- SetFormat Integer, %form%
- Return v
- }
- hex2dec(n) {
- x := ((substr(n,1,2)!="0x") ? "0x" : "") n
- if ! StrLen(x+0)
- return n
- oIF := A_FormatInteger
- SetFormat,Integer, d
- x += 0
- SetFormat,Integer, % oIF ;%
- return x
- }
- float2dec(f) {
- global
- h := floattohex(f)
- d := hex2dec(h)
- return d
- }
- dec2float(d) {
- global
- SetFormat, integer, hex
- result := number+0
- result := hextofloat(result)
- SetFormat, integer, decimal
- return result
- }
- track = 500
- Totalplayersmem = 0x4029CEC0
- 1xmem = 0x4029CFC0
- 1ymem = 0x4029CFC4
- 1zmem = 0x4029CFC8
- 2xmem = 0x4029D1C0
- 2ymem = 0x4029D1C4
- 2zmem = 0x4029D1C8
- 3xmem = 0x4029D3C0
- 3ymem = 0x4029D3C4
- 3zmem = 0x4029D3C8
- 4xmem = 0x4029D5C0
- 4ymem = 0x4029D5C4
- 4zmem = 0x4029D5C8
- 5xmem = 0x4029D7C0
- 5ymem = 0x4029D7C4
- 5zmem = 0x4029D7C8
- 6xmem = 0x4029D9C0
- 6ymem = 0x4029D9C4
- 6zmem = 0x4029D9C8
- 7xmem = 0x4029DA90
- 7ymem = 0x4029DAC4
- 7zmem = 0x4029DAC8
- 8xmem = 0x4029DBC0
- 8ymem = 0x4029DBC4
- 8zmem = 0x4029DBC8
- shotsfired1 = 0x4029CF0C
- shotsfired2 = 0x4029D10C
- shotsfired3 = 0x4029D30C
- shotsfired4 = 0x4029D50C
- shotsfired5 = 0x4029D70C
- shotsfired6 = 0x4029D90C
- shotsfired7 = 0x4029DB0C
- shotsfired8 = 0x4029DD0C
- color1 = 0x4029CEE8
- color2 = 0x4029D0E8
- color3 = 0x4029D2E8
- color4 = 0x4029D4E8
- color5 = 0x4029D6E8
- color6 = 0x4029D8E8
- color7 = 0x4029DAE8
- color8 = 0x4029DCE8
- ping1 = 0x4029CFA4 ;0x4029CFB4?
- ping2 = 0x4029D1A4
- ping3 = 0x4029D3A4
- ping4 = 0x4029D5A4
- ping5 = 0x4029D7A4
- ping6 = 0x4029D9A4
- ping7 = 0x4029DBA4
- ping8 = 0x4029DDA4
- staticoid1 = 0x4029CEFE
- staticoid2 = 0x4029D0FE
- staticoid3 = 0x4029D2FE
- staticoid4 = 0x4029D4FE
- staticoid5 = 0x4029D6FE
- staticoid6 = 0x4029D8FE
- staticoid7 = 0x4029DAFE
- staticoid8 = 0x4029DCFE
- $F1::
- WriteMemory(1036831949, 0x40610980,"Halo Console (1)") ; pistol chillout damage max min minmax set to 0.1
- WriteMemory(1036831949, 0x40610984,"Halo Console (1)")
- WriteMemory(1036831949, 0x40610988,"Halo Console (1)")
- settimer dynfind, 500 ; 'dynfind' finds dynamic
- totalplayersd := ReadMemory(0x4029CEC0,"Halo Console (1)") ; find total players # in server
- tpsh := dec2hex(totalplayersd)
- stringright totalplayers, tpsh, 1
- map := ReadMemory(0x00630E94,"Halo Console (1)") ; read what map is loaded
- if (map = 1818847331) ; if chillout loaded
- {
- mc = 3864986859 ; master chief object = this
- pi = 3831694063 ; pistol object = this
- }
- loop
- {
- loopnumber = 1
- loop %track%
- {
- sleep 1 ; sleep 1 millasecond. this is too slow.
- pcheck = 1
- loop %totalplayers% ; track and log players past positions
- {
- xdec := ReadMemory(%pcheck%xmem,"Halo Console (1)")
- xhex := dec2hex(xdec)
- %pcheck%x%loopnumber% := hextofloat(xhex)
- ydec := ReadMemory(%pcheck%ymem,"Halo Console (1)")
- yhex := dec2hex(ydec)
- %pcheck%y%loopnumber% := hextofloat(yhex)
- pcheck := pcheck + 1
- }
- pcheck = 1
- loop %totalplayers% ; check if players have fired a shot
- {
- %pcheck%shotsfired := ReadMemory(shotsfired%pcheck%,"Halo Console (1)")
- if (%pcheck%shotsfired != %pcheck%shotsfiredold) ; this address increases as shots are fired. so the latest memory is compared to the old, to see if shots have been fired.
- {
- weapond := ReadMemory(pistolmem%pcheck%,"Halo Console (1)") ; check if weapon equiped is pistol
- weapon := dec2hex(weapond)
- StringRight objtocheckhz, weapon, 4
- objtocheck := hex2dec(objtocheckhz)
- asdf := objtocheck * 12
- objtocheckd := 1074071148 + asdf
- objtocheckh := dec2hex(objtocheckd)
- objmetamemd := ReadMemory(objtocheckh,"Halo Console (1)")
- objmetamemh := dec2hex(objmetamemd)
- objmeta := ReadMemory(objmetamemh,"Halo Console (1)")
- if (objmeta = pi)
- {
- gosub hitcheck ; If pistol equipped and shots fired, check if aiming = hit
- %pcheck%shotsfiredold := %pcheck%shotsfired
- break
- }
- }
- %pcheck%shotsfiredold := %pcheck%shotsfired
- pcheck := pcheck + 1
- }
- loopnumber := loopnumber + 1
- }
- }
- hitcheck:
- dirrection1d := dyn%pcheck%d + 548 ; get X and Y positions of shooter
- dirrection2d := dyn%pcheck%d + 552
- pistolxm := dec2hex(dirrection1d)
- pistolym := dec2hex(dirrection2d)
- pistolxd := ReadMemory(pistolxm,"Halo Console (1)")
- pistolyd := ReadMemory(pistolym,"Halo Console (1)")
- pistolxh := dec2hex(pistolxd)
- pistolyh := dec2hex(pistolyd)
- pistolx := hextofloat(pistolxh)
- pistoly := hextofloat(pistolyh)
- yshooter := %pcheck%y%loopnumber%
- xshooter := %pcheck%x%loopnumber%
- m := pistoly / pistolx ; get direction of shooter's bullet
- b := yshooter - (m * xshooter)
- ping := ReadMemory(ping%pcheck%,"Halo Console (1)") ; get shooters ping, so later we can grab appropriate past enemy positions.
- color := ReadMemory(color%pcheck%,"Halo Console (1)") ; get color to skip over teamates.
- positioncheck := loopnumber - 17 ; this is the amount to go back in the player position history
- if (positioncheck < 1)
- {
- positioncheck := track + positioncheck
- }
- loopplayer = 1
- loop %totalplayers%
- {
- colortest := ReadMemory(color%loopplayer%,"Halo Console (1)")
- if (colortest = color)
- {
- loopplayer := loopplayer + 1 ; off for self testing (?)
- continue
- }
- xcheck := %loopplayer%x%positioncheck%
- ycheck := %loopplayer%y%positioncheck%
- ytest := (m * xcheck) + b
- if (ytest < ycheck + 0.26) ; threshold within which a hit has happened.
- {
- if (ytest > ycheck - 0.25)
- {
- gosub dodamage ; if shot intersects with enemy, then go do damage.
- break
- }
- }
- loopplayer := loopplayer + 1
- }
- return
- dodamage:
- healthd := dyn%loopplayer%d + 224
- shieldd := dyn%loopplayer%d + 228
- shieldcharged := dyn%loopplayer%d + 260 ; 1074161868 charge 1074161608 dyn
- healthh := dec2hex(healthd)
- shieldh := dec2hex(shieldd)
- shieldchargeh := dec2hex(shieldcharged)
- shielddec := ReadMemory(shieldh,"Halo Console (1)")
- shieldhi := dec2hex(shielddec)
- shield := hextofloat(shieldhi)
- shieldnewt := shield - .20
- if (shieldnewt < 0)
- {
- shieldnew = 0
- healthdi := ReadMemory(healthh,"Halo Console (1)")
- healthhi := dec2hex(healthdi)
- health := hextofloat(healthhi)
- newhealth := health - .5
- if (newhealth < 0)
- newhealth = 0.01
- newhealthh := floattohex(newhealth)
- newhealthd := hex2dec(newhealthh)
- WriteMemory(newhealthd, healthh,"Halo Console (1)")
- }
- else
- shieldnew := shieldnewt
- shieldnewh := floattohex(shieldnew)
- shieldnewd := hex2dec(shieldnewh)
- WriteMemory(shieldnewd, shieldh,"Halo Console (1)")
- WriteMemory(524450, shieldchargeh,"Halo Console (1)") ; 8ish seconds.
- return
- dynfind:
- dynloop = 1
- loop %totalplayers%
- {
- test := ReadMemory(staticoid%dynloop%,"Halo Console (1)")
- testa := dec2hex(test)
- StringRight oid%dynloop%, testa, 4
- if (oid%dynloop% != oid%dynloop%old and oid%dynloop% != ffff)
- {
- objlistod = 1074071140 ; begining of player list or something
- loop 300
- {
- objlistoh := dec2hex(objlistod)
- objlisto := ReadMemory(objlistoh,"Halo Console (1)")
- objlistoh := dec2hex(objlisto)
- StringRight objlistohr, objlistoh, 4
- oidt := oid%dynloop%
- ifinstring objlistohr, %oidt%
- {
- dynmd := objlistod + 8
- dynmh := dec2hex(dynmd)
- dyn%dynloop%d := ReadMemory(dynmh,"Halo Console (1)")
- pistolmem%dynloop% := dyn%dynloop%d + 280
- break
- }
- objlistod := objlistod + 12
- }
- }
- oid%dynloop%old := oid%dynloop%
- dynloop := dynloop + 1
- }
- return
- $f2::
- htest := dyn1d + 224
- hteh := dec2hex(htest)
- clipboard = %hteh%
- return
- $F3::
- loopplayer = 1
- gosub dodamage
- return
- $F8::
- reload
- $f9::
- exitapp
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement