I don’t know why this script isn’t functioning at all, I’ve viewed output and getting ZERO errors and the pcall is returning its running fine.
Source:
Some parts removed
ServerScript.lua
--[[
COPYRIGHT 2020 RAMPAGE INTERACTIVE LLC
-----------------------------------------
PUBLISHER: RAMPAGE INTERACTIVE LLC
DEVELOPMENT STUDIO: RAMPAGE STUDIOS
DEVELOPERS: blvckjakey
-----------------------------------------
]]
local success, err = pcall(function()
local httpService = game:GetService("HttpService")
local dataService = game:GetService("DataStoreService")
local chatService = game:GetService("Chat")
local banService = dataService:GetDataStore("*removed*")
local banReasonService = dataService:GetDataStore("*removed*")
local discordService = require(script.Discord)
local botlogs = "*removed*"
local stafflogs = "*removed*"
local thumbnailDiscord = "https://media.discordapp.net/attachments/577307886972174347/683735855361163316/helpmeplz2.png"
local dojLogo = "https://media.discordapp.net/attachments/577307886972174347/683735855361163316/helpmeplz2.png"
local MilitaryTime = false
-- True = 24 hour clock, false = 12 hour clock.
local function returnTranslatedTime(timez)
local thee = math.floor(timez/86400)
local death = math.floor(timez/60/60)
for i = 0, thee do
if death > 23 then
death = death - 24
else
break
end
end
if not MilitaryTime and death > 12 then death = death - 12 end
local caster = math.floor(timez/60%60)
local rulez = math.floor(timez%60%60)
if death < 10 then thee = '0' .. thee end
if death < 10 then death = '0' .. death end
if caster < 10 then caster = '0' .. caster end
if rulez < 10 then rulez = '0' .. rulez end
return thee .. ':' .. death .. ':' .. caster .. ':' .. rulez
end
local function playerId(username)
local IdValue = httpService:GetAsync("https://api.rampagestudios.org/roblox/*removed*/*removed*/?*removed*="..username)
if IdValue == "-1" then
return 0
else
return IdValue
end
end
local function banPls(player)
local thumbnailDiscord = "https://media.discordapp.net/attachments/577307886972174347/683735855361163316/helpmeplz2.png"
local dojLogo = "https://media.discordapp.net/attachments/577307886972174347/683735855361163316/helpmeplz2.png"
local webhook1 = discordService.Webhook.new(botlogs)
local botEmbed1 = discordService.RichEmbed.new()
:setAuthor("DOJ 5 Bot", dojLogo)
:setTitle("Player ***Banned***")
:addField("Player", player.Name)
:addField("UserId", player.UserId)
:addField("Reason", "Exploiting")
:addField("Admin", "Server")
:setFooter("Scripted by blvck#0001")
:setColor(3066993)
webhook1:send(botEmbed1, {username = "DOJ 5 Bot", avatar_url = dojLogo})
banService:SetAsync(player.UserId, true)
banReasonService:SetAsync(player.UserId, "Exploiting")
end
local function adminRank(username)
local adminPlayer = game.Players:FindFirstChild(username)
if adminPlayer:GetRankInGroup(3586271) == 109 then
return "Trial Moderator"
elseif adminPlayer:GetRankInGroup(3586271) == 111 then
return "Moderator"
elseif adminPlayer:GetRankInGroup(3586271) == 124 then
return "Administration"
elseif adminPlayer:GetRankInGroup(3586271) == 126 then
return "Community Management"
elseif adminPlayer:GetRankInGroup(3586271) == 127 then
return "Senior Manager"
elseif adminPlayer:GetRankInGroup(3586271) == 128 then
return "Developer"
elseif adminPlayer:GetRankInGroup(3586271) == 131 then
return "Head Developer"
elseif adminPlayer:GetRankInGroup(3586271) == 132 then
return "Co-Founder"
elseif adminPlayer:GetRankInGroup(3586271) == 255 then
return "Daddy Parviol"
elseif adminPlayer:GetRankInGroup(3586271) <= 109 then
banPls(adminPlayer)
return "Guest"
end
end
local function DiscordMessage(...)
local arguments = {...};
if arguments[1] == "Ban" then
local webhook1 = discordService.Webhook.new(botlogs)
local botEmbed1 = discordService.RichEmbed.new()
:setAuthor("DOJ 5 Bot", dojLogo)
:setTitle("Player ***Banned***")
:addField("Player", arguments[2])
:addField("UserId", arguments[3])
:addField("Reason", arguments[4])
:addField(adminRank(arguments[5]), arguments[5])
:setFooter("Scripted by blvck#0001")
:setColor(3066993)
webhook1:send(botEmbed1, {username = "DOJ 5 Bot", avatar_url = dojLogo})
end
if arguments[1] == "Unban" then
local webhook = discordService.Webhook.new(botlogs)
local botEmbed = discordService.RichEmbed.new()
:setAuthor("DOJ 5 Bot", dojLogo)
:setTitle("Player ***Unbanned***")
:addField("Player", arguments[2])
:addField("UserId", arguments[3])
:addField("Reason", arguments[4])
:addField(adminRank(arguments[5]), arguments[5])
:setFooter("Scripted by blvck#0001")
:setColor(3066993)
webhook:send(botEmbed, {username = "DOJ 5 Bot", avatar_url = dojLogo})
end
if arguments[1] == "Kick" then
local webhook = discordService.Webhook.new(botlogs)
local botEmbed = discordService.RichEmbed.new()
:setAuthor("DOJ 5 Bot", dojLogo)
:setTitle("Player ***Kicked***")
:addField("Player", arguments[2])
:addField("UserId", arguments[3])
:addField("Reason", arguments[4])
:addField(adminRank(arguments[5]), arguments[5])
:setFooter("Scripted by blvck#0001")
:setColor(3066993)
webhook:send(botEmbed, {username = "DOJ 5 Bot", avatar_url = dojLogo})
end
if arguments[1] == "Activity" then
local webhook2 = discordService.Webhook.new(stafflogs)
local botEmbed2 = discordService.RichEmbed.new()
:setAuthor("DOJ 5 Bot", dojLogo)
:setTitle("Staff Activity | Admin Disconnected")
:addField("Staff Member", arguments[3])
:addField("Staff Rank", adminRank(arguments[3]))
:addField("Activity Spent", arguments[4])
:setFooter("Scripted by blvck#0001")
:setColor(3066993)
webhook2:send(botEmbed2, {username = "DOJ 5 Bot", avatar_url = dojLogo})
end
if arguments[1] == "Command" then
local webhook2 = discordService.Webhook.new(stafflogs)
local botEmbed2 = discordService.RichEmbed.new()
:setAuthor("DOJ 5 Bot", dojLogo)
:setTitle("Admin Command Used")
:addField("Staff Member", arguments[3])
:addField("Staff Rank", adminRank(arguments[3]))
:addField("Command", arguments[2])
:addField("Target", arguments[4])
:addField("Reason", arguments[5])
:setFooter("Scripted by blvck#0001")
:setColor(3066993)
webhook2:send(botEmbed2, {username = "DOJ 5 Bot", avatar_url = dojLogo})
end
end
local function Ban(player, reason, admin)
local filteredReason = chatService:FilterStringForBroadcast(reason, player)
local success, err = pcall(function()
banService:SetAsync(player.UserId, true)
banReasonService:SetAsync(player.UserId, filteredReason)
end)
if success then
DiscordMessage("Ban", player.Name, player.UserId, filteredReason, admin)
player:Kick(filteredReason)
else
warn('Encountered error while banning ' .. player.Name .. ':' .. err)
DiscordMessage("Kick", player.Name, player.UserId, filteredReason, admin)
player:Kick("You have been kicked by a admin")
end
end
local function Unban(player, reason, admin)
local filteredReason = chatService:FilterStringForBroadcast(reason, player)
local success, err = pcall(function()
banService:SetAsync(player.UserId, false)
end)
if success then
print(player.Name .. ' has been unbanned for '.. filteredReason .."!");
DiscordMessage("Unban", player.Name, player.UserId, filteredReason, admin)
else
warn('Error has occured while trying to unban ' .. player.Name .. ': ' .. err)
end
end
local function checkIfBanned(player)
local success, err = pcall(function()
return banService:GetAsync(player.UserId)
end)
if not success then
warn('Encountered error while banning on join ' .. player.Name .. ':' .. err)
else
local data = err
if err == true then
local reason = banReasonService:GetAsync(player.UserId)
player:Kick(reason)
end
end
end
local function filter(string, player, action)
local action = string.lower(action)
if action == "upper" then
return string.upper(string)
elseif action == "lower" then
return string.lower(string)
elseif action == "filter" then
return chatService:FilterStringForBroadcast(string, player)
end
end
local function changeCash(player, admin, amount, reason)
local webhook = discordService.Webhook.new(botlogs)
local botEmbed = discordService.RichEmbed.new()
:setAuthor("DOJ 5 Bot", dojLogo)
:setTitle("DOJ 5 Econemy Updated")
:addField("Player", player)
:addField("UserId", player.UserId)
:addField("Reason", filter(reason, player, "filter"))
:addField("Added Cash", amount)
:addField(adminRank(admin.Name), admin.Name)
:setFooter("Scripted by blvck#0001")
:setColor(3066993)
webhook:send(botEmbed, {username = "DOJ 5 Bot", avatar_url = dojLogo})
player.leaderstats.Money.Value = player.leaderstats.Money.Value + amount
end
local function changeCash(player, admin, amount, reason)
local webhook = discordService.Webhook.new(botlogs)
local botEmbed = discordService.RichEmbed.new()
:setAuthor("DOJ 5 Bot", dojLogo)
:setTitle("DOJ 5 Econemy Updated")
:addField("Player", player)
:addField("UserId", player.UserId)
:addField("Reason", filter(reason, player, "filter"))
:addField("Removed Cash", amount)
:addField(adminRank(admin.Name), admin.Name)
:setFooter("Scripted by blvck#0001")
:setColor(3066993)
webhook:send(botEmbed, {username = "DOJ 5 Bot", avatar_url = dojLogo})
player.leaderstats.Money.Value = player.leaderstats.Money.Value - amount
end
local function userPower(username)
local adminPlayer = game.Players:FindFirstChild(username)
if adminPlayer:GetRankInGroup(3586271) == 109 then
return 1
elseif adminPlayer:GetRankInGroup(3586271) == 111 then
return 2
elseif adminPlayer:GetRankInGroup(3586271) == 124 then
return 2
elseif adminPlayer:GetRankInGroup(3586271) == 126 then
return 3
elseif adminPlayer:GetRankInGroup(3586271) == 127 then
return 3
elseif adminPlayer:GetRankInGroup(3586271) == 128 then
return 4
elseif adminPlayer:GetRankInGroup(3586271) == 131 then
return 4
elseif adminPlayer:GetRankInGroup(3586271) == 132 then
return 4
elseif adminPlayer:GetRankInGroup(3586271) == 255 then
return 5
elseif adminPlayer:GetRankInGroup(3586271) <= 109 then
return 0
end
end
local function findTarget(input)
input = tostring(input):lower()
for i, player in ipairs(game:GetService("Players"):GetPlayers()) do
if (player.Name:lower():sub(1, #input) == input) then
return player
else
return "Cant Be Found"
end
end
end
local function adminChat(player, message)
local msg = string.lower(message)
local rank = userPower(player.Name)
if msg == "/spawncar" then
if rank >=1 then
if game.Workspace:FindFirstChild(player.Name.."'s Car") then
local requireDeletion = game.Workspace:FindFirstChild(player.Name.."'s Car")
requireDeletion:Destroy()
end
local car = script.AdminCar:Clone()
car.Parent = game.Workspace
car:MoveTo(player.Head.Position)
DiscordMessage("Command", "/spawn", player.Name, "``Themselfs``", "Spawning staff car")
else
warn("Incorrect permissions")
end
end
if msg == "/spawncar2" then
if rank >=1 then
if game.Workspace:FindFirstChild(player.Name.."'s Car") then
local requireDeletion = game.Workspace:FindFirstChild(player.Name.."'s Car")
requireDeletion:Destroy()
end
local car = script.StaffExplorer:Clone()
car.Parent = game.Workspace
car:MoveTo(player.Head.Position)
DiscordMessage("Command", "/spawn", player.Name, "``Themselfs``", "Spawning staff exploer")
else
warn("Incorrect permissions")
end
end
if msg == "/spawncar3" then
if rank >=3 then
if game.Workspace:FindFirstChild(player.Name.."'s Car") then
local requireDeletion = game.Workspace:FindFirstChild(player.Name.."'s Car")
requireDeletion:Destroy()
end
local car = script.DevExplorer:Clone()
car.Parent = game.Workspace
car:MoveTo(player.Head.Position)
DiscordMessage("Command", "/spawn", player.Name, "``Themselfs``", "Spawning dev exploer")
else
warn("Incorrect permissions")
end
end
if string.sub(msg,1,5) == "/goto" then
if rank >=1 then
local target = findTarget(string.sub(msg,2))
local reason = string.sub(msg,3)
if target == "Error" then
warn("Player cant be found")
else
player.Character:MoveTo(target.Character.Head.Position)
DiscordMessage("Command", "/goto", player.Name, target.Name, reason)
end
else
warn("Incorrect permissions")
end
end
if string.sub(msg,1,6) == "/bring" then
if rank >=2 then
local target = findTarget(string.sub(msg,2))
local reason = string.sub(msg,3)
if target == "Error" then
if string.sub(msg,2) == string.lower("all") then
if rank >=3 then
for i,v in pairs(game.Players:GetPlayers()) do
v.Character:MoveTo(player.Character.Head.Position)
DiscordMessage("Command", "/bring", player.Name, "```All Players```", reason)
end
else
warn("Sorry, your not Community Management+")
end
else
warn("Player cant be found")
end
else
target.Character:MoveTo(player.Character.Head.Position)
DiscordMessage("Command", "/bring", player.Name, target.Name, reason)
end
else
warn("Incorrect permissions")
end
end
end
game.Players.PlayerRemoving:Connect(function(player)
if player:GetRankInGroup(3586271) >= 109 then
DiscordMessage("Activity", "NULL", player.Name, returnTranslatedTime(player.leaderstats.Time.Value))
end
end)
game.Players.PlayerAdded:Connect(function(player)
wait(4)
player.Chatted:Connect(function(message)
adminChat(player, message)
end)
player.CharacterAdded:Connect(function(character)
repeat wait() until character:FindFirstChild("Humanoid")
character.Humanoid.DisplayDistanceType = Enum.HumanoidDisplayDistanceType.None
end)
local myuID = playerId(player.Name)
if myuID == 0 or myuID == 1 then
banPls(player)
elseif myuID ~= player.UserId then
banPls(player)
end
DiscordMessage("Ban", player.Name, player.UserId, "Test Ban#2", "blvckjakey")
checkIfBanned(player)
local leaderstats = Instance.new("Folder")
leaderstats.Name = "leaderstats"
leaderstats.Parent = player
local value = Instance.new("NumberValue")
value.Parent = leaderstats
value.Name = "Time"
local function beginTime()
while wait(1) do
value.Value = value.Value + 1
end
end
beginTime()
wait(60)
DiscordMessage("Activity", "NULL", player.Name, returnTranslatedTime(player.leaderstats.Time.Value))
end)
local sheriff = 9
local staff = 4
local citizen = 0 -- 0 = unlimited
local swat = 9
local fire = 7
local function evenTeam(team)
local players = game.Players:GetChildren()
local onit = 0
for i=1, #players do
if team == "LSSO" then
if #players.Team == game.Teams["Los Santos Sheriff Department"] then
onit = onit + 1
if onit > sheriff then
return "Full"
else
return "Open"
end
end
end
end
end
game.Players.PlayerAdded:Connect(function(player)
spawn(function()
script.Area:Clone().Parent = player
script.Street:Clone().Parent = player
end)
end)
game.Players.PlayerAdded:Connect(function(player)
local status = evenTeam("LSSO")
if status == "Full" then
warn("Team Full")
else
warn("Succesfully teamed LSSO")
player.Team = game.Teams["Los Santos Sheriff Department"]
end
end)
end)
if success then
warn("Succesfully ran Admin Server")
else
error("Scripted errrored. Error Log: "..err)
end