Ok, so, I just made a script, a bad one indeed, as its arms keep breaking off. I am suspecting FE for this. This is the same issue Black Magic had. Now, here's the code:
--Script, ServerScriptService
local WhiteList = {'Liquid_Napalm', 'thinknynoodles', 'Arozak', 'ProSLix'}
local ReplicatedStorage = game:GetService('ReplicatedStorage')
local FirstRemoteEvent = Instance.new("RemoteEvent", ReplicatedStorage)
FirstRemoteEvent.Name = 'FirstRemoteEvent'
game.Players.PlayerAdded:Connect(function(Player)
for i, v in pairs(WhiteList) do
FirstRemoteEvent:FireClient(Player)
end
end)
--LocalScript, StarterGui
local UIS = game:GetService('UserInputService') --Variables
local Players = game:GetService('Players')
local Player = Players.LocalPlayer
local Character = Player.Character
repeat
wait()
until Character
local RA = Character['Right Arm']
local LA = Character['Left Arm']
local Torso = Character.Torso
local RSH = Torso['Right Shoulder']
local LSH = Torso['Left Shoulder']
local RW = Instance.new('Weld')
local LW = Instance.new('Weld')
Effects = Instance.new('Model', workspace)
Effects.Name = 'Effects'
local ReplicatedStorage = game:GetService('ReplicatedStorage')
local FirstRemoteEvent = ReplicatedStorage:WaitForChild('FirstRemoteEvent')
FirstRemoteEvent.OnClientEvent:Connect(function()
RW.Part0 = Torso --Positioning of the arms.
RW.C0 = CFrame.Angles(math.rad(90), math.rad(0), math.rad(-70))
RW.C1 = RW.C1*CFrame.new(-.25, 0, .2)
RW.Part1 = RA
RW.Parent = Torso
RSH.Parent = nil
LW.Part0 = Torso
LW.C0 = CFrame.Angles(math.rad(0), math.rad(0), math.rad(45))
LW.C1 = LW.C1*CFrame.new(0.15, -.15, -.15)
LW.Part1 = LA
LW.Parent = Torso
LSH.Parent = nil
UIS.InputEnded:Connect(function() --Animating/lerping the Right Arm.
for i = 0, 1, .5 do
wait()
RW.C0 = RW.C0:Lerp(CFrame.new(0, 0, 0)*CFrame.Angles(math.rad(90), math.rad(0), math.rad(-70)), i)
end
end)
local function OnZPressed(Input, gameProcessed)
if Input.KeyCode == Enum.KeyCode.P then
for i = 0, 1, .5 do
wait()
RW.C0 = RW.C0:Lerp(CFrame.new(0.72, -.1, -.5)*CFrame.Angles(math.rad(90), math.rad(0), math.rad(0)), i)
if i == 1 then --Effects.
local Part = Instance.new('Part')
local BV = Instance.new('BodyVelocity', Part)
BV.MaxForce = Vector3.new(math.huge, math.huge, math.huge)
BV.Velocity = Character.HumanoidRootPart.CFrame.lookVector * 108
Part.Parent = workspace.Effects
Part.Anchored = false
Part.CanCollide = false
Part.CFrame = RA.CFrame
Part.Size = Vector3.new(.05,.05,.05)
Part.Transparency = 1
local Fire = Instance.new('Fire', Part)
Fire.Color = Color3.fromRGB(231, 157, 236)
Fire.SecondaryColor = Color3.fromRGB(199, 0, 166)
Fire.Heat = 25
Fire.Size = 2
local Sparkles = Instance.new('Sparkles', Part)
Sparkles.SparkleColor = Color3.fromRGB(248, 142, 255)
wait()
Part.CanCollide = true
Part.Touched:Connect(function(obj)
if obj.Parent ~= workspace.Effects then
print(obj)
local Explosion = Instance.new('Explosion', Part)
Explosion.Position = Part.Position
Explosion.BlastPressure = 50
Explosion.ExplosionType = Enum.ExplosionType.CratersAndDebris
Explosion.BlastRadius = .01
wait(1.5)
Part:Destroy()
end
end)
end
end
end
end
UIS.InputBegan:Connect(OnZPressed)
end)
So, I tried this in the Studio's test server, and also in an actual server. Whenever I try to use it, or someone joins the server, the arms break off. I expected the script to work just like this: Player's character is loaded, their arms are positioned using welds, their shoulders are removed, pressing 'P' will lerp the RightArm and it shoots some magical thingy. If the answer to the problem is in the Roblox Developer Wiki or the Developer Hub, please post a link to that article. Anyways, thanks for taking out the time to read this.
