Scripting HelpersARCHIVE
A little piece of Roblox history. Preserved for everyone, one question at a time.Read about the archive →
✓ ANSWER ACCEPTED

How would someone go about making a "Tag" function?

Similar to the one in Jailbreak. I've tried countless times and none of them worked. Not meaning to ask anyone for the script but could anyone possible guide me through it?

On contact with another player a UI will pop in (I've already made it and tweened it) The ui says "Hold E To Tag"

1 answer

✓ Accepted answer

You should probably just check the distance between players instead of having each of their parts have a touched event and if you want it to be similar to jailbreak.

local runService = game:GetService("RunService")
local contextService = game:GetService("ContextActionService")

local ply = game.Players.LocalPlayer
local char = ply.Character
local ui = ply.PlayerGui.TagUi	--Assuming this is a ScreenGui

ply.CharacterAdded:connect(function(c)
	char = c
end)

function tweenUi()
	--Put Code to tween your Ui and tag progress 
end

function searchTarget()	--Check if player is in range
	local dis = 3
	local tar = nil
	
	for _,v in pairs(game.Players:GetChildren()) do
		if v.Character and v.Character ~= char then
			local tDis = (v.Character.PrimaryPart.Position-char.PrimaryPart.Position).magnitude
			if tDis < dis then
				dis = tDis
				tar = v
			end
		end
	end
	if target then
		ui.Enabled = true
		target = tar
		contextService:BindAction("tagTween",tweenUi,false,Enum.KeyCode.E)	--Binding tag function to key
	else
		ui.Enabled = false
		contextService:UnbindAction("tagTween")
	end
end

runService:BindToRenderStep("findTarget",0,searchTarget)	--More functionality than while loop

This discussion is preserved as it was. New answers, comments, and votes are closed.