2009-09-16 03:38:48 +00:00
|
|
|
-- Just something quick for Mike Tyson's Punch Out!!
|
|
|
|
-- Intended to help time hits in real time.
|
|
|
|
-- Just quickly worked something up. Didn't bother with bells and whistles.
|
|
|
|
--FatRatKnight
|
|
|
|
|
|
|
|
|
|
|
|
local EHP= 0x0398 -- Enemy HP address
|
2009-09-16 03:50:58 +00:00
|
|
|
local TMR= 21 -- Frames in advance for your punches.
|
2009-09-16 03:38:48 +00:00
|
|
|
local BND= -8 -- KEEP NEGATIVE!! Frames after the golden zone.
|
|
|
|
|
2009-09-16 03:50:58 +00:00
|
|
|
local DISPx= 200
|
2009-09-16 03:38:48 +00:00
|
|
|
local DISPy= 180
|
|
|
|
|
2009-09-16 04:32:39 +00:00
|
|
|
local timer= 0
|
2009-09-16 03:38:48 +00:00
|
|
|
|
|
|
|
local EnemyHP
|
|
|
|
local lastEHP
|
|
|
|
local LastHit=-50
|
2009-09-16 04:32:39 +00:00
|
|
|
local poke
|
|
|
|
local FreakingAwesome
|
2009-09-16 03:38:48 +00:00
|
|
|
|
|
|
|
--*****************************************************************************
|
2009-09-16 04:32:39 +00:00
|
|
|
function Is_Hit()
|
2009-09-16 03:38:48 +00:00
|
|
|
--*****************************************************************************
|
|
|
|
if EnemyHP ~= lastEHP then
|
|
|
|
return true
|
|
|
|
end
|
|
|
|
return false
|
|
|
|
end
|
|
|
|
|
|
|
|
|
2009-09-16 04:32:39 +00:00
|
|
|
local LastButtons= {}
|
|
|
|
local Buttons= {}
|
2009-09-16 03:38:48 +00:00
|
|
|
--*****************************************************************************
|
|
|
|
function IsPress()
|
|
|
|
--*****************************************************************************
|
2009-09-16 04:32:39 +00:00
|
|
|
LastButtons["A"]= Buttons["A"]
|
|
|
|
LastButtons["B"]= Buttons["B"]
|
2009-09-16 03:38:48 +00:00
|
|
|
|
2009-09-16 04:32:39 +00:00
|
|
|
Buttons= joypad.get(1)
|
|
|
|
if (Buttons["A"] and not LastButtons["A"]) or (Buttons["B"] and not LastButtons["B"]) then
|
2009-09-16 03:38:48 +00:00
|
|
|
return true
|
|
|
|
end
|
|
|
|
return false
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
--*****************************************************************************
|
|
|
|
while true do
|
|
|
|
--*****************************************************************************
|
|
|
|
EnemyHP= memory.readbyte(EHP)
|
2009-09-16 03:50:58 +00:00
|
|
|
gui.text(144,22,EnemyHP)
|
2009-09-16 03:38:48 +00:00
|
|
|
|
2009-09-16 04:32:39 +00:00
|
|
|
if IsPress() then
|
|
|
|
poke= true
|
2009-09-16 03:38:48 +00:00
|
|
|
end
|
|
|
|
|
2009-09-16 04:32:39 +00:00
|
|
|
if Is_Hit() then
|
|
|
|
LastHit= TMR
|
|
|
|
poke= false
|
|
|
|
end
|
2009-09-16 03:38:48 +00:00
|
|
|
|
|
|
|
for i= 1, TMR do
|
|
|
|
local color= "black"
|
|
|
|
if i == LastHit then
|
2009-09-16 04:32:39 +00:00
|
|
|
if poke then
|
|
|
|
color= "red"
|
|
|
|
else
|
|
|
|
color= "green"
|
|
|
|
end
|
2009-09-16 03:38:48 +00:00
|
|
|
end
|
|
|
|
gui.drawbox(DISPx, DISPy-3 - 4*i,DISPx+7, DISPy-1 - 4*i,color)
|
|
|
|
end
|
|
|
|
|
2009-09-16 04:32:39 +00:00
|
|
|
if FreakingAwesome then
|
|
|
|
gui.text(128,50,"OK")
|
|
|
|
local color= "white"
|
|
|
|
if (timer % 3) == 0 then
|
|
|
|
color= "green"
|
|
|
|
elseif (timer % 3) == 1 then
|
|
|
|
color= "blue"
|
|
|
|
end
|
|
|
|
gui.drawbox(DISPx , DISPy , DISPx+7, DISPy+2, color)
|
|
|
|
gui.drawbox(DISPx-2, DISPy-2, DISPx+9, DISPy+4, color)
|
|
|
|
else
|
|
|
|
local color= "black"
|
|
|
|
if LastHit == 0 then
|
|
|
|
if poke then
|
|
|
|
color= "blue"
|
|
|
|
else
|
|
|
|
color= "green"
|
|
|
|
end
|
|
|
|
end
|
|
|
|
gui.drawbox(DISPx , DISPy ,DISPx+7, DISPy+2,color)
|
|
|
|
gui.drawbox(DISPx-2, DISPy-2,DISPx+9, DISPy+4,"white")
|
2009-09-16 03:38:48 +00:00
|
|
|
end
|
|
|
|
|
|
|
|
for i= BND, -1 do
|
|
|
|
local color= "black"
|
|
|
|
if i == LastHit then
|
2009-09-16 04:32:39 +00:00
|
|
|
if poke then
|
|
|
|
color= "red"
|
|
|
|
else
|
|
|
|
color= "green"
|
|
|
|
end
|
2009-09-16 03:38:48 +00:00
|
|
|
end
|
|
|
|
gui.drawbox(DISPx, DISPy+3 - 4*i,DISPx+7, DISPy+5 - 4*i,color)
|
|
|
|
end
|
|
|
|
|
2009-09-16 04:32:39 +00:00
|
|
|
if not poke then
|
|
|
|
LastHit= LastHit-1
|
|
|
|
end
|
2009-09-16 03:38:48 +00:00
|
|
|
FCEU.frameadvance()
|
|
|
|
lastEHP= EnemyHP
|
2009-09-16 04:32:39 +00:00
|
|
|
timer= timer+1
|
2009-09-16 03:38:48 +00:00
|
|
|
end
|