Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- displays the hitbox of all the enemies in the room
- function Enemies()
- for i=0,23 do
- if memory.readword(0x30001AC + i*56) ~= 0 then
- local enemyX, enemyY = memory.readword(0x30001B0 + i*56), memory.readword(0x30001AE + i*56)
- local tlX = bit.arshift(enemyX + memory.readwordsigned(0x30001BA + i*56) - cameraX, 2)
- local tlY = bit.arshift(enemyY + memory.readwordsigned(0x30001B6 + i*56) - cameraY, 2)
- local brX = bit.arshift(enemyX + memory.readwordsigned(0x30001BC + i*56) - cameraX, 2)
- local brY = bit.arshift(enemyY + memory.readwordsigned(0x30001B8 + i*56) - cameraY, 2)
- gui.box(tlX, tlY, brX, brY, "clear", "#80FF80")
- end
- end
- end
- -- displays the hitbox of samus
- function Samus()
- local samusX, samusY = memory.readword(0x30013E6), memory.readword(0x30013E8)
- local tlX = bit.arshift(samusX + memory.readwordsigned(0x30015D8) - cameraX, 2)
- local tlY = bit.arshift(samusY + memory.readwordsigned(0x30015DC) - cameraY, 2)
- local brX = bit.arshift(samusX + memory.readwordsigned(0x30015DA) - cameraX, 2)
- local brY = bit.arshift(samusY - cameraY, 2)
- gui.box(tlX, tlY, brX, brY, "clear", "#80FFFF")
- end
- -- displays projectile hitbox
- function Projectiles()
- for i=0,15 do
- if memory.readword(0x3000A2C + i*28) ~= 0 then
- local projX, projY = memory.readword(0x3000A36 + i*28), memory.readword(0x3000A34 + i*28)
- local tlX = bit.arshift(projX + memory.readwordsigned(0x3000A44) - cameraX, 2)
- local tlY = bit.arshift(projY + memory.readwordsigned(0x3000A40) - cameraY, 2)
- local brX = bit.arshift(projX + memory.readwordsigned(0x3000A46) - cameraX, 2)
- local brY = bit.arshift(projY + memory.readwordsigned(0x3000A42) - cameraY, 2)
- gui.box(tlX, tlY, brX, brY, "clear", "#FFFF80")
- -- displays bomb timer
- local projType = memory.readbyte(0x3000A3B + i*28)
- if projType >= 14 then
- local timer = memory.readbyte(0x3000A3F + i*28)
- if memory.readbyte(0x3000A3D + i*28) == 1 then
- if projType == 14 then
- timer = timer + 16
- else
- timer = timer + 40
- end
- end
- gui.text(tlX, tlY, timer, "#8080FF")
- end
- end
- end
- end
- -- displays the cooldown timer
- function Cooldown()
- local cooldown = memory.readbyte(0x3001418)
- if cooldown ~= 0 then
- local cannonX = bit.arshift(memory.readword(0x3000BEE) - cameraX, 2)
- local cannonY = bit.arshift(memory.readword(0x3000BEC) - cameraY, 2)
- gui.text(cannonX - 1, cannonY - 3, cooldown - 1, "#FF80FF")
- end
- end
- while true do
- cameraX = memory.readword(0x30013B8)
- cameraY = memory.readword(0x30013BA)
- Enemies()
- Samus()
- Projectiles()
- Cooldown()
- vba.frameadvance()
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement