Skip to main content

Script Better — Fe Giant Tall Avatar

A "better" script doesn't force you to type game.Players.LocalPlayer.Character.Humanoid.BodyDepthScale.Value = 10 every time. It comes with a clean, draggable GUI that allows real-time scaling from 1x to 100x.

User: Decides to leave or ends interaction.

FE Giant Response:

  • Animation mismatch:
  • Collision and pathfinding:
  • Hit detection for tools and weapons:
  • If you have copy-pasted scripts from random paste sites before, you have likely experienced the "Rubber Band" effect. You set your size to 50, you get huge for one second, and then you snap back to normal size.

    Why does this happen? Because Roblox has a network ownership system. Most bad scripts only change the client-side appearance. A better FE script uses specific remote events or tweaks the Scale property of accessories to trick the server into accepting the new collision box. fe giant tall avatar script better

    A superior script offers:

    Example (concise, illustrative):

    Server Script (in ServerScriptService)

    local ReplicatedStorage = game:GetService("ReplicatedStorage")
    local Players = game:GetService("Players")
    local RequestScale = Instance.new("RemoteEvent", ReplicatedStorage)
    RequestScale.Name = "RequestScale"
    local ADMIN_USER_IDS = 12345678 -- fill if needed
    local function isAdmin(player)
        for _,id in ipairs(ADMIN_USER_IDS) do if player.UserId == id then return true end end
        return false
    end
    local function applyScaleToCharacter(character, scale)
        scale = math.clamp(scale, 0.5, 5) -- server-enforced limits
        local humanoid = character:FindFirstChildOfClass("Humanoid")
        if not humanoid then return end
    -- Adjust HipHeight proportionally
        humanoid.HipHeight = (humanoid.HipHeight or 2) * scale
    -- Scale parts and adjust Motor6D C0/C1
        for _, part in ipairs(character:GetDescendants()) do
            if part:IsA("BasePart") and part.Name ~= "HumanoidRootPart" then
                part.Size = part.Size * scale
                -- Optionally set density/massless for stability
                pcall(function() part.CustomPhysicalProperties = PhysicalProperties.new(0,0,0,0,0) end)
            elseif part:IsA("Motor6D") then
                part.C0 = part.C0 * CFrame.new(0,0,0) * CFrame.new(part.C0.Position * (scale - 1))
                part.C1 = part.C1 * CFrame.new(0,0,0) * CFrame.new(part.C1.Position * (scale - 1))
            end
        end
    -- Adjust HumanoidRootPart
        local hrp = character:FindFirstChild("HumanoidRootPart")
        if hrp then
            hrp.Size = hrp.Size * scale
            hrp.CFrame = hrp.CFrame -- keep position; may need offset
        end
    end
    RequestScale.OnServerEvent:Connect(function(player, mode)
        -- mode could be "giant", "normal", or numeric scale
        if typeof(mode) == "string" then
            if mode == "giant" then
                applyScaleToCharacter(player.Character, 3)
            elseif mode == "normal" then
                applyScaleToCharacter(player.Character, 1)
            end
        elseif typeof(mode) == "number" and isAdmin(player) then
            applyScaleToCharacter(player.Character, mode)
        end
    end)
    

    Notes:

    | Feature | How it works | |---------|---------------| | FE Compatible | Uses RemoteEvents & server authority | | Multiplayer Sync | All players see size changes | | Realistic Physics | Walk speed inversely scales, jump scales up | | Controls | GUI buttons + Keyboard (+ / - / R) | | Collision Scaling | PhysicalProperties adjust with size | | Crushing (optional) | Giant avatars break small parts | | Sound Effects | Plays growth sound when changing size | | Chat Commands | Type /grow, /shrink, /reset |