Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- modem = peripheral.wrap("top")
- radar = peripheral.wrap("back")
- modem.open(12)
- modem.open(13)
- term.clear()
- term.setCursorPos(1,1)
- settings.load("/.settings")
- if (settings.get("player") == nil) then
- print("Need to set the player to watch. Run 'set player <username>'")
- return
- end
- if (settings.get("channel") == nil) then
- print("Need to set the computer Channel! Run 'set channel <number>'")
- return
- end
- if (tonumber(settings.get("channel")) == nil) then
- print("The setting 'channel' with value '" .. settings.get("channel") .."' is not a numebr. Please make it a number!")
- return
- end
- modem.open(tonumber(settings.get("channel")))
- print("Working...")
- t = 1
- function timer()
- sleep(3)
- return
- end
- function mess()
- while true do
- e, s, c, r, m, d = os.pullEvent("modem_message")
- if (c == tonumber(settings.get("channel"))) and (m == "gg") then
- return
- end
- end
- end
- function red()
- os.pullEvent("redstone")
- end
- function dead()
- while true do
- e2, s2, c2, r2, m2, d2 = os.pullEvent("modem_message")
- if (c2 == 12) and (m2 == "f") then
- return
- end
- end
- end
- while true do
- event, side, chan, reply, message, dist = os.pullEvent("modem_message")
- if (message["m"] == "s") and (chan == 13) and (message["name"] == settings.get("player")) then
- print("Start good!")
- laps = message["laps"]
- num = 0
- stop = false
- me = false
- print("Waiting for start...")
- sleep(message["pt"] + 19)
- print("Racing...")
- while (num < laps) and not stop do
- print("Laps: " .. num .."/"..laps)
- f = parallel.waitForAny(red, dead)
- if (f == 2) then
- stop = true
- else
- y = 4
- while y > 0 do
- players = radar.getPlayers()
- for i, p in ipairs(players) do
- if (p["name"] == settings.get("player")) then
- print("Found player!")
- sleep(2.5)
- num = num + 1
- exec("scoreboard players add ".. settings.get("player") .. " lap 1")
- y = 0
- break
- end
- end
- y = y - 1
- end
- end
- end
- if not stop then
- sleep(3)
- modem.transmit(12, settings.get("channel"), "f")
- func = parallel.waitForAny(timer, mess)
- if (func == 2) then
- print("Race Over: My player won!")
- exec("say Good win ".. settings.get("player") .. "! Everyone back to the pits!")
- modem.transmit(11, 0, "gg")
- rep = 0
- while rep < 5 do
- modem.transmit(13, 0, "f")
- sleep(1)
- rep = rep + 1
- end
- else
- print("Race Over: Someone else won.")
- end
- else
- print("Race Over: Someone else won.")
- end
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment