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

How to make this script only work/apply for a certain team?

Asked by 4 years ago

Below is a script that makes the player's body rotate towards where the player's mouse is pointed, however I would only like this script to apply/work for a certain team.

I've tried:

game.Players.PlayerAdded:Connect(function(Player)
    Player.CharacterAdded:Connect(function(Character)
        if Player.TeamColor == BrickColor.new("Really black") then

But no result.

Any help would be great!

Here is the code:



wait() local Ang = CFrame.Angles local aSin = math.asin local aTan = math.atan local Cam = game.Workspace.CurrentCamera local Plr = game.Players.LocalPlayer local Mouse = Plr:GetMouse() local Body = Plr.Character or Plr.CharacterAdded:wait() local Head = Body:WaitForChild("Head") local Hum = Body:WaitForChild("Humanoid") local Core = Body:WaitForChild("HumanoidRootPart") local IsR6 = (Hum.RigType.Value==0) local Trso = (IsR6 and Body:WaitForChild("Torso")) or Body:WaitForChild("UpperTorso") local Neck = (IsR6 and Trso:WaitForChild("Neck")) or Head:WaitForChild("Neck") local Waist = (not IsR6 and Trso:WaitForChild("Waist")) local MseGuide = false local TurnCharacterToMouse = true local HeadHorFactor = 1 local HeadVertFactor = 0.6 local BodyHorFactor = 0.5 local BodyVertFactor = 0.4 local UpdateSpeed = 0.1 local NeckOrgnC0 = Neck.C0 local WaistOrgnC0 = (not IsR6 and Waist.C0) Neck.MaxVelocity = 1/3 if TurnCharacterToMouse == true then MseGuide = true HeadHorFactor = 0 BodyHorFactor = 0 end game:GetService("RunService").RenderStepped:Connect(function() local CamCF = Cam.CoordinateFrame if ((IsR6 and Body["Torso"]) or Body["UpperTorso"])~=nil and Body["Head"]~=nil then --[Check for the Torso and Head...] local TrsoLV = Trso.CFrame.lookVector local HdPos = Head.CFrame.p if IsR6 and Neck or Neck and Waist then if Cam.CameraSubject:IsDescendantOf(Body) or Cam.CameraSubject:IsDescendantOf(Plr) then local Dist = nil; local Diff = nil; if not MseGuide then Dist = (Head.CFrame.p-CamCF.p).magnitude Diff = Head.CFrame.Y-CamCF.Y if not IsR6 then Neck.C0 = Neck.C0:lerp(NeckOrgnC0*Ang((aSin(Diff/Dist)*HeadVertFactor), -(((HdPos-CamCF.p).Unit):Cross(TrsoLV)).Y*HeadHorFactor, 0), UpdateSpeed/2) Waist.C0 = Waist.C0:lerp(WaistOrgnC0*Ang((aSin(Diff/Dist)*BodyVertFactor), -(((HdPos-CamCF.p).Unit):Cross(TrsoLV)).Y*BodyHorFactor, 0), UpdateSpeed/2) else Neck.C0 = Neck.C0:lerp(NeckOrgnC0*Ang(-(aSin(Diff/Dist)*HeadVertFactor), 0, -(((HdPos-CamCF.p).Unit):Cross(TrsoLV)).Y*HeadHorFactor),UpdateSpeed/2) end else local Point = Mouse.Hit.p Dist = (Head.CFrame.p-Point).magnitude Diff = Head.CFrame.Y-Point.Y if not IsR6 then Neck.C0 = Neck.C0:lerp(NeckOrgnC0*Ang(-(aTan(Diff/Dist)*HeadVertFactor), (((HdPos-Point).Unit):Cross(TrsoLV)).Y*HeadHorFactor, 0), UpdateSpeed/2) Waist.C0 = Waist.C0:lerp(WaistOrgnC0*Ang(-(aTan(Diff/Dist)*BodyVertFactor), (((HdPos-Point).Unit):Cross(TrsoLV)).Y*BodyHorFactor, 0), UpdateSpeed/2) end end end end end if TurnCharacterToMouse == true then Hum.AutoRotate = false Core.CFrame = Core.CFrame:lerp(CFrame.new(Core.Position, Vector3.new(Mouse.Hit.p.x, Core.Position.Y, Mouse.Hit.p.z)), UpdateSpeed / 2) else Hum.AutoRotate = true end end)

1 answer

Log in to vote
0
Answered by
s_iara 94
4 years ago

instead of putting:

if Player.TeamColor == BrickColor.new("Really black") then

put:

if player and player.TeamColor == BrickColor.new("Really black") then
Ad

Answer this question