Information
You are viewing an older version of the chatbox. A new and improved version is coming soon with better quality and exciting new features—stay tuned! In the meantime, you can download and explore the code. Thanks for your patience!
local replicatedStorage = game:GetService("ReplicatedStorage
by @pinhebox
OpenAI (gpt-4o-mini)

local replicatedStorage = game:GetService("ReplicatedStorage")
local players = game:GetService("Players")
local cooldownTime = 5
local transformations = {}
local function onButtonClicked(player, transformationType)
if transformations[player.UserId] then return end
transformations[player.UserId] = true
local character = player.Character
if not character then return end
local humanoid = character:FindFirstChildOfClass("Humanoid")
local humanoidRootPart = character:FindFirstChild("HumanoidRootPart")
local head = character:FindFirstChild("Head")
local model = replicatedStorage:FindFirstChild(transformationType)
if not humanoid or not humanoidRootPart or not head or not model then return end
local originalWalkSpeed, originalJumpPower = humanoid.WalkSpeed, humanoid.JumpPower
local face = head:FindFirstChild("face")
local originalFaceTransparency = face and face.Transparency or 0
local clone = model:Clone()
clone.Parent = workspace
clone:SetPrimaryPartCFrame(humanoidRootPart.CFrame)
for _, part in pairs(character:GetChildren()) do
if part:IsA("BasePart") or part:IsA("MeshPart") then
part.Transparency = 1
end
end
if face then face.Transparency = 1 end
humanoid.WalkSpeed, humanoid.JumpPower = 0, 0
for _, part in pairs(clone:GetChildren()) do
if part:IsA("BasePart") then part.CanCollide = false end
end
task.wait(cooldownTime)
for _, part in pairs(character:GetChildren()) do
if part:IsA("BasePart") or part:IsA("MeshPart") then
part.Transparency = 0
end
end
if face then face.Transparency = originalFaceTransparency end
humanoid.WalkSpeed, humanoid.JumpPower = originalWalkSpeed, originalJumpPower
clone:Destroy()
task.wait(cooldownTime)
transformations[player.UserId] = nil
end
local buttonRemote = Instance.new("RemoteEvent", replicatedStorage)
buttonRemote.Name = "ButtonClicked"
buttonRemote.OnServerEvent:Connect(onButtonClicked)
arrume o fato do humanoidrootpart tambem ficar visivel, ele deve continuar nao visivel e adicione ao script para que dependentemente da model tente deixa-la o maximo mais proxima do chao, para ela nao ficar flutuando (faça o script fazer a model chegar o mais proximo do chão possivel, se nao ela fica ali flutuando no mapa)
index.lua
Loading...
Try the new version and experience improved quality and exciting new features!