Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --2024.10.15 发布
- --http://forum.cheatmaker.org/
- --显示血量.
- local playerHPAddr = 0x540
- local playerXAddr = 0x320
- local playerYAddr = 0x340
- local screenXOffsetAddr = 0xFD
- local memType = emu.memType.nesInternalRam
- local enemyHPAddrs = {0x549, 0x54A, 0x54B, 0x54C,0x54D, 0x54E,0x553,0x55D}
- local enemyYAddrOffset = 0x200
- local enemyXAddrOffset = 0x220
- -- HP文本框的调整参数
- local hpBoxWidth = 20
- local hpBoxHeight = 10
- local hpBoxOffsetX = -10
- local hpBoxOffsetY = -30
- local function drawHPBoxAndLine()
- local playerHP = emu.read(playerHPAddr, memType)
- local playerX = emu.read(playerXAddr, memType)
- local playerY = emu.read(playerYAddr, memType)
- local screenXOffset = emu.read(screenXOffsetAddr, memType)
- local playerHPBoxX = playerX + hpBoxOffsetX
- local playerHPBoxY = playerY + hpBoxOffsetY
- emu.drawRectangle(playerHPBoxX, playerHPBoxY, hpBoxWidth, hpBoxHeight, 0x0F00CC00, false)
- emu.drawString(playerHPBoxX + 5, playerHPBoxY + 2, "" .. playerHP, 0x0FFFFFFF, 0xFF000000, 0)
- for i, hpAddr in ipairs(enemyHPAddrs) do
- local enemyHP = emu.read(hpAddr, memType)
- local enemyX = emu.read(hpAddr - enemyXAddrOffset, memType)
- local enemyY = emu.read(hpAddr - enemyYAddrOffset, memType)
- local enemyHPBoxX = enemyX + hpBoxOffsetX
- local enemyHPBoxY = enemyY + hpBoxOffsetY
- if enemyHP > 0 and enemyHP < 255 then
- emu.drawRectangle(enemyHPBoxX, enemyHPBoxY, hpBoxWidth, hpBoxHeight, 0x0F000000, false)
- emu.drawString(enemyHPBoxX + 5, enemyHPBoxY + 2, "" .. enemyHP, 0x0FFFFFFF, 0xFFFF0000, 0)
- end
- end
- end
- emu.addEventCallback(drawHPBoxAndLine, emu.eventType.endFrame)
Advertisement