Jump to content

Recommended Posts

Hey there

I wanna know what exactly is involved in char making, however I wish to use wigfrid as a base. I don't want to make my own drawings like most custom characters.

Essentially I'd want to make a copy of wigfrid but with some twists

  • change hp/hunger/sanity/bonuses values
  • remove battle helm/spear recipes
  • allow non-meat eating
  • loses a chunk of max health every full moon (and stacks)
  • maybe some different hair color and name

I'm starting from nothing here, Any help would be so appreciated. I've tried to look at the stickied threads but didn't seem to find what I was looking for.

Apologies if I've missed the obvious

Edited by Hell-met
Link to comment
https://forums.kleientertainment.com/forums/topic/103713-character-reskin/
Share on other sites

alright after fiddling around with multiple tutorials i must say this is the most non-user friendly game engine i've ever worked with. I'd be honestly amazed if Klei didn't have their own horde of automated programs to waddle through this ocean of sh**. Even the user guides and workshop templates are pure chaos to figure out.

welp. It was nice having some glimpse of hope while it lasted.

 

Modding in don't starve requires some true programming skills. Tutorials only can do so much, you'll definitly need to learn basic .lua programming knowledge which can be daunting for those that have never done it before.

Seriously once you get through the initial hurdle of getting set up and started modding your possibilities become quite limitless.

One of the easiest ways to learn is to look at how others have done it and copy them initially.

There are tons of character mods on the workshop. It is important to read all notes.

This tutorial while kind of outdated because its missing the wrist sleeves and swap face symbols still is good enough to get started. 

 

From what I gather it seems like editing an existing asset is much more complicated than using that template. 

I just wanna recolor wathgrithr but I can't find her scml to recompile the anims or something. Stock characters have all their body parts fused into a single image yet the template has it all split into numerous folders for each part. I don't wanna design a whole new char. I just want to copy paste a wigfrid and duplicate her into the "extended template".

bins, builds, xmls, sclms. texs It's all nonsense and apparently people must agree seeing as how us lowly populace are being directed to ask help here and yet no one is replying. I'm on my 5th day on this and i've made no progress despite following half a dozen guides.

There is not a single tutorial out there that involves using a base DS character to work with. It's all just the bipedal dog template thing.

Edited by Hell-met

You can decompile wigfrid's build using ktools or use the build renamer to rename the build of your copy of wigfrids files after you edited the .tex.

.anim is the animation file after compiling spriter: it contains the timeline data and animation bank information.

.build is a list of symbols used in the animation. It provides the information for the anim to read the tex file.

.tex is the compiled(png) symbols it is read using the .build

.scml is the raw animation file before it is compiled into the previous 3 files(.anim, .build, .tex)

First of all people help on here voluntarily of their own free time, it is rare that devs pop in here. There are very few of us veteran modders left that frequent this part of the forums let a lone the original authors of these guides.

But these guides still work, and if you are having difficulty in doing something you should elaborate more about what it is you are stuck on. Because most people aren't going to do the work for you.

31 minutes ago, Hell-met said:

bins, builds, xmls, sclms. texs It's all nonsense and apparently people must agree seeing as how us lowly populace are being directed to ask help here and yet no one is replying. I'm on my 5th day on this and i've made no progress despite following half a dozen guides.

As it is you are lucky I am even around to reply to you at all. Because I rarely have time to help between work and school.

I just love modding this game as a hobby.

Now if you have questions on how to extract wigfrid's textures using one of the extraction methods in lumina's post and recompiling it after you have edited it. Please post and explain what you are confused on.

  • Like 1
19 hours ago, IronHunter said:

I'll try to help as much as I can, but If you get stuck somewhere. Leave specifics on what it is.

Hey there again.

I've taken wathgrithr.zip from DST/data/anim and attempted to decompile build.bin and atlas-0.tex with krane.exe but it tells me "ERROR: No animation found in the input files"

I've searched every other place for wathgrithr.anim and I can't find it?

