The RESTART. May not look like much, but it's much.
-- Crash N. Tranced lua v2.0
-- This is Community Work Please Help
-- Join in add updates of your own and add your name
-- Values found by: Spikestuff, Warepire
-- Script Edited by: Spikestuff, Warepire
while true do
local area = memory.readbytesigned(0x0200D4D5)
local area2 = memory.readbytesigned(0x0200D4C9)
local area3 = memory.readbyte(0x0200A8EA)
local mask = memory.readbyte(0x020026F0)
lvl = memory.readbyte(0x02002744)
local atlasv = math.abs(memory.readbyte(0x02002544)) + math.abs(memory.readbyte(0x02002548))
-- SPEED AND/OR PIXEL POS.
if area ~= 0 then
if area == 2 or area2 == 1 or area2 == 0 and lvl ~= 25 then -- Normal
gui.text(8,30,"PixelX: " .. memory.readshort(0x02014FD9),"orange")
gui.text(8,38,"PixelY: " .. memory.readshort(0x02014FDD),"orange")
gui.text(8,46,"SpeedX: " .. memory.readwordsigned(0x02015058),"orange")
gui.text(8,54,"SpeedY: " .. memory.readwordsigned(0x0201505C),"orange")
gui.text(1,128,"Spin Time: 23/" .. memory.readbyte(0x02015444))
gui.text(1,136,"Slide Time: 22/ " .. memory.readbyte(0x02015444))
else if area == 1 or area3 == 1 then -- Bonus
gui.text(8,30,"PixelX: " .. memory.readshort(0x020153F1),"#CCFF33")
gui.text(8,38,"PixelY: " .. memory.readshort(0x020153F5),"#CCFF33")
gui.text(8,46,"SpeedX: " .. memory.readwordsigned(0x02015470),"#CCFF33")
gui.text(8,54,"SpeedY: " .. memory.readwordsigned(0x02015474),"#CCFF33")
gui.text(1,128,"Spin Time: 23/" .. memory.readbyte(0x0201585C))
gui.text(1,136,"Slide Time: 22/ " .. memory.readbyte(0x0201585C))
else if area == -1 then -- Atlas
gui.text(90,108," AtlasV: " .. memory.readbyte(atlasv))
else if area == 37 or area2 == 68 then
gui.text(1,128,"Surf Spd: " .. memory.readbyte(0x02001B24))
else if lvl == 25 then
gui.text(80,128,"PixelX: " .. memory.readshort(0x02014FD9),"#7094FF")
gui.text(80,136,"PixelY: " .. memory.readshort(0x02014FDD),"#7094FF")
gui.text(160,128,"SpeedX: " .. memory.readwordsigned(0x02015058),"#7094FF")
gui.text(160,136,"SpeedY: " .. memory.readwordsigned(0x0201505C),"#7094FF")
end end end end end end
-- MASK CHECK
if mask > 0 and mask < 4 then
if area == 0 or area == -1 or area == 66 then else
if lvl == 25 then
gui.text(160,16,"Mask Level: " .. mask,"yellow")
else if area == 16 or lvl == 24 or lvl == 26 or lvl == 27 or lvl == 28 then
gui.text(1,16,"Mask Level: " .. mask,"yellow") else
gui.text(84,38,"Mask Level: " .. mask,"yellow")
end end end end
-- LIVES AND BOXES
if area == 0 then else
if lvl == 25 then
gui.text(160,8,"Lives: " .. memory.readshort(0x020026EC)) else
if area == 16 then
gui.text(1,8,"Lives: " .. memory.readshort(0x020026EC)) else
gui.text(1,8,"Lives: " .. memory.readshort(0x020026EC))
if area == 16 or lvl == 24 or lvl == 25 or lvl == 26 or lvl == 27 or lvl == 28 then else
gui.text(84,30,"Boxes: " .. memory.readshort(0x020067B0) .. " / " .. memory.readshort(0x020026E8))
end end end end
-- Instage time: This resets on deaths WE DON'T WANT DEATH
if area == 0 then else
if area == 1 or area == 2 or area3 == 1 then
gui.text(1,120,"LTime: " .. memory.readshort(0x020001CC),"#CFCFCF") else
if area == 37 or area == 66 then
gui.text(1,120,"LTime: " .. memory.readshort(0x02000F80),"#CFCFCF") else
if area == -1 then
if lvl == 8 then
gui.text(1,120,"LTime: " .. memory.readshort(0x0201AB50),"#CFCFCF") else
if lvl == 16 then
gui.text(1,120,"LTime: " .. memory.readshort(0x0201AA70),"#CFCFCF") else
gui.text(1,120,"LTime: " .. memory.readshort(0x00201A9B0),"#CFCFCF")
end end end end end end
-- THINGS THAT DON'T NEED TO CHANGE.
if lvl == 25 and movie.active()==true then gui.text(1,136,"RR: " .. movie.rerecordcount()) else
if movie.active()==true then gui.text(1,0,"RR: " .. movie.rerecordcount()) end end
if movie.active()==false then gui.drawbox(150,148,240,160, "red") end
if movie.active()==false then gui.text(158,151, "MOVIE NOT RECORDING") end
vba.frameadvance() end