@@rustysillybandcan you help me please in my studio output it says: Workspace.rig.PathFindingScript:87: invalid argument #2 to ‘random’ (interval is empty)
Finally a video not 4 years old 🙏😭 The script works well but my attack animation does not stop it continues without switching to the walk animation I would like to know how to fix it even tho it's not a big deal I can just do a jumpsare scene instead
It works great, but I have one major issue with the ai. The enemy tends to sort of “have a seizure”, or, in other words, move back and forth at a rapid pace, as if it’s trying to find the next waypoint to go to occasionally, mostly when it loses sight of the player, and seems to do it more often when it’s been chasing the player for a long while. Do you think there may be a way to fix this?
Is there a way for you to make the monster switch animations? In the game im making I want the monster to start running when it locks on to you but theres no way to stop the other animation.
Hi rusty! I enjoyed your in depth approach on how to make the monster while still explaining what each line does. I do have one problem with my rig though. After it attacks the player and goes back to the waypoints, it continues doing the attack animation instead of the walking animation. Any ideas? I made sure the animation priorities are set correctly so that isn't it.
HELP- I'm using your model and he goes around but he doesn't come for you and I changed the distance and all of that and it still don't work PLZ HELP SOMEONE
( i learning english, so sorry anything 😅) I've been looking at pathfinding for a long time and every script I went through I found an error in the output: Stack Begin - Studio 21:57:26.952 Script 'Workspace.HorrorMonster.PathfindingScript', Line 108 - function patrol - Studio - PathfindingScript:108 21:57:26.953 Script 'Workspace.HorrorMonster.PathfindingScript', Line 117 - Studio - PathfindingScript:117 21:57:26.953 Stack End - Studio Do you know how I can solve this?
From the BOTTOM of my heart, I LOVE YOU. I have searched for tutorials for a WHILE and none of them worked, but this worked. You don't know how much I genuienly love you bro. Really helpful that you explained this since I have a little bit of coding experience and therefore I made changes that suited my game, thanks for that too
Thank you for your encouraging words! They mean a lot to me. I appreciate you taking the time to write this message and I hope the best for you in all future endeavors. Thanks again, have an amazing day!
Hi there! This series is simply covering every popular horror game mechanic so that you can create any horror game you would like. A few mechanics include: - Flashlight - Monsters - Jump scares - Objectives - Story - etc.. Thank you for watching, have an amazing day!
You are the complete goat i making a stealth game kind like hitman/splintercell and i couldnt for the life of me get a moving pathfinding npc thank you
My rig was not moving so I checked for errors, and it said Workspace.Rig.PathFindingScript:61: attempt to index nil with ‘CreatePath’ for line 61 of the PathfindingScript, can anyone help pls?
Great tutorial! you are one of those devs that actually explain things unlike the scam devs that make you script for like 500 hours and then nothing works; New subscriber great channel. Like personally I'm a small roblox dev but these tutorials are very good.
THE ONLY WORKING PATHFINDING I FOUND AND IT WAS EXPLAINED AMAZINGLY THANK YOU THANK YOU THANK YOU THANK YOU THANK YOU THANK YOU THANK YOU THANK YOU THANK YOU THANK YOU THANK YOU THANK YOU THANK YOU THANK YOU THANK YOU THANK YOU THANK YOU THANK YOU THANK YOU THANK YOU THANK YOU THANK YOU THANK YOU THANK YOU (If you couldn't tell I'm quite thankfull for this)
Yo, im a solo dev making a horror game watching your tuts, can you please tell me if there is any way you can add a chase music when the monster sees you, looking forward to your reply 👍 😀 l
help me please i tried to fix everything but the script works but it doesnt kill the player it goes to the player and try kill it but it the player doesnt die
Heyy Rusty! Its me again. I was working on my horror game with very little knowledge and I ran into an issue. I was wondering how to adjust the FirstPerson Script you made in your other video to make it where when GUI is visible it is unlocked, so that you can move your mouse around. Please let me know how to fix this!!
Hi there! You can simply create a screenGui with a textButton inside of it. After that, simply set the size of the textButton to (0,0,0,0) and tick the Modal property to true. This will allow you to move your mouse around in first person. Thanks for watching, have an amazing day!
I'm having a slight issue, the monster is not chasing the player, is it because I have a custom player model for the game? It could also be because my monster is large, idk Edit: found the issue, the problem is that I can't fix it, the reason why it isnt working is because its root part is higher than the player meaning it doesn't see the player, my problem is that I can't make my monsters legs smaller, is there any other fix?
You can try to increase the distance that it is able to attack from. Instead of doing 5, you can do 10. Other than that, you can move the RootPart down closer to his legs, but you will also have to edit the HipHeight in the Humanoid. Thanks for watching, have an amazing day!
@@rustysillybandI resulted in using a different model (just an r6 block model) and the game the monster is for is like a backrooms type game, the problem is that it refuses to walk if placed on a part or if the way points are behind a wall (it's able to go around the wall it just won't)
thank you bro so much i just got your pack and ive been trying SO MUCH videos ignore the people who told you that it does not work at all they didnt follow ur steps! ur amazing dude..
I nearly gave up on this being bad code but figured out if your npc is wearing accessories it will bug out and make it hard to detect the player. Im guessing its something to do with the raycast. Hope this helps somebody.
hey man! so i do have a few problems 1. even if the AI is faster then you, it will stop in little tiny intervals, causing it to not kill you even if you cant outrun it via walkspeed difference 2. i have barriers placed around the map, and if i am on the other side of the barrier the AI is, it will just walk to some other waypoint instead of continuing to chase me/going around the wall, i think this is generally because of how raycasting works
The problem with this model I don't like Is that I like my horror game to have multiple monsters But when i saw Local function(Ondeath) My dreams we're crushed.
Thanks alot man I am making a game but the monster you made for thr kit was not to my liking so I took the script from this one and put it into my Monster so its extra scary so yeah preciate it man
Script if you're too lazy to type it (not organized like in the vid): local Players = game:GetService("Players") local PathfindingService = game:GetService("PathfindingService") local rig = script.Parent local function checkForCharacter(character) local rayOrigin = rig:FindFirstChild("HumanoidRootPart").Position local rayDirection = (character.HumanoidRootPart.Position - rayOrigin).Unit * 40
local raycastResult = workspace:Raycast(rayOrigin, rayDirection, RaycastParams.new())
if raycastResult then local raycastInstance = raycastResult.Instance if raycastInstance:IsDescendantOf(character) then return true end else return false end end local function findNearestPlayer() local players = Players:GetPlayers() local nearestPlayer = nil local maxDistance = 40 for _, player in pairs(players) do if player.Character = nil then local targetCharacter = player.Character local distance = (rig.HumanoidRootPart.Position - targetCharacter.HumanoidRootPart.Position).Magnitude
if distance < maxDistance and checkForCharacter(targetCharacter) then nearestPlayer = targetCharacter maxDistance = distance end end end return nearestPlayer end local function attack(character) local distance = (rig.HumanoidRootPart.Position - character.HumanoidRootPart.Position).Magnitude
if distance > 5 then rig.Humanoid:MoveTo(character.HumanoidRootPart.Position) else character.Humanoid.Health = 0 end end local function calculatePath(destination) local agentParams = { ["AgentHeight"] = 5.5 ["AgentRadius"] = 4, ["AgentCanJump"] - false }
local path - PathfindingService:CreatePath(agentParams) path:ComputeAsync(rig.HumanoidRootPart.Position, destination) return path end local function walkToDestination(destination) local path - calculatePath(destination)
if path.Status == Enum.PathStatus.Success then for _, waypoint in pairs(path:GetWayPoints()) do local nearestPlayer = findNearestPlayer() if nearestPlayer then attack(nearestPlayer) break else rig.Humanoid.MoveTo(waypoint.Position) rig.Humanoid.MoveToFinished:Wait()
end end else rig.Humanoid:MoveTo(destination - (rig.HumanoidRootPart.CFrame.LookVector * 10))
end end local function patrol() local waypoints = workspace.Waypoints:GetChildren() local randomNumber = math.random(1, #waypoints)
walkToDestination(waypoints[randomNumber].Position) end while task.wait(0.3) do patrol() end
Great vid! Im currentlt working on a smart AI which will chase the player until it can't see them anymore. If it can't see the player, it will continue in the direction the player went to try and gaun sight of them again. I'm having a lot of issue with the code but It's almost done I can feel it
Thank you so much for this tutorial, it really helps for my horror game. Do you have another tutorial that can help add a jump scare if the player is touched by the rig? thank you
Wait… what if I just tied a part from the waypoints to the player, make it invisible so there isn’t just a cube on top of the player, tie a part to the monster that does damage, and just make the monster go for the waypoint? (Btw I haven’t tried using this yet but I will next week so im not saying that it doesn’t work.)
Guys help, the script works good, but when the rig gets to a waypoint it suddenly twitches about 2 to 3 times, then going to another waypoint, please fix
thanks for the tutorial, this was actually my first long script that actually worked, just one thing, my monster commonly gets stuck on walls after a couple of patrols, as he picks a waypoint on the other side of the map, is there a way to fix that?
can you please make another video about fixing the bug on your model? When the waypoints are behind a wall he just hugs the wall instead of going around it...
i did everything in the script but the npc doesn't follow the player, just goes to waypoints i tried using your model and that doesn't follow the player either
try this local PathfindingService = game:GetService("PathfindingService") local npc = script.Parent local humanoid = npc:WaitForChild("Humanoid") local hrp = npc:WaitForChild("HumanoidRootPart") hrp:SetNetworkOwner(nil) local walkAnim = humanoid.Animator:LoadAnimation(script.Walk) local attackAnim = humanoid.Animator:LoadAnimation(script.Attack) local pathParams = { AgentHeight = 5, AgentRadius = 3, AgentCanJump = true, } local rayParams = RaycastParams.new() rayParams.FilterType = Enum.RaycastFilterType.Blacklist rayParams.FilterDescendantsInstances = {npc} local lastPos local animPlaying = false local RANGE = 60 local DAMAGE = 100 local function canSeeTarget(target) local orgin = hrp.Position local direction = (target.HumanoidRootPart.Position - hrp.Position).Unit * RANGE local ray = workspace:Raycast(orgin, direction, rayParams)
if ray and ray.Instance then if ray.Instance:IsDescendantOf(target) then return true else return false end else return false end end local function findTarget() local players = game.Players:GetPlayers() local maxDistance = RANGE local nearestTarget
for i, player in pairs(players) do if player.Character then local target = player.Character local distance = (hrp.Position - target.HumanoidRootPart.Position).Magnitude
if distance < maxDistance and canSeeTarget(target) then nearestTarget = target maxDistance = distance end end end
return nearestTarget end local function getPath(destination) local path = PathfindingService:CreatePath(pathParams)
return path end local function attack(target) local distance = (hrp.Position - target.HumanoidRootPart.Position).Magnitude local debounce = false
if distance > 5 then humanoid:MoveTo(target.HumanoidRootPart.Position) else if debounce == false then debounce = true
npc.Head.AttackSound:Play() attackAnim:Play() target.Humanoid.Health -= DAMAGE task.wait(0.5) debounce = false end end end local function walkTo(destination) local path = getPath(destination)
if path.Status == Enum.PathStatus.Success then for i, waypoint in pairs(path:GetWaypoints()) do path.Blocked:Connect(function() path:Destroy() end)
if animPlaying == false then walkAnim:Play() animPlaying = true end
attackAnim:Stop()
local target = findTarget()
if target and target.Humanoid.Health > 0 then lastPos = target.HumanoidRootPart.Position attack(target) break else if waypoint.Action == Enum.PathWaypointAction.Jump then humanoid:ChangeState(Enum.HumanoidStateType.Jumping) end
if lastPos then humanoid:MoveTo(lastPos) humanoid.MoveToFinished:Wait() lastPos = nil break else humanoid:MoveTo(waypoint.Position) humanoid.MoveToFinished:Wait() end end end else return end end local function patrol() local waypoints = workspace.Waypoints:GetChildren() local randomNum = math.random(1, #waypoints) walkTo(waypoints[randomNum]) end while task.wait(0.2) do patrol() end
For some reason the monster in my game just slides across the map and it doesn't go towards any of the waypoints and it doesn't chase or kill the player
Can you please make a tutorial that’s pretty much opposite to this? One about a little creature that runs around randomly, and when a player gets close it runs away unless the player is crouched? Then if the player is crouched they can sneak up to it and pet it
thank you rustysillyband, this works really well and i couldn't have done this without your video
can you help me my code says: HumanoidRootPart is not a valid member of MeshPart "Workspace.SCP-427-1.SCP427_1_Model"
W VID MPAN KEEP MAKING THOSE VIDS
OMG TYSM! I've been searching for an actual working pathfinding monster for months and i finally found yours! This really helped!
Have fun!
@@rustysillybandcan you help me please in my studio output it says: Workspace.rig.PathFindingScript:87: invalid argument #2 to ‘random’ (interval is empty)
Finally a video not 4 years old 🙏😭
The script works well but my attack animation does not stop it continues without switching to the walk animation
I would like to know how to fix it even tho it's not a big deal I can just do a jumpsare scene instead
real
I know I’m late, but the animation is looped, you can just turn the “looped” property of the loaded animation off and it will be fine
could be an issue with either the animation's properties (ex: looped), or its priority.
THANK YOU SO MUCH OMG I HAVE BEEN STUCK ON THIS FOR DAYS
hey i dont know if youll see this but a problem i had was everytime i got in kill range it stopped working how do i fix this
It works great, but I have one major issue with the ai.
The enemy tends to sort of “have a seizure”, or, in other words, move back and forth at a rapid pace, as if it’s trying to find the next waypoint to go to occasionally, mostly when it loses sight of the player, and seems to do it more often when it’s been chasing the player for a long while.
Do you think there may be a way to fix this?
Is there a way for you to make the monster switch animations? In the game im making I want the monster to start running when it locks on to you but theres no way to stop the other animation.
I need help, mine isn't moving or working
Hi rusty! I enjoyed your in depth approach on how to make the monster while still explaining what each line does. I do have one problem with my rig though. After it attacks the player and goes back to the waypoints, it continues doing the attack animation instead of the walking animation. Any ideas? I made sure the animation priorities are set correctly so that isn't it.
Hey!! The problem here is the animation is turned on to loop. By turning off the loop, you can fix this problem. :))
Was thinking about it, thank you!
HELP- I'm using your model and he goes around but he doesn't come for you and I changed the distance and all of that and it still don't work PLZ HELP SOMEONE
( i learning english, so sorry anything 😅) I've been looking at pathfinding for a long time and every script I went through I found an error in the output:
Stack Begin - Studio
21:57:26.952 Script 'Workspace.HorrorMonster.PathfindingScript', Line 108 - function patrol - Studio - PathfindingScript:108
21:57:26.953 Script 'Workspace.HorrorMonster.PathfindingScript', Line 117 - Studio - PathfindingScript:117
21:57:26.953 Stack End - Studio
Do you know how I can solve this?
and yes… i created a folder with parts and rename for Waypoints
I found this error, basically i not achored the waypoints, lol
i dont know whats happening but when i did all the scripts and everything he wont move around at all he just stands there and wont even kill you
same
is it anchored?
TYSM THIS HELPED ME ALOT!!!!😆
I will sub on all 3 of my accounts if you paste the script
is there anyway to make it so the script can work with r6?
From the BOTTOM of my heart, I LOVE YOU. I have searched for tutorials for a WHILE and none of them worked, but this worked. You don't know how much I genuienly love you bro. Really helpful that you explained this since I have a little bit of coding experience and therefore I made changes that suited my game, thanks for that too
Thank you for your encouraging words! They mean a lot to me. I appreciate you taking the time to write this message and I hope the best for you in all future endeavors. Thanks again, have an amazing day!
I agree!
@@rustysillyband can add the script somewhere to copy
Is this series going to be a horror game like the asylum? or something else. If something else, please inform me on it
Hi there! This series is simply covering every popular horror game mechanic so that you can create any horror game you would like. A few mechanics include:
- Flashlight
- Monsters
- Jump scares
- Objectives
- Story
- etc..
Thank you for watching, have an amazing day!
@@rustysillyband Hey i have a problem. What if our model doesnt have Humanoidrootpart because we made it ourselves in blender?
You are the complete goat i making a stealth game kind like hitman/splintercell and i couldnt for the life of me get a moving pathfinding npc thank you
My rig was not moving so I checked for errors, and it said Workspace.Rig.PathFindingScript:61: attempt to index nil with ‘CreatePath’ for line 61 of the PathfindingScript, can anyone help pls?
When I put the code on my monster he slides around and it makes it really easy to dodge and makes him slow down. Anyway to fix it
Thanks man, this will be useful for my game.
i doesnt work it says 91 (which is line 89 on his) is attempting to call a nill value? any ideas?
oh. my. god. THANK YOU SO MUCH OMG I ACTUALLY NEEDED THIS THANKS PLS KEEP IT UP
Great tutorial! you are one of those devs that actually explain things unlike the scam devs that make you script for like 500 hours and then nothing works; New subscriber great channel. Like personally I'm a small roblox dev but these tutorials are very good.
I will sub on all 3 of my accounts if you paste the script
does not work anymore i think i tried everything but isnt working for me
THE ONLY WORKING PATHFINDING I FOUND AND IT WAS EXPLAINED AMAZINGLY THANK YOU THANK YOU THANK YOU THANK YOU THANK YOU THANK YOU THANK YOU THANK YOU THANK YOU THANK YOU THANK YOU THANK YOU THANK YOU THANK YOU THANK YOU THANK YOU THANK YOU THANK YOU THANK YOU THANK YOU THANK YOU THANK YOU THANK YOU THANK YOU
(If you couldn't tell I'm quite thankfull for this)
Yo, im a solo dev making a horror game watching your tuts, can you please tell me if there is any way you can add a chase music when the monster sees you, looking forward to your reply 👍 😀 l
my rig doesnt do anything. It doesnt move, it doesnt attack or anything. why is that?
Did you unanchored every part of the model?
help me please i tried to fix everything but the script works but it doesnt kill the player it goes to the player and try kill it but it the player doesnt die
is it okay if i use this script on a part with a humanoid in it? because when i tried nothing happened
Heyy Rusty! Its me again. I was working on my horror game with very little knowledge and I ran into an issue. I was wondering how to adjust the FirstPerson Script you made in your other video to make it where when GUI is visible it is unlocked, so that you can move your mouse around. Please let me know how to fix this!!
Hi there! You can simply create a screenGui with a textButton inside of it. After that, simply set the size of the textButton to (0,0,0,0) and tick the Modal property to true. This will allow you to move your mouse around in first person. Thanks for watching, have an amazing day!
I'm having a slight issue, the monster is not chasing the player, is it because I have a custom player model for the game? It could also be because my monster is large, idk
Edit: found the issue, the problem is that I can't fix it, the reason why it isnt working is because its root part is higher than the player meaning it doesn't see the player, my problem is that I can't make my monsters legs smaller, is there any other fix?
You can try to increase the distance that it is able to attack from. Instead of doing 5, you can do 10. Other than that, you can move the RootPart down closer to his legs, but you will also have to edit the HipHeight in the Humanoid.
Thanks for watching, have an amazing day!
@@rustysillyband thank you so much, I'll try what I can do
@@rustysillybandI resulted in using a different model (just an r6 block model) and the game the monster is for is like a backrooms type game, the problem is that it refuses to walk if placed on a part or if the way points are behind a wall (it's able to go around the wall it just won't)
thank you bro so much i just got your pack and ive been trying SO MUCH videos ignore the people who told you that it does not work at all they didnt follow ur steps! ur amazing dude..
Tell me how you did it
@@EmotionalCabbage12 your prbly did one mistake you might have not put waypoint folder with the parts
love the effort!
I nearly gave up on this being bad code but figured out if your npc is wearing accessories it will bug out and make it hard to detect the player. Im guessing its something to do with the raycast. Hope this helps somebody.
hey man! so i do have a few problems
1. even if the AI is faster then you, it will stop in little tiny intervals, causing it to not kill you even if you cant outrun it via walkspeed difference
2. i have barriers placed around the map, and if i am on the other side of the barrier the AI is, it will just walk to some other waypoint instead of continuing to chase me/going around the wall, i think this is generally because of how raycasting works
It mostly works but it completely ignores certian parts and tries to go through them, how do i fix it?
This is a great tutorial!
how do I make it so it will go through a set path instead of random?
it keeps running away over and over, what to do?
can anyone help me my rig will not move what so ever and i did all the code step by step the right way
I spent like an hour and the script isn’t working nothing is anchored and it says there’s no errors please help me
The problem with this model I don't like
Is that I like my horror game to have multiple monsters
But when i saw
Local function(Ondeath)
My dreams we're crushed.
OMG FINALLY A TUTORIAL THAT WORKS I CANNOT EXPLAIN HOW GRATEFUL I AM!!!!!
as always good job
Can someone help it says: Workspace.rig.PathFindingScript:87: invalid argument #2 to ‘random’ (interval is empty) pls help me
Thanks alot man I am making a game but the monster you made for thr kit was not to my liking so I took the script from this one and put it into my Monster so its extra scary so yeah preciate it man
Script if you're too lazy to type it (not organized like in the vid):
local Players = game:GetService("Players")
local PathfindingService = game:GetService("PathfindingService")
local rig = script.Parent
local function checkForCharacter(character)
local rayOrigin = rig:FindFirstChild("HumanoidRootPart").Position
local rayDirection = (character.HumanoidRootPart.Position - rayOrigin).Unit * 40
local raycastResult = workspace:Raycast(rayOrigin, rayDirection, RaycastParams.new())
if raycastResult then
local raycastInstance = raycastResult.Instance
if raycastInstance:IsDescendantOf(character) then
return true
end
else
return false
end
end
local function findNearestPlayer()
local players = Players:GetPlayers()
local nearestPlayer = nil
local maxDistance = 40
for _, player in pairs(players) do
if player.Character = nil then
local targetCharacter = player.Character
local distance = (rig.HumanoidRootPart.Position - targetCharacter.HumanoidRootPart.Position).Magnitude
if distance < maxDistance and checkForCharacter(targetCharacter) then
nearestPlayer = targetCharacter
maxDistance = distance
end
end
end
return nearestPlayer
end
local function attack(character)
local distance = (rig.HumanoidRootPart.Position - character.HumanoidRootPart.Position).Magnitude
if distance > 5 then
rig.Humanoid:MoveTo(character.HumanoidRootPart.Position)
else
character.Humanoid.Health = 0
end
end
local function calculatePath(destination)
local agentParams = {
["AgentHeight"] = 5.5
["AgentRadius"] = 4,
["AgentCanJump"] - false
}
local path - PathfindingService:CreatePath(agentParams)
path:ComputeAsync(rig.HumanoidRootPart.Position, destination)
return path
end
local function walkToDestination(destination)
local path - calculatePath(destination)
if path.Status == Enum.PathStatus.Success then
for _, waypoint in pairs(path:GetWayPoints()) do
local nearestPlayer = findNearestPlayer()
if nearestPlayer then
attack(nearestPlayer)
break
else
rig.Humanoid.MoveTo(waypoint.Position)
rig.Humanoid.MoveToFinished:Wait()
end
end
else
rig.Humanoid:MoveTo(destination - (rig.HumanoidRootPart.CFrame.LookVector * 10))
end
end
local function patrol()
local waypoints = workspace.Waypoints:GetChildren()
local randomNumber = math.random(1, #waypoints)
walkToDestination(waypoints[randomNumber].Position)
end
while task.wait(0.3) do
patrol()
end
TYSMMMM
Bro saved me lol
[AgentRadius] has a red line through it
you messed up a couple of things but i fixed them
thanks im very lazy
well it works, but it didn't go to the part it goes to the other Rig Model and if i delete the other rig model, the rig doesn't move
Great vid! Im currentlt working on a smart AI which will chase the player until it can't see them anymore. If it can't see the player, it will continue in the direction the player went to try and gaun sight of them again. I'm having a lot of issue with the code but It's almost done I can feel it
i was playing with it and it keeps on going into random blocks do you know how to fix it
Thank you so much for this tutorial, it really helps for my horror game.
Do you have another tutorial that can help add a jump scare if the player is touched by the rig? thank you
I will sub on all 3 of my accounts if you paste the script
Wait… what if I just tied a part from the waypoints to the player, make it invisible so there isn’t just a cube on top of the player, tie a part to the monster that does damage, and just make the monster go for the waypoint?
(Btw I haven’t tried using this yet but I will next week so im not saying that it doesn’t work.)
hi bro idk if ur going to read this but pls make me a horror looking thing in that game and send the link of body parts pls im sub
Hi there! You can find the free model of the monster I used in the description of the video. Thank you so much for watching, have a blessed day!
rustysillyband i tried working it out but when i try the local functions wont get called why?
please help
how do you add a face to a rig
Guys help, the script works good, but when the rig gets to a waypoint it suddenly twitches about 2 to 3 times, then going to another waypoint, please fix
This guy puts out the best roblox studio tutorials.
I will sub on all 3 of my accounts if you paste the script
@@Xmultier u lazy? Just do it 😑
@@Izon14n I just paid somone 20$ to do it for me💀
This is so helpful! Thanks!
Thanks for watching, have a blessed day!
I will sub on all 3 of my accounts if you paste the script
this actully works, thank you
This is perfect but my map has walls and my rig keeps running into them... Anyway i can stop that without having to change my whole map?
When I run it he just turns around and doesn’t walk or anything
thanks for the tutorial, this was actually my first long script that actually worked, just one thing, my monster commonly gets stuck on walls after a couple of patrols, as he picks a waypoint on the other side of the map, is there a way to fix that?
When the Monster is chasing me, it’s moving but it’s stopping every second now can you fix this?
can you please make another video about fixing the bug on your model? When the waypoints are behind a wall he just hugs the wall instead of going around it...
when i add the rig it doesn't move. How can i fix this?
it is saying on script 45 attempt to index function with "HumanoidRootPart"
Please help me i downloaded it but it wont move
What if my dummy can't move how can I fix it 😢
i did everything in the script but the npc doesn't follow the player, just goes to waypoints
i tried using your model and that doesn't follow the player either
try this
local PathfindingService = game:GetService("PathfindingService")
local npc = script.Parent
local humanoid = npc:WaitForChild("Humanoid")
local hrp = npc:WaitForChild("HumanoidRootPart")
hrp:SetNetworkOwner(nil)
local walkAnim = humanoid.Animator:LoadAnimation(script.Walk)
local attackAnim = humanoid.Animator:LoadAnimation(script.Attack)
local pathParams = {
AgentHeight = 5,
AgentRadius = 3,
AgentCanJump = true,
}
local rayParams = RaycastParams.new()
rayParams.FilterType = Enum.RaycastFilterType.Blacklist
rayParams.FilterDescendantsInstances = {npc}
local lastPos
local animPlaying = false
local RANGE = 60
local DAMAGE = 100
local function canSeeTarget(target)
local orgin = hrp.Position
local direction = (target.HumanoidRootPart.Position - hrp.Position).Unit * RANGE
local ray = workspace:Raycast(orgin, direction, rayParams)
if ray and ray.Instance then
if ray.Instance:IsDescendantOf(target) then
return true
else
return false
end
else
return false
end
end
local function findTarget()
local players = game.Players:GetPlayers()
local maxDistance = RANGE
local nearestTarget
for i, player in pairs(players) do
if player.Character then
local target = player.Character
local distance = (hrp.Position - target.HumanoidRootPart.Position).Magnitude
if distance < maxDistance and canSeeTarget(target) then
nearestTarget = target
maxDistance = distance
end
end
end
return nearestTarget
end
local function getPath(destination)
local path = PathfindingService:CreatePath(pathParams)
path:ComputeAsync(hrp.Position, destination.Position)
return path
end
local function attack(target)
local distance = (hrp.Position - target.HumanoidRootPart.Position).Magnitude
local debounce = false
if distance > 5 then
humanoid:MoveTo(target.HumanoidRootPart.Position)
else
if debounce == false then
debounce = true
npc.Head.AttackSound:Play()
attackAnim:Play()
target.Humanoid.Health -= DAMAGE
task.wait(0.5)
debounce = false
end
end
end
local function walkTo(destination)
local path = getPath(destination)
if path.Status == Enum.PathStatus.Success then
for i, waypoint in pairs(path:GetWaypoints()) do
path.Blocked:Connect(function()
path:Destroy()
end)
if animPlaying == false then
walkAnim:Play()
animPlaying = true
end
attackAnim:Stop()
local target = findTarget()
if target and target.Humanoid.Health > 0 then
lastPos = target.HumanoidRootPart.Position
attack(target)
break
else
if waypoint.Action == Enum.PathWaypointAction.Jump then
humanoid:ChangeState(Enum.HumanoidStateType.Jumping)
end
if lastPos then
humanoid:MoveTo(lastPos)
humanoid.MoveToFinished:Wait()
lastPos = nil
break
else
humanoid:MoveTo(waypoint.Position)
humanoid.MoveToFinished:Wait()
end
end
end
else
return
end
end
local function patrol()
local waypoints = workspace.Waypoints:GetChildren()
local randomNum = math.random(1, #waypoints)
walkTo(waypoints[randomNum])
end
while task.wait(0.2) do
patrol()
end
and add the animation of attack and walk in it
@@freglix I tried this because the old scripts didn't work and this also doesnt work i dont know why
@@stilldust3 then i don't know sorry
also is it anchored?
Im having trouble with the animation not working
What if i used a mesh with a humanoid root part? Is that works?
Mine is not moving when I play it but is moving while I run it
Any help?
For some reason the monster in my game just slides across the map and it doesn't go towards any of the waypoints and it doesn't chase or kill the player
lmao you ever get that fixed
No I ended up using another script
@Brandonsletsplay can u drop the script? I have the EXACT same problem with an imported model.
Can you please make a tutorial that’s pretty much opposite to this? One about a little creature that runs around randomly, and when a player gets close it runs away unless the player is crouched? Then if the player is crouched they can sneak up to it and pet it
Interesting idea! Thanks for watching!
The code doesn't work I tried to check for Errors and it looks the same as yours but the rig just stands there
Does it have a humanoid, a humanoidrootpart? Is it anchored?
Bro is just a hater
@@RoboticsAstrolotbro just cause it has an error does not mean he’s a hater 😭
Oh i forgot to anchor the humanoidrootpart
Shut yo goofy mouth up he is an hater he's just lying or he typed it wrong @LbmrichOfficial
W vid also does anyone else think that this guy sound like Brian griffin? (No Offence)
whats that star symbol?
You just got a like from me 😊.
how can i change the amount of damage
how can you reset the position of the monster after you die???
bro i upload the code from your free model to another fresh rig unchanged and he gives up while walking to one and goes to a different one an repeats
Hi there! Did you make sure to create your animations for the rig?
from the bottom of my heart i wanna thank you so much bro just know youre an amazing person and Jesus and God love you God Bless dude :)
Thank you so much! God bless you too! 🙏
w tutorial, love it
I keep having line 62 of code not work? It says " HumanoidRootPart is not a valid member of Folder "Workspace.Waypoints"" do you know how to fix this?
Hey I didn’t see the parts in the waypoints folder
0:01 SHOOT AND EAT NOOBS REFRENCE????
I have one question. who's better at pathfinding?
Rusty or gnomecode
GnomeCode lol!
is there a way to make the speed of the monster faster? great vid btw
Yes there is! Try changing the walkspeed property inside of the humanoid that's inside of your monster. Thanks for watching, have an amazing day!
Thanks man
it is not moving
Is it anchored? If yes unachor it
@@skorpion090if I unanchor it then it falls apart
Make sure it has an animation and unanchored
Little late here
If you're unanchoring it and it falls apart, it's because it doesn't have any motor6ds. Likely your model isn't properly rigged
@@Flairex is there a way to get proper rigs ?
Mine doesn’t follow me it said magnitude is not valid member of vector3
Edit: fixed it but he isn’t able to kill me
Yo i followed the entire tutorial but my rig wont even move, could u please send the script?
my monster doesen't walk what should i do?
ty bro!
Hey I did every thing correct but it didn’t work I really need a monster for my game
My monster's feet just fall through the floor but the rest of him stay above ground
It doesn't work, when I tried to test it, it just stood there. But are you on PC? I am on Mac, that's probably the problem.
how do i add an idle anim to it