Run it
Copy the script and paste it into your executor.
Players = :()
TextChatService = :()
Workspace = :()
SCAN_INTERVAL =
REQUIRED_GRIEF_TIME =
MAX_GAP =
DETECTION_DISTANCE =
MIN_DELETIONS =
WARNING_COOLDOWN =
trackedParts = {}
playerData = {}
lastWarnings = {}
(message)
(()
channels = TextChatService:()
general = channels:()
general:(message)
)
()
(tool)
tool:()
name = tool.Name:():(, )
name ==
name ==
name:(, , ) ~=
name:(, , ) ~=
(player)
character = player.Character
character
_, object (character:())
(object)
(player)
character = player.Character
character
character:()
(position)
closestPlayer =
closestDistance = DETECTION_DISTANCE
_, player (Players:())
(player)
root = (player)
root
distance = (root.Position - position).Magnitude
distance <= closestDistance
closestDistance = distance
closestPlayer = player
closestPlayer
(player)
playerData[player]
playerData[player] = {
deletions = {},
streakStart = ,
lastDeletion =
}
data = playerData[player]
now = .()
.(data.deletions, now)
data.lastDeletion
gap = now - data.lastDeletion
gap > MAX_GAP
data.deletions = {now}
data.streakStart =
data.lastDeletion = now
data.streakStart
#data.deletions >= MIN_DELETIONS
data.streakStart = now
()
currentParts = {}
_, object (Workspace:())
object:()
currentParts[object] = object.Position
oldPart, oldPosition (trackedParts)
currentParts[oldPart]
player = (oldPosition)
player
(player)
trackedParts = currentParts
()
now = .()
player, data (playerData)
player.Parent
playerData[player] =
lastWarnings[player] =
data.lastDeletion
gap = now - data.lastDeletion
gap > MAX_GAP
data.streakStart =
data.deletions = {}
data.lastDeletion =
data.streakStart
duration = now - data.streakStart
duration >= REQUIRED_GRIEF_TIME
lastWarning = lastWarnings[player]
now - lastWarning >= WARNING_COOLDOWN
lastWarnings[player] = now
(
player.Name ..
)
data.streakStart =
data.deletions = {}
_, object (Workspace:())
object:()
trackedParts[object] = object.Position
.(()
()
()
.(SCAN_INTERVAL)
)
Players.PlayerRemoving:((player)
playerData[player] =
lastWarnings[player] =
)This script detects if any player is griefing in the server and it gives a warning in chat (can make mistakes sometimes)
The Chosen One