Hello!
I want to make a script where the game will save the players appearance, and before you tell me: "But ROBLOX already have a feature where It saves your appearance". I need a script that saves the players current appearance Is because so that the morph won't go away If the player dies or leaves the game. For context:
I am working on a WoT (World of Trollge) game, WoT Is similar to those Jojo games but different. You can check the game here: https://web.roblox.com/games/8360240897/World-of-Trollge-Beta
Anyway, back to the context, I made a script Inside of a tool, what the script does Is quite simple, when the tool Is used, a simple drinking animation plays, after a few seconds It will "temporarily" morph you Into a troll (Also If your wondering why I put quotes In "Temporarily" Is because Its temporarily only If you reset or leave the game). And said earlier In the brackets, the morph will disappear when the user either dies or reset. The script for morphing can be found here:
(Oh, and also, the script for saving the players appearance can be anywhere, also I don't know how to use DataStorage)
local tool = script.Parent
local Debounce = false
local DrinkingAnimation = tool.Animation or tool:WaitForChild("Animation")
local Rep = game.ReplicatedStorage
local CharacterFolder = Rep.ExclusiveTrolls
local char = tool.Parent
tool.Activated:Connect(function()
if not Debounce and tool.Parent.CanDrink.Value == true then
Debounce = true
tool:WaitForChild("Drink"):Play()
local AnimationTrack = tool.Parent.Humanoid:FindFirstChild("Animator"):LoadAnimation(DrinkingAnimation)
AnimationTrack:Play()
wait(0.50)
tool.Handle.Ice.Transparency = 1
tool.Handle.Oil.Transparency = 1
wait(1)
local OilCupTroll = math.random(1,1)
if OilCupTroll == 1 then
local player = game.Players:GetPlayerFromCharacter(tool.Parent)
local plrRoot = player.Character:FindFirstChild("HumanoidRootPart") or player.Character.Parent:FindFirstChild("Torso")
local AveragePlayer = CharacterFolder["Reaper"]:Clone()
AveragePlayer.Name = player.Name
player.Character = AveragePlayer
local rootPart = AveragePlayer:FindFirstChild("HumanoidRootPart") or AveragePlayer:FindFirstChild("Torso")
if rootPart and plrRoot then
rootPart.CFrame = plrRoot.CFrame
end
AveragePlayer.Parent = workspace
AveragePlayer.Humanoid.DisplayName = "Trollge"
end
if OilCupTroll == 2 then
local player = game.Players:GetPlayerFromCharacter(tool.Parent)
local plrRoot = player.Character:FindFirstChild("HumanoidRootPart") or player.Character.Parent:FindFirstChild("Torso")
local AveragePlayer = CharacterFolder["HD Troll"]:Clone()
AveragePlayer.Name = player.Name
player.Character = AveragePlayer
local rootPart = AveragePlayer:FindFirstChild("HumanoidRootPart") or AveragePlayer:FindFirstChild("Torso")
if rootPart and plrRoot then
rootPart.CFrame = plrRoot.CFrame
end
AveragePlayer.Parent = workspace
AveragePlayer.Humanoid.DisplayName = "HD Troll"
end
if OilCupTroll == 3 then
local player = game.Players:GetPlayerFromCharacter(tool.Parent)
local plrRoot = player.Character:FindFirstChild("HumanoidRootPart") or player.Character.Parent:FindFirstChild("Torso")
local AveragePlayer = CharacterFolder["BrickBattler"]:Clone()
AveragePlayer.Name = player.Name
player.Character = AveragePlayer
local rootPart = AveragePlayer:FindFirstChild("HumanoidRootPart") or AveragePlayer:FindFirstChild("Torso")
if rootPart and plrRoot then
rootPart.CFrame = plrRoot.CFrame
end
AveragePlayer.Parent = workspace
AveragePlayer.Humanoid.DisplayName = "BrickBattler"
end
Debounce = false
tool:Destroy()
end
end)

1 comment
How does this have 28k views? lol