at 10:34 i meant to say to change the underlined part to neck.C0 instead of right.C0 and left .C0 ALSO THANKS FOR 100+ SUBSCRIBERS IN LESS THEN 3 DAYS INSANE!!!!!!!!!!!!!!!!!!! edit 2: next video coming out next week
this guy is genuinely helpful... thanks for actually explaining the code while you go along, while keeping it entertaining, instead of a 30 second speedrun with a 'COPY IN DESCRIPTION' :)
May you elaborate, why you choose to assign values to your already existing variables on a different line? Personally I think it saves a lot of time assigning it right away. Also I find many thing useless, like putting variables in parentheses in the if statements, but I've learned alot already, like how you use magnitude number to tell if the camera is in first person. By that, I don't mean the , == operator in the variable assignment-area-thingy, which I learned not too long ago, but the fact that you can just find it out by figuring if head is minimally 0.5 studs close to the camera. Really cool stuff! I think it's a big mistake to not go into detail, because some people, including me, come to tutorials to as well learn them, they wish to know this by default and be able to create anything they want to. One tip is at 9:30 ; you can use a *= b instead of a = a * b. Also the script got extremely messy, when you started applying the rotation to the body parts, which I wanted to especially learn, but no worries. The RemoteEvent seems fine. Sorry, for making such a long comment, I know you probably don't care especially from a stranger, but I simply wanted to say my opinions on different parts of the video. Overall very good tutorial. :)
This is criminally underrated. Question for a future video. Could one possibly remix things to another theme? Instead of guns, maybe magic? Or would that be a bit much?
This is really helpful, i have been looking for a good FPS framework for a while now and now i figured out how to do it because of you! You are the best. Now i can fulfill my dreams of being a dev!
subscribed b4 you blow up (342 subs rn) quick question, when i was testing animation changes it was just completely deleting those anims in the game. also, on the website to copy asset id, the asset was privated. is this the reason or am i just dumb?
i've always wanted to make a fps game, I am still learning how to script though. All of the tutorials use models from the toolbox or what they made, but this actually teaches me some new functions of scripting. thanks :D
wouldve been usefull for my shooter game but its both fps and tps and its also abandoned and im sick also tip instead of head.Cframe.Position do Camera.Focus.Position also im not used to those new icons
hey! I’m currently on the process of learning lua, and I find it very difficult. I am familiar with basic python and java script, but I find lua a lot more difficult. I really appreciate this upcoming video series as I’d like to make my passion projects into actual games.
Hi, is there any way to contact you ? Because we're doing a school project and we're thinking about making a game, so if you could give us a hand, it would be really cool !
btw guys, the parentheses he uses in like the if statements (which is if x then) are not necessary "if (IsFirstPerson) then -- etc etc its just a habit probably, roblox lua style actually prefers you not using this, but its not gonna break anything (no idea why he sets the variables and then defines then, if you can explain then plz do.)
i usually like to define so it looks cleaner. things can get messy very fast so for all my variables i like to pre define them in two seperate paragraphes. its a habit of when i use unity and other engines.
there's no specific way of organizing, but my best tip is to know exactly what your goal is before starting to write, if you keep adding onto the script with trial and error its gonna get very messy at some point. I like to put all my locals in the start, then I would define them, then add my functions, and then add the executions. also I use the '--' keywords to define what each things do. I could make a video, but before you could maybe try to study the script in the place i linked. If you really need a video lmk
Can u teach how to make a level system when you click a gui on screen and get levels and stuff maybe add level cap to :) ty please (Pls make under 15 mins)
yes but i think you need to reference different body parts, try checking which body part in r15 that controls the Neck movement (c0), and which controls the shoulders
guys if you want aiming down sights here is example of how i done it: if aiming then local targetRightC0 = root.CFrame:ToObjectSpace(cam.CFrame) * CFrame.Angles(0, math.rad(90), 0) * CFrame.new(aimOffset) rightShoulder.C0 = rightShoulder.C0:Lerp(targetRightC0, 0.2) end
great video! there seems to be a problem when I use it though, whenever a character dies, it messes up where the rotation is and the arms and head face towards one direction and never change. is there a way to fix this?
hi bro, can you help please? I'm making a first person horror game and I want the head to move up and down when the player turns the camera. You can do that?
I had this same issue, I was able to fix it by replacing the local script I copied by hand (the FirstPerson script) with the script you can find in the game linked in the description.
im sorry but some of the stuff shown here arent great for optimization, you have to keep in mind network usage just send the camera direction only, and do the math in a LOCAL playerscript instead of sending neck and limb coordinates and setting them on server
in highschool I was in a class that helped develop my love for scripting, while I code more on unity, since i used to also play roblox, i discovered that i could also make my own game. My knowledge is based around more similarities upon python and c++ language.
4:17 I did everything i was supposed to script but i opened the game and it wasn't working at all? any solutions? Edit:NVM i fixed it, just add humanoid in the first part of the script eg:local RunService local Player local Character local Camera local Head local Humanoid
hello! you dont _need_ to acces the anims, you simply need the id. IF you have trouble here are the ids: 17448684392 for idle 17460499009 for walking you just switch them in the animate script, hope this helps
@@70rnk I am not sure right now, but I think I heard about animations having to be owned by the creator in order to work and not be sanitized. I really don't know for sure.
yes , im pretty sure theres a part in tje video where i fix it maybe you missed it. if i remember correctly it has to do with the max distance to detect when the player is in first person? ill get back to you when im home
sorry abt that. when i get home ill link a roblox file so you can set it as your own. i didnt know roblox doesnt let us share animations from there web
local RunService local Player local Character local Camera local Head local Humanoid local FPMD -- FPMaximumDistance local FPLT -- FirstPersonLocalTransparency RunService = game:GetService('RunService') Player = game.Players.LocalPlayer Character = Player.Character or Player.CharacterAdded:Wait() Camera = game.Workspace.CurrentCamera Head = Character:WaitForChild('Head') Humanoid = Character:WaitForChild('Humanoid') FPMD = 0.6 FPLT = 0 TPLT = 0 Humanoid.CameraOffset = Vector3.new(0, 0, -0.65) local function SetCharacterLocalTransparency(transparency) for i,v in pairs(Character:GetChildren()) do if (v:IsA('BasePart')) then v.LocalTransparencyModifier = transparency end end end RunService.RenderStepped:Connect(function() local isFirstPerson = (Head.CFrame.Position - Camera.CFrame.Position).Magnitude < FPMD if (isFirstPerson) then SetCharacterLocalTransparency(FPLT) Head.Transparency = 1 end end)
@@70rnk When someone gives you advice, maybe you should actually try listening to it. Or did your parents skip the lesson on basic respect while they were teaching you how to be a disappointment?
@@hagoosky I do not have time to write an essay on how to improve his coding form, and even if I were paid, I would not do it because I do not have time for such things.
FOR THOSE LAZY PEOPLE WHO AIN'T SCRIPTING ALL OF THESE COPY AND PASTE THESE FirstPerson : local RunService local Player local Character local Camera local Head local Humanoid local FPMD -- FPMaximunDistance local FPLT -- FirstPersonLocalTransparency RunService = game:GetService('RunService') Player = game.Players.LocalPlayers Character = Player.Character or Player.CharacterAdded:Wait() Camera = game.Workspace.CurrentCamera Head = Character:WaitForChild('Head') Humanoid = Character:WaitForChild('Humanoid') FPMD = 1 FPLT = 0 TLPT = 0 Humanoid.CameraOffset = Vector3.new(0,0,-0.65) local function SetCharacterLocalTransparency(transparency) for i,v in pairs(Character:GetChildren()) do if (v:IsA('BasePart')) then v.LocalTransperency.Modifier = transparency end end end RunService.RenderStepped:Connect(function() local isFirstPerson = (Head.CFrame.Position - Camera.CFrame.Position).Magnitute < FPMD
if (isFirstPerson) then SetCharacterLocalTransparency(FPLT) Head.Transparency = 1 end
end) head and arms : local character local torso local player player = game.Players.LocalPlayer character = player.Character root = character:WaitForChild("HumanoidRootPart") run = game:GetService("RunService") cam = workspace.CurrentCamera torso = character:FindFirstChild("Torso") neck = torso:WaitForChild("Neck") right = torso:WaitForChild("Neck") left = torso:WaitForChild("Left Shoulder") y = neck.C0.Y z = right.C0.X runn.RenderStepped:Connect(function() local camdirec = root.CFrame:To0bjectspace(cam.CFrame).LookVector if neck then neck.C0 = CFrame.new(0,y,0) * CFrame.Angles(0,math.rad(0,math.rad(180),0) * CFrame.Angles(0,-camdirec.x, 0) * CFrame.Angles(-camdirec.Y,0,0) neck.C0 = neck.C0 * CFrame.Angles(math.rad(-90),0,0)
at 10:34 i meant to say to change the underlined part to neck.C0 instead of right.C0 and left .C0
ALSO THANKS FOR 100+ SUBSCRIBERS IN LESS THEN 3 DAYS INSANE!!!!!!!!!!!!!!!!!!!
edit 2: next video coming out next week
W
finaly a dacaying winter 1st person system
You're gonna blow up reallllll soon, there is a drought of quality educational content on roblox studio as unique as this. Keep it up man!
this guy is genuinely helpful... thanks for actually explaining the code while you go along, while keeping it entertaining, instead of a 30 second speedrun with a 'COPY IN DESCRIPTION' :)
May you elaborate, why you choose to assign values to your already existing variables on a different line? Personally I think it saves a lot of time assigning it right away. Also I find many thing useless, like putting variables in parentheses in the if statements, but I've learned alot already, like how you use magnitude number to tell if the camera is in first person. By that, I don't mean the , == operator in the variable assignment-area-thingy, which I learned not too long ago, but the fact that you can just find it out by figuring if head is minimally 0.5 studs close to the camera. Really cool stuff!
I think it's a big mistake to not go into detail, because some people, including me, come to tutorials to as well learn them, they wish to know this by default and be able to create anything they want to.
One tip is at 9:30 ; you can use a *= b instead of a = a * b. Also the script got extremely messy, when you started applying the rotation to the body parts, which I wanted to especially learn, but no worries. The RemoteEvent seems fine.
Sorry, for making such a long comment, I know you probably don't care especially from a stranger, but I simply wanted to say my opinions on different parts of the video. Overall very good tutorial. :)
yeah sorry about that i was in a rush when making the video! ill make sure to explain better next time. thanks for the tips!
wondering if you'd make a tutorial on procedural movement
hi yes! Currently i am working on a pickup and dropping weapon system, but i'll try for sure to implement this type of system in a future video
This is criminally underrated. Question for a future video. Could one possibly remix things to another theme? Instead of guns, maybe magic? Or would that be a bit much?
good idea! Ill do my best to add it
Can't wait for part 2!!!!
Really unique content, awesome work! I'm learning so much!
BRO, THIS IS LITERALLY MY DREAM GAME, THANKS MAN YOU EARN A SUB
Glad I could help!!
This is really helpful, i have been looking for a good FPS framework for a while now and now i figured out how to do it because of you! You are the best. Now i can fulfill my dreams of being a dev!
thats so nice to hear! good luck on your dev career!!
@@70rnk Thank you, just want to know aprox when will the next part be ready?
As im in college, i dont have schedules, but i try my best to upload once a month
subscribed b4 you blow up (342 subs rn)
quick question, when i was testing animation changes it was just completely deleting those anims in the game. also, on the website to copy asset id, the asset was privated. is this the reason or am i just dumb?
Fr same for me
thats odd, ill check on it
i've always wanted to make a fps game, I am still learning how to script though. All of the tutorials use models from the toolbox or what they made, but this actually teaches me some new functions of scripting. thanks :D
Fantastic! I look forward to more parts!
maybe I can use the ideas of this system for my next iteration of an FPS framework
glad it helped!
you gonna make it big one day buddy
haha hope so!
lowk what im looking for, i just needed the local transparency and other stuff for my fps system, thx
I like the little character at the bottom it reminds of helpy from fnaf
i love ur work especially the fact that it a new channel u deserve more fame but anyways Keep up the good work
ty!!!
HOW ARE YOU NOT POPULAR YET???? (W video and edit)
also i dont have permission to acces your animations in desc can you help?
@@WlastkasFan yeah roblox can be annoying about it, im going to do my research to see if i can do something on my side. if i find a solution ilyk
@@WlastkasFan when i get home ill link in this desc a roblox file to make sure that you can publish the anim yourself and be the owner of the anim
wouldve been usefull for my shooter game but its both fps and tps and its also abandoned and im sick also tip instead of head.Cframe.Position do Camera.Focus.Position also im not used to those new icons
hey! I’m currently on the process of learning lua, and I find it very difficult. I am familiar with basic python and java script, but I find lua a lot more difficult. I really appreciate this upcoming video series as I’d like to make my passion projects into actual games.
you deserve way more than 316 subscribers 🔥
nice vid man
If a player sits down will the seat rotate with him?
2:17 Just curious.. why do you initialize local variables then reference them after? Is it for micro-optimization purposes?
Really cool video!!!
ty!
yoo nice vid, i loved ur editing tho
tysm means a lot!!
keep up with good work!
Thanks, will do!
Love it great job
This is so amazing
Damn it's just that good
Okay this is a nice channel 👌
Really good 👍
thanks!
Hi, is there any way to contact you ? Because we're doing a school project and we're thinking about making a game, so if you could give us a hand, it would be really cool !
btw guys, the parentheses he uses in like the if statements (which is if x then) are not necessary "if (IsFirstPerson) then -- etc etc its just a habit probably, roblox lua style actually prefers you not using this, but its not gonna break anything (no idea why he sets the variables and then defines then, if you can explain then plz do.)
i usually like to define so it looks cleaner. things can get messy very fast so for all my variables i like to pre define them in two seperate paragraphes. its a habit of when i use unity and other engines.
you my dude, are awesome
Could you make a short vid on how you organize ur scrips im trying to learn good habits for coding
there's no specific way of organizing, but my best tip is to know exactly what your goal is before starting to write, if you keep adding onto the script with trial and error its gonna get very messy at some point. I like to put all my locals in the start, then I would define them, then add my functions, and then add the executions. also I use the '--' keywords to define what each things do.
I could make a video, but before you could maybe try to study the script in the place i linked. If you really need a video lmk
don't forget to show how end result looks in start of video.
i meaaaan you can kinda see it in the intro, but fair point
Can u teach how to make a level system when you click a gui on screen and get levels and stuff maybe add level cap to :) ty please (Pls make under 15 mins)
i bet there are a lot of other tutorials out there you can find for that! im not really into clicker games sorry
@@70rnk aw man :( ok sorry for asking :(
@@bananasauceee5736 dont apologize its totally fine to ask!
@@70rnk oh ok sorry
Your thing works but only for your animations. Isn't there a way to make it without requiring your specific "guarding hands" anims
Thanks man❤
Yo nice vid you earned a sub, pls continie
ok im only intrested into next video for picking up stuff
Thousand thanks bro
is there any way to implement this to R15, i tried myself but couldnt do it it was either the head was flying or rotate backwards
yes but i think you need to reference different body parts, try checking which body part in r15 that controls the Neck movement (c0), and which controls the shoulders
also r15 is wayyy much popular in terms of c0 rotations systems, try looking on forums, like 90% of the the research ive done i ended up on r15 script
the idle animations ect arent working??
guys if you want aiming down sights here is example of how i done it:
if aiming then
local targetRightC0 = root.CFrame:ToObjectSpace(cam.CFrame) * CFrame.Angles(0, math.rad(90), 0) * CFrame.new(aimOffset)
rightShoulder.C0 = rightShoulder.C0:Lerp(targetRightC0, 0.2)
end
Why is it when i put it to r6 whenever i join it i have no walking animation?? Like why but when its r15 tHeN i can walk??
Thx bro
could you explain why you chose to define the variables in later lines?
sometimes you can only define while in the function. so these are mainly exceptions
genuine question, why do you write the variables and then define them later on in the script? wouldnt it be more organized without doing that?
I also have no idea, he probably does it if he wants to change them later.
when i started coding, in forums a lot of people where using this method, i guess i just took the habit
great video! there seems to be a problem when I use it though, whenever a character dies, it messes up where the rotation is and the arms and head face towards one direction and never change. is there a way to fix this?
never had this problem? could you try to copy the place i linked, and see if the code matches.
if theres still an issue, contact me on my socials i can help you via screenshots since its easier
sorry, i fixed this a long time ago! im pretty sure i just put something in starter player scripts instead of starter character. thank you!
hi bro, can you help please? I'm making a first person horror game and I want the head to move up and down when the player turns the camera. You can do that?
hi! its actually quite i just did in my tutorial, so i dint quite understand what you need help with
@@70rnk can you do only head movement?
Is there a way to make the arms position normal instead of the punching position?
- Edit: Nvm I think I got it
Can i yoink this into my open source projects?
YOINK
part 2 when
at the part at 4:25
my body was clipping in and out of existence
at the last part it was not moving when i look down
thats odd... you can try to copy my place and compare the scripts
I had this same issue, I was able to fix it by replacing the local script I copied by hand (the FirstPerson script) with the script you can find in the game linked in the description.
Imma need those animations cuz they private
im sorry but some of the stuff shown here arent great for optimization, you have to keep in mind network usage
just send the camera direction only, and do the math in a LOCAL playerscript instead of sending neck and limb coordinates and setting them on server
im still new, thanks for the advice
yo tysm man
no problem!
@@70rnk also can you make a tutorial for making a first person like doors? + it will be r15
for some reason i cant see the body i've done everything right but its not working
not sure if ill get a reply but its worth a try, how did you go about getting into scripting
in highschool I was in a class that helped develop my love for scripting, while I code more on unity, since i used to also play roblox, i discovered that i could also make my own game. My knowledge is based around more similarities upon python and c++ language.
when part 2
took a 3 week break mb, new video coming out next week
i have the intrusive thoughts of checking the recv
intrusive thoughts cant always be bad 😅
can you do an r15 version pls ?
why wont roblox let me have my game r6?
4:17 I did everything i was supposed to script but i opened the game and it wasn't working at all? any solutions?
Edit:NVM i fixed it, just add humanoid in the first part of the script eg:local RunService
local Player
local Character
local Camera
local Head
local Humanoid
glad you could figure it out! sorry i wasnt there to help!
Bro pls tell me HOW i can learn script like you just pls tell me i need to know!
do lots of research in forums! dont copy and paste scripts mindlessly, instead try to understand them, its annoying but it helped me a lot.
What Do i Do About the shadow the part arent there
@@Dougyl elaborate im not sure i understand
i cant acces the anims why?
hello! you dont _need_ to acces the anims, you simply need the id. IF you have trouble here are the ids:
17448684392 for idle
17460499009 for walking
you just switch them in the animate script, hope this helps
@@70rnk I am not sure right now, but I think I heard about animations having to be owned by the creator in order to work and not be sanitized. I really don't know for sure.
didnt work at all for me, the first time i tested the game my body and everything was still invisible
@@Magentaseashell you can copy from my open sourced game to see what went wrong
It blinks in and out when im moving and looking around
yes , im pretty sure theres a part in tje video where i fix it maybe you missed it. if i remember correctly it has to do with the max distance to detect when the player is in first person? ill get back to you when im home
your animation id is private
Lmao fire tutorial
Can you make it a tool and you can punch people and get damaged
video is out
i got to about 4:20 in the video and i play tested it and i could not see my body when i looked down can someone tell me why?
same for me
prob cuz of line 17 u can see ur errors on the output button on view
hi! if it still doesnt work try copying the open sourced map in which it has all the code (in desc)
Cool vid! But this 12:18 part is💀
yo im wondering if your available for hire?
yes i am!
@@70rnk nice do you got cord?
AAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAA
I love it 🥵
lol ty
bro why anim in desc private
sorry abt that. when i get home ill link a roblox file so you can set it as your own. i didnt know roblox doesnt let us share animations from there web
@@70rnk can u link?
local RunService
local Player
local Character
local Camera
local Head
local Humanoid
local FPMD -- FPMaximumDistance
local FPLT -- FirstPersonLocalTransparency
RunService = game:GetService('RunService')
Player = game.Players.LocalPlayer
Character = Player.Character or Player.CharacterAdded:Wait()
Camera = game.Workspace.CurrentCamera
Head = Character:WaitForChild('Head')
Humanoid = Character:WaitForChild('Humanoid')
FPMD = 0.6
FPLT = 0
TPLT = 0
Humanoid.CameraOffset = Vector3.new(0, 0, -0.65)
local function SetCharacterLocalTransparency(transparency)
for i,v in pairs(Character:GetChildren()) do
if (v:IsA('BasePart')) then
v.LocalTransparencyModifier = transparency
end
end
end
RunService.RenderStepped:Connect(function()
local isFirstPerson = (Head.CFrame.Position - Camera.CFrame.Position).Magnitude < FPMD
if (isFirstPerson) then
SetCharacterLocalTransparency(FPLT)
Head.Transparency = 1
end
end)
hero of the day fr
Bro wheres part 2😢
next week i promise🙏🙏🙏🙏
i need u broo
It did not work for me
copy my open source game from the desc, it has everything ive done in this turorial
please copy paste
lazy
You probably didnt notice but i explained in the video if you want to copy and paste theres a link in desc for you with the map
Your coding form is bad. Try fixing it because it's probably unhealthy for the long run of your carer.
🤓☝️
@@70rnk When someone gives you advice, maybe you should actually try listening to it.
Or did your parents skip the lesson on basic respect while they were teaching you how to be a disappointment?
@@_Sickk you didnt really give him good advice, you just said his "coding form is bad" and didnt give him any advice on how to fix it
@@hagoosky I do not have time to write an essay on how to improve his coding form, and even if I were paid, I would not do it because I do not have time for such things.
why are you pressed lol, of course im not going to listen if you give me jackshit worth of advice. i dont have respect for people with egos like you.
@70rnk can u like paste the code here cuz i did it the way u did but it didnt work for me so i was wondering if i can use the code
hi! i linked in the desc the map so you can copy the code
line 17 didnt work for some reason
FOR THOSE LAZY PEOPLE WHO AIN'T SCRIPTING ALL OF THESE COPY AND PASTE THESE
FirstPerson :
local RunService
local Player
local Character
local Camera
local Head
local Humanoid
local FPMD -- FPMaximunDistance
local FPLT -- FirstPersonLocalTransparency
RunService = game:GetService('RunService')
Player = game.Players.LocalPlayers
Character = Player.Character or Player.CharacterAdded:Wait()
Camera = game.Workspace.CurrentCamera
Head = Character:WaitForChild('Head')
Humanoid = Character:WaitForChild('Humanoid')
FPMD = 1
FPLT = 0
TLPT = 0
Humanoid.CameraOffset = Vector3.new(0,0,-0.65)
local function SetCharacterLocalTransparency(transparency)
for i,v in pairs(Character:GetChildren()) do
if (v:IsA('BasePart')) then
v.LocalTransperency.Modifier = transparency
end
end
end
RunService.RenderStepped:Connect(function()
local isFirstPerson = (Head.CFrame.Position - Camera.CFrame.Position).Magnitute < FPMD
if (isFirstPerson) then
SetCharacterLocalTransparency(FPLT)
Head.Transparency = 1
end
end)
head and arms :
local character
local torso
local player
player = game.Players.LocalPlayer
character = player.Character
root = character:WaitForChild("HumanoidRootPart")
run = game:GetService("RunService")
cam = workspace.CurrentCamera
torso = character:FindFirstChild("Torso")
neck = torso:WaitForChild("Neck")
right = torso:WaitForChild("Neck")
left = torso:WaitForChild("Left Shoulder")
y = neck.C0.Y
z = right.C0.X
runn.RenderStepped:Connect(function()
local camdirec = root.CFrame:To0bjectspace(cam.CFrame).LookVector
if neck then
neck.C0 = CFrame.new(0,y,0) * CFrame.Angles(0,math.rad(0,math.rad(180),0) * CFrame.Angles(0,-camdirec.x, 0) * CFrame.Angles(-camdirec.Y,0,0)
neck.C0 = neck.C0 * CFrame.Angles(math.rad(-90),0,0)
right.C0 = CFrame.new(z,0.5,0) * CFrame.Angles(0,math.rad(0,math.rad(180),0) * CFrame.Angles(0,-camdirec.x, 0) * CFrame.Angles(-camdirec.Y,0,0)
right.C0 = right.C0 * CFrame.Angles(0,math.rad(-90),math.rad(-90)) + Vector3.new(1,-0.5,0)
left.C0 = CFrame.new(z,0.5,0) * CFrame.Angles(0,math.rad(0,math.rad(180),0) * CFrame.Angles(0,-camdirec.x, 0) * CFrame.Angles(-camdirec.Y,0,0)
left.C0 = left.C0 * CFrame.Angles(0,math.rad(90),math.rad(90)) + Vector3.new(-1,-0.5,0)
game:GetService("ReplicatedStorage").head:FireServer(neck.C0,right.C0, left.C0)
end
end)
head :
game:GetService("ReplicatedStorage").head.OnServerEvent:Connect(function(plr,txt,txt2,txt3)
char = plr.Character
torso =
torso:WaitForChild("Neck").C0 = txt
torso:WaitForChild("Right Shoulder").C0 = txt2
torso:WaitForChild("Left Shoulder").C0 = txt3
end)
@@TheBaldieCrewOfficial brother i shared the place ppl can just copy it
@@70rnk I don’t see the desk but ok