So, I’m very new to lua scripting, and I’m confused. I’m trying to make the player’s character fly immediately after spawning, and move forward continuously, using the A and D keys to move left and right and the W and S keys to go up and down. I’ve tried numerous scripts already all over the devforum, but they either don’t work for my intents, and I can’t figure out what parts to edit to make it work, or it doesn’t work at all. I currently have a custom model as the character model as well. I need help desperately. Thanks in advance!
well, make sure you have a primary part, then use something like body position to move, and for the constant forward, this will work on the client
-- this is assuming your using body position (it does work without body position but your teleporting forward instead of moving) while wait(.1) do local speed = 5 bodyPos.Position = (primary.CFrame.LookVector + primary.CFrame * speed).Position end
to get the keys use userimputservice, and yes you could also use context action service,
but i dont really see a need for that here
in a local script
local imputService = game:GetService("UserImputService") while wait(.1) do local keys = imputService:GetKeysPressed() for _, key in pairs (keys) do if key.KeyCode == Enum.KeyCode.A then --do stuff elseif key.KeyCode == Enum.KeyCode.D then --do stuff elseif key.KeyCode == Enum.KeyCode.S then --do stuff elseif key.KeyCode == Enum.KeyCode.W then --do stuff end end end
you could also fire a server and go through the keycodes there to but as the local
player has network control over the player, you could just handle it from the client
and do the movement from the client.
Where should I put these scripts?
well, i would recommend player character, (starter player → starter character scripts), but just about anywhere that can run local scripts for the player (backpack, character, player) would work