Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local TasksBetweenSleeps = 50
- local stepsTaken = 0
- local isRestoring = fs.exists(".events")
- local fileInstance
- local function overwrite(original, fake)
- original = function(sFilter)
- if isRestoring then
- if not fileInstance then
- fileInstance = fs.open(".events","r")
- end
- stepsTaken = stepsTaken + 1
- if stepsTaken > TasksBetweenSleeps then
- stepsTaken = 0
- os.queueEvent("isomnia")
- fake("isomnia")
- end
- local fakeEvent = fileInstance.readLine()
- if not fakeEvent or #fakeEvent == 0 then
- isRestoring = false
- fileInstance.close()
- fileInstance = fs.open(".events","a")
- return original(sFilter) --recursive pull
- end
- return textutils.unserialize(fakeEvent)
- else
- if not fileInstance then
- fileInstance = fs.open(".events","w")
- end
- local event = {fake(sFilter)}
- fileInstance.write(textutils.serialize(event))
- fileInstance.write("\n")
- if event and #event==2 and event[1] == "key" and event[2] == 59 then
- fileInstance.close()
- fs.delete(".events")
- print("History deleted!")
- end
- return unpack(event)
- end
- end
- end
- local pull = os.pullEventRaw
- overwrite(os.pullEventRaw,pull)
- local rand = math.random
- overwrite(math.random,rand)
Advertisement
Add Comment
Please, Sign In to add comment