How do i put an particle on Humanoid Arms and Head? SOLVED

Hello Devs, So, im new at scripting and i was trying to put an particle on my Humanoid LeftArm, RightArm and Head but, i dont know how to do it.

my character is R6

im doing this by Touched Event

If i type Humanoid.LeftArm or Humanoid.Head, this error appear: “LeftArm is not a valid member from tutizillig.Workspace.Humanoid”. How can i fix that?

humanoid is the component which controls the player, the stuff you’re looking for is their character

example

workspace:WaitForChild("tutizillig").LeftArm
--[[
workspace:WaitForChild("tutizillig") is your character, inside of 
the character is your left arm
look at a character like a body
]]--

Thanks for The Help but i din’t work it gave me a infinite yield :sad:

if your character is R15 the left arm consists of multiple parts:

LeftUpperArm
LeftLowerArm
LeftHand

my character is R6, i tried to do something but still doesnt work.

I would recommend finding it using localplayer.
If he changes his name this will stop working, and it won’t work on anyone else.
Instead, send the player’s name that you want to give the particle effect though to the serverscript from a localscript with a remoteevent.

Sometimes r15 is forced if you don’t change certain settings, when you load in do you have r6 or r15 animations?

local Part = script.Parent

Part.Touched:Connect(function(p)
	if p.Parent:FindFirstChild("Humanoid") and p.Parent ~= nil then --Look if it's a humanoid and if it exists
		for i,v in pairs(p.Parent:GetChildren()) do --Cycle through the player's children
			if v.Name == "Head" then
				local particle = Instance.new("ParticleEmitter",p) --Insert a new Particle
			elseif v.Name == "Left Arm" then
				local particle = Instance.new("ParticleEmitter",p)
			elseif v.Name == "Right Arm" then
				local particle = Instance.new("ParticleEmitter",p)
			end
		end
	end
end)

R6 Animations, set my game to only R6.

let me know if my solution doesn’t work and why

thanks for the code but still dint work. : (

What errors are you getting exactly

it gave me this error: “attempt to index function with Parent”

also, this is my script:

local serverstorage = game:GetService(“ServerStorage”)
local particle14 = serverstorage:WaitForChild(“kills114”)
local particle114 = particle14:Clone()
particle114.Parent = Humanoid.RightLeg

why not do

local serverstorage = game:GetService(“ServerStorage”)
local particle14 = serverstorage:WaitForChild(“kills114”):Clone()
particle14.Parent = Humanoid.RightLeg

Also what are you referring to as Humanoid

yes thats it but im trying to do this script with LeftArm, RightArm and Head

local serverstorage = game:GetService(“ServerStorage”)
local particle14 = serverstorage:WaitForChild(“kills114”)

for i,v in pairs("Humanoid"):GetChildren()) do
	wait()
	if v.Name == "Head" or v.Name == "Left Arm" or v.Name == "Right Arm" then
		local par = particle14:Clone()
		par.Parent = v
	end
end

it worked but i gave me this error: “invalid argument #1 to ‘pairs’ (table expected, got string)”

did you found any script that can solve my problem? the last one works 45% but it gave me that error

First off, add a script in StarterCharacterScripts:
image

Paste this into the script:

--//Services
local ServerStorage = game:GetService("ServerStorage")

--//Variables
local Particle = ServerStorage.kills114
local Character = script.Parent

--//Tables
local ValidParts = {
	"Head",
	"Left Arm",
	"Right Arm",
}

--//Functions
for i, child in ipairs(Character:GetChildren()) do
	if table.find(ValidParts, child.Name) then
		local newParticle = Particle:Clone()
		newParticle.Parent = child
	end
end
1 Like

it “Worked” because it din’t gave me errors but also doesnt worked

1 Like