Hi
So I have a powers script that turns the character basically into a nuclear bomb under development
I use module scripts to store the functions that generate the parts for the effects, the parts get made, dumped into replicated then cloned from replicated and moved into the workspace The same happens to premade meshes The meshes get parented to the parts and then this is where the scripts come in. All they do is animated the particle effects by adjusting there size, transparency etc.
They are moved from replicated into the workspace parented under the mesh of the corresponding effect. So the hierarchy looks a little bit like this:
Object > Mesh > Script
However the script does nothing when parented to the mesh. It doesn't even run the print at the top of the script The scripts:
Main local:
wait(1)
local Player = game.Players.LocalPlayer
local Char = Player.Character
local Mouse = Player:GetMouse()
local Parts = require(game.ReplicatedStorage.Nuclear.Move1.Parts)
local Part = Instance.new("Part")
local Move1 = require(game.ReplicatedStorage.Nuclear.Move1)
game:GetService("UserInputService").InputBegan:connect(function(input)
if input.KeyCode == Enum.KeyCode.Z then
print("Spawning")
Move1.PartMake()
Move1.Parenting()
Move1.Rename()
end
end)
Module Move1
local Move1 = {}
local Parts = require(game.ReplicatedStorage.Nuclear.Move1.Parts)
local Meshes = require(game.ReplicatedStorage.Nuclear.Move1.Parts)
local Part1 = Instance.new("Part")
local Part2 = Instance.new("Part")
local Part3 = Instance.new("Part")
local Part4 = Instance.new("Part")
local Nuclear = game.ReplicatedStorage.Nuclear
local whiteringmesh = Nuclear.Meshes.whitering
local blackringmesh = Nuclear.Meshes.blackring
local Player = game:GetService("Players").LocalPlayer
local SAnim = Nuclear["Anim Scripts"]
Move1.PartMake = function(player)
Part1.Name = Parts.whitering[1]
Part1.Size = Vector3.new(Parts.whitering[2], Parts.whitering[3], Parts.whitering[4])
Part1.Position = Vector3.new(Parts.whitering[5], Parts.whitering[6], Parts.whitering[7])
Part1.Color = Color3.new(Parts.whitering[11], Parts.whitering[12], Parts.whitering[13])
Part1.Material = Parts.whitering[14]
Part1.CastShadow = Parts.whitering[15]
Part1.CanCollide = Parts.whitering[16]
Part1.Anchored = Parts.whitering[17]
Part2.Name = Parts.blackring[1]
Part2.Size = Vector3.new(Parts.blackring[2], Parts.blackring[3], Parts.blackring[4])
Part2.Position = Vector3.new(Parts.blackring[5], Parts.blackring[6], Parts.blackring[7])
Part2.Color = Color3.new(Parts.blackring[11], Parts.blackring[12], Parts.blackring[13])
Part2.Material = Parts.blackring[14]
Part2.CastShadow = Parts.blackring[15]
Part2.CanCollide = Parts.blackring[16]
Part2.Anchored = Parts.whitering[17]
Part1.Parent = Nuclear.Parts
Part2.Parent = Nuclear.Parts
end
Move1.Parenting = function(player)
local wr = Nuclear.Parts.whitering:Clone()
local br = Nuclear.Parts.blackring:Clone()
local wrm = whiteringmesh:Clone()
local brm = blackringmesh:Clone()
local wa = SAnim.whiteringA:Clone()
local ba = SAnim.blackringA:Clone()
wr.Parent = workspace
br.Parent = workspace
wrm.Parent = workspace.whitering
brm.Parent = workspace.blackring
workspace.whitering.CFrame = Player.Character.LeftFoot.CFrame
workspace.blackring.CFrame = Player.Character.LeftFoot.CFrame
workspace.whitering.Orientation = Vector3.new(Parts.whitering[8], Parts.whitering[9], Parts.whitering[10])
workspace.blackring.Orientation = Vector3.new(Parts.blackring[8], Parts.blackring[9], Parts.blackring[10])
wa.Disabled = false
ba.Disabled = false
wa.Parent = workspace
ba.Parent = workspace
workspace.whiteringA.Parent = workspace.whitering.whitering
workspace.blackringA.Parent = workspace.blackring.blackring
end
Move1.Rename = function(rename)
workspace.whitering.whitering.Name = "Random_Part:".. math.random(4000, 400000)
workspace.blackring.blackring.Name = "Random_Part:".. math.random(4000, 400000)
workspace.whitering.Name = "Random_Part:".. math.random(4000, 400000)
workspace.blackring.Name = "Random_Part:".. math.random(4000, 400000)
end
return Move1
Parts
local Parts = {
-- 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
--Name Size Position Orientation Color Material CastShadow Can collide Anchored
whitering = {"whitering", 15, 15, 2, -58.977, 8.5, -48.573, 90, 0, 0, 163, 162 , 165, "Plastic", false, false, true},
blackring = {"blackring", 1, 0.2, 1, -66.026, 2.7, -113.147, 90, 0, 0, 99, 95, 98, "Plastic", false, false, true}
}
return Parts
whiteringA
print("This is the white ring anim script")
local obj = script.Parent
local Player = game.Players.LocalPlayer
local Audio = Instance.new("Sound")
local Audio2 = Instance.new("Sound")
Audio.SoundId = "rbxassetid://181004943"
Audio.Name = "Charge"
Audio.Volume = 1
Audio.Pitch = 1
Audio.Parent = Player.PlayerGui
Audio:Play()
wait(0.2)
Audio2.SoundId = "rbxassetid://1332996017"
Audio2.Name = "NuclearExplosion"
Audio2.Volume = 1
Audio2.Pitch = 1
Audio2.Parent = Player.PlayerGui
Audio2:Play(wait(0.6))
repeat wait(0.1)
obj.Scale = obj.Scale + Vector3.new(-1, -1, -0.6)
until obj.Scale.Y <= 5
repeat wait(0.1)
obj.Scale = obj.Scale + Vector3.new(3, 3, 1.8)
obj.Parent.Transparency = obj.Parent.Transparency + 0.010
obj.Parent.Size = obj.Parent.Size + Vector3.new(3, 3, 0)
until obj.Parent.Transparency >= 1
print("Whitering anim script complete")
script.Parent.Parent:Destroy()
end)
blackringA
wait(0.2)
local obj = script.Parent
repeat wait(0.1)
obj.Scale = obj.Scale + Vector3.new(-1, -1, -0.6)
until obj.Scale.Y <= 5
repeat wait(0.1)
obj.Scale = obj.Scale + Vector3.new(4, 4, 2.4)
obj.Parent.Transparency = obj.Parent.Transparency + 0.010
until obj.Parent.Transparency >= 1
script.Parent.Parent:Destroy()
I get no response from the bottom two. Not even a print or an error
Could anyone help me understand where I've gone wrong or what I'm missing to get this working?
Thanks!

1 comment
good job. Marking this question as solved