EnderMeister02

Spieler Distanzanzeiger

Oct 8th, 2025
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 2.53 KB | Gaming | 0 0
  1.  
  2. local owner = ""
  3. local targetPlayer = ""
  4. local targetX =
  5. local targetZ =
  6.  
  7. term.clear()
  8. term.setCursorPos(1, 1)
  9. print("Starte Distanzanzeige...")
  10.  
  11. local mode = 1
  12.  
  13. local function distance2D(x1, z1, x2, z2)
  14.     local dx = x2 - x1
  15.     local dz = z2 - z1
  16.     return math.sqrt(dx * dx + dz * dz)
  17. end
  18.  
  19. local function keyListener()
  20.     while true do
  21.         local _, key = os.pullEvent("key")
  22.         if key == keys.s then
  23.             mode = (mode == 1) and 2 or 1
  24.             term.clear()
  25.         end
  26.     end
  27. end
  28.  
  29. local function displayLoop()
  30.     while true do
  31.         term.setCursorPos(1, 1)
  32.         term.clear()
  33.  
  34.         local per = peripheral.wrap("back")
  35.  
  36.         if not per then
  37.             print("Kein Player Detector hinten gefunden.")
  38.             sleep(1)
  39.         else
  40.             local posOwner = per.getPlayerPos(owner)
  41.  
  42.             if posOwner then
  43.                 if mode == 1 then
  44.                     local dist = distance2D(posOwner.x, posOwner.z, targetX, targetZ)
  45.                     if term.isColor() then term.setTextColor(colors.yellow) end
  46.                     print("Modus: Koordinaten")
  47.                     if term.isColor() then term.setTextColor(colors.white) end
  48.                     print(string.format("Distanz zu (%.1f, %.1f): %d", targetX, targetZ, math.floor(dist)))
  49.                 else
  50.                     local posTarget = per.getPlayerPos(targetPlayer)
  51.                     if posTarget then
  52.                         local dist = distance2D(posOwner.x, posOwner.z, posTarget.x, posTarget.z)
  53.                         if term.isColor() then term.setTextColor(colors.lime) end
  54.                         print("Modus: Spieler '" .. targetPlayer .. "'")
  55.                         if term.isColor() then term.setTextColor(colors.white) end
  56.                         print("Distanz:", math.floor(dist))
  57.                     else
  58.                         if term.isColor() then term.setTextColor(colors.red) end
  59.                         print("Zielspieler '" .. targetPlayer .. "' nicht gefunden.")
  60.                         if term.isColor() then term.setTextColor(colors.white) end
  61.                     end
  62.                 end
  63.             else
  64.                 if term.isColor() then term.setTextColor(colors.red) end
  65.                 print("Spieler '" .. owner .. "' nicht gefunden.")
  66.                 if term.isColor() then term.setTextColor(colors.white) end
  67.             end
  68.         end
  69.  
  70.         print("[S] zum Wechseln des Modus.")
  71.         sleep(0.3)
  72.     end
  73. end
  74.  
  75. parallel.waitForAny(displayLoop, keyListener)
Tags: Cc
Advertisement
Add Comment
Please, Sign In to add comment