Advertisement
shakaduby

Beyond Oasis WIP LUA script

Jul 2nd, 2017
144
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 3.55 KB | None | 0 0
  1. while true do
  2.  
  3.  
  4. -- VERY IMPORTANT INFO!! --
  5. local aliX = mainmemory.read_u16_be (0x19F0)
  6. local aliY = mainmemory.read_u16_be (0x19F4)
  7. local aliJUMP = mainmemory.read_u16_be (0x19F8)
  8. local aliHEIGHT = mainmemory.read_u16_be (0x1A32)
  9.  
  10. local AREA = mainmemory.read_u16_be (0x0E40)
  11. local aliGX = mainmemory.read_u16_be (0x1972)
  12. local aliGY = mainmemory.read_u16_be (0x1974)
  13. local aliPARTICLEX = mainmemory.read_u16_be (0x1B68)
  14. local aliPARTICLEY = mainmemory.read_u16_be (0x1B6C)
  15. local aliPARTICLEHEIGHT = mainmemory.read_u16_be (0x1B70)
  16. local RunFrames = mainmemory.read_u16_be(0x197E)
  17. local DANGER = mainmemory.read_u16_be(0x1A6E)
  18. local EyeOpen = mainmemory.read_u16_be (0x1AA4)
  19. local SPx = mainmemory.read_u16_be (0x1AAC)
  20. local SPy = mainmemory.read_u16_be (0x1AB0)
  21. local SPheight = mainmemory.read_u16_be (0x1AB4)
  22. local SpartX = mainmemory.read_u16_be (0x1C24)
  23. local SpartY = mainmemory.read_u16_be (0x1C28)
  24. local SPtime = mainmemory.read_u16_be (0x1AA6)
  25. local SPfloor = mainmemory.read_u16_be (0x1AB8)
  26.  
  27. -- \\\\\ VERY SPECIAL CAMERA IN THIS GAME \\\\ --
  28. local camX = mainmemory.read_u16_be (0x1716)
  29. local camY = mainmemory.read_u16_be (0x171A)
  30. local screenX = mainmemory.read_u16_be (0x173E)
  31. local screenY = mainmemory.read_u16_be (0x1742)
  32. local camXFIX1 = mainmemory.read_u16_be (0x1344)
  33. local camYFIX1 = mainmemory.read_u16_be (0x1348)
  34. local camXFIX2 = mainmemory.read_u16_be (0x1724)
  35. local camYFIX2 = mainmemory.read_u16_be (0x1726)
  36. local camXspecialFIX = screenX-65535
  37. local camYspecialFIX = screenY-65535
  38. -- SHIP CAMERA FIX IS WEIRD --
  39. if camXFIX1+camYFIX1+camXFIX2+camYFIX2 == 0 then
  40. camX = screenX
  41. camY = screenY
  42. end
  43. if screenX > 65000 then
  44. camX = camXspecialFIX
  45. end
  46.  
  47. if screenY > 65000 then
  48. camY = camYspecialFIX
  49. end
  50. -- AREA-SPECIFIC CAMERA FIXES
  51. if AREA == 1796 then
  52. camX = screenX
  53. camY = screenY
  54. end
  55.  
  56. if AREA == 1025 then
  57. camX = mainmemory.read_u16_be (0x1716)
  58. camY = mainmemory.read_u16_be (0x171A)
  59. end
  60.  
  61. -- \\\\\\\\ DRAWING UNNECESSARY CHARACTER INFORMATION \\\\\\\\ --
  62. if aliJUMP > 0 then
  63. gui.drawLine(aliX-camX,aliY-camY,aliX-camX,aliY-camY-aliJUMP, 0xAAFFFFFF)
  64. gui.drawLine(aliGX-camX,aliGY-camY,aliX-camX,aliY-camY-aliJUMP,0xAAFFFFFF)
  65. end
  66.  
  67. if DANGER > 0 then
  68. gui.drawText(50,10, "HIT", 0xFFFFFFFF)
  69.  
  70. end
  71.  
  72. if EyeOpen > 0 then
  73. gui.drawLine(SPx-camX,SPy-camY, aliX-camX,aliY-camY,0xFFFFFFFF)
  74. gui.drawLine(SPx-camX,SPy-camY,SPx-camX,SPy-camY-SPheight,0xFFFFFFFF)
  75. gui.drawText(SPx-camX-20,SPy-camY-20,(SPfloor))
  76. end
  77. if SPtime > 0 then
  78. gui.drawText(SPx-camX-20,SPy-camY-35, (SPtime),0xFF001100)
  79. end
  80.  
  81.  
  82. -- \\\\\\\\\   ENEMIES AND OBJECTS \\\\\\\\\
  83.  
  84.  
  85.   for i = 0x1CD8, 0x2F56, 188 do
  86.  if mainmemory.read_u16_be(i) ~= 0 and mainmemory.read_u16_be(i+4) ~= -1 then
  87.  local id = mainmemory.read_u16_be(i)
  88.  local objTYPE = mainmemory.read_u16_be(i)
  89.  local objHP = mainmemory.read_u16_be(i+138)
  90.  local objX = mainmemory.read_u16_be(i+8)
  91.  local objY = mainmemory.read_u16_be(i+12)
  92.  local objHEIGHT = mainmemory.read_u16_be(i+74)
  93.  local objJUMP = mainmemory.read_u16_be(i+16)
  94.  local hitboxX = mainmemory.read_u16_be(i+66)
  95.  local hitboxY = mainmemory.read_u16_be(i+68)
  96.  
  97.  gui.drawBox(objX-hitboxX-camX, objY-objHEIGHT-camY-objJUMP, objX+hitboxX-camX, objY-camY-objJUMP, 0xDDFF44DD,0x44FF00DD)
  98.  gui.drawBox(objX-hitboxX-camX, objY-camY-hitboxY-objJUMP, objX+hitboxX-camX, objY-camY+hitboxY-objJUMP, 0x5500FF00,0x0000FF00)
  99.  gui.drawText(objX-camX, objY-camY-objJUMP,(objTYPE),0xFFFF00FF)
  100.  gui.drawText(objX-camX, objY+15-camY-objJUMP,(objHP))
  101.  gui.drawText(objX-camX-20, objY+15-camY-objJUMP, "HP:")  
  102.  end
  103.  end
  104. emu.frameadvance()
  105. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement