我是初学者程序员,正在尝试制作包含踢、禁止、取消禁止命令的管理系统。成功禁止后,按取消禁止按钮后,它告诉我该用户已被取消禁止,但是当我从被禁止的用户加入游戏时,它仍然说我被禁止了。
代码:
game.Players.PlayerAdded:Connect(function(plr)
local ng = game.Workspace:FindFirstChild(plr.Name .. " / Banned")
if ng:IsA("WedgePart") then
plr:Kick("Banned")
print(plr.Name .. " tried to join while banned")
end
end)
script.Parent["Kick/Ban"].OnServerEvent:Connect(function(plr, plrname, reason, kb)
if game.Players:FindFirstChild(plrname) then
local target = game.Players:FindFirstChild(plrname)
if kb == "Kick" then
if reason ~= "" then
target:Kick(reason)
elseif reason == "" then
target:Kick()
end
elseif kb == "Ban" then
local part = Instance.new("WedgePart")
print(target.Name .. " has been banned")
part.Parent = game.Workspace
part.Name = target.Name .. " / Banned"
part.CanCollide = false
part.Transparency = 1
part.Anchored = true
target:Kick("Banned")
elseif kb == "Unban" then
local tn = plrname .. " / Banned"
local part2 = game.Workspace:FindFirstChildOfClass("WedgePart")
while part2 do
if part2.Name:lower() == tn:lower() then
part2:Destroy()
print(target.Name .. " has been unbanned")
break
end
part2 = game.Workspace:FindFirstChildOfClass("WedgePart", part2)
end
if not part2 then
print(target.Name .. " is not banned")
end
end
end
end)
尝试请人工智能帮助我,但一无所获。我认为主要问题是在 game.Players.PlayerAdded 等等。请帮我。 [对不起我的英语]
我看了下,没发现什么问题。我尝试稍微调整一下,尝试一下这段代码,看看它是否有效:
script.Parent["Kick/Ban"].OnServerEvent:Connect(function(plr, plrname,
reason, kb)
if game.Players:FindFirstChild(plrname) then
local target = game.Players:FindFirstChild(plrname)
if kb == "Kick" then
if reason ~= "" then
target:Kick(reason)
elseif reason == "" then
target:Kick()
end
elseif kb == "Ban" then
local part = Instance.new("WedgePart")
print(target.Name .. " has been banned")
part.Parent = game.Workspace
part.Name = target.Name .. " / Banned"
part.CanCollide = false
part.Transparency = 1
part.Anchored = true
target:Kick("Banned")
elseif kb == "Unban" then
local tn = plrname .. " / Banned"
local part2 = game.Workspace:FindFirstChild(tn)
if part2 then
part2:Destroy()
print(target.Name .. " has been unbanned")
else
print(target.Name .. " is not banned")
end
end
end
end)