Okey Dokey So I have a thing that makes a bubble around the players mouth and everytime the blow it gets bigger. But like when its around 7 studs wide or 150 as the variable size the player gets pushed back everytime the bubble is blown. I feel like it has something to do with how when roblox resizes something it moves it out of any collisions but ive tried to fix that by when resizing it I first make its parent server storage then resize it then move it back into the character (in workspace) the resizing function is at line 49 Here is the script
local RenderService = game:GetService("RunService") local Part = script.Bubble local Size = .1 local Db = true local BlowTime = 20 local Character = script.Parent local Player = game:GetService("Players"):GetPlayerFromCharacter(Character) local BubbleSize = Player:WaitForChild("leaderstats"):WaitForChild("BubblePower") local SizeIncrease = .05 function BlowBubble(plyr) if plyr == Player then if Db then print("Doing") Db = false Size = 0.1 UpdateWeld() Part.Transparency = 0.1 Part.Blow:Play() local ActualSize = .01 + BubbleSize.Value * SizeIncrease local Increase = ActualSize/BlowTime for i = 1,BlowTime do wait() Size = Size + Increase UpdateWeld() end wait(.3) Part.Pop:Play() Part.PopParticle.Enabled = true UpdateWeld() Part.Transparency = 1 BubbleSize.Value = BubbleSize.Value + 1 wait(.1) Part.PopParticle.Enabled = false Db = true end end end Part.Parent = Character Part.Transparency = 0 Player:WaitForChild("BlowBubbleEvent").OnServerEvent:connect(BlowBubble) -- create weld Part.Size = Vector3.new(Size,Size,Size) local Distance = Character.Head.Size.Z/2 + Size/2 + .05 local BubbleWeld = Instance.new("Weld") BubbleWeld.C1 = CFrame.new(0,.27,Distance) BubbleWeld.Parent = Part BubbleWeld.Part0 = Character.Head BubbleWeld.Part1 = Part function UpdateWeld() -- oh roblox physics Part.Parent = game.ServerStorage Part.CanCollide = false Part.Size = Vector3.new(Size,Size,Size) Part.CanCollide = false Part.Parent = Character local Distance = Character.Head.Size.Z/2 + Size/2 + .05 -- got to account for the mesh stuff and shet BubbleWeld:Destroy() BubbleWeld = Instance.new("Weld") BubbleWeld.Parent = Part BubbleWeld.Part0 = Character.Head BubbleWeld.Part1 = Part BubbleWeld.C1 = CFrame.new(0,.27,Distance) end