I have a laugh emote that plays the Clash Royale HEHEHEHA when you use it.
I am wondering how I could also make it so your avatar turns into a model I have, and back when the emote is done.
Here is my script if you want to implement it:
game.Players.PlayerAdded:Connect(function(plr)
local char = plr.Character or plr.CharacterAdded:Wait()
local humanoid = char.Humanoid
plr.Chatted:Connect(function(msg)
----- /e spin -----
if msg == "/e spin" then
local sound = Instance.new("Sound")
sound.SoundId = "rbxassetid://686885384"
sound.RollOffMaxDistance = 100
sound.Looped = true
sound.Parent = char
sound:Play()
game.Debris:AddItem(sound, 5)
print("someone ran /e spin")
----- /e laugh -----
elseif msg == "/e laugh" then
local sound = Instance.new("Sound")
sound.SoundId = "rbxassetid://8877570706"
sound.RollOffMaxDistance = 10
sound.Parent = char
sound:Play()
game.Debris:AddItem(sound, 5)
print("someone ran /e laugh")
end
I have an idea for you. I am not clear on what you are trying to do and or why you would want to do that, but as far as turning the character into a model… hereare my thoughts.
just anchor the players HumanoidRootPart and then unanchor it when done. If that is not what you want then…
You could grab the players Character and move it to replicated or server storage. You could then Clone() the character model and parent it to the workspace or where you want it. Then you could do whatever you want to the model. then destroy the model and move the player’s character back out from storage and parent it back to the workspace.
If I knew more about the why of your goals, maybe I could offer up a different solution.
As far as getting the players character you would just need to create a function to get the character from the player. Then you could access that specific players character model in the game.