Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- Declare varaibles
- local userInputService = game:GetService("UserInputService")
- local runService = game:GetService("RunService")
- local player = game.Players.LocalPlayer
- local moveVector = Vector3.new(0,0,0)
- local cam = workspace.CurrentCamera
- workspace.Base.Position = Vector3.new(0, -10, 0)
- local char = Instance.new("Model",workspace.Terrain)
- char.Name = ("SuperChar: "..player.Name)
- local human = Instance.new("Humanoid",char)
- local head = Instance.new("Part",char)
- local torso = Instance.new("Part",char)
- torso.Size = Vector3.new(2,2,1)
- head.Size = Vector3.new(2,1,1)
- torso.Position = Vector3.new(0,5,0)
- torso.Name = "Torso"
- head.Position = Vector3.new(torso.Position.X, torso.Position.Y + 1, torso.Position.Z)
- local rleg = Instance.new("Part",char)
- rleg.Name = "Right Leg"
- rleg.Position = Vector3.new(0.5,3,0)
- rleg.Size = Vector3.new(1,2,1)
- local lleg = Instance.new("Part",char)
- lleg.Size = Vector3.new(1,2,1)
- lleg.Position = Vector3.new(-0.5,3,0)
- lleg.Name = "Left Leg"
- local headconnect = Instance.new("Motor6D",torso)
- headconnect.Part0 = torso
- headconnect.Part1 = head
- headconnect.MaxVelocity = 0.1
- local rconnect = Instance.new("Motor6D",torso)
- rconnect.Part0 = torso
- rconnect.Part1 = rleg
- local lconnect = Instance.new("Motor6D",torso)
- lconnect.Part0 = torso
- lconnect.Part1 = rleg
- local laconnect = Instance.new("Motor6D",torso)
- laconnect.Part0 = torso
- laconnect.Part1 = larm
- human.MaxHealth = math.huge
- human.Health = math.huge
- human.AutoJumpEnabled = false
- human.WalkSpeed = 24
- human.Torso = torso
- human.RightLeg = rleg
- human.LeftLeg = lleg
- human.Torso = torso
- head.Name = "Head"
- char:MakeJoints()
- wait(0.1)
- player.Character:ClearAllChildren()
- cam.CameraSubject = torso
- cam.CameraType = Enum.CameraType.Follow
- -- Handle inputBegan event (when player first presses a key)
- userInputService.InputBegan:connect(function(inputObject)
- if player.Character then
- if inputObject.KeyCode == Enum.KeyCode.A then
- moveVector = moveVector + Vector3.new(-1,0,0)
- end
- if inputObject.KeyCode == Enum.KeyCode.D then
- moveVector = moveVector + Vector3.new(1,0,0)
- end
- if inputObject.KeyCode == Enum.KeyCode.W then
- moveVector = moveVector + Vector3.new(0,0,-1)
- end
- if inputObject.KeyCode == Enum.KeyCode.S then
- moveVector = moveVector + Vector3.new(0,0,1)
- end
- if inputObject.KeyCode == Enum.KeyCode.Space then
- human.Jump = true
- end
- end
- end)
- -- Handle inputEnded event (when player releases a key)
- userInputService.InputEnded:connect(function(inputObject)
- if player.Character then
- if inputObject.KeyCode == Enum.KeyCode.A then
- moveVector = moveVector + Vector3.new(1,0,0)
- end
- if inputObject.KeyCode == Enum.KeyCode.D then
- moveVector = moveVector + Vector3.new(-1,0,0)
- end
- if inputObject.KeyCode == Enum.KeyCode.W then
- moveVector = moveVector + Vector3.new(0,0,1)
- end
- if inputObject.KeyCode == Enum.KeyCode.S then
- moveVector = moveVector + Vector3.new(0,0,-1)
- end
- end
- end)
- -- On renderstepped update the character's motion based on what keys
- -- are currently being pressed
- runService.RenderStepped:connect(function()
- human:Move(moveVector)
- end)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement