Easy Written By Danilka7575

Custom Player Commands Created on: 27-08-2019

This tutorial will teach you how to create custom player commands.

Custom Player Commands

Hello. In this tutorial I will teach you how to make simple custom player commands using string.sub.

Let's get started

First, insert a script into ServerScriptService. Name it however you want. Let's start from simple.

Write this in your script:

game.Players.PlayerAdded:Connect(function(Player) -- Player added event
	Player.Chatted:Connect(function(Message) -- Player chatted event
		-- Lowering message and checking that message if it is ":heal"
		if Message:lower() == ":heal" then
			-- Setting character's health to max health
			Player.Character.Humanoid.Health = Player.Character.Humanoid.MaxHealth
		end
	end
end

As we can see, we created simple custom command which heals you. As soon as we type ":heal", it will set character's health to max.

Let's add more commands:

game.Players.PlayerAdded:Connect(function(Player) -- Player added event
	Player.Chatted:Connect(function(Message) -- Player chatted event
		-- Lowering message and checking that message if it is ":heal"
		if Message:lower() == ":heal" then
			-- Setting character's health to max health
			Player.Character.Humanoid.Health = Player.Character.Humanoid.MaxHealth
		elseif Message:lower():sub(1, 6) == ":kick " then
			local TargetPlayer = Message:sub(7)
			-- If player is found, it will kick him
			if game.Players:FindFirstChild(TargetPlayer) then
				-- Prints that player is found and kicks him
				print("Player found.")
				game.Players[TargetPlayer]:Kick("You are was kicked by "..Player.Name..".")
			else
				-- Prints that player not found
				print("Player not found.")	
			end
		end
	end
end

As you can see, I used sub(). It's like returns substring where a (sub(a, b) for example) is start line in string and b is end line.

local String = "Hello, world!"
print(String:sub(1, 5)) -- output: hello

Let's add command which will be allowed for players who bought gamepass.

local MarketplaceService = game:GetService("MarketplaceService") -- Getting MarketplaceService
local GamepassID = 0 -- Put your gamepass ID here

game.Players.PlayerAdded:Connect(function(Player) -- Player added event
	Player.Chatted:Connect(function(Message) -- Player chatted event
		-- Lowering message and checking that message if it is ":heal"
		if Message:lower() == ":heal" then
			-- Setting character's health to max health
			Player.Character.Humanoid.Health = Player.Character.Humanoid.MaxHealth
		elseif Message:lower():sub(1, 6) == ":kick " then
			local TargetPlayer = Message:sub(7)
			-- If player is found, it will kick him
			if game.Players:FindFirstChild(TargetPlayer) then
				-- Prints that player is found and kicks him
				print("Player found.")
				game.Players[TargetPlayer]:Kick("You are was kicked by "..Player.Name..".")
			else
				-- Prints that player not found
				print("Player not found.")	
			end
		elseif Message:lower() == ":fire" then
			-- Checks if player owns gamepass
			if MarketplaceService:UserOwnsGamePassAsync(Player.UserId, GamepassID) then
				-- Prints that player own gamepass and sets fire to character's head
				print("Player own gamepass.")
				local Fire = Instance.new("Fire", Player.Character.Head)
			else
				-- Prints that player don't own gamepass
				print("Player don't own gamepass.")
			end
		end
	end
end

This is the end. I hope this helped you.

Easy Written By Danilka7575

See Danilka7575's profile on Roblox

Discussion