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(0x3000140 + i*56) ~= 0 then
- local enemyX, enemyY = memory.readword(0x3000144 + i*56), memory.readword(0x3000142 + i*56)
- local tlX = bit.arshift(enemyX + memory.readwordsigned(0x300014E + i*56) - cameraX, 2)
- local tlY = bit.arshift(enemyY + memory.readwordsigned(0x300014A + i*56) - cameraY, 2)
- local brX = bit.arshift(enemyX + memory.readwordsigned(0x3000150 + i*56) - cameraX, 2)
- local brY = bit.arshift(enemyY + memory.readwordsigned(0x300014C + 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(0x300125A), memory.readword(0x300125C)
- local tlX = bit.arshift(samusX + memory.readwordsigned(0x3001268) - cameraX, 2)
- local tlY = bit.arshift(samusY + memory.readwordsigned(0x300126A) - cameraY, 2)
- local brX = bit.arshift(samusX + memory.readwordsigned(0x300126C) - 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(0x3000960 + i*32) ~= 0 then
- local projX, projY = memory.readword(0x300096A + i*32), memory.readword(0x3000968 + i*32)
- local tlX = bit.arshift(projX + memory.readwordsigned(0x300097A) - cameraX, 2)
- local tlY = bit.arshift(projY + memory.readwordsigned(0x3000976) - cameraY, 2)
- local brX = bit.arshift(projX + memory.readwordsigned(0x300097C) - cameraX, 2)
- local brY = bit.arshift(projY + memory.readwordsigned(0x3000978) - cameraY, 2)
- gui.box(tlX, tlY, brX, brY, "clear", "#FFFF80")
- -- displays bomb timer
- local projType = memory.readbyte(0x300096F + i*28)
- if projType >= 16 then
- local timer = memory.readbyte(0x300097E + i*28)
- if memory.readbyte(0x3000972 + i*28) == 1 then
- if projType == 16 then
- timer = timer + 30
- else
- timer = timer + 70
- end
- end
- gui.text(tlX, tlY, timer, "#8080FF")
- end
- end
- end
- end
- -- displays the cooldown timer
- function Cooldown()
- local cooldown = memory.readbyte(0x300124E)
- if cooldown ~= 0 then
- local cannonX = bit.arshift(memory.readword(0x3000B82) - cameraX, 2)
- local cannonY = bit.arshift(memory.readword(0x3000B80) - cameraY, 2)
- gui.text(cannonX - 1, cannonY - 3, cooldown - 1, "#FF80FF")
- end
- end
- while true do
- cameraX = memory.readword(0x3001228)
- cameraY = memory.readword(0x300122A)
- Enemies()
- Samus()
- Projectiles()
- Cooldown()
- vba.frameadvance()
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement