Untitled

 avatar
unknown
plain_text
16 days ago
3.2 kB
6
Indexable
-- === KONFIGURACJA ===
local targetPlayerName = "Wysterylizowany"  -- Tutaj wprowadź nick gracza, do którego mają być wysyłane wiadomości
local messageTemplate = "%s wszedł na twoje expowisko! BACK"  -- Wiadomość do wysłania
local messageCooldown = 5000  -- Czas w milisekundach (5 sekund) pomiędzy wiadomościami
-- =====================

local lastMessageTime = 0  -- Czas ostatniej wysłanej wiadomości (w milisekundach)
local playerDetected = false  -- Zmienna do monitorowania, czy gracz został wykryty
local firstMessageSent = false  -- Flaga do sprawdzenia, czy pierwsza wiadomość została wysłana

macro(100, "Monitorowanie wrogów", function()  -- Sprawdzanie co 100 ms
  -- Sprawdzamy, czy storage.playerList i storage.playerList.enemyList są dostępne
  if not storage.playerList or not storage.playerList.enemyList then
    print("Brak dostępu do storage.playerList lub storage.playerList.enemyList!")
    return
  end

  -- Iterujemy po liście wrogów (storage.playerList.enemyList)
  for _, enemyName in ipairs(storage.playerList.enemyList) do
    -- Sprawdzamy, czy gracz z tej listy jest w zasięgu widoczności
    for _, spec in ipairs(getSpectators()) do
      -- Sprawdzamy, czy mamy do czynienia z graczem, który jest na ekranie
      if spec:isPlayer() and spec:getName() == enemyName then
        -- Gracz został wykryty, więc sprawdzamy, czy minęło wystarczająco dużo czasu od ostatniej wysłanej wiadomości
        if playerDetected == false then
          playerDetected = true  -- Gracz został wykryty
          firstMessageSent = false  -- Resetujemy flagę wysłania pierwszej wiadomości
          lastMessageTime = os.clock() * 1000  -- Ustawiamy czas wykrycia gracza
          print("Znaleziono gracza: " .. enemyName)
        end
        
        -- Jeśli to pierwsza wiadomość, wysyłamy ją natychmiast
        if not firstMessageSent then
          local message = string.format(messageTemplate, enemyName)
          talkPrivate(targetPlayerName, message)  -- Wysyłamy wiadomość natychmiast
          print("Wysłano wiadomość do " .. targetPlayerName .. ": " .. message)
          firstMessageSent = true  -- Oznaczamy, że pierwsza wiadomość została wysłana
          lastMessageTime = os.clock() * 1000  -- Aktualizujemy czas wysłania pierwszej wiadomości
        end

        -- Sprawdzamy, czy minęło 5 sekund od ostatniej wysłanej wiadomości
        if os.clock() * 1000 - lastMessageTime >= messageCooldown then
          local message = string.format(messageTemplate, enemyName)
          talkPrivate(targetPlayerName, message)  -- Wysyłamy kolejną wiadomość
          print("Wysłano wiadomość do " .. targetPlayerName .. ": " .. message)
          lastMessageTime = os.clock() * 1000  -- Aktualizujemy czas wysłania wiadomości
        end
        return  -- Jeśli gracz został wykryty, przerywamy dalsze sprawdzanie
      end
    end
  end
  
  -- Jeśli gracz zniknął, resetujemy flagę
  if playerDetected then
    playerDetected = false
    firstMessageSent = false  -- Resetujemy flagę po tym, jak gracz zniknął
    print("Gracz zniknął z ekranu.")
  end
end)
Editor is loading...
Leave a Comment