Ik probeer momenteel een nieuw admin-opdrachtscript te maken; alles wat ik tot nu toe heb is het kill-commando … alles wat ik (tot nu toe) heb geprobeerd, werkt tenzij ik de parameter “:* me” gebruik (“*” is een willekeurig commando en “:” is het herkenningsteken. Ik don begrijp niet helemaal waarom dit niet werkt.
Ik heb een paar gekke dingen geprobeerd om dit te laten werken, dus de code kan worden afgeslacht van hoe ik het oorspronkelijk had…
admins = {"FakeNameHereSoNoStalkers"}
function kill(target)
for i=1,#target do
game.Players.target[i].Character:BreakJoints()
end
end
function isadmin(source)
for i=1,#admins do
if admins[i]:lower()==source:lower() then return true end
end
end
function findplayer(msg, source)
people = {}
c = game.Players:GetChildren()
if msg:lower()=="me" then
table.insert(people, source)
return people
elseif msg:lower()=="all" then
for i=1,#c do
table.insert(people, c[i])
end
return people
else
local length = msg:len()
for i=1,#c do
if c[i].Name:lower():sub(1, length)==msg:lower() then
table.insert(people, c[i])
end
end
return people
end
end
game.Players.PlayerAdded:connect(function(player)
source = player.Name
if isadmin(source) == true then
player.Chatted:connect(function(msg, player)
if msg:lower():sub(1,6)==":kill " then
msg = msg:sub(7)
target = findplayer(msg, source)
kill(target)
end
end)
end
end)
Antwoord 1
for i=1,#target do
game.Players.target[i].Character:BreakJoints()
end
is onjuist, indien “doel” bevat “fakenamehereesonostalkers” , dan zou de runtcode zijn:
game.Players.target.1.Character:BreakJoints()
die volledig onjuist is.
c = game.Players:GetChildren()
Gebruik nooit “spelers: Getchildren ()” , het is niet gegarandeerd alleen spelers terug.
Gebruik in plaats daarvan:
c = Game.Players:GetPlayers()
if msg:lower()=="me" then
table.insert(people, source)
return people
Hier voegt u de naam van de speler in de lijst “Mensen” , waar u op de andere plaatsen het spelerobject toevoegt.
Vaste code:
local Admins = {"FakeNameHereSoNoStalkers"}
function Kill(Players)
for i,Player in ipairs(Players) do
if Player.Character then
Player.Character:BreakJoints()
end
end
end
function IsAdmin(Player)
for i,AdminName in ipairs(Admins) do
if Player.Name:lower() == AdminName:lower() then return true end
end
return false
end
function GetPlayers(Player,Msg)
local Targets = {}
local Players = Game.Players:GetPlayers()
if Msg:lower() == "me" then
Targets = { Player }
elseif Msg:lower() == "all" then
Targets = Players
elseif Msg:lower() == "others" then
for i,Plr in ipairs(Players) do
if Plr ~= Player then
table.insert(Targets,Plr)
end
end
else
for i,Plr in ipairs(Players) do
if Plr.Name:lower():sub(1,Msg:len()) == Msg then
table.insert(Targets,Plr)
end
end
end
return Targets
end
Game.Players.PlayerAdded:connect(function(Player)
if IsAdmin(Player) then
Player.Chatted:connect(function(Msg)
if Msg:lower():sub(1,6) == ":kill " then
Kill(GetPlayers(Player,Msg:sub(7)))
end
end)
end
end)