Advertisement
Guest User

Streets of Rage 2 Collision Beta

a guest
Jan 26th, 2014
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 2.71 KB | None | 0 0
  1. --Streets of Rage 2 Hitbox script beta by jedpossum
  2.  
  3. local rb, rbs, rw, rws, rd = memory.readbyte, memory.readbytesigned, memory.readword, memory.readwordsigned, memory.readdword
  4. local wb, ww, wd = memory.writebyte, memory.writeword, memory.writedword
  5.  
  6. axis_length = 8
  7.  
  8. function player()
  9. camx = rws(0xFFFC22)
  10. camy = rws(0xFFFC26)
  11.  
  12. local adr = 0xFFEF00 - 0x100
  13.  
  14. for pl = 0,1,1 do
  15.    
  16.         adr = adr + 0x100
  17.         local px = rws(adr + 0x20) + rws(adr + 0x5A) + camx
  18.         local py = rws(adr + 0x24) + rws(adr + 0x5E) - camy
  19.         local flip = bit.band(rb(adr + 0x0F),0x01)
  20.    
  21.     if flip == 1 then
  22.     plfl = 1
  23.     else
  24.     plfl = -1
  25.     end
  26.    
  27.         if rb(adr+1) ~= 0x36 then --  rb(adr+1) <= 0x50
  28.             gui.text(px-14,py-100,"Life: " .. rbs(adr + 0x81))
  29.             gui.line(px-axis_length,py,px+axis_length,py)
  30.             gui.line(px,py-axis_length,px,py+axis_length)
  31.  
  32.             --Hurt
  33.             left = px - rws(adr + 0x66)
  34.             hy1 =  py
  35.             right = px + rws(adr + 0x66)
  36.             hy2 = hy1 - rws(adr + 0x68)
  37.            
  38.             --Attack
  39.             ax1 = px
  40.             ay1 = py - rws(adr + 0x64)
  41.             ax2 = ax1 + rws(adr + 0x62) * plfl
  42.             ay2 = py - rws(adr + 0x64)
  43.            
  44.            
  45.             gui.box(left,hy1,right,hy2,0x00FF0000)
  46.            
  47.             gui.line(ax1,ay1,ax2,ay2,0xFF0000FF)
  48.            
  49.             --Debug
  50.             gui.text(180,16+(pl*8),"PLY" .. pl+1 .. " | " .. hex(adr) .. " | ".. "XY: " .. px .. ", " .. py,0xFFFFFFE0,0x0000ffE0)
  51.             end
  52.         end
  53.     end
  54.  
  55.  
  56.  
  57. function enemies()
  58. local enemies = 5 -- Edit this if I guessed wrong on the number of enemies on screen.
  59.  
  60. local adr = 0xFFF100 - 0x100
  61.  
  62. for en = 0,enemies,1 do
  63.    
  64.         adr = adr + 0x100
  65.         local px = rws(adr + 0x20) + rws(adr + 0x5A) + camx
  66.         local py = rws(adr + 0x24) + rws(adr + 0x5E) - camy
  67.         local flip = bit.band(rb(adr + 0x0F),0x01)
  68.    
  69.     if flip == 1 then
  70.     plfl = 1
  71.     else
  72.     plfl = -1
  73.     end
  74.    
  75.         if rb(adr+1) ~= 0x00 then --  rb(adr+1) <= 0x50
  76.             gui.text(px-14,py-100,"Life: " .. rbs(adr + 0x81))
  77.             gui.line(px-axis_length,py,px+axis_length,py)
  78.             gui.line(px,py-axis_length,px,py+axis_length)
  79.  
  80.             --Hurt
  81.             left = px - rws(adr + 0x66)
  82.             hy1 =  py
  83.             right = px + rws(adr + 0x66)
  84.             hy2 = hy1 - rws(adr + 0x68)
  85.            
  86.             --Attack
  87.             ax1 = px
  88.             ay1 = py - rws(adr + 0x64)
  89.             ax2 = ax1 + rws(adr + 0x62) * plfl
  90.             ay2 = py - rws(adr + 0x64)
  91.            
  92.            
  93.             gui.box(left,hy1,right,hy2,0x00FF0000)
  94.             gui.line(ax1,ay1,ax2,ay2,0xFF000040)
  95.  
  96.             --Debug
  97.             gui.text(180,32+(en*8),"ENY" .. en+1 .. " | " .. hex(adr) .. " | ".. "XY: " .. px .. ", " .. py,0xFFFF00E0,0x000000E0)
  98.         end
  99.     end
  100. end
  101.  
  102. function cheats()
  103. --Timer
  104. ww(0xFFFC3C, 30000)
  105.  
  106. --Life
  107. wb(0xFFEF81, 104) --Player 1
  108. wb(0xFFF081, 104) --Player 2
  109. end
  110.  
  111.  
  112. function hex(val)
  113.         val = string.format("%X",val)
  114.         return val
  115. end
  116.  
  117. while true do
  118. player()
  119. enemies()
  120. cheats()
  121.  
  122. emu.frameadvance()
  123. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement