SebTDZ

RigTest

Nov 30th, 2019
231
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 4.08 KB | None | 0 0
  1. local CharacterScripter = {}
  2. function CharacterScripter:Invert(Number)
  3.     local stringV = string.format(Number)
  4.     if stringV:sub(1,1) == "-" then
  5.         return tonumber(stringV:sub(2))
  6.     else
  7.         return tonumber("-"..stringV)
  8.     end
  9. end
  10. function CharacterScripter:Setup(Character)
  11.     if Character.Humanoid.RigType == Enum.HumanoidRigType.R6 then
  12.         local LimbObjects = {}
  13.         LimbObjects["ArmL"] = Character["Left Arm"]
  14.         LimbObjects["ArmR"] = Character["Right Arm"]
  15.         LimbObjects["LegL"] = Character["Left Leg"]
  16.         LimbObjects["LegR"] = Character["Right Leg"]
  17.         local JointsFolder = Instance.new("Folder",Character)
  18.         JointsFolder.Name = "JointsFolder"
  19.         local A_AL2Torso = Instance.new("Weld",JointsFolder)
  20.         A_AL2Torso.Name = "A_AL2Torso"
  21.         A_AL2Torso.Part0 = Character.Torso
  22.         A_AL2Torso.Part1 = Instance.new("Part",A_AL2Torso)
  23.         A_AL2Torso.Part1.Size = Vector3.new(1,1,1)
  24.         A_AL2Torso.Part1.Transparency = 1
  25.         A_AL2Torso.Part1.CanCollide = false
  26.         A_AL2Torso.C1 = CFrame.new(1.5,-0.5,0)
  27.         local A_AR2Torso = Instance.new("Weld",JointsFolder)
  28.         A_AR2Torso.Name = "A_AR2Torso"
  29.         A_AR2Torso.Part0 = Character.Torso
  30.         A_AR2Torso.Part1 = Instance.new("Part",A_AR2Torso)
  31.         A_AR2Torso.Part1.Size = Vector3.new(1,1,1)
  32.         A_AR2Torso.Part1.Transparency = 1
  33.         A_AR2Torso.Part1.CanCollide = false
  34.         A_AR2Torso.C1 = CFrame.new(-1.5,-0.5,0)
  35.         local A_LL2Torso = Instance.new("Weld",JointsFolder)
  36.         A_LL2Torso.Name = "A_LL2Torso"
  37.         A_LL2Torso.Part0 = Character.Torso
  38.         A_LL2Torso.Part1 = Instance.new("Part",A_LL2Torso)
  39.         A_LL2Torso.Part1.Size = Vector3.new(1,1,1)
  40.         A_LL2Torso.Part1.Transparency = 1
  41.         A_LL2Torso.Part1.CanCollide = false
  42.         A_LL2Torso.C1 = CFrame.new(0.5,1.5,0)
  43.         local A_LR2Torso = Instance.new("Weld",JointsFolder)
  44.         A_LR2Torso.Name = "A_LR2Torso"
  45.         A_LR2Torso.Part0 = Character.Torso
  46.         A_LR2Torso.Part1 = Instance.new("Part",A_LR2Torso)
  47.         A_LR2Torso.Part1.Size = Vector3.new(1,1,1)
  48.         A_LR2Torso.Part1.Transparency = 1
  49.         A_LR2Torso.Part1.CanCollide = false
  50.         A_LR2Torso.C1 = CFrame.new(-0.5,1.5,0)
  51.         Character.Torso["Left Shoulder"]:Remove()
  52.         Character.Torso["Right Shoulder"]:Remove()
  53.         local B_AL2Torso = Instance.new("Weld",JointsFolder)
  54.         B_AL2Torso.Name = "B_AL2Torso"
  55.         B_AL2Torso.Part0 = A_AL2Torso.Part1
  56.         B_AL2Torso.Part1 = LimbObjects.ArmL
  57.         B_AL2Torso.C1 = CFrame.new(0,0.5,0)
  58.         local B_AR2Torso = Instance.new("Weld",JointsFolder)
  59.         B_AR2Torso.Name = "B_AR2Torso"
  60.         B_AR2Torso.Part0 = A_AR2Torso.Part1
  61.         B_AR2Torso.Part1 = LimbObjects.ArmR
  62.         B_AR2Torso.C1 = CFrame.new(0,0.5,0)
  63.         Character.Torso["Left Hip"]:Remove()
  64.         Character.Torso["Right Hip"]:Remove()
  65.         local B_LL2Torso = Instance.new("Weld",JointsFolder)
  66.         B_LL2Torso.Name = "B_LL2Torso"
  67.         B_LL2Torso.Part0 = A_LL2Torso.Part1
  68.         B_LL2Torso.Part1 = LimbObjects.LegL
  69.         B_LL2Torso.C1 = CFrame.new(0,0.5,0)
  70.         local B_LR2Torso = Instance.new("Weld",JointsFolder)
  71.         B_LR2Torso.Name = "B_LR2Torso"
  72.         B_LR2Torso.Part0 = A_LR2Torso.Part1
  73.         B_LR2Torso.Part1 = LimbObjects.LegR
  74.         B_LR2Torso.C1 = CFrame.new(0,0.5,0)
  75.         Character.Humanoid.Animator:Remove()
  76.         local LimbA = {}
  77.         LimbA.ArmL = B_AL2Torso
  78.         LimbA.ArmR = B_AR2Torso
  79.         LimbA.LegL = B_LL2Torso
  80.         LimbA.LegR = B_LR2Torso
  81.         return function(Limb,Rotation,Plus)
  82.             local X = math.rad(CharacterScripter:Invert(Rotation[1]))
  83.             local Y = math.rad(CharacterScripter:Invert(Rotation[2]))
  84.             local Z = math.rad(CharacterScripter:Invert(Rotation[3]))
  85.             LimbA[Limb].C1 = CFrame.new(0,0.5+CharacterScripter:Invert(Plus),0) * CFrame.Angles(X,Y,Z)
  86.         end
  87.     else
  88.         error("Fail to rig!")
  89.     end
  90. end
  91. local Me = owner.Character
  92. local Humanoid = Me.Humanoid
  93. Humanoid.WalkSpeed = 100
  94. local Animator = CharacterScripter:Setup(Me)
  95. Animator("ArmL",{90,0,0},0)
  96. Animator("ArmR",{90,0,0},0)
  97. while wait() do
  98.     while Humanoid.MoveDirection.Magnitude > 0 do
  99.         if Humanoid.Jump then
  100.             Animator("LegL",{0,0,0},0)
  101.             Animator("LegR",{0,0,0},0)
  102.             wait()
  103.         else
  104.             Animator("LegL",{-45,0,0},-0.25)
  105.             Animator("LegR",{45,0,0},-0.25)
  106.             wait(0.1)
  107.             Animator("LegL",{45,0,0},-0.25)
  108.             Animator("LegR",{-45,0,0},-0.25)
  109.             wait(0.1)
  110.         end
  111.     end
  112.     Animator("LegL",{0,0,0},0)
  113.     Animator("LegR",{0,0,0},0)
  114. end
Advertisement
Add Comment
Please, Sign In to add comment