Log In  

Cart #rtcp-0 | 2023-10-25 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
1

NEW ONESCRIPT DUMMY-PROOF VERSION (READ BELOW)

Remember RealTimeCelester and maybe RealTimeProggrupter?
They were RTC programs for celeste classic. what that means is they corrupt the games memory over time!
Now, have you ever wished you could ruin ANY cart? not just celeste? well i have the thing for you!

Introducing RTC-P! The first portable RTC for Pico-8! Simple copy the below code, following the instructions, and bam! ruin any cart with ease!

Important: Do NOT run the cart above, as it will do nothing. that is just the corrupter, but it has no cart to corrupt. to use, copy the code below and add it in a new code tab, or somewhere clutter-free. then add rtc() at the 1ST LINE in your update cycle. to change corrupt time or corrupt level, just go into the pause menu, go to the setting you want to change and press left or right. nxt cprt in: is how many frames until next corruption.

REMEMBER: to use you must be able to EDIT your cart! to do this, just load it in desktop pico-8 or at https://pico-8-edu.com
To load your cart, find it in splore, exit splore and press esc. for edu users, find your cart on the bbs and either download it and load it, or copy its cart id at the bottom of the runnable cartridge on its page. (something like #rtcp or #18471)


RTC-P Manual (For non-game loop using carts)

--rtc--
--portable rtc made by antibrain
cf,clvl,ct=150,100,0
function rtc()
if cf<0then cf=0elseif clvl<0then clvl=0end
menuitem(1,"corrupt spd:"..cf,function(b) icf(b) end)
menuitem(2,"corrupt lvl:"..clvl, function(b) iclvl(b) end)
menuitem(3,"nxt crpt in:"..-(ct-cf))
ct+=1
if ct>=cf then
ct=0
for i=1,clvl do
poke(abs(rnd(-1)),rnd(-1))
end
end
end
function icf(b)
if(b&2>0)then cf+=10 rtc()end
if(b&1>0)then cf-=10 rtc()end 
return true
end
function iclvl(b)
if(b&2>0)then clvl+=10 rtc()end
if(b&1>0)then clvl-=10 rtc()end 
return true
end

--[[

how to use:

copy all above text and put
it in a new code tab.
(click the plus up top)
then add "rtc()" to the start
of your cart's update loop.
this only works in desktop p8
or edu, because you need to
edit the cart to use it.

to change values, simply
open the pause menu (enter/p),
scroll to the setting you want
to change, then press ⬅️ or ➡️.

"nxt crpt in" is the number of
frames left until the next
corruption.

thank you for using rtc-p!
hope you have fun ruining your
favorite games!

]]


Now, what if this is all too complicated? what if you just want to throw in a script and just have it work? well good news, ive concocted a easy to use RTC script that doesnt need anything! just put it in a new code tab or below all game loops (_init, _update, _draw) to use! the program will do the rest of the work.

Cart #rtcp_auto-1 | 2023-11-15 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
1

Click code on cart above, or copy code below.

HOW TO USE:
Copy code, then go to a Pico-8 Editor- this can be on desktop pico-8 or at pico-8 edu, which you can access here. then just load your cartridge you'd like to corrupt by typing load followed by its cart id. Cart id's can be found below the cart on BBS.

for example, to load manual rtcp, you would type load #rtcp. the "-0" isnt necessary. that's just the version number and pico-8 automatically grabs the latest version.


RTCP_OneScriptFitsAll(Most)

--[[ rtc-p+ ]]--
--portable rtc made by antibrain

-- onescriptfitsall(most) ver --
cf,clvl,ct=150,100,0
if _init!=nil then
_init()
end
function rtc()
if cf<0then cf=0elseif clvl<0then clvl=0end
menuitem(1,"corrupt spd:"..cf,function(b) icf(b) end)
menuitem(2,"corrupt lvl:"..clvl, function(b) iclvl(b) end)
menuitem(3,"nxt crpt in:"..-(ct-cf))
ct+=1
if ct>=cf then
ct=0
for i=1,clvl do
poke(abs(rnd(-1)),rnd(-1))
end
end
end
function icf(b)
if(b&2>0)then cf+=10 rtc()end
if(b&1>0)then cf-=10 rtc()end 
return true
end
function iclvl(b)
if(b&2>0)then clvl+=10 rtc()end
if(b&1>0)then clvl-=10 rtc()end 
return true
end
while true do 
rtc()
if _update!=nil then
_update()
elseif _update60!=nil then
_update60()
end
if _draw!=nil then
_draw()
end
flip()
--the below loop can be removed if you are short on tokens.
if (_update==nil or _update60==nil) and _draw==nil then
?"no update or draw loops found!"
?"for carts that dont use"
?"game loops, load #rtcp and"
?"use that instead."
?" "
?"if loaded off bbs, please"
?"use a pico-8 editor to use this."
stop()
end
end


P#136378 2023-10-25 16:13 ( Edited 2023-12-14 16:19)


[Please log in to post a comment]