So Im trying to have a level commands where it will level the user when !level Bxl0c 1 is ran but my 2nd argument expects a string and I dont want that? anyway to fix im not very smart
local commands = {}
local admins = {
"Bxl0c";
"DrCoffeez";
"FoxyIsMyPetAnimal"
}
local prefix = "!"
local function findPlayer(name)
for _, player in pairs(game.Players:GetPlayers()) do
if string.lower(player.Name) == name then
return player
end
end
return nil
end
local function isAdmin(player)
for _, v in pairs(admins) do
if v == player.Name then
return true
end
end
return false
end
---------------------------------
--Level command
commands.level = function(sender, arguments)
print("Level Fired By "..sender.Name)
for _, playerName in pairs(arguments) do
print(playerName)
end
local playerToLevel = arguments[1]
local HmLvl = arguments[2]
if playerToLevel then
local plrToL = findPlayer(playerToLevel)
if plrToL then
game.Players[plrToL].Extra.Data_Level.Value = HmLvl
end
end
end
game.Players.PlayerAdded:Connect(function(player)
player.Chatted:Connect(function(message,recipient)
if isAdmin(player) then
message = string.lower(message)
local splitString = message:split(" ")
local slashCommand = splitString[1]
local cmd = slashCommand:split(prefix)
local cmdName = cmd[2]
if commands[cmdName] then
local arguments = {}
for i = 1, #splitString, 1 do
table.insert(arguments,splitString[i])
end
commands[cmdName](player,arguments)
end
end
end)
end)
local function findPlayer(name)
for _, player in pairs(game.Players:GetPlayers()) do
if string.lower(player.Name) == name then
return player
end
end
return nil
end
local function isAdmin(player)
for _, v in pairs(admins) do
if v == player.Name then
return true
end
end
return false
end
thanks if anyone can help
