#Thick Legends remake

1 messages · Page 1 of 1 (latest)

kindred stirrup
#

I'm trying to make a game like thick legends, and i cannot get code down that is like the growing portion. I can easily do everything else besides that, i dont know how I can make myself eat, then my rig grows properly without growing inside myself, clipping into the ground, accessories growing with my rig etc. If someone can help me that would be great!

I tried myeslf and completely failed because either my limbs get misplaced, i grow but my legs clip into ground, i grow inside myself, or my libs get misplaced and im stuck, and the growing system is legit the only thing i need to continue with my project

keen inlet
kindred stirrup
#

I tried, and my accessories didnt grow either, heres what i have so far

local tool = script.Parent
local PhysicsService = game:GetService("PhysicsService")

local function setupCollisionGroup(character)

PhysicsService:RegisterCollisionGroup("ScaledCharacter")

PhysicsService:CollisionGroupSetCollidable("ScaledCharacter", "Default", false)


for _, part in pairs(character:GetDescendants()) do
    if part:IsA("BasePart") and part.Name ~= "HumanoidRootPart" then
        PhysicsService:SetPartCollisionGroup(part, "ScaledCharacter")
    end
end

end

tool.Equipped:Connect(function()
local character = tool.Parent
if character then
setupCollisionGroup(character)
end
end)

tool.Activated:Connect(function()

local character = tool.Parent
local player = game.Players:GetPlayerFromCharacter(character)

local humanoid = character:FindFirstChild("Humanoid")

if humanoid then
    
    local animation = Instance.new("Animation")
    animation.AnimationId = "rbxassetid://81090340118418" 
    local animTrack = humanoid:LoadAnimation(animation)
    animTrack:Play()

    local sizeIncrease = tool:GetAttribute("SizeIncrease") or 0.1  
    local healthIncrease = tool:GetAttribute("HealthIncrease") or 10  

    humanoid.MaxHealth = humanoid.MaxHealth + healthIncrease 
    humanoid.Health = humanoid.Health + healthIncrease        


    local currentScale = character:GetScale()  
    local scaleFactor = 1 + sizeIncrease / currentScale


    for _, part in pairs(character:GetDescendants()) do
        if part:IsA("BasePart") and part.Name ~= "HumanoidRootPart" then
            part.Size = part.Size * scaleFactor  
            PhysicsService:SetPartCollisionGroup(part, "ScaledCharacter")  
        end
    end

    -- Scale accessories and update their attachments
    for _, accessory in pairs(character:GetChildren()) do
        if accessory:IsA("Accessory") then
            local handle = accessory:FindFirstChild("Handle")
            if handle and handle:IsA("BasePart") then
                handle.Size = handle.Size * scaleFactor  

                for _, attachment in pairs(handle:GetChildren()) do
                    if attachment:IsA("Attachment") then
                        attachment.Position = attachment.Position * scaleFactor
                    end
                end
                
                PhysicsService:SetPartCollisionGroup(handle, "ScaledCharacter")
            end
        end
    end

    local burgerHandle = tool:FindFirstChild("Handle")
    if burgerHandle and burgerHandle:IsA("BasePart") then
        burgerHandle.Size = burgerHandle.Size * scaleFactor  
        PhysicsService:SetPartCollisionGroup(burgerHandle, "ScaledCharacter")  
    end

    if humanoid.RigType == Enum.HumanoidRigType.R15 then
        local humanoidDescription = humanoid:GetHumanoidDescription()
        humanoidDescription.BodyTypeScale = humanoidDescription.BodyTypeScale + sizeIncrease
        humanoid:ApplyDescription(humanoidDescription)
    end
end

end)

#

ill send video of what i have

#

im not the best scripter

#

@keen inlet

keen inlet
#
  1. Missing variable name in for loops
#

Invalid character:GetScale()

#

Repeated registration of collision group

#

Incorrect animation ID

#

Your animation ID has too many numbers

kindred stirrup
#

wdym how

#

you saw the animation via video

#

that animation is uploaded through roblox

keen inlet
#

ohh nvm

#

I though it was something else which is usually 10 letters

#

ok try this: local tool = script.Parent
local PhysicsService = game:GetService("PhysicsService")

local function setupCollisionGroup(character)
pcall(function()
PhysicsService:RegisterCollisionGroup("ScaledCharacter")
end)
PhysicsService:CollisionGroupSetCollidable("ScaledCharacter", "Default", false)

for _, part in pairs(character:GetDescendants()) do
    if part:IsA("BasePart") and part.Name ~= "HumanoidRootPart" then
        PhysicsService:SetPartCollisionGroup(part, "ScaledCharacter")
    end
end

end

tool.Equipped:Connect(function()
local character = tool.Parent
if character then
setupCollisionGroup(character)
end
end)

tool.Activated:Connect(function()
local character = tool.Parent
local player = game.Players:GetPlayerFromCharacter(character)
local humanoid = character:FindFirstChildOfClass("Humanoid")
if not humanoid then return end

local animation = Instance.new("Animation")

animation.AnimationId = "rbxassetid://81090340118418"
local animTrack = humanoid:LoadAnimation(animation)
animTrack:Play()

local sizeIncrease = tool:GetAttribute("SizeIncrease") or 0.1
local healthIncrease = tool:GetAttribute("HealthIncrease") or 10

humanoid.MaxHealth += healthIncrease
humanoid.Health += healthIncrease

local currentScale = 1 -- Replace with tracked value if needed
local scaleFactor = 1 + sizeIncrease / currentScale
#

add this to the end: for _, part in pairs(character:GetDescendants()) do
if part:IsA("BasePart") and part.Name ~= "HumanoidRootPart" then
part.Size *= scaleFactor
PhysicsService:SetPartCollisionGroup(part, "ScaledCharacter")
end
end

for _, accessory in pairs(character:GetChildren()) do
    if accessory:IsA("Accessory") then
        local handle = accessory:FindFirstChild("Handle")
        if handle and handle:IsA("BasePart") then
            handle.Size *= scaleFactor
            for _, attachment in pairs(handle:GetChildren()) do
                if attachment:IsA("Attachment") then
                    attachment.Position *= scaleFactor
                end
            end

            local mesh = handle:FindFirstChildOfClass("SpecialMesh")
            if mesh then
                mesh.Scale *= scaleFactor
            end

            PhysicsService:SetPartCollisionGroup(handle, "ScaledCharacter")
        end
    end
end

local burgerHandle = tool:FindFirstChild("Handle")
if burgerHandle and burgerHandle:IsA("BasePart") then
    burgerHandle.Size *= scaleFactor
    PhysicsService:SetPartCollisionGroup(burgerHandle, "ScaledCharacter")
end

if humanoid.RigType == Enum.HumanoidRigType.R15 then
    local desc = humanoid:GetHumanoidDescription()
    desc.BodyTypeScale += sizeIncrease
    humanoid:ApplyDescription(desc)
end

end)

kindred stirrup
#

@keen inlet also would it work with R6 or would it have to be R15 for making this type of game

keen inlet
#

I think it would work better with R6

#

less parts = less complicated

kindred stirrup
#

complicated for me obv, i need to hire a scripter but i cannot afford one

hallow epochBOT
#

studio** You are now Level 5! **studio

kindred stirrup
#

how much does one normaly cost?for this type of system

keen inlet
#

only 500 robux + tax (somewhere around 700 robux in total) which more affordable than usual. I can finish today or tomorrow

kindred stirrup
keen inlet
#

can you share it thru roblox studio?

#

my username is hamidcc

kindred stirrup
#

ive added you

#

Th3Puro

keen inlet
#

accepted

kindred stirrup
#

Bite to Bulk TEST

#

I need to go eat so ill be back in like 15-20

kindred stirrup
keen inlet
#

slightly better

kindred stirrup
keen inlet
kindred stirrup
#

also DM me the gamepass for whatever you want and ill pay you asap

#

im legit the only one carrying this project, theres 3 other devs (my friends) and they dont know shit

#

so you're amazing for helping