So I have been trying to add glasses, hair and the like to a randomly generated NPC in my game, but I have not been able to do it successfully.
My code goes like this:
room = script.Parent.Parent.Parent.Parent enums = {"The names I wrote"} enums2 = {BrickColor.new("Pastel brown"),BrickColor.new("Brick yellow"),BrickColor.new("Pine Cone"),BrickColor.new("Dirt brown"),BrickColor.new("Wheat")} script.Parent.ClickDetector.MouseClick:connect(function() if not room.Human:FindFirstChildOfClass("Model") then local color = enums2[math.random(1,#enums2)] script.Parent.Sound:Play() local human = game.Lighting.Human:Clone() for i,v in pairs(human:GetChildren()) do if v:IsA("Part") then v.BrickColor = color end end human.Name = enums[math.random(1,#enums)] human.Parent = room.Human human:MakeJoints() human.HumanoidRootPart.CFrame = room.Hspawn.CFrame wait(0.5) room.Ground.hit:Play() end end)
This code was salvaged from a friends game, but we fell out of contact.
Im very new to scripting, and have tried to create a new part with a special mesh in it, with the mesh and texture ID of a pair of glasses from the catalog.
I tried this both in the above script and in its own script:
local human = script.Parent.Parent.Parent.Parent.Human:FindFirstChildOfClass("Model") script.Parent.ClickDetector.MouseClick:connect(function() wait(1) if human.Name("Name") then local hat = Instance.new("Part",human.Head) hat.Name = "accessory" local mesh = Instance.new("SpecialMesh") mesh.Name = "glasses" mesh.Scale = Vector3.new(1,1,1) mesh.MeshID = "rbxassetid://4850101059" mesh.TextureID = "rbxassetid://4850106355" mesh.Parent = human.Head.hat hat:SetPrimaryPartCFrame(human.Head) local Weld = Instance.new("WeldConstraint",human.Head) Weld.Part0 = human.Head Weld.Part1 = human.Head.hat end if not human.Name("Name") then return nil end end)
Im at a loss and as Im very inexperienced, Im sure theres a huge glaring issue somewhere in these two scripts, and Id like a bit of help in figuring this out. I like to think i wrote it "fine" but I dont know why it wont work.