Jump to content
  • The forum downloads section will be removed on Jan 1st 2023. Players may still download mods that are currently hosted, but new submissions are no longer being accepted. Mod makers are advised to relocate their mods to alternative hosting solutions.

Hat Example 1.0


4 Screenshots

About This File

This is an example of a hat. This example requires the PC version of the 'Don't Starve Mod Tools'.

  • Like 2
  • Thanks 1
  • Health 1

User Feedback

Recommended Comments

Can you make an updated version of this that better allows for multiple hats to be added at once i.e. separate folders for each hat prefab?Or, could you clarify how to set up the anim for a  custom hat from scratch? 

Link to comment
Share on other sites

Can you make an updated version of this that better allows for multiple hats to be added at once i.e. separate folders for each hat prefab?Or, could you clarify how to set up the anim for a  custom hat from scratch? 

I'm thinking you just take this example, and swap your files with your stuff. I'm going to use the extended charecter template for reference and try it,

Link to comment
Share on other sites

To clarify, I can't just take this out of the box, rename the folder and scml files, and corrosponding script files for it to work can i?

Link to comment
Share on other sites

On 14.01.2018 at 11:59 PM, orlyx said:
On 14.01.2018 at 11:59 PM, orlyx said:

What i doing wrong? 

image.thumb.png.b287dc545e7726cbb9a5fe4fc7148a8c.png

hat2.rar

 

I have This problem too,  please explain to me how to fix it

unknown (6).png

unknown (5).png

Link to comment
Share on other sites

For anyone getting the "my face disappeared!" issue in DST:
go into hat > scripts > prefabs > hat_bee_bw and change all of this:

Spoiler

local function fn()

    local function OnEquip(inst, owner) 
        owner.AnimState:OverrideSymbol("swap_hat", "hat_bee_bw_swap", "swap_hat")
        owner.AnimState:Show("HAT")
        owner.AnimState:Show("HAT_HAIR")
        owner.AnimState:Hide("HAIR_NOHAT")
        owner.AnimState:Hide("HAIR")
        print('A')
        if owner:HasTag("player") then
            print('B')
            owner.AnimState:Hide("HEAD")
            owner.AnimState:Show("HEAD_HAIR")
        end
    end

    local function OnUnequip(inst, owner) 
        owner.AnimState:Hide("HAT")
        owner.AnimState:Hide("HAT_HAIR")
        owner.AnimState:Show("HAIR_NOHAT")
        owner.AnimState:Show("HAIR")

        if owner:HasTag("player") then
            owner.AnimState:Show("HEAD")
            owner.AnimState:Hide("HEAD_HAIR")
        end
    end

to this:

Spoiler

 local function OnEquip(inst, owner, symbol_override)
        local fname = "hat_bee_bw_swap" 
        local skin_build = inst:GetSkinBuild()
        if skin_build ~= nil then
            owner:PushEvent("equipskinneditem", inst:GetSkinName())
            owner.AnimState:OverrideItemSkinSymbol("swap_hat", skin_build, symbol_override or "swap_hat", inst.GUID, fname)
        else
            owner.AnimState:OverrideSymbol("swap_hat", fname, symbol_override or "swap_hat")
        end
        owner.AnimState:Show("HAT")
        owner.AnimState:Show("HAIR_HAT")
        owner.AnimState:Hide("HAIR_NOHAT")
        owner.AnimState:Hide("HAIR")

        if owner:HasTag("player") then
            owner.AnimState:Hide("HEAD")
            owner.AnimState:Show("HEAD_HAT")
        end

        if inst.components.fueled ~= nil then
            inst.components.fueled:StartConsuming()
        end
    end

    local function OnUnequip(inst, owner)
        local skin_build = inst:GetSkinBuild()
        if skin_build ~= nil then
            owner:PushEvent("unequipskinneditem", inst:GetSkinName())
        end

        owner.AnimState:ClearOverrideSymbol("swap_hat")
        owner.AnimState:Hide("HAT")
        owner.AnimState:Hide("HAIR_HAT")
        owner.AnimState:Show("HAIR_NOHAT")
        owner.AnimState:Show("HAIR")

        if owner:HasTag("player") then
            owner.AnimState:Show("HEAD")
            owner.AnimState:Hide("HEAD_HAT")
        end
    end 

This fixed the problem for me.

  • Thanks 1
Link to comment
Share on other sites

On 1/22/2019 at 1:26 AM, DakuKyatto said:

I have This problem too,  please explain to me how to fix it

unknown (6).png

unknown (5).png

If anyone else have this issue, I fixed mine going into scripts\prefabs\bee_hat_bw.lua and changing HEAD_HAIR to HEAD_HAT, like this
 

local function fn()

    local function OnEquip(inst, owner) 
        owner.AnimState:OverrideSymbol("swap_hat", "hat_bee_bw_swap", "swap_hat")
        owner.AnimState:Show("HAT")
        owner.AnimState:Show("HAT_HAIR")
        owner.AnimState:Hide("HAIR_NOHAT")
        owner.AnimState:Hide("HAIR")
        print('A')
        if owner:HasTag("player") then
            print('B')
            owner.AnimState:Hide("HEAD")
            owner.AnimState:Show("HEAD_HAT")
        end
    end

    local function OnUnequip(inst, owner) 
        owner.AnimState:Hide("HAT")
        owner.AnimState:Hide("HAT_HAIR")
        owner.AnimState:Show("HAIR_NOHAT")
        owner.AnimState:Show("HAIR")

        if owner:HasTag("player") then
            owner.AnimState:Show("HEAD")
            owner.AnimState:Hide("HEAD_HAT")
        end
    end

Link to comment
Share on other sites

This is unclear. Both Spriter projects have same image (swap_hat-3.png). Why does the hat_bee_bw_swap.scml have "BUILD_PLAYER" in the animation? Also how does "owner.AnimState:OverrideSymbol("swap_hat", "hat_bee_bw_swap", "swap_hat")" work? (what are those 3 parameters)

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
  • Create New...