Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --Streets of Rage 2 Hitbox script beta by jedpossum
- local rb, rbs, rw, rws, rd = memory.readbyte, memory.readbytesigned, memory.readword, memory.readwordsigned, memory.readdword
- local wb, ww, wd = memory.writebyte, memory.writeword, memory.writedword
- axis_length = 8
- function player()
- camx = rws(0xFFFC22)
- camy = rws(0xFFFC26)
- local adr = 0xFFEF00 - 0x100
- for pl = 0,1,1 do
- adr = adr + 0x100
- local px = rws(adr + 0x20) + rws(adr + 0x5A) + camx
- local py = rws(adr + 0x24) + rws(adr + 0x5E) - camy
- local flip = bit.band(rb(adr + 0x0F),0x01)
- if flip == 1 then
- plfl = 1
- else
- plfl = -1
- end
- if rb(adr+1) ~= 0x36 then -- rb(adr+1) <= 0x50
- gui.text(px-14,py-100,"Life: " .. rbs(adr + 0x81))
- gui.line(px-axis_length,py,px+axis_length,py)
- gui.line(px,py-axis_length,px,py+axis_length)
- --Hurt
- left = px - rws(adr + 0x66)
- hy1 = py
- right = px + rws(adr + 0x66)
- hy2 = hy1 - rws(adr + 0x68)
- --Attack
- ax1 = px
- ay1 = py - rws(adr + 0x64)
- ax2 = ax1 + rws(adr + 0x62) * plfl
- ay2 = py - rws(adr + 0x64)
- gui.box(left,hy1,right,hy2,0x00FF0000)
- gui.line(ax1,ay1,ax2,ay2,0xFF0000FF)
- --Debug
- gui.text(180,16+(pl*8),"PLY" .. pl+1 .. " | " .. hex(adr) .. " | ".. "XY: " .. px .. ", " .. py,0xFFFFFFE0,0x0000ffE0)
- end
- end
- end
- function enemies()
- local enemies = 5 -- Edit this if I guessed wrong on the number of enemies on screen.
- local adr = 0xFFF100 - 0x100
- for en = 0,enemies,1 do
- adr = adr + 0x100
- local px = rws(adr + 0x20) + rws(adr + 0x5A) + camx
- local py = rws(adr + 0x24) + rws(adr + 0x5E) - camy
- local flip = bit.band(rb(adr + 0x0F),0x01)
- if flip == 1 then
- plfl = 1
- else
- plfl = -1
- end
- if rb(adr+1) ~= 0x00 then -- rb(adr+1) <= 0x50
- gui.text(px-14,py-100,"Life: " .. rbs(adr + 0x81))
- gui.line(px-axis_length,py,px+axis_length,py)
- gui.line(px,py-axis_length,px,py+axis_length)
- --Hurt
- left = px - rws(adr + 0x66)
- hy1 = py
- right = px + rws(adr + 0x66)
- hy2 = hy1 - rws(adr + 0x68)
- --Attack
- ax1 = px
- ay1 = py - rws(adr + 0x64)
- ax2 = ax1 + rws(adr + 0x62) * plfl
- ay2 = py - rws(adr + 0x64)
- gui.box(left,hy1,right,hy2,0x00FF0000)
- gui.line(ax1,ay1,ax2,ay2,0xFF000040)
- --Debug
- gui.text(180,32+(en*8),"ENY" .. en+1 .. " | " .. hex(adr) .. " | ".. "XY: " .. px .. ", " .. py,0xFFFF00E0,0x000000E0)
- end
- end
- end
- function cheats()
- --Timer
- ww(0xFFFC3C, 30000)
- --Life
- wb(0xFFEF81, 104) --Player 1
- wb(0xFFF081, 104) --Player 2
- end
- function hex(val)
- val = string.format("%X",val)
- return val
- end
- while true do
- player()
- enemies()
- cheats()
- emu.frameadvance()
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement