So I've got a script that is supposed to change the TextureID and material of a Part that is in the player when a tool is equipped, but it just gives me the errors in the title of the question. If I add a wait(2), it works, but I can't afford to make it wait to change the part. The part is put into the character with a script when the player equips a tool.
Here's the script that inserts the part:
script.Parent.OtherSwordOn.OnServerEvent:Connect(function(Player)
if Player.Character:FindFirstChild("Blade2") == nil then
local RArmWeld = Instance.new("Weld")
local Box = script.Parent.Parent.Handle:Clone()
RArmWeld.Parent = Box
RArmWeld.Part0 = RArmWeld.Parent
RArmWeld.Part1 = Player.Character.LeftHand
RArmWeld.C1 = CFrame.new(0, -0.12, -2.5) *CFrame.Angles(0, math.rad(180),math.rad(90))
Box.Name = "Blade2"
Box.CanCollide = false
Box.Parent = Player.Character
elseif Player.Character:FindFirstChild("Blade2") ~= nil then
Player.Character.Blade2:Destroy()
end
end)
This script works fine for some reason. ^
These next 2 scripts give the errors. I've tried changing them to :FindFirstChild(), but then the script simply doesn't work
script.Parent.Out.OnServerEvent:Connect(function(Player)
if Player.NonStats.BusoOn.Value == true then
local Stick = script.Parent.Parent
Stick.Handle.TextureID = ""
Stick.Handle.BrickColor = BrickColor.new("Institutional white")
Stick.Handle.Material = "Neon"
Player.Character.Blade2.TextureID = ""
Player.Character.Blade2.BrickColor = BrickColor.new("Institutional white")
Player.Character.Blade2.Material = "Neon"
Player.Character.UpperTorso.Buso:Play()
wait(0.5)
local P1 = game.ReplicatedStorage["Buso For Sout oWo"].Steam:Clone()
P1.Parent = Stick.Handle
local P2 = game.ReplicatedStorage["Buso For Sout oWo"].Steam:Clone()
P2.Parent = Player.Character.Blade2
Stick.Handle.BrickColor = BrickColor.new("Really black")
Stick.Handle.Material = "SmoothPlastic"
Stick.Handle.Reflectance = 0.1
Player.Character.Blade2.BrickColor = BrickColor.new("Really black")
Player.Character.Blade2.Material = "SmoothPlastic"
Player.Character.Blade2.Reflectance = 0.1
game:GetService("Debris"):AddItem(P1, 1)
game:GetService("Debris"):AddItem(P2, 1)
wait(0.5)
if Player.NonStats.BusoOn.Value == false then
Stick.Handle.TextureID = game.ReplicatedStorage.Swords["Dual Katanas"].Handle.TextureId
Stick.Handle.BrickColor = BrickColor.new("Burnt Sienna")
Stick.Handle.Material = "Slate"
Stick.Handle.Reflectance = 0
Player.Character.Blade2.TextureID = game.ReplicatedStorage.Swords["Dual Katanas"].Handle.TextureId
end
end
end)
script.Parent.OutOff.OnServerEvent:Connect(function(Player)
if Player.NonStats.BusoOn.Value == false then
local Stick = script.Parent.Parent
Stick.Handle.TextureID = game.ReplicatedStorage.Swords["Dual Katanas"].Handle.TextureId
Player.Character.Blade2.TextureID = game.ReplicatedStorage.Swords["Dual Katanas"].Handle.TextureId
end
end)
Thanks for reading! I really need some help with this because it's delaying a feature x.x

1 comment
It's TextureId?