scratch extesion: timer by rssaromeo

none

  1. // ==UserScript==
  2. // @name scratch extesion: timer by rssaromeo
  3. // @version 4
  4. // @description none
  5. // @run-at document-start
  6. // @author rssaromeo
  7. // @license GPLv3
  8. // @tag lib
  9. // @match *://*/*
  10. // @include *
  11. // @icon data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABABAMAAABYR2ztAAAAAXNSR0IB2cksfwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAA9QTFRFAAAAA6ruC6rmAWGH////xP85DwAAAAV0Uk5TAP////8c0CZSAAABtUlEQVR4nL2V0XGEMAxErVSAO8jQf01MKohJAyFY0kprMDf3FX/cYPuxK3OyJCWGLPF47LkaT7XQkO8bQO8PGjLfTwKAGXx8lvL7ZSttACq2+3CkEaAG2AdhJhICK0ewhYRAIN8PDZUQF7D9GtJKNAe6wMpHbW7SUUkB+hQgmgIuMHyqZianhAFdAP4RxwbAHFSgyXLs9mQS7QTcoepqB3QlJMQd+mIPadHIbeKAOVQ/lAI+Uw8xB38HgyTEHOqQZpAYgVY1Pv05T+Meh2gIOmdA39AgOqAhnGsM6Er3MKBG/iweinkYoCHEOmKtHsR7gBmOgK69CfghZsAZpQPHj+141vSp/DvAfyU+BAOcDNNTvAT4Q12A+3/BIUz/rGfAE4YdAuCM8s1bRkVOBlALAfBI+czq8vJeaNoPVxMf3acA/HLf7qbdLCoP19ttlxcValIfusMeBQR1hZ68PrDEUKNQgiZV0ATUgcrgtU5mlYtKPFRadwBwq9Woo1Grx25QohJHtb8SqOXZL8aGEd2AOg5rZMPhnpXElrGi6+GEK7Yf+iYNJFi05jrff+rdmX/Z/VmDLuIfxL1QJnNOkwEAAAAASUVORK5CYII=
  12. // @grant none
  13. // @namespace https://greasyfork.org/users/1184528
  14. // ==/UserScript==
  15. ;(async () => {
  16. await loadlib("libloader").waitforlib("scratchextesnsionmanager")
  17. const {
  18. newext,
  19. newmenu,
  20. newblock,
  21. bt,
  22. inp,
  23. gettarget,
  24. totype,
  25. scratch_math,
  26. projectid,
  27. canvas,
  28. scratchvar,
  29. scratchlist,
  30. } = loadlib("scratchextesnsionmanager")
  31. var vm
  32. loadlib("libloader")
  33. .waitforlib("scratch")
  34. .then(() => (vm = loadlib("scratch").vm))
  35.  
  36. newext(
  37. "timer",
  38. "rssaromeo",
  39. class {
  40. pausetimer() {
  41. vm.runtime.ioDevices.clock.pause()
  42. }
  43. resumetimer() {
  44. vm.runtime.ioDevices.clock.resume()
  45. }
  46. },
  47. [
  48. newblock(bt.cmd, "pausetimer", "pause timer"),
  49. newblock(bt.cmd, "resumetimer", "resume timer"),
  50. ],
  51. "03aaee",
  52. "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABABAMAAABYR2ztAAAAAXNSR0IB2cksfwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAA9QTFRFAAAAA6ruC6rmAWGH////xP85DwAAAAV0Uk5TAP////8c0CZSAAABtUlEQVR4nL2V0XGEMAxErVSAO8jQf01MKohJAyFY0kprMDf3FX/cYPuxK3OyJCWGLPF47LkaT7XQkO8bQO8PGjLfTwKAGXx8lvL7ZSttACq2+3CkEaAG2AdhJhICK0ewhYRAIN8PDZUQF7D9GtJKNAe6wMpHbW7SUUkB+hQgmgIuMHyqZianhAFdAP4RxwbAHFSgyXLs9mQS7QTcoepqB3QlJMQd+mIPadHIbeKAOVQ/lAI+Uw8xB38HgyTEHOqQZpAYgVY1Pv05T+Meh2gIOmdA39AgOqAhnGsM6Er3MKBG/iweinkYoCHEOmKtHsR7gBmOgK69CfghZsAZpQPHj+141vSp/DvAfyU+BAOcDNNTvAT4Q12A+3/BIUz/rGfAE4YdAuCM8s1bRkVOBlALAfBI+czq8vJeaNoPVxMf3acA/HLf7qbdLCoP19ttlxcValIfusMeBQR1hZ68PrDEUKNQgiZV0ATUgcrgtU5mlYtKPFRadwBwq9Woo1Grx25QohJHtb8SqOXZL8aGEd2AOg5rZMPhnpXElrGi6+GEK7Yf+iYNJFi05jrff+rdmX/Z/VmDLuIfxL1QJnNOkwEAAAAASUVORK5CYII="
  53. )
  54. })()