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.
--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
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
This isnt what im looking for I’m trying to account for the fact if an exploiter somehow renames the part
you dont need to do that lol, if an exploiter renames a part its on the client side so it wont do anything
but I’m checking it from a local script perspective not a server sided prospective
client sided is exploitable either way, so there’s no point in making the post tbh
It’s exploitable but fun to make workarounds in
--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
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
I’m making this as a local script not a server sided one
Maybe i should have used the get property changed signal instead
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.
there is a thing called hookmetamethod which can prevent the remote from firing
That would be more optimal instead of using .Changed