Guest User

startup

a guest
Nov 20th, 2020
59
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 3.14 KB | None | 0 0
  1. modem = peripheral.wrap("top")
  2. radar = peripheral.wrap("back")
  3. modem.open(12)
  4. modem.open(13)
  5. term.clear()
  6. term.setCursorPos(1,1)
  7. settings.load("/.settings")
  8. if (settings.get("player") == nil) then
  9.     print("Need to set the player to watch. Run 'set player <username>'")
  10.     return
  11. end
  12. if (settings.get("channel") == nil) then
  13.     print("Need to set the computer Channel! Run 'set channel <number>'")
  14.     return
  15. end
  16. if (tonumber(settings.get("channel")) == nil) then
  17.     print("The setting 'channel' with value '" .. settings.get("channel") .."' is not a numebr. Please make it a number!")
  18.     return
  19. end
  20. modem.open(tonumber(settings.get("channel")))
  21. print("Working...")
  22. t = 1
  23. function timer()
  24.     sleep(3)
  25.     return
  26. end
  27. function mess()
  28.     while true do
  29.         e, s, c, r, m, d = os.pullEvent("modem_message")
  30.         if (c == tonumber(settings.get("channel"))) and (m == "gg") then
  31.             return
  32.         end
  33.     end
  34. end
  35. function red()
  36.     os.pullEvent("redstone")
  37. end
  38. function dead()
  39.     while true do
  40.         e2, s2, c2, r2, m2, d2 = os.pullEvent("modem_message")
  41.         if (c2 == 12) and (m2 == "f") then
  42.             return
  43.         end
  44.     end
  45. end
  46. while true do
  47.    event, side, chan, reply, message, dist = os.pullEvent("modem_message")
  48.    if (message["m"] == "s") and (chan == 13) and (message["name"] == settings.get("player")) then
  49.        print("Start good!")
  50.        laps = message["laps"]
  51.        num = 0
  52.        stop = false
  53.        me = false
  54.        print("Waiting for start...")
  55.        sleep(message["pt"] + 19)
  56.        print("Racing...")
  57.        while (num < laps) and not stop do
  58.            print("Laps: " .. num .."/"..laps)
  59.            f = parallel.waitForAny(red, dead)
  60.            if (f == 2) then
  61.                stop = true
  62.            else
  63.                y = 4
  64.                while y > 0 do
  65.                    players = radar.getPlayers()
  66.                    for i, p in ipairs(players) do
  67.                        if (p["name"] == settings.get("player")) then
  68.                            print("Found player!")
  69.                            sleep(2.5)
  70.                            num = num + 1
  71.                            exec("scoreboard players add ".. settings.get("player") .. " lap 1")
  72.                            y = 0
  73.                            break
  74.                        end
  75.                    end
  76.                    y = y - 1
  77.                end
  78.            end
  79.        end
  80.        if not stop then
  81.            sleep(3)
  82.            modem.transmit(12, settings.get("channel"), "f")
  83.            func = parallel.waitForAny(timer, mess)
  84.            if (func == 2) then
  85.                print("Race Over: My player won!")
  86.                exec("say Good win ".. settings.get("player") .. "! Everyone back to the pits!")
  87.                modem.transmit(11, 0, "gg")
  88.                rep = 0
  89.                while rep < 5 do
  90.                    modem.transmit(13, 0, "f")
  91.                    sleep(1)
  92.                    rep = rep + 1
  93.                end
  94.            else
  95.                print("Race Over: Someone else won.")
  96.            end
  97.        else
  98.            print("Race Over: Someone else won.")
  99.        end
  100.    end
  101. end
Advertisement
Add Comment
Please, Sign In to add comment