Advertisement
conhuevos

Untitled

May 18th, 2012
118
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 4.33 KB | None | 0 0
  1. --Actraiser 2
  2.  
  3. --------------
  4. ---TOGGLES----
  5. --------------
  6. local cheat = false
  7. local enemy_hit = true
  8. local environment = false
  9. local player = true
  10. local pmagic = true
  11. ------------------
  12. ---END TOGGLES----
  13. ------------------
  14.  
  15. ---------------
  16. ----GLOBALS----
  17. ---------------
  18.  
  19. local box_active = 0x04
  20. local facing = 0x08
  21. local ux = 0x00
  22. local uy = 0x02
  23. local camx = 0x540
  24. local camy = 0x544
  25. local plife = 0x91D
  26. local magic = 0x921
  27. local xoffpointer = 0x7f1018
  28. local yoffpointer = 0x7f101a
  29. local xradpointer = 0x7f101c
  30. local yradpointer = 0x7f101e
  31. local objstart = 0x1000
  32.  
  33. local timer = 0x94C
  34.  
  35. -------------------
  36. ----END GLOBALS----
  37. -------------------
  38.  
  39. local function draw_objects()
  40.  
  41.     local x
  42.     local y
  43.     local cx = memory.readword(camx)
  44.     local cy = memory.readword(camy)
  45.     local base
  46.     local dir
  47.     local oend = 96
  48.    
  49.     for i = 0,oend,1 do
  50.    
  51.         base = objstart + (i * 0x30)
  52.        
  53.         if i == 0 then
  54.             base = objstart
  55.         end
  56.    
  57.             x = memory.readword(base+ux) - cx
  58.             y = memory.readword(base+uy) - cy
  59.            
  60.                 xoff = memory.readbytesigned(xoffpointer+base)
  61.                 yoff = memory.readbytesigned(yoffpointer+base)
  62.                 xrad = memory.readbyte(xradpointer+base)
  63.                 yrad = memory.readbyte(yradpointer+base)
  64.                 dir = memory.readbyte(base+0x09)
  65.                
  66.                 if dir == 0x20 then
  67.                     xoff = (xoff * -1)
  68.                     xrad = (xrad * -1)
  69.                     xrad = xrad +1
  70.                     yrad = yrad -1
  71.                 else
  72.                     xrad = xrad -1
  73.                     yrad = yrad -1
  74.                 end
  75.            
  76.             if player == true then
  77.            
  78.                 if base == 0x1030 then
  79.                    
  80.                     -- Attack box
  81.                     gui.box(x-xoff,y+yoff,x-xoff-xrad,y+yoff+yrad,"#FFFFFF30","#FFFFFFFF")
  82.                     xrad = memory.readbyte(0x7f1014+base)
  83.                     yrad = memory.readbyte(0x7f1016+base)
  84.                     --Vulnerability box
  85.                    
  86.                     if bit.band(memory.readword(base+0x04),0x040) == 0 then
  87.                         gui.box(x-xrad,y,x+xrad,y-yrad,"#0000FF30","0000FFFF")
  88.                         --gui.text(x-20,y-5,string.format("%X",base)) Debugging
  89.                     end
  90.                    
  91.                 end
  92.                
  93.                 --Player Magic
  94.                
  95.             if pmagic == true then
  96.            
  97.                 if bit.band(memory.readword(base+0x04),0x0040) ~= 0 and bit.band(memory.readword(base+0x04),0x0180) == 0 and bit.band(memory.readword(base+0x06),0x0040) == 0 and bit.band(memory.readword(base+0x06),0x4000) == 0 then
  98.                    
  99.                     if xrad ~= 8 and yrad ~= 40 then  -- Minor work around
  100.                         gui.box(x-xoff,y+yoff,x-xoff-xrad,y+yoff+yrad,"#FFFFFF30","#FFFFFFFF")
  101.                     end
  102.                    
  103.                 end
  104.                
  105.             end
  106.                
  107.             end
  108.                
  109.             --Enemy Projectile
  110.             if bit.band(memory.readword(base+0x04),0x4000) == 0 and bit.band(memory.readword(base+0x04),0x0100) == 0 and bit.band(memory.readword(base+0x04),0x8000) == 0 and bit.band(memory.readword(base+0x06),0x0004) ~= 0 and bit.band(memory.readword(base+0x04),0x0180) == 0 then           
  111.                 gui.box(x-xoff,y+yoff,x-xoff-xrad,y+yoff+yrad,"#FFC30020","#FFC300FF")
  112.                 --gui.text(x-20,y-5,string.format("%X",base)) Debugging
  113.             end
  114.            
  115.             -- Enemy boxes
  116.             if enemy_hit == true then
  117.                 --Enemy attack box
  118.                 if bit.band(memory.readword(base+0x04),0x4000) == 0 and bit.band(memory.readword(base+0x04),0xC000) == 0 and bit.band(memory.readword(base+0x04),0x0040) == 0 and bit.band(memory.readword(base+0x04),0x0100) == 0 and base ~= 0x1030 then
  119.                     gui.box(x-xoff,y+yoff,x-xoff-xrad,y+yoff+yrad,"#FF000040","#FF0000FF")
  120.                     --gui.text(x-20,y-5,string.format("%X",base)) Debugging
  121.                 end
  122.                
  123.                 -- Enemy Vulnerability box
  124.                 if bit.band(memory.readword(base+0x04),0x0970) == 0 and bit.band(memory.readword(base+0x04),0xC000) == 0 then -- boss?
  125.                     xrad = memory.readbyte(0x7f1014+base)
  126.                     yrad = memory.readbyte(0x7f1016+base)
  127.                    
  128.                     gui.box(x-xrad,y,x+xrad,y-yrad,"#0000FF20","0000FFFF")
  129.                     --gui.text(x-20,y-5,string.format("%X",base)) Debugging
  130.                 end
  131.             end
  132.            
  133.             --Environmental objects
  134.             if environment == true then
  135.                 if bit.band(memory.readword(base+0x04),0x4000) == 0 and bit.band(memory.readword(base+0x04),0xC000) == 0 and bit.band(memory.readword(base+0x04),0x0040) ~= 0 and bit.band(memory.readword(base+0x04),0x0100) == 0 and bit.band(memory.readword(base+0x06),0x0004) == 0 then
  136.                     gui.box(x-xrad,y,x+xrad,y-yrad,"#00FF0020","00FF00FF")
  137.                 end
  138.             end
  139.         --end
  140.        
  141.     end
  142.    
  143. end
  144.  
  145. local function cheats()
  146.     memory.writebyte(plife,15)
  147.     memory.writeword(timer,33333) --timer
  148.     memory.writebyte(magic,8)
  149. end
  150.  
  151. gui.register(function()
  152.     draw_objects()
  153.     if cheat == true then
  154.         cheats()
  155.     end
  156. end)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement