local Player = game.Players.LocalPlayer local Character = Player.Character or Player.CharacterAdded:Wait() local Hum = Character:WaitForChild("Humanoid") local HRP = Character:WaitForChild("HumanoidRootPart") local Mouse = Player:GetMouse() Hum.HipHeight = 2.3 if workspace:FindFirstChild(Player.Name.."_GZ_V30") then workspace[Player.Name.."_GZ_V30"]:Destroy() end local GZ = Instance.new("Model", workspace) GZ.Name = Player.Name.."_GZ_V30" local AtomicSound = Instance.new("Sound", HRP) AtomicSound.SoundId = "rbxassetid://105530231448325" AtomicSound.Volume = 4.4 local RoarSound = Instance.new("Sound", HRP) RoarSound.SoundId = "rbxassetid://137350585679618" RoarSound.Volume = 5 for _, part in ipairs(Character:GetChildren()) do if part:IsA("BasePart") and part.Name ~= "HumanoidRootPart" then part.Transparency = 1 elseif part:IsA("Accessory") then part:Destroy() end end local function createGZPart(name, size, color, material) local p = Instance.new("Part") p.Name = name; p.Size = size; p.Color = color or Color3.new(0, 0, 0); p.Material = material or Enum.Material.Plastic p.CanCollide, p.CanTouch, p.CanQuery, p.Massless = false, false, false, true p.Parent = GZ Instance.new("NoCollisionConstraint", p).Part0, Instance.new("NoCollisionConstraint", p).Part1 = p, HRP return p end local function createMotor(p0, p1, c0) local m = Instance.new("Motor6D", p0) m.Part0, m.Part1, m.C0 = p0, p1, c0 return m end local Torso = createGZPart("Torso", Vector3.new(4, 5.5, 4.5)) local TorsoM = createMotor(HRP, Torso, CFrame.Angles(0, math.rad(180), 0)) local BrainCase = createGZPart("BrainCase", Vector3.new(2.2, 1.8, 2.2)) createMotor(Torso, BrainCase, CFrame.new(0, 3.5, 0.8)) local Snout = createGZPart("Snout", Vector3.new(2.3, 1.2, 2.8)) createMotor(BrainCase, Snout, CFrame.new(0, -0.1, 1.8)) local Jaw = createGZPart("Jaw", Vector3.new(2.2, 0.8, 2.7)) local JawM = createMotor(BrainCase, Jaw, CFrame.new(0, -0.7, 1.3)) local NeckConnect = createGZPart("NeckConnect", Vector3.new(2.5, 1.2, 1.8)) createMotor(BrainCase, NeckConnect, CFrame.new(0, -0.2, -1.0)) local function addTeeth(parent, yOffset, isUpper) for i = -1, 1, 0.45 do local tooth = createGZPart("Tooth", Vector3.new(0.2, 0.5, 0.2), Color3.new(1, 1, 1), Enum.Material.SmoothPlastic) createMotor(parent, tooth, CFrame.new(i * 0.85, yOffset, isUpper and 1.1 or 1.2) * CFrame.Angles(math.rad(isUpper and -10 or 15), 0, 0)) end end addTeeth(Snout, -0.5, true); addTeeth(Jaw, 0.3, false) local Eyes = {} local function addEye(side) local xOffset = side == "L" and 0.65 or -0.65 local eye = createGZPart("Eye"..side, Vector3.new(0.6, 0.4, 0.02), Color3.new(1,1,1), Enum.Material.SmoothPlastic) local eyeM = createMotor(BrainCase, eye, CFrame.new(xOffset, 0.65, 1.1)) local pupil = createGZPart("Pupil"..side, Vector3.new(0.3, 0.3, 0.02), Color3.new(0,0,0), Enum.Material.SmoothPlastic) local pupilM = createMotor(eye, pupil, CFrame.new(0, 0, 0.01)) table.insert(Eyes, {sclera = eye, pupil = pupil, eyeMotor = eyeM, pupilMotor = pupilM, originalSize = eye.Size}) end addEye("L"); addEye("R") local FingerMotors = {} local function createArm(side) local arm = createGZPart("Arm"..side, Vector3.new(1.3, 3.5, 1.3)) createMotor(Torso, arm, CFrame.new(side == "L" and 2.5 or -2.5, 1, 1.2) * CFrame.Angles(math.rad(-45), 0, 0)) local fCount = 0 for i = -0.4, 0.4, 0.4 do fCount = fCount + 1 local f = createGZPart("Finger", Vector3.new(0.3, 0.7, 0.3), Color3.new(0, 0, 0)) local fM = createMotor(arm, f, CFrame.new(i, -1.8, 0.2) * CFrame.Angles(math.rad(-30), 0, 0)) local claw = createGZPart("Claw", Vector3.new(0.25, 0.4, 0.25), Color3.new(1, 1, 1), Enum.Material.SmoothPlastic) createMotor(f, claw, CFrame.new(0, -0.4, 0.1)) table.insert(FingerMotors, {motor = fM, id = fCount}) end end createArm("L"); createArm("R") local function createLeg(side) local leg = createGZPart("Leg"..side, Vector3.new(2.2, 5, 2.8)) local legM = createMotor(Torso, leg, CFrame.new(side == "L" and 1.4 or -1.4, -2.8, 0)) for i = -0.6, 0.6, 0.6 do local toe = createGZPart("Toe", Vector3.new(0.6, 0.5, 1.2), Color3.new(0,0,0)) createMotor(leg, toe, CFrame.new(i, -2.3, 1.2)) local claw = createGZPart("ToeClaw", Vector3.new(0.4, 0.3, 0.5), Color3.new(1, 1, 1), Enum.Material.SmoothPlastic) createMotor(toe, claw, CFrame.new(0, -0.1, 0.7)) end return legM end local LLM, LRM = createLeg("L"), createLeg("R") local AllSpikes = {} local TailMotors = {} local lastP = Torso for i = 1, 10 do local size = 3.2 - (i * 0.3) local seg = createGZPart("T"..i, Vector3.new(size, size, 3.5)) local m = createMotor(lastP, seg, CFrame.new(0, (i==1 and -1.5 or 0), (i==1 and -2 or -3.2))) table.insert(TailMotors, m); lastP = seg if i < 9 then local ts = createGZPart("TS", Vector3.new(size*0.4, size*0.8, size*0.5), Color3.new(1, 1, 1), Enum.Material.SmoothPlastic) ts.Transparency = 0.5 createMotor(seg, ts, CFrame.new(0, size*0.5, 0) * CFrame.Angles(math.rad(20), 0, 0)) table.insert(AllSpikes, ts) end end for i = 1, 6 do local s = createGZPart("S", Vector3.new(1.2, 2.5-(i*0.15), 1.8), Color3.new(1, 1, 1), Enum.Material.SmoothPlastic) s.Transparency = 0.5 if i <= 2 then createMotor(NeckConnect, s, CFrame.new(0, 0.4, -0.3-((i-1)*0.9)) * CFrame.Angles(math.rad(45), 0, 0)) else createMotor(Torso, s, CFrame.new(0, 4.5-((i-2)*1.4), -2.2) * CFrame.Angles(math.rad(20), 0, 0)) end table.insert(AllSpikes, s) end local isGlowActive = false local isRoaring = false local function ToggleGlow() if isGlowActive or isRoaring then return end isGlowActive = true AtomicSound:Play() for _, s in ipairs(AllSpikes) do s.Material = Enum.Material.Neon; s.Color = Color3.fromRGB(0, 170, 255); s.Transparency = 0 end for _, e in ipairs(Eyes) do e.sclera.Color = Color3.fromRGB(0, 200, 255); e.sclera.Material = Enum.Material.Neon end local startTime = tick() while tick() - startTime < 5 do JawM.C1 = JawM.C1:Lerp(CFrame.Angles(math.rad(-40), 0, 0), 0.2) task.wait() end AtomicSound:Stop() for _, s in ipairs(AllSpikes) do s.Material = Enum.Material.SmoothPlastic; s.Color = Color3.new(1, 1, 1); s.Transparency = 0.5 end for _, e in ipairs(Eyes) do e.sclera.Color = Color3.new(1,1,1); e.sclera.Material = Enum.Material.SmoothPlastic end isGlowActive = false end local function PlayRoar() if isRoaring or isGlowActive then return end isRoaring = true RoarSound:Play() local start = tick() while tick() - start < 7 do JawM.C1 = JawM.C1:Lerp(CFrame.Angles(math.rad(-45), 0, 0), 0.2) task.wait() end isRoaring = false end Mouse.KeyDown:Connect(function(k) if k:lower()=="r" then ToggleGlow() elseif k:lower()=="t" then PlayRoar() end end) local lastBlink = tick() local blinkDuration = 0.12 local blinkInterval = math.random(3, 6) game:GetService("RunService").RenderStepped:Connect(function() local t = tick(); local vel = HRP.Velocity.Magnitude local isBlinking = (t - lastBlink) < blinkDuration if t - lastBlink > blinkInterval then lastBlink = t; blinkInterval = math.random(3, 6) end for _, e in ipairs(Eyes) do if isBlinking then e.sclera.Size = e.sclera.Size:Lerp(Vector3.new(e.originalSize.X, 0.01, e.originalSize.Z), 0.5) e.pupil.Transparency = 1 else e.sclera.Size = e.sclera.Size:Lerp(e.originalSize, 0.2) e.pupil.Transparency = 0 end e.pupilMotor.C1 = e.pupilMotor.C1:Lerp(CFrame.new(math.sin(t*0.8)*0.12, math.cos(t*0.5)*0.05, 0), 0.1) end if not isRoaring and not isGlowActive then JawM.C1 = JawM.C1:Lerp(CFrame.Angles(math.rad(-8 + math.sin(t*2)*5), 0, 0), 0.1) end for _, data in ipairs(FingerMotors) do local individualGrip = math.sin((t * 2.5) - (data.id * 0.6)) * 12 data.motor.C1 = data.motor.C1:Lerp(CFrame.Angles(math.rad(-25 + individualGrip), 0, 0), 0.1) end for i, m in ipairs(TailMotors) do m.C1 = CFrame.Angles(0, math.sin(t*1.5-(i*0.3))*0.15, 0) end if vel > 1 then local cycle = math.sin(t * 4) LLM.C1 = CFrame.Angles(cycle * 0.5, 0, 0); LRM.C1 = CFrame.Angles(-cycle * 0.5, 0, 0) else LLM.C1 = LLM.C1:Lerp(CFrame.new(), 0.1); LRM.C1 = LRM.C1:Lerp(CFrame.new(), 0.1) end end)