I'm basically stuck since the script won't function due to the pcall. I keep it there just in case the script breaks, or the player leaves. Basically if a player jumps on another player's head while having a tool, the PlatformStand value will turn true. All of this is located in the tool.
Server Script:
local tool = script.Parent
local Events = tool:WaitForChild("Events")
local ChangeCourt = Events:WaitForChild("Foul")
local debounce = true
local function onChangeCourt(Player, hit) -- hopefully i defined it correctly
local person = hit.Parent; local player = game.Players:FindFirstChild(person.Name)
if debounce and player and Player.Character:FindFirstChild('VBL_Ball') and Player.Character.VBL_Ball:FindFirstChild('NoFoul') and Player.Character.VBL_Ball.NoFoul.Value == false then
if hit.Name == 'Right Leg' or hit.Name == 'Left Leg' then
debounce = false
pcall(function() person.Humanoid.PlatformStand = true end) --here
wait(2)
pcall(function() person.Humanoid.PlatformStand = false end)
wait(1)
debounce = true
repeat wait() until not Player.Character:FindFirstChild('VBL_Ball')
repeat wait() until debounce
script:Destroy()
end
end
end
ChangeCourt.OnServerEvent:Connect(onChangeCourt)
LocalScript:
local player = game.Players.LocalPlayer
local character = player.Character or player.CharacterAdded:wait()
local foul = character:WaitForChild("Foul")
local tool = script.Parent
local events = tool:WaitForChild("Events")
local foulevent = events:WaitForChild("Foul")
foul.Touched:Connect(function(hit)
foulevent:FireServer(hit) -- don't know if this Touched function works whilst in a localscript.
end)
I'm uncertain on how this script is suppose to function, but if it's wrong, hopefully there's a solution.
Original Script (ServerScript):
--[[
/// Script Made By: Jokes4LIFEx \\\
Dont be a bum and claim ownership...
--]]
local Player = script.Parent.Parent
local debounce = true
repeat wait() until Player.Character
Player.Character:WaitForChild('Head')
wait(0.01)
Player.Character.Head.Touched:connect(function(hit)
local person = hit.Parent; local player = game.Players:FindFirstChild(person.Name)
if debounce and player and Player.Character:FindFirstChild('VBL_Ball') and Player.Character.VBL_Ball:FindFirstChild('NoFoul') and Player.Character.VBL_Ball.NoFoul.Value == false then
if hit.Name == 'Left Leg' or hit.Name == 'Right Leg' then
debounce = false
pcall(function() person.Humanoid.PlatformStand = true end)
wait(2)
pcall(function() person.Humanoid.PlatformStand = false end)
wait(1)
debounce = true
end
end
end)
repeat wait() until not Player.Character:FindFirstChild('VBL_Ball')
repeat wait() until debounce
script:Destroy()
Thanks,
LukeGabrieI

1 comment
Set's the LocalPlayer's PlatformStand to true if they touched a part named, "Head", with their Right or Left Leg.