• Announcements

    • JoeW

      [UPDATED] Physical Megapack Disc Issues   04/16/2018

      UPDATE: Earlier this week, we discovered that the wrong content was printed on the PS4 retail version of Don’t Starve Mega Pack (the Xbox One version is not affected). It’s a really unfortunate situation and we’ve been working hard with 505 to resolve this as soon as possible. Below is the latest information: New copies are currently in print and will be on shelves ASAP, hopefully within a few weeks. When the new discs arrive in stores, players who already purchased misprinted discs will be able to exchange the disc for a new one in store. Details will follow as we figure out the exact timing, the procedures with specific retailers and what the exchange will entail.  Players who already purchased the faulty disc will also be able to contact Klei support for a voucher code that includes Don't Starve, Shipwrecked and the Reign of Giants DLC until the new disc is ready. Please specify your country as certain vouchers only work in certain regions.  We will have more details when they become available including details on contacting us and what information we might need.  Once again, thanks to everybody for their patience while we work this out. For questions or concerns, the forum discussion can be found below:   

K1NGT1GER609

  • Content count

    168
  • Joined

  • Last visited

Community Reputation

61 Excellent

About K1NGT1GER609

  • Rank
    Member

Badges

Don't Starve Together
  • Contributor
Oxygen Not Included
  • Alpha Contributor

Recent Profile Visitors

5,174 profile views
  1. Try this: local function RightClickPicker(inst, target) if target ~= nil and target ~= inst then for i, v in ipairs(BEAVER_DIET) do if target:HasTag("edible_"..v) then return inst.components.playeractionpicker:SortActionList({ ACTIONS.EAT }, target, nil) end end return (target:HasTag("HAMMER_workable") and inst.components.playeractionpicker:SortActionList({ ACTIONS.HAMMER }, target, nil)) or (target:HasTag("DIG_workable") and target:HasTag("sign") and inst.components.playeractionpicker:SortActionList({ ACTIONS.DIG }, target, nil)) or (target:HasTag("groundtile") and target:HasTag("molebait") and inst.components.playeractionpicker:SortActionList({ ACTIONS.TERRAFORM }, target, nil)) or (target:HasTag("bearded") and inst.components.playeractionpicker:SortActionList({ SHAVE }, target, nil)) or (target:HasTag("irreplaceable") and target:HasTag("nonpotatable") and target:HasTag("heavy") and inst.components.playeractionpicker:SortActionList({ PICKUP }, target, nil)) or nil end end
  2. @SuperDavid The squares are in the tex files just that you have to zoom in at around 800%. (I believe I'm going blind as the night goes on) Other than that the issue has been resolved I think.
  3. Well the zip file would be useful to see whats wrong. The only work around I can think of; using textools to dissect the character zip files and see if the .tex files have those unusual textures on the ears and head. If that's the case then you can use textools to save the file and reedit over the corrupt pictures, otherwise I could take a few stabs at the dark and try the method mentioned.
  4. Eh this maybe lazy and sloppy but: local function sanityfn(inst) local x, y, z = inst.Transform:GetWorldPosition() local ents = TheSim:FindEntities(x, y, z, TUNING.SANITY_EFFECT_RANGE, nil, nil, {"Goose", "mossling", "bearger", "chester", "grassgekko", "pigman", "werepig", "merm", "pigguard", "butterfly", "beefalo", "babybeefalo", "robin", "robin_winter", "fireflies", "perd", "koalefant_summer", "koalefant_winter", "penguin", "rabbit","bunnyman", "monkey", -- RoG "catcoon", "mole", "lightninggoat", "lavae", --Chess piece and minotaur "bishop", "rook", "knight", -- SW "parrot", "parrot_pirate", "seagull", "toucan", "whale_blue", "ballphin", "primeape", "ox", "doydoy", "doydoybaby"}) local things = TheSim:FindEntities(x, y, z, TUNING.SANITY_EFFECT_RANGE, nil, nil, {"fire"}) --lol things local delta = 0 for k, v in pairs(ents) do local distsq = math.max(inst:GetDistanceSqToInst(v),1) delta = TUNING.SANITYAURA_MED end for k, v in pairs(things) do local distsq = math.max(inst:GetDistanceSqToInst(v),1) delta = delta - TUNING.SANITYAURA_LARGE / distsq end return delta end local master_postinit = function(inst) inst.components.sanity.custom_rate_fn = sanityfn --THATS ALL YOU NEED I hope I didn't make any errors while I'm half awake.
  5. Modding help needed!

    Usually there in the common_postinit, not sure if you made the other character as you would have to add inst:AddTag("charactertag") to that other character. You can rename it anything meaningful for you (hopefully you don't use one that already exists) but if the other character doesn't have tags and isn't yours then...it'll be difficult on my end to make code to find something else.
  6. Modding help needed!

    Hmm k hows this (goes into the character lua file): local function hungercheck(inst) if (inst.components.hunger:GetPercent() < .5) then --50% inst.components.combat.damagemultiplier = 0.9 elseif (inst.components.hunger:GetPercent() < .25) then --25% inst.components.combat.damagemultiplier = 0.8 else inst.components.combat.damagemultiplier = 1 end end local function eatcheck(inst) if inst.components.hunger.current > 100 then inst.components.sanity:DoDelta(-50) end end local common_postinit = function(inst) --reference inst:AddTag("charactertag") local master_postinit = function(inst) --reference on where the code goes local function charactercheckfn(inst) local x,y,z = inst.Transform:GetWorldPosition() local delta = 0 local max_rad = 10 local ents = TheSim:FindEntities(x,y,z, max_rad, nil, nil, {"charactertag"}) --look for this tag for k,v in pairs(ents) do if not (v.components.health and v.components.health:IsDead()) then local sz = TUNING.SANITYAURA_MED --small, med, large local rad = 10 sz = sz * ( math.min(max_rad, rad) / max_rad ) local distsq = inst:GetDistanceSqToInst(v) delta = delta + sz/math.max(1, distsq) end end return delta end inst.components.sanity.custom_rate_fn = charactercheckfn --call the function inst:DoPeriodicTask(2, hungercheck, nil, inst) --do this task every 2 seconds inst:ListenForEvent("oneat", eatcheck) otherwise I can try making another sanity gain code (it won't be pretty no matter what) from being near another character but that'll take time.
  7. Custom item problems

    Judging by what was inside the scml file it was a completely new file, which in turn wouldn't be accepted by the game (can't create stuff in thin air and expect the game make it, other wise there would be some interesting mods on the workshop). So after a few minutes I pretty much fixed it up to the wand format that's in the modding tools, tutorials and examples section of the downloads. I left the zip file for you and you tinker with the wand file. Alice.zip
  8. Well for a custom axe you could mold one from this mod: just need to update the code for dst and look up the axe lua file to see what needs to be done. As for changing the appearance I can't do it if you want it like woodie's or flashy like wolfgang's. I can do it cheaply where the character changes builds instantly (doesn't look natural and looks very sudden) but I don't know if that's what you want.
  9. Modding help needed!

    Well heres a start: local function hungercheck(inst) if (inst.components.hunger:GetPercent() < .5) then --50% inst.components.combat.damagemultiplier = 0.9 elseif (inst.components.hunger:GetPercent() < .25) then --25% inst.components.combat.damagemultiplier = 0.8 else inst.components.combat.damagemultiplier = 1 end end local master_postinit = function(inst) --reference on where the code goes local function charactercheckfn(inst) local x,y,z = inst.Transform:GetWorldPosition() local delta = 0 local max_rad = 10 local ents = TheSim:FindEntities(x,y,z, max_rad, nil, nil, {"charactertag"}) --look for this tag for k,v in pairs(ents) do if not (v.components.health and v.components.health:IsDead()) then local sz = TUNING.SANITYAURA_MED --small, med, large local rad = 10 sz = sz * ( math.min(max_rad, rad) / max_rad ) local distsq = inst:GetDistanceSqToInst(v) delta = delta + sz/math.max(1, distsq) end end return delta end inst.components.sanity.custom_rate_fn = charactercheckfn --call the function inst:DoPeriodicTask(2, hungercheck, nil, inst) --do this task every 2 seconds Read through the notes and make the changes and all this is inside the character lua file. The other thing you need to do is give that other character a tag like below: local common_postinit = function(inst) --reference inst:AddTag("charactertag") Final notes, I did the periodictask as doing listenforevent hungerdelta does it consistently and may overwhelm the game into a crash. Well now I managed to get the sanity loss from eating while over 100 hunger: local function eatcheck(inst) if inst.components.hunger.current > 100 then inst.components.sanity:DoDelta(-50) end end local master_postinit = function(inst)--reference inst:ListenForEvent("oneat", eatcheck)
  10. Check this one under Transitioning from Don't Starve to Don't Starve Together: Otherwise you can also use this mod to compare the coding differences in sw, rog, and even base:
  11. Tracing back the error its having trouble loading the timothy_none lua file and the function inside it should looks like this: return CreatePrefabSkin("timothy_none", { base_prefab = base_prefab, skins = skins, assets = assets, tags = tags, skip_item_gen = true, skip_giftable_gen = true, }) if not then chances are the file was deleted the modmain still contains it and is trying to call it and finds nothing (crashes). For this one you can either get the file back or delete the following if you have no use for the none portrait. PrefabFiles = { "timothy_none", --delete this } Assets = { Asset( "IMAGE", "bigportraits/esctemplate_none.tex" ), --delete these Asset( "ATLAS", "bigportraits/esctemplate_none.xml" ),---delete these }
  12. [help]custom item: cigar

    According to client_log your missing the actual files(zip files in the anim folder) for the cigar, i think your missing a asset in the modmain. Otherwise judging from the coding and preview on that link looks like it came from this mod: All in all creating your cigar from this mod is a bit easier at least in my opinion than what you were trying to do.
  13. Then go with this one for one phrase (the one before for constant sanity drain): local function onephrase(inst, israining) if TheWorld.state.israining then inst.components.talker:Say("The rain... Must stop now!. Nya~") elseif TheWorld.state.issnowing then inst.components.talker:Say("Look at that beauty it relaxes... Nya~") end end local master_postinit = function(inst) --reference inst:WatchWorldState("israining", onephrase) onephrase(inst, TheWorld.state.israining) I haven't considered if the ghost version says the phrase so just a heads up.
  14. I'll take a guess on this one: local function smallanimal(item) return item:HasTag("smallcreature") --things that can be captured end local target = GLOBAL.GetClosestInstWithTag({"_health", "_combat"}, inst, 3) if target ~= nil and not target.components.health:IsDead() and not target:HasTag("playerghost") and not inst.components.inventory:FindItem(smallanimal) then inst.components.combat:SetTarget(target) inst.components.combat:StartAttack() end not sure if it works.
  15. Here... local function onisraining(inst, israining) if TheWorld.state.israining then inst.components.sanity:DoDelta(-3, 3) elseif TheWorld.state.issnowing then inst.components.sanity:DoDelta(1, 3) end end local master_postinit = function(inst) --reference on where it goes inst:DoPeriodicTask(3, onisraining, nil, inst) Not sure why wx-78's code for raining didn't work for the life of me but this one seems to suit what your looking for.