Edited by Hell-met
6 hours ago, Hell-met said:

I've taken wathgrithr.zip from DST/data/anim and attempted to decompile build.bin and atlas-0.tex with krane.exe but it tells me "ERROR: No animation found in the input files"

I've searched every other place for wathgrithr.anim and I can't find it?

When decompling textures you will also need a anim, to decompile player textures you would use one of the player anim.

Anyways you need Wigfrid's textures, right? I think this is what you want? Wigfrid Textures.zip

 

 

20 hours ago, Warbucks said:

When decompling textures you will also need a anim, to decompile player textures you would use one of the player anim.

Anyways you need Wigfrid's textures, right? I think this is what you want? Wigfrid Textures.zip

 

 

Fantastic, it really is what I needed all along. Thank you! Though I still don't know how you got it.

I'd need assistance for the perks coding, where should I go? can I just like, use this thread

Apologies for the earlier outbursts.

 

Edited by Hell-met
34 minutes ago, Hell-met said:

Fantastic, it really is what I needed all along. Thank you! Though I still don't know how you got it.

I'd need assistance for the perks coding, where should I go?

Apologies for the earlier outbursts.

How to extract textures 101.

1) Open ktools folder, here's download incase you don't have ktools.zip

2) Now you would press go to " C:\Program Files (x86)\Steam\SteamApps\common\Don't Starve Together\data\anim "

3) Now you need a "anim", "atlas-1"(and sometimes "atlas-2",  and a "build". Usually the atlas and build are in 1 folder for mobs, players, and their animation folder will be seperate, but for items they usually have everything in 1 folder. Now you would get all of these files and drag and drop them into the ktools folder.

4) In the ktools folder run the "decompile" thing when you have all the necessary stuff in it and you will get a folder called "scml-project" or something, congratulations you extracted the textures!

5) If you want to test and see if this works here I included the necessary files to decompile wigfrid then you can see how it is. 

player_idles.zip wathgrithr.zip

 

As for the perks, if you got the esctemplate successfully working and you have a basic character to work off for your perks you would do...

To change hp/hunger/sanity values you would edit the numbers to what you want, they should already be in esctemplate.

inst.components.health:SetMaxHealth(999)
inst.components.hunger:SetMax(999)
inst.components.sanity:SetMax(999)

 

To have Wigfrid's sanity gain effect, but change the value you would need all this code in your character above master_postinit (see wigfrid.lua for reference)

Spoiler

local smallScale = .5
local medScale = .7
local largeScale = 1.1

local function spawnspirit(inst, x, y, z, scale)
    local fx = SpawnPrefab("wathgrithr_spirit")
    fx.Transform:SetPosition(x, y, z)
    fx.Transform:SetScale(scale, scale, scale)
end

local function IsValidVictim(victim)
    return victim ~= nil
        and not ((victim:HasTag("prey") and not victim:HasTag("hostile")) or
                victim:HasTag("veggie") or
                victim:HasTag("structure") or
                victim:HasTag("wall") or
                victim:HasTag("companion"))
        and victim.components.health ~= nil
        and victim.components.combat ~= nil
end

local function onkilled(inst, data)
    local victim = data.victim
    if IsValidVictim(victim) then
        -- local delta = victim.components.combat.defaultdamage * 0.25
        -- inst.components.health:DoDelta(delta, false, "battleborn")
        -- inst.components.sanity:DoDelta(delta)

        if not victim.components.health.nofadeout and (victim:HasTag("epic") or math.random() < .1) then
            local time = victim.components.health.destroytime or 2
            local x, y, z = victim.Transform:GetWorldPosition()
            local scale = (victim:HasTag("smallcreature") and smallScale)
                        or (victim:HasTag("largecreature") and largeScale)
                        or medScale
            inst:DoTaskInTime(time, spawnspirit, x, y, z, scale)
        end
    end
end

local BATTLEBORN_STORE_TIME = 3
local BATTLEBORN_DECAY_TIME = 5
local BATTLEBORN_TRIGGER_THRESHOLD = 1

