I am creating a camping game. I am trying a character walking or waving. Like in Field Trip Z.
I have tried watching yt tutorials. They only work for a dummy. Could you please help me do this?
Thank you.
From CoolGuyAlt_67890y
I am creating a camping game. I am trying a character walking or waving. Like in Field Trip Z.
I have tried watching yt tutorials. They only work for a dummy. Could you please help me do this?
Thank you.
From CoolGuyAlt_67890y
@boatbomber made an open source module for this.
See this post:
This renders the player’s character so you will see it move when they walk, run, jump, etc.
If you want to make a character wave, you can just load roblox’s default wave animation to the players humanoid.
For some reason i cant open the file. Why??
You have to go to the models section, and click on the model button on the right hand side, then it should open your explorer, then select the model you downloaded.
still cant find it. I downloaded it.
It says no application can open it
I just explained, you have to go to the models section and open it from there…
I did it. After trying a long time.
My
thanks to you
Hey, it’s me! In that post I didn’t know the limits of the WorldModel so I was tryna do stuff the WorldModel can’t do. But hopefully they add more functionality to it in the future.
local Message = game.ReplicatedStorage:WaitForChild(“Message”) — StringValue
local Speaker = Message:WaitForChild(“Speaker”) — StringValue
local player = game.Players.LocalPlayer
local DialogueFrame = player.PlayerGui:WaitForChild(“DialogueGui”).DialogueFrame
local RunService = game:GetService(‘RunService’)
local UserInputService = game:GetService(“UserInputService”)
–Localize
local instance,newRay = Instance.new,Ray.new
local v2,v3,cf,udim2 = Vector2.new,Vector3.new,CFrame.new,UDim2.new
local insert,random,abs = table.insert,math.random,math.abs
local ValidClasses = {
[“MeshPart”] = true; [“Part”] = true; [“Accoutrement”] = true;
[“Pants”] = true; [“Shirt”] = true;
[“Humanoid”] = true;
}
local function RenderHumanoid(Model, Parent, MainModel)
local ModelParts = Model:GetDescendants()
for i=1, #ModelParts do
local Part = ModelParts[i]
if ValidClasses[Part.ClassName] then
local a = Part.Archivable
Part.Archivable = true
local RenderClone = Part:Clone()
Part.Archivable = a
if Part.ClassName == "MeshPart" or Part.ClassName == "Part" then
PartUpdater = RunService.Heartbeat:Connect(function()
if Part then
RenderClone.CFrame = Part.CFrame
else
RenderClone:Destroy()
PartUpdater:Disconnect()
end
end)
elseif Part:IsA("Accoutrement") then
PartUpdater = RunService.Heartbeat:Connect(function()
if Part then
if RenderClone.Handle then
RenderClone.Handle.CFrame = Part.Handle.CFrame
end
else
RenderClone:Destroy()
PartUpdater:Disconnect()
end
end)
elseif Part.ClassName == "Humanoid" then
RenderClone:SetStateEnabled(Enum.HumanoidStateType.FallingDown, false)
RenderClone:SetStateEnabled(Enum.HumanoidStateType.Running, false)
RenderClone:SetStateEnabled(Enum.HumanoidStateType.RunningNoPhysics, false)
RenderClone:SetStateEnabled(Enum.HumanoidStateType.Climbing, false)
RenderClone:SetStateEnabled(Enum.HumanoidStateType.StrafingNoPhysics, false)
RenderClone:SetStateEnabled(Enum.HumanoidStateType.Ragdoll, false)
RenderClone:SetStateEnabled(Enum.HumanoidStateType.GettingUp, false)
RenderClone:SetStateEnabled(Enum.HumanoidStateType.Jumping, false)
RenderClone:SetStateEnabled(Enum.HumanoidStateType.Landed, false)
RenderClone:SetStateEnabled(Enum.HumanoidStateType.Flying, false)
RenderClone:SetStateEnabled(Enum.HumanoidStateType.Freefall, false)
RenderClone:SetStateEnabled(Enum.HumanoidStateType.Seated, false)
RenderClone:SetStateEnabled(Enum.HumanoidStateType.PlatformStanding, false)
RenderClone:SetStateEnabled(Enum.HumanoidStateType.Dead, false)
RenderClone:SetStateEnabled(Enum.HumanoidStateType.Swimming, false)
RenderClone:SetStateEnabled(Enum.HumanoidStateType.Physics, false)
end
RenderClone.Parent = Parent
end
end
end
Message:GetPropertyChangedSignal(“Value”):Connect(function()
DialogueFrame.Dialogue.Text = Message.Value
script.DialogueSound:Play()
end)
Speaker:GetPropertyChangedSignal(“Value”):Connect(function()
DialogueFrame:TweenPosition(UDim2.new(0.55, 0,0.139, 0))
print("New Speaker: "..Speaker.Value)
local Character = workspace[Speaker.Value]
--Basic setup
local ViewPort = DialogueFrame.ViewportFrame
--Settings
local Offset = cf(0,1,-6)
--Create the viewport camera
local Camera = instance("Camera")
ViewPort.CurrentCamera = Camera
--Let the world load before starting
--wait(1)
local function Render()
ViewPort:ClearAllChildren()
--Render the character
local Char = instance("Model")
Char.Name = Speaker.Value
Char.Parent = ViewPort
RenderHumanoid(Character,Char)
DialogueFrame.PlayerImage.nameLabel.Text = Char.Name <--- textLabel
end
--Handle changes
Character.DescendantAdded:Connect(Render)
Character.DescendantRemoving:Connect(Render)
--Initialize
Render()
coroutine.resume(coroutine.create(function()
CameraUpdater = RunService.Heartbeat:Connect(function()
if Character.HumanoidRootPart then
Camera.CFrame = cf(Character.HumanoidRootPart.CFrame:toWorldSpace(Offset).p, Character.HumanoidRootPart.CFrame.p)
end
end)
end))
end)