Untitled
unknown
plain_text
8 months ago
3.2 kB
8
Indexable
-- === KONFIGURACJA ===
local targetPlayerName = "Qn" -- Tutaj wprowadź nick gracza, do którego mają być wysyłane wiadomości
local messageTemplate = "%s wszedł na twoje expowisko!" -- 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