local function battleborn_onattack(inst, data)
    local victim = data.target
    if not inst.components.health:IsDead() and IsValidVictim(victim) then
        local total_health = victim.components.health:GetMaxWithPenalty()
        local damage = data.weapon ~= nil and data.weapon.components.weapon.damage or inst.components.combat.defaultdamage
        local percent = (damage <= 0 and 0)
                    or (total_health <= 0 and math.huge)
                    or damage / total_health
        --math and clamp does account for 0 and infinite cases
        local delta = math.clamp(victim.components.combat.defaultdamage * .25 * percent, .33, 2)

        --decay stored battleborn
        if inst.battleborn > 0 then
            local dt = GetTime() - inst.battleborn_time - BATTLEBORN_STORE_TIME
            if dt >= BATTLEBORN_DECAY_TIME then
                inst.battleborn = 0
            elseif dt > 0 then
                local k = dt / BATTLEBORN_DECAY_TIME
                inst.battleborn = Lerp(inst.battleborn, 0, k * k)
            end
        end

        --store new battleborn
        inst.battleborn = inst.battleborn + delta
        inst.battleborn_time = GetTime()

        --consume battleborn if enough has been stored
        if inst.battleborn > BATTLEBORN_TRIGGER_THRESHOLD then
            inst.components.health:DoDelta(inst.battleborn * 2, false, "battleborn") -- I EDITED THIS TO ALLOW THE BONUS TO BE MULTIPLIED WHICH ALLOWS YOU TO GET MORE/LESS BONUS, change the number to effect bonus, 2 = double, .5 = half, ect.
            inst.components.sanity:DoDelta(inst.battleborn * 2) -- I EDITED THIS TO ALLOW THE BONUS TO BE MULTIPLIED WHICH ALLOWS YOU TO GET MORE/LESS BONUS, change the number to effect bonus, 2 = double, .5 = half, ect.
            inst.battleborn = 0
        end
    end
end

local function ondeath(inst)
    inst.battleborn = 0
end

in master_postinit

Spoiler

inst:ListenForEvent("killed", onkilled)
inst:ListenForEvent("onattackother", battleborn_onattack)
inst:ListenForEvent("death", ondeath)
inst.battleborn = 0
inst.battleborn_time = 0

 

For

On 3/9/2019 at 3:23 PM, Hell-met said:

remove battle helm/spear recipes

Just don't add the valkyrie tag to your character.

 

On 3/9/2019 at 3:23 PM, Hell-met said:

allow non-meat eating

If you're using esctemplate you won't have to change anything

Spoiler

This code makes wigfrid only eat meat


if inst.components.eater ~= nil then
	inst.components.eater:SetDiet({ FOODGROUP.OMNI }, { FOODTYPE.MEAT, FOODTYPE.GOODIES })
end

 

 

On 3/9/2019 at 3:23 PM, Hell-met said:

maybe some different hair color and name

Edit the textures to your liking as for the other I suggest you learn how to use esctemplate, make your character with that. replace the textures you don't want with wigfrid's (as in opening the esctemplate's head image and then putting wigfrid's head texture in it instead, I know it takes a while, but that's how it is, you can't just drag and drop and replace the textures or you'll get errors)

tldr: Figure out and use escemplate, it's good.

 

For the full moon thing I don't know how to do it, sorry! Good luck on your mod

8 hours ago, Hell-met said:

Unless i'm much mistaken, absolutely none of the character/ghost .zips in Don't Starve Together\data\anim actually have anim files. Only build and atlas.

Probably players use the ghost mob is anim, I don't really know, but in esctemplate it comes with a ghost texture.

You should really make your own separate thread.

Also, you should be more specific with your query. Writing "this happens" and a picture with no clear markings or description of what's wrong with it, does not give us a very good idea of what you're struggling with :)

I haven't done much character modding, so I won't be able to help you, but a new thread attracts more helper-bees than necroing old ones.

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...