Scripting Helpers is winding down operations and is now read-only. More info→
Ad
Log in to vote
0

How would I go about fixing this admin?

Asked by
Scriptecx 124
8 years ago

So, I'm making an admin script much like Khols, but better. (Once it is done at least it will be) Right now it's at the testing phase and I'm getting the hang of this admin thing. Only problem is there are no errors but it wont kill the player. It was working earlier but then I changed it a lot and now it wont work e.e Anyways here is the script.

--[[                        Scriptecx's Ultimate Admin [Testing phase]
    Welcome to my admin! If you get a copy of this you are probably a very special person because
it is in its testing phase at the moment and not near being done. There will be bugs/errors, but be patient 
because I will have all of them fixed as soon as possible.      
]]

--------------------
--   Variables
--------------------
players = game:GetService("Players")


--------------------
--     Settings
--------------------

Settings = {
    ----------------------
    -- Admin Settings
    ----------------------
    Admins = { "Scriptecx" ; "Player" ; "PreciseLogic"  ; "KyraPromotions" ; "Jorgetheawesomekid" } ;
    Mods = {} ;
    Temps = {} ;
    AllAdmin = true ; -- This will determin if all players get admin or not. 
    ------------------------
    --  Group Settings
    ------------------------
    GroupOnlyPlace = false ;
    GroupAdmin = true;
    GroupID = 0000 ;  -- This is the ID of your group that you want to have admin. You can find the ID in the link to your group.
    GroupAdminValue = 0000 ;  -- Sets what rank and above a person has to be in the group to have admin. 
    -----------------------
    --   Other settings 
    -----------------------
    Bans = {} ; 
    PunishedList = {}; -- This will be a list of all of the players that have had some sort of punishment placed on them.
    FireSyntax = ":" ;-- This will be what goes in front of the command. EX: ':'Kill Script, '!'Kill Script, ';'Kill Script, '/'Kill Script ect.
}

-- string.find(string.lower(v.Name),string.lower(name))

function findPlayer(name, AdminSpeaking)
    local playerstable = {}
    for _, p in pairs (players:GetPlayers()) do
        if string.find(string.lower(p.Name),string.lower(name)) then 
            table.insert(playerstable, p)
        end
    end
    return playerstable
end
-- Watch for playeradded.
players.PlayerAdded:connect(function(player)
    if Settings.AllAdmin == true then
        player.Chatted:connect(function(command, speaker)
            command = command:lower()
            print ("Player chatted")
            if command:sub (1, 6) ==  Settings.FireSyntax.."kill " then
                print ("Wot")
                local vic = findPlayer(command:sub(7), speaker)
                if vic and vic.Character then vic.Character:BreakJoints() end
                print ("Yas")
            elseif command:sub (1, 9) == Settings.FireSyntax.."respawn " then
                local vic = findPlayer(speaker, command:sub(10))
                if vic and vic.Character then vic:LoadCharacter() end
            elseif command:sub (1, 9) == Settings.FireSyntax.."explode " then
                local vic = findPlayer(command:sub(10), speaker)
                if vic and vic.Character then 
                    local explosion = Instance.new("Explosion", vic.Character.Torso) 
                    explosion.BlastPressure = 550000 
                    explosion.DestroyJointRadiusPercent = 2
                    explosion.Position = vic.Character.Torso.Position 
                    wait (1)
                    explosion:destroy()
                end
            elseif  command:sub (1, 11) == Settings.FireSyntax.."invisible " then
                local vic = findPlayer(command:sub(12), speaker)
                if vic and vic.Character then 
                    for i, obj in pairs (vic.Character:GetChildren()) do
                        if obj:IsA("BasePart") then obj.Transparency = 1 if obj:findFirstChild("face") then obj.face.Transparency = 1 end elseif obj:IsA("Hat") and obj:findFirstChild("Handle") then obj.Handle.Transparency = 1 end
                    end
                end
            elseif  command:sub (1, 9) == Settings.FireSyntax.."visible " then
                local vic = findPlayer(command:sub(10), speaker)
                if vic and vic.Character then
                    for i, obj in pairs (vic.Character:GetChildren()) do
                        if obj:IsA("BasePart") then obj.Transparency = 0 if obj:findFirstChild("face") then obj.face.Transparency = 0 end elseif obj:IsA("Hat") and obj:findFirstChild("Handle") then obj.Handle.Transparency = 0 end
                    end
                end
            end
        end)
    end
end)
0
Your problem is line 57; your 'findplayer' function returns a Table; not an Instance/Player. TheeDeathCaster 2368 — 8y
0
@TheAlphaStigma You mean line 59? Line 57 doesn't have a findplayer. User#9949 0 — 8y

Answer this question