How would you get the Right Arm

Is there a way to get the characters RightArm kind of like how you can get the rightleg from the humanoid

local script or regular script?

either way put the script in startercharacter scripts and do this

local char = script.Parent
local rightarm = char:FindFirstChild("RightArm")

if rightarm then
      print("found rightarm")
end

but use local script.

2 Likes
--if local script
local player = game.Players.LocalPlayer
local char = player.Character or player.CharacterAdded:Wait()
local rightarm = char:WaitForChild("Right Arm")
--if server script then
game.Players.PlayerAdded:Connect(function(player)
local char = player.Character or player.CharacterAdded:Wait()
local rightarm = char:WaitForChild("Right Arm")
--idk if this works or not since im a beginner scripter
3 Likes

for server script do this

game.Players.PlayerAdded:Connect(function(player)
	player.CharacterAdded:Connect(function(char)
		local rightArm = char:FindFirstChild("Right Arm")
		local rightarmr15 = char:FindFirstChild("RightUpperArm")
		
		if rightArm then
			print("found right arm r6")
			if rightarmr15 then
				print("found right arm r15")
			end
		end
	end)
end)

local script do this

local rightArm = script.Parent:FindFirstChild("Right Arm")
		local rightarmr15 = script.Parent:FindFirstChild("RightUpperArm")
		
		if rightArm then
			print("found right arm r6")
			if rightarmr15 then
				print("found right arm r15")
			end
		end
2 Likes

This isnt what im looking for I’m trying to account for the fact if an exploiter somehow renames the part

1 Like

you dont need to do that lol, if an exploiter renames a part its on the client side so it wont do anything

1 Like

but I’m checking it from a local script perspective not a server sided prospective

1 Like

client sided is exploitable either way, so there’s no point in making the post tbh

1 Like

It’s exploitable but fun to make workarounds in

1 Like
--well then let me know if this works
local player = game.Players.LocalPlayer
local char = player.Character or player.CharacterAdded:Wait()
local rightarm = player:FindFirstChild("Right Arm") -- or WaitForChild whatver one works


rightarm.Changed:Connect(function()
print("found a hacker")
player:Kick()

end)
--again I'm a beginner scripter so this may not work
--if that one didnt work then try this? Maybe

local player = game.Players.LocalPlayer
local char = player.Character or player.CharacterAdded:Wait()
local RightArm = char:WaitForChild("Right Arm") -- or FindFirstChild whatever one works 

RightArm:GetPropertyChangedSignal("Name"):Connect(function()

print("name changed")
player:Kick()

end)

-- im bad at scripting
1 Like

If an exploiter renames the Right Arm, that change is not going to show on the server. Doesn’t even matter bothering, exploiters can do whatever they want. Instead of trying to make a script that gets a renammed right arm, it would be better to work on an anti-exploit

1 Like

I’m making this as a local script not a server sided one

1 Like

Maybe i should have used the get property changed signal instead

1 Like

You could make a simple anti-exploit for this type of exploiting by creating a remote event that gets fired from the client. Server receives the signal and kicks the player.

1 Like

there is a thing called hookmetamethod which can prevent the remote from firing

1 Like

That would be more optimal instead of using .Changed

1 Like