Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local owner = ""
- local targetPlayer = ""
- local targetX =
- local targetZ =
- term.clear()
- term.setCursorPos(1, 1)
- print("Starte Distanzanzeige...")
- local mode = 1
- local function distance2D(x1, z1, x2, z2)
- local dx = x2 - x1
- local dz = z2 - z1
- return math.sqrt(dx * dx + dz * dz)
- end
- local function keyListener()
- while true do
- local _, key = os.pullEvent("key")
- if key == keys.s then
- mode = (mode == 1) and 2 or 1
- term.clear()
- end
- end
- end
- local function displayLoop()
- while true do
- term.setCursorPos(1, 1)
- term.clear()
- local per = peripheral.wrap("back")
- if not per then
- print("Kein Player Detector hinten gefunden.")
- sleep(1)
- else
- local posOwner = per.getPlayerPos(owner)
- if posOwner then
- if mode == 1 then
- local dist = distance2D(posOwner.x, posOwner.z, targetX, targetZ)
- if term.isColor() then term.setTextColor(colors.yellow) end
- print("Modus: Koordinaten")
- if term.isColor() then term.setTextColor(colors.white) end
- print(string.format("Distanz zu (%.1f, %.1f): %d", targetX, targetZ, math.floor(dist)))
- else
- local posTarget = per.getPlayerPos(targetPlayer)
- if posTarget then
- local dist = distance2D(posOwner.x, posOwner.z, posTarget.x, posTarget.z)
- if term.isColor() then term.setTextColor(colors.lime) end
- print("Modus: Spieler '" .. targetPlayer .. "'")
- if term.isColor() then term.setTextColor(colors.white) end
- print("Distanz:", math.floor(dist))
- else
- if term.isColor() then term.setTextColor(colors.red) end
- print("Zielspieler '" .. targetPlayer .. "' nicht gefunden.")
- if term.isColor() then term.setTextColor(colors.white) end
- end
- end
- else
- if term.isColor() then term.setTextColor(colors.red) end
- print("Spieler '" .. owner .. "' nicht gefunden.")
- if term.isColor() then term.setTextColor(colors.white) end
- end
- end
- print("[S] zum Wechseln des Modus.")
- sleep(0.3)
- end
- end
- parallel.waitForAny(displayLoop, keyListener)
Advertisement
Add Comment
Please, Sign In to add comment