PROBLEM My script has a problem where if there is 2 or more players in the game, if one player transforms, the other cannot and gets somewhat "stuck" and cannot transform without resetting, I am confused and do not know how to fix this.
LOCAL SCRIPT
-- player local Player = game.Players.LocalPlayer local Character = Player.Character repeat wait() until Player or Character ~= nil -- input local UIS = game:GetService("UserInputService") -- variables local CanChange = true local InTransformation = false local RemoteEvents = game.ReplicatedStorage.RemoteEvents --{{ tranformation }}-- UIS.InputBegan:Connect(function(input, gpe) if input.KeyCode ~= Enum.KeyCode.Z then return end; if gpe then return end; if CanChange == true then CanChange = false if InTransformation == true then return end; if InTransformation == false then print("DEBUG MSG: Super Saiyan Transformation") -- remotevent RemoteEvents.Transformations.TransformSSJEvent:FireServer() InTransformation = true end print("DEBUG MSG: Script Got to wait") wait(5) CanChange = true print("DEBUG MSG: Script Finished Wait") end end) --{{ deformation }}-- UIS.InputBegan:Connect(function(input, gpe) if input.KeyCode ~= Enum.KeyCode.X then return end; if gpe then return end; if CanChange == true then CanChange = false if InTransformation == false then return end; if InTransformation == true then print("DEBUG MSG: Reverted back to base") --remoteevent RemoteEvents.Transformations.DeformSSJEvent:FireServer() InTransformation = false end print("DEBUG MSG: Script got to wait") wait(5) CanChange = true print("DEBUG MSG: Script finished wait") end end)
SCRIPT
--multiplyers local GreatApeMultiplier = 3 local SSJMultiplier = 5 local SSJ2Multiplier = 10 local SSJ3Multiplier = 25 local SSJGMultiplier = "?" local SSJBMultiplier = "?" -- variables local RemoteEvents = game.ReplicatedStorage.RemoteEvents local inSSJ = false --{{ transformation }}-- RemoteEvents.Transformations.TransformSSJEvent.OnServerEvent:Connect(function(Player) if inSSJ == false then print("DEBUG MSG: Server Got Super Saiyan") --{{ animations }}-- -- color tween local TweenService = game:GetService("TweenService") local Hair = Player.Character:WaitForChild("BaseHair") local Info = TweenInfo.new(2, Enum.EasingStyle.Quart, Enum.EasingDirection.InOut, 0, false, 0) local Goals = {Color = Color3.new(1 , 1, 1)} local HairTween = TweenService:Create(Hair, Info, Goals) -- dust animations local DustRingPowerIn = game.ReplicatedStorage.Effects.DustRingPowerIn:Clone() DustRingPowerIn.Parent = Player.Character DustRingPowerIn.Size = Vector3.new(10, 0.05, 10) DustRingPowerIn.CFrame = Player.Character["HumanoidRootPart"].CFrame * CFrame.new(0, -1.5, 0) * CFrame.Angles(0, math.random(-90, 90), 0) -- play tween HairTween:Play() wait(1.5) -- hair change Player.Character:FindFirstChild("BaseHair").Transparency = 1 Player.Character:FindFirstChild("SSJHair").Transparency = 0 -- explosion for i = 0, 6 do local Ki = game.ReplicatedStorage.Effects.KiExplosionPart:Clone() Ki.Parent = Player.Character Ki.Size = Vector3.new(1, 1.525, 1) Ki.CFrame = Player.Character["HumanoidRootPart"].CFrame * CFrame.Angles(math.random(-90, 90), math.random(-90, 90), math.random(-90, 90)) end for i = 0, 5 do local DustRingPowerOut = game.ReplicatedStorage.Effects.DustRingPowerOut:Clone() DustRingPowerOut.Parent = Player.Character DustRingPowerOut.Size = Vector3.new(10, 0.05, 10) DustRingPowerOut.CFrame = Player.Character["HumanoidRootPart"].CFrame * CFrame.new(0, -1.5, 0) * CFrame.Angles(0, math.random(-90, 90), 0) wait(0.08) end -- power boosts inSSJ = true end end) --{{ deformation }}-- RemoteEvents.Transformations.DeformSSJEvent.OnServerEvent:Connect(function(Player) if inSSJ == true then print("DEBUG MSG: Server Got Base") --{{ animations }}-- -- color tween local TweenService = game:GetService("TweenService") local Hair = Player.Character:WaitForChild("BaseHair") local Info = TweenInfo.new(2, Enum.EasingStyle.Quart, Enum.EasingDirection.InOut, 0, false, 0) local Goals = {Color = Color3.new(0 , 0, 0)} local HairTween = TweenService:Create(Hair, Info, Goals) -- hair change Player.Character:FindFirstChild("BaseHair").Transparency = 0 Player.Character:FindFirstChild("SSJHair").Transparency = 1 HairTween:Play() wait(1.5) -- remove power boosts inSSJ = false end end)
FINAL THOUGHTS Please excuse me for the long script.