• Announcements

    • JoeW

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

      Update 5/11/2018 We do not have any more information at this time. The last we spoke to 505 indicated that the discs should be ready very soon. We will likely have more information next week; hopefully with full explanation of when and how to get new discs.    Updated: 4/27/2018

      On April 17th, the Don't Starve Megapack was released. Almost immediately, it was 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). The disc contained Don't Starve Together, but was without Don't Starve, Reign of Giants and Shipwrecked. As soon as we confirmed the problem we contacted our retail publisher to find out how this happened and what could be done. It's taken some time to get this far, but this is all the information we have at this time. The current status of the issue is as follows: 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 previous to 4/26/2018 can now contact Klei support HERE for a Playstation Store voucher code that includes Don't Starve Together, Don't Starve, Shipwrecked and the Reign of Giants DLC that you can play now. Please specify your country as certain vouchers only work in certain regions.  New purchasers of the Megapack in store as of 4/26/2018 should be given a voucher at the time of purchase on your receipt. If you do not get a code, contact us ALL purchasers will have a path to get a new disc when they are ready. We do not have details at this time, but we are comitted to ensuring that all players get what they purchased.  We are hearing from some players that some retailers are telling players that they will not be exchanging discs. We believe this to be incorrect and that particular person or location is just misinformed. 505 has ensured us that they are doing their best to make sure these discs are being replaced for all players. We will not allow anybody to fall through the cracks here. We will buy and ship the discs ourselves if we have too.   This was our first major retail release and we're extremely disappointed that our players have been let down with their purchase of the Don't Starve Megapack. We're doing our best to make sure this issue gets resolved as quickly as possible. Thanks everybody for your support and patience. We'll keep you updated.    UPDATE: (4/26/2018) We are now ready to send out vouchers to players who purchased the physical version of the Don't Starve Megapack - These codes will allow players to download and play Don't Starve and DLC as well as Don't Starve Together To get a voucher players can contact as at our support site: http://support.kleientertainment.com/customer/portal/emails/new  For the subject, choose "PS4 Megapack" and fill in the form and we'll get you fixed up as soon as possible.  We will require a picture of your receipt, your Klei account ID and the region you are located in (so we can give you the proper voucher).  UPDATE: (4/24/2018) 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:   

Search the Community

Showing results for tags 'mod'.

More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


  • Oxygen Not Included
    • Oxygen Not Included FAQ
    • [Oxygen Not Included] - Developer log
    • [Oxygen Not Included] - General Discussion
    • [Oxygen Not Included] - Suggestions and Feedback
    • [Oxygen Not Included] - Bug Tracker
    • [Oxygen Not Included] Art, Music & Lore
    • Community Challenges
    • [Oxygen Not Included] - Latest Content Update
    • [Oxygen Not Included] - Latest Animated Short
  • Hot Lava
    • [Hot Lava Beta] - General Discussion
    • [Hot Lava Beta] - Suggestions and Feedback
    • [Hot Lava Beta] - Bug Tracker
    • [Hot Lava Beta] - Strats and Records
    • [Hot Lava Beta] - Developer Log
    • Hot Lava Beta Info
  • Griftlands
    • [Griftlands] - General Discussion
  • Don't Starve Together
    • Don't Starve Together FAQ
    • [Don't Starve Together] Developer log
    • [Don't Starve Together] General Discussion
    • [Don't Starve Together] The Gorge
    • [Don't Starve Together] The Forge
    • [Don't Starve Together] PS4
    • [Don't Starve Together] Xbox One
    • [Don't Starve Together] Bug Tracker
    • [Don't Starve Together] Trading
    • [Don't Starve Together] Server Bulletin
    • [Don't Starve Together] Dedicated Server Discussion
    • [Don't Starve Together] Mods and Tools
    • [Don't Starve Together] Tales of Life and Death
    • [Don't Starve Together] Suggestions and Feedback
    • [Archived Bugs]
  • Don't Starve
    • Don't Starve FAQ
    • [Don't Starve: Pocket Edition] iOS / Android
    • [Don't Starve] General Discussion
    • [Don't Starve] Mods and tools
    • [Don't Starve] Art, Music & Lore
    • [Don't Starve] Suggestions and Feedback
    • [Don't Starve] Videos
    • [Don't Starve] Bug Tracker
    • [Don't Starve] Trading
    • [Don't Starve] Testing Discussion (archive)
  • Klei Entertainment Games
    • Eets Munchies
    • [Invisible, Inc.] General Discussion and Strategies
    • Mark of the Ninja
    • Shank
  • Other Stuff
    • The Off-Topic Area
    • Forum Upgrade


  • Don't Starve
    • Custom Character and Skins
    • Game Modifications
    • Language Packs
    • Modding Tools, Tutorials & Examples
    • Custom Maps


  • Oxygen Not Included - [Early Access]
  • Don't Starve Together
  • Don't Starve Together: The Gorge
  • Don't Starve Together: The Forge
  • Don't Starve Together: The Forge (Archive)
  • [Don't Starve Together] PS4
  • [Don't Starve Together] Xbox One
  • Don't Starve: Shipwrecked
  • Don't Starve: Shipwrecked [archive]
  • [Don't Starve Together] PS4 (archive)
  • [iOS] Don't Starve: Shipwrecked


  • Oxygen Not Included - [Early Access]
  • Don't Starve Together
  • [PS4] Don't Starve Together
  • [Xbox One] Don't Starve Together
  • Don't Starve: Shipwrecked
  • Hot Lava - [Open Beta]


  • Hot Lava - Beta Reports






Chester Kickstarter

Chester Kickstarter

Chester Kickstarter

Chester Kickstarter

Chester Kickstarter

Klei Featured Artist

Early Supporter

Early Supporter

Don't Starve

Don't Starve Together

Oxygen Not Included

Found 93 results

  1. I has just a little too much free time last weekend, so I make this mod: EggMod It can be used to disable egg cooking. HOW TO INSTALL Install ModLoader as described here and drop EggMod.dll to OxygenNotIncluded\Mods folder HOW TO USE I think attached screenshot with thick red frames is self-explanatory. Choose any egg and you will see it's current cooking status and change status button. KNOWN PROBLEMS I don't dive into Klei's code deep enough, so this mod is very very quick and dirty solution. I spotted these problems: My code non-localizable without recompiling. Electric grill displays ugly tag name. Electric grill doesn't understand what I don't have eggs enabled for cooking. I have "[WARNING] Missing prefab: EggForCooking" message in the log and I don't know how bad it is. Using this mod will change your saves and you could not load them in vanilla ONI I am running this mod on Win10. Not sure it will run on any other OSes. As usually no responsibility for broken saves or any other damage. Use this mod at your own risk.
  2. It seems there are no discussions on this forum that discuss this, i have never made a mod in DST, by the way, and i would imagine its somewhat easy to port a DS mod to DST. If there are any tutorials or something like that, please link me to it. Thanks.
  3. ONI-Modloader A modloader for Oxygen Not Included based in Harmony. It allows to load mods contained in independent dll files. Please refer to the following github Readme for updated information and instructions: https://github.com/javisar/ONI-Modloader/ https://github.com/javisar/ONI-Modloader-Mods This project uses source code of and is based on: https://github.com/zeobviouslyfakeacc/ModLoaderInstaller https://github.com/spaar/besiege-modloader https://github.com/pardeike/Harmony https://forums.kleientertainment.com/topic/81296-mod159-materialcolor-onionpatcher/ NOTE: Please don't report bugs you encounter while mods are active. People at Klei work hard and shouldn't be bothered with bug reports which might originate from mods. NOTE: BE AWARE that many of the mods are still a WIP and may fail. If you are having problems use a clean ONI installation and try to test the mods one by one. NOTE: If you load a savegame, it requires that you have exactly the same mods when you saved it. Project Injector: It injects the call to the modloader in 'Assembly-CSharp.dll' ModLoader: The modloader itself. OnionHook: Just a helper to generate IL code for the Injector. Example Mods AlternateOrdersMod: The Fabricators and Refineries will alternate between infinity orders. CameraControllerMod: Enable further zoom-outs in play and dev mode (taken from Onion patcher). CritterNumberSensor: Sensor for the critter number in a room (thanks to R9MX4 from Klei forum) CustomWorldMod: Enables the player to user custom world sizes. Stand alone mod currently diabled, please edit the OnionConfig.json file for changes (taken from Onion patcher). DisplayDraggedBoxSize: Makes panels draggable. REQUIRES ONI-Common. DraggablePanelMod: Makes panels draggable. REQUIRES ONI-Common. FastModeMod: Duplicants will build an dig very fast ImprovedGasColourMod: Replaces the oxygen overly with gas colors. Also visualizes the density (taken from Onion patcher, modified). REQUIRES ONI-Common. InstantResearchMod: Forces instant research without Debug mode. InsulatedDoorsMod: Doors can be constructed using any buildable element (ie: Abyssalite). Also it adds a new element (WIP) called Insulated Pressure Door. InverseElectrolyzerMod: Combines hydrogen and oxygen into steam. LiquidTankMod: Storage for liquids. MaterialColor: Adds an overlay option to visualize what a building is made of (taken from Onion patcher). REQUIRES ONI-Common. ONI-Common: Common code for Onion Patches and other mods. OnionPatches: Custom world seeds. DebugHandler hook. REQUIRES ONI-Common. Patches (WIP): Some incomplete tests. PressureDoorMod: Removes the energy need for the mechanized pressure door and makes it buildable from all material. SensorsMod: It modifies some ranges y automation sensors (taken from Onion patcher). SpeedControlMod: Overwrites the method SpeedControlScreen.OnChange. Fast Speed set to behave like Ultra Speed in debug mode. StorageLockerMod: Storage lockers won't need a foundation to be built. Change Log https://github.com/javisar/ONI-Modloader#change-log Installation NOTE: Make sure you're using a fresh install of ONI, meaning you'll need the original/unpatched Assembyl-CSharp.dll and Assembly-CSharp-firstpass.dll as it comes with a clean install. NOTE: You'll need to re-run the injector every time ONI gets updated. Download latest version in Release section. Unzip in the ONI main directory. Execute 'Injector.exe'. It will create a backups of 'Assembly-CSharp.dll' and Assembly-CSharp-firstpass.dll with the extension ".orig" and a new patched set of dlls. Download from https://github.com/javisar/ONI-Modloader-Mods/tree/master/Mods and move to the Mods folder the desired mods. I recommend to move all config folders. Example of a file/folder structure: Creating a Mod Click "Clone or Download" for the current version if the releases are currently not up to date. Copy the following files from a Previously Patched ONI folder to the solution folder '\Source\lib\' Assembly-CSharp.dll Assembly-CSharp-firstpass.dll Assembly-UnityScript-firstpass.dll UnityEngine.dll UnityEngine.UI.dll Open the solution with Visual Studio. Create a new project. Use the examples as template. Compile it to generate the mod dll file. NOTE: If you compile the Solution with Visual Studio the files will also be copied directly to the ONI folder. Execute 'Injector.exe' (only if you have the unpatched dlls ) You should now find a folder called "Mods" in your ONI main directory. Otherwise, create the "Mods" folder. Move or copy all the mods you'd like to use to the "Mods" folder in the ONI main directory Run the game and check "../OxygenNotIncluded_Data/output_log.txt" and "../OxygenNotIncluded/Mods/_Logs/..." for any errors. Uninstallation Just rename 'Assembly-CSharp.dll.orig' to 'Assembly-CSharp.dll' and 'Assembly-CSharp-firstpass.dll.orig' to 'Assembly-CSharp-firstpass.dll' Downloads Modloader Mods or Mods Harmony/ONI Tutorials https://github.com/pardeike/Harmony/wiki/ https://github.com/roxxploxx/RimWorldModGuide/wiki/SHORTTUTORIAL:-Harmony https://github.com/UnlimitedHugs/RimworldHugsLib/wiki/Introduction-to-Patching https://github.com/UnlimitedHugs/RimworldHugsLib/wiki/Detouring https://oxygennotincluded.gamepedia.com/Guide/Working_with_the_Game_Files Disclaimer We do not take any responsibility for broken saves or any other damage. Use this software at your own risk.
  4. This mod adds over 150 fan-written banters for many different agents, but notably for agents that lack banters in the vanilla game (e.g. Monst3r and Central, the DLC agents, basegame agents like Sharp and Prism, etc.). Content: - New banters for basegame agents - New banters for DLC agents, including three-agent-banters as a "collect the PEIA" special - Old banters for mod agents from Agents Mod Combo by Shirsh and several new ones (Note: The Agent Mod Combo no longer contains banters of any kind! They have all migrated here.) This mod requires Sim Constructor by Cyberboy2000 to run. Not required, but recommended is Cyberboy2000's Generation Options+ mod, which allows you to set the chance that a banter will trigger at the start of a mission, and Agents Mod Combo by Shirsh, linked above. Thanks to Shirsh, Cyberboy2000 and Mobbstar for helping with the code for this and laying the groundwork that made it possible. Thanks to fellow banter writers Linenpixel (of invisiblecaptions.tumblr.com), Datapuncher, Salaam, WMGreywind and Caischcer for the banters they contributed to this. Feel free to discuss the mod on our Discord server: https://discordapp.com/invite/aQrXEse The same goes if you want to contribute your own banters. There are still many agent combinations that lack banters. Future updates with more banters are planned for this mod, and you can help. Steam Workshop version: https://steamcommunity.com/sharedfiles/filedetails/?id=1410214921 Additional Banter.zip
  5. Is it possible to improve your character animation ? by that i mean editing each action animation to fits your character because the character i made is using the scale up code but the thing is i want to make him look better on each action by editing each action to suit his big build i'm not asking for someone to make it for me but in fact i wanna learn how things work i want to improve character animation but i'm not sure how to do it learning this and spreading it could open up more possibilities for others too so please consider leaving helpful comments
  6. Hey! So I'm making a mod and I want to know how to make a custom item that restores sanity when held and can only be crafted by a custom character. Thanks!
  7. Mod Volcano Biome

    Version 1.1


    Full description here: https://steamcommunity.com/sharedfiles/filedetails/?id=1402200186 https://forums.kleientertainment.com/topic/91566-mod-the-volcano-biome/?tab=comments#comment-1043746 Can you save a friend from the volcano? yes? but where are the cage keys? Can you find the Slipstor in the jungle? Can you find a shark pond? Can you buy some itens from octopusking? Can you beat the Twister inside the volcano? Can you get some fish from a mermfisher without he see you? What this mod do? - add three biomes to don`t starve together: - The jungle - The Tidal Mash - The volcano - Add 4 bosses for the game - add a objective to the game: save a friend locked in a cage inside the volcano. The bosses have the keys. good luck
  8. I was wondering if there was a way to change my characters portrait depending on their state. Something like, if my character has a certain tag then Asset( "IMAGE", "bigportraits/bretticus_none.tex" ), Asset( "ATLAS", "bigportraits/bretticus_none.xml" ), elseif my character has a diffrent tag then Asset( "IMAGE", "bigportraits/Lilith_none.tex" ), Asset( "ATLAS", "bigportraits/Lilith_none.xml" ), Any help at all would be very appreciated.
  9. So, I'm going to be making at least two more character mods this summer, and if ANYONE has any general character perk tutorials (don't worry about transformation perks, I've found a good guide for that- linked below), it would be amazingly useful for myself and other new modders desperately digging through the forums. If anyone does, and I've poked around a few chats for assistance, I'll edit to include those links in here, that way it can at least be compiled into a single list. Transformation Perk
  10. So, I came back to Don't Starve and I found a mod that was missing something so I decided to add the item it was missing as a diversion of nightly intent, and I finally got the code to work after using a few tutorials (that when i tried to dump into the game they didn't work either, go figure) and staring at other mods, however... Problem: there's a facial texture ( I think its the mouth animations) that are clipping through the middle of the glasses from the front, and clipping the bottom from the side Other Problem- the on the ground texture doesn't work and the glasses disappear when dropped. I will be the first to say I know little of what I am doing, I based the initial layout from the desert goggles .tex file but had to drop both the positions to not look goofy. I need to modify and shrink the texture but the nose piece is completely gone in the face and I have no idea how to fix that. It is not character specific, other characters do it as well. I'm sorry if this has been asked before. *The character isn't mine, the glasses are, she needs them.* hat_tereziglasses.lua
  11. Hello everyone, I am trying to create a custom component that allows a prefab to summon bees on attack. It's kinda like "childspawner" component but less complicated. The problem is that I cannot persist the reference to summoned children. I use OnSave to save children's GUID and references, then use LoadPostPass to load new entities, however, LoadPostPass seems not to be called at all. Here is the code : local function AddChild(self, child) if self.children[child] ~= nil then print("Already added child", child) return end self.children[child] = child self.numchildren = GetTableSize(self.children) end local function RemoveChild(self, child) if self.children[child] == nil then print("Not our child or already removed child", child) return end self.children[child] = nil self.numchildren = GetTableSize(self.children) end local function AddChildListeners(self, child) self.inst:ListenForEvent("ontrapped", self._onchildkilled, child) self.inst:ListenForEvent("death", self._onchildkilled, child) self.inst:ListenForEvent("detachchild", self._onchildkilled, child) end local function RemoveChildListeners(self, child) self.inst:RemoveEventCallback("ontrapped", self._onchildkilled, child) self.inst:RemoveEventCallback("death", self._onchildkilled, child) self.inst:RemoveEventCallback("detachchild", self._onchildkilled, child) end local BeeSummoner = Class(function(self, inst) print("COMPONENT INITIALIZED") self.inst = inst self.children = {} self.numchildren = 0 self.maxchildren = 0 self.childname = "mutantkillerbee" self.summonchance = 0.3 self.radius = 0.5 self._onchildkilled = function(child) self:OnChildKilled(child) end self._onattack = function(inst, data) self:SummonChild(data.target) end self.inst:ListenForEvent("onattackother", self._onattack, inst) end) function BeeSummoner:OnRemoveFromEntity() for k, v in pairs(self.children) do RemoveChildListeners(self, v) end end function BeeSummoner:SetMaxChildren(num) self.maxchildren = num end function BeeSummoner:SetSummonChance(chance) self.summonchance = math.min(math.max(chance, 0), 1.0) end function BeeSummoner:OnChildKilled(child) RemoveChildListeners(self, child) RemoveChild(self, child) end local function NoHoles(pt) return not TheWorld.Map:IsPointNearHole(pt) end function BeeSummoner:TakeOwnership(child) if child.components.knownlocations ~= nil then child.components.knownlocations:RememberLocation("home", self.inst:GetPosition()) end child:AddComponent("follower") if self.inst.components.leader ~= nil then self.inst.components.leader:AddFollower(child) end AddChildListeners(self, child) AddChild(self, child) end function BeeSummoner:DoSummonChild(target) if not self.childname then print("No child prefab defined") return end if self.numchildren < self.maxchildren and math.random() < self.summonchance then local pos = self.inst:GetPosition() local start_angle = math.random() * PI * 2 local rad = self.radius or 0.5 if self.inst.Physics then rad = rad + self.inst.Physics:GetRadius() end local offset = FindWalkableOffset(pos, start_angle, rad, 8, false, true, NoHoles) if offset == nil then return end local child = SpawnPrefab(self.childname) if child ~= nil then child.Transform:SetPosition(pos.x + offset.x, 0, pos.z + offset.z) if target ~= nil and child.components.combat ~= nil then child.components.combat:SetTarget(target) end end return child end end function BeeSummoner:SummonChild(target) local child = self:DoSummonChild(target) if child ~= nil then self:TakeOwnership(child) end end function BeeSummoner:OnSave() local children = {} local ref = {} for k, v in pairs(self.children) do table.insert(children, v.GUID) table.insert(ref, v.GUID) end for i, v in ipairs(children) do print("SAVED CHILD : ", v) end for i, v in ipairs(ref) do print("SAVED REF : ", v) end return {children = children}, ref end function BeeSummoner:OnLoad(data, newents) print("SAVED DATA HERE :") if not data.children then print("EMPTY") end if data.children then for i, v in ipairs(data.children) do print("LOADED CHILD : ", v) end end if newents then for k, v in pairs(newents) do print("ENT : ", k, v) end end end function BeeSummoner:LoadPostPass(newents, savedata) print("SAVED DATA LoadPostPass") if savedata.children then for i, v in ipairs(savedata.children) do print(v) end for i, v in ipairs(savedata.children) do local child = newents[v] if child ~= nil then self:TakeOwnership(child.entity) end end end end return BeeSummoner I tried to log every function call, OnSave and OnLoad seems OK, but LoadPostPass is not called. Please help me with this, thank you !
  12. Hello, modders and skin fanatics alike! After a very long time working on it, I'm happy to announce a brand new mod API that allows one to create their very own skins for their modded characters and items! You can find the mod on the Steam Workshop here: http://steamcommunity.com/sharedfiles/filedetails/?id=835602689 WARNING: This mod is only to be used to create skins for modded characters/items. Klei strongly forbids the use of modders creating skins for any official character/item. If any mod is found using code from this mod in order to skin official characters/items it will be reported on sight. How To Use: Very special thanks to: @Kzisor who's Additional Dressware mod inspired the creation of this mod! @Dudedude who helped out with the assets. @PeterA who walked me through a lot of the Dos and Don'ts so that I wasn't stepping over any lines! @Blueberrys who made the Persistant Data module that helped make this possible. Can be found here: For anyone wanting to skin their modded characters here are the skin portrait backgrounds! Some frequently asked questions: (If you have any more questions post them down below! I'll reply as soon as I can!) Can I skin Wilson or any other official character? No, Peter has told me to make sure that everybody is very aware that this is off limits... We've been given a gift so let's not squander it! How do I use it? The tutorial is up above! It has all the usable functions inside and how to use them! Please don't rip the code and put it in your mod through... Make sure that when you upload your mod you add this mod as a required item. (It is set up this way so that the same code doesn't run multiple times if someone has multiple mods that have skins!) What is an API? An API (Application Programming Interface) is a set of functions which allows you to use advanced techniques without having to write your own code or copy/paste the code in your mod... In order to use this API you must add this mod as a requirement on your mods workshop page. Can I make clothing? No, that is off limits. (and it'd also require a lot of extra code that is not supplied within the mod...) I found a mod that skins official items/characters! What should I do? If it is not the playable pets mod (They technically have the go-ahead to skin the playable mobs) then please immediately report it! We don't want to force Klei's hand and have Modded Skins shut down. What if I made a rip-off character of one of the official characters and skinned that? Still off limits because it is still Klei's character. (even after you change one letter in the name) So this is also prohibited and must be reported if anyone is found doing this! Can this be used to give myself official skins? At the moment I'm more than certain that this is impossible... However, if a way is found to do this using my mod then it's more a fault of Klei's (for leaving a hole in skin restrictions) and not mine because all I did was some UI hacking. What mods are currently using this to make skins? Check out @Chris1488's Modded Skins thread! He's going to try his best to stay on top of what mods get skins and he'll be updating his thread whenever he possibly can! Is mayonnaise an instrument? I'm... not entirely sure? I guess you could make a song using only sounds made by a tub of mayonnaise... But then again you could technically do that with almost everything! So I propose a counter-question. Does that mean that everything is an instrument?
  13. LoadPostPass is really deprecated right ? Even in DST's standard components, it just doesn't work. I feed some pigmans with meat, and check ThePlayer.components.leader.numfollowers, and it says 3 followers. Then I save the game and reset, all my followers are gone, ThePlayer.components.leader.numfollowers resets to 0. I even tested it on both Linux and Windows, no different. Is this how it is supposed to be or just bugs ? Please.
  14. hello everyone! I was recently poking around looking at some Don't Starve fan-art when I stumbled across some really neat fan-arts with characters in don't starve as Mermaids/Mermen...and I thought it was incredibly cool! then I got to thinking how it could work! in shipwrecked the main thing is sailing out into the open seas and exploring in ocean based terror waters! but then I got to thinking...what if the difficulty got ramped up even more! with a character that can't be on land for more then a minute without suffocating! a character that needs to swim in the ocean constantly! can dive down to get muscles and catch wobster by hand without tools! a mermaid! a mermaid character would be SUCH a breath of fresh air for don't starve players! imagine! a 10-13 speed in water while a 2-4 speed on land! low health means the character would need to kite enemies to survive! upped damage to help survive against ocean creatures! night-times would be VERY tricky! surviving around luminescent waters or rainbow jellyfish would be a must! sanity could either be cripplingly low or startlingly high depending on what could give this character sanity buffs as being on land can be fatal so campfire sanity is out the biggest thing would be having a timed system probably with a text cue as to when the character would need to go back into water whether its a pond or the sea as the character would start losing health if on land past a minute or so (and with low health its even more scary) basically this mod idea takes the safety of dry land! and turns it against you! I can do art! but can't code anything original as my mods are essentially franken-coding from other mods I've done a custom bag before but not weapons or other items I'd really love to make this a thing for Shipwrecked! (actually if the Devs are reading this then HI! and can you guys help to make this be a real thing please?...on that same note I don't know if this is even possible... modding rep @Ipsquiggle can you verify if this is even possible to do with Don't Starves engine?...I'm really temped to try to do this (I could do the art) but with no "real" coding knowledge its good to know whats possible in the engine and whats not)
  15. Hi guys, so I need help with part of .lua code, as I am not very experienced and I am having a hard time understanding a few things on how to get this mod to work correctly. Basically I want this mod called Vacuum Chest to ignore things like Tooth Traps, while picking up other valid items. It currently works this way in Don't Starve Together, but not in Don't Starve Alone. Below I've posted the vacuum_chest.lua files, and I've marked the part that I need help with. The first one shows the current DS version that picks up set traps, and the second one shows the working DST version that doesn't pickup set traps. If anyone can help me port this functionality to DS, and maybe even understand how it works, that would be absolutely amazing. Thanks for your time! -Amnesiac Here's the code for the current vacuum_chest.lua: require "prefabutil" require "scheduler" require "simutil" require "behaviours/doaction" local assets = { Asset("ANIM", "anim/VacuumChest.zip"), Asset("ATLAS", "images/inventoryimages/vacuum_chest.xml"), Asset("IMAGE", "images/inventoryimages/vacuum_chest.tex") } local function onopen(inst) inst.AnimState:PlayAnimation("open") inst.SoundEmitter:PlaySound("dontstarve/wilson/chest_open") end local function onclose(inst) inst.AnimState:PlayAnimation("close") inst.SoundEmitter:PlaySound("dontstarve/wilson/chest_close") end local function onhammered(inst, worker) inst.components.lootdropper:DropLoot() inst.components.container:DropEverything() SpawnPrefab("collapse_small").Transform:SetPosition(inst.Transform:GetWorldPosition()) inst.SoundEmitter:PlaySound("dontstarve/common/destroy_wood") inst:Remove() end local function onhit(inst, worker) inst.AnimState:PlayAnimation("hit") inst.components.container:DropEverything() inst.AnimState:PushAnimation("closed", false) inst.components.container:Close() end local function onbuilt(inst) inst.AnimState:PlayAnimation("place") inst.AnimState:PushAnimation("closed", false) end local slotpos = {} for y = 2, 0, -1 do for x = 0, 2 do table.insert(slotpos, Vector3(80*x-80*2+80, 80*y-80*2+80,0)) end end local function fn(Sim) -- body local inst = CreateEntity() inst:AddTag("structure") inst.entity:AddTransform() inst.entity:AddAnimState() inst.entity:AddSoundEmitter() local minimap = inst.entity:AddMiniMapEntity() minimap:SetIcon("vacuum_chest.tex") inst.AnimState:SetBank("chest") inst.AnimState:SetBuild("VacuumChest") inst.AnimState:PlayAnimation("closed") inst:AddComponent("inspectable") inst:AddComponent("container") inst.components.container:SetNumSlots(#slotpos) inst.components.container.onopenfn = onopen inst.components.container.onclosefn = onclose inst.components.container.widgetslotpos = slotpos inst.components.container.widgetanimbank = "ui_chest_3x3" inst.components.container.widgetanimbuild = "ui_chest_3x3" inst.components.container.widgetpos = Vector3(0,200,0) inst.components.container.side_align_tip = 160 inst:AddComponent("lootdropper") inst:AddComponent("workable") inst.components.workable:SetWorkAction(ACTIONS.HAMMER) inst.components.workable:SetWorkLeft(2) inst.components.workable:SetOnFinishCallback(onhammered) inst.components.workable:SetOnWorkCallback(onhit) inst:ListenForEvent( "onbuilt", onbuilt) MakeSnowCovered(inst, .01) local function suckit(item) --吸取 inst.AnimState:PlayAnimation("hit") inst.SoundEmitter:PlaySound("dontstarve/wilson/chest_open") inst.components.container:GiveItem(item) end local function vacuum(inst) local x,y,z = inst.Transform:GetWorldPosition() local SEARCH_RADIUS = TUNING.SEARCH_RADIUS--搜索半径 --Amnesiac: Here's the part that searches for valid items I believe local item = FindEntity(inst, SEARCH_RADIUS, function(item) local check = item.components.inventoryitem and item.components.inventoryitem.canbepickedup and item.components.inventoryitem.cangoincontainer return check end) if item then if not inst.components.container:IsFull() then -- container is not full, it can pick up the item suckit(item) return elseif item.components.stackable then -- if the inventory is full, but the item stacks, and exists in the container, and the stack is not full local stack = inst.components.container:FindItem(function(i) return (i.prefab == item.prefab and not i.components.stackable:IsFull()) end) if stack then suckit(item) return end end end end inst:DoPeriodicTask(0.5, vacuum) return inst end return Prefab( "common/vacuum_chest", fn, assets), MakePlacer("common/vacuum_chest_placer", "chest", "VacuumChest", "closed") And here's the code from Don't Starve Together, note the part that looks for invalid items that is missing from the Don't Starve version. require "prefabutil" local assets = { Asset("ANIM", "anim/VacuumChest.zip"), Asset("ANIM", "anim/firefighter_placement.zip"), Asset("ATLAS", "images/inventoryimages/vacuum_chest.xml"), Asset("IMAGE", "images/inventoryimages/vacuum_chest.tex"), } local prefabs = { "collapse_small", } local function onopen(inst) inst.AnimState:PlayAnimation("open") inst.SoundEmitter:PlaySound("dontstarve/wilson/chest_open") end local function onclose(inst) inst.AnimState:PlayAnimation("close") inst.SoundEmitter:PlaySound("dontstarve/wilson/chest_close") end local function onhammered(inst, worker) inst.components.lootdropper:DropLoot() inst.components.container:DropEverything() SpawnPrefab("collapse_small").Transform:SetPosition(inst.Transform:GetWorldPosition()) inst.SoundEmitter:PlaySound("dontstarve/common/destroy_wood") inst:Remove() end local function onhit(inst, worker) inst.AnimState:PlayAnimation("hit") inst.components.container:DropEverything() inst.AnimState:PushAnimation("closed", false) inst.components.container:Close() end local function onbuilt(inst) inst.AnimState:PlayAnimation("place") inst.AnimState:PushAnimation("closed", false) end -------------------------------------------------------------------------- --minus or add 0.25 for every 5 range local PLACER_SCALE = TUNING.VACUUM_RANGE == 10 and 1.255 or TUNING.VACUUM_RANGE == 15 and 1.55 or TUNING.VACUUM_RANGE == 20 and 1.755 local function OnEnableHelper(inst, enabled) if enabled then if inst.helper == nil then inst.helper = CreateEntity() --[[Non-networked entity]] inst.helper.entity:SetCanSleep(false) inst.helper.persists = false inst.helper.entity:AddTransform() inst.helper.entity:AddAnimState() inst.helper:AddTag("CLASSIFIED") inst.helper:AddTag("NOCLICK") inst.helper:AddTag("placer") inst.helper.Transform:SetScale(PLACER_SCALE, PLACER_SCALE, PLACER_SCALE) inst.helper.AnimState:SetBank("firefighter_placement") inst.helper.AnimState:SetBuild("firefighter_placement") inst.helper.AnimState:PlayAnimation("idle") inst.helper.AnimState:SetLightOverride(1) inst.helper.AnimState:SetOrientation(ANIM_ORIENTATION.OnGround) inst.helper.AnimState:SetLayer(LAYER_BACKGROUND) inst.helper.AnimState:SetSortOrder(1) inst.helper.AnimState:SetAddColour(0, .2, .5, 0) inst.helper.entity:SetParent(inst.entity) end elseif inst.helper ~= nil then inst.helper:Remove() inst.helper = nil end end -------------------------------------------------------------------------- local function fn(Sim) local inst = CreateEntity() inst.entity:AddTransform() inst.entity:AddAnimState() inst.entity:AddSoundEmitter() inst.entity:AddMiniMapEntity() inst.entity:AddNetwork() inst.MiniMapEntity:SetIcon("vacuum_chest.tex") inst.AnimState:SetBank("chest") inst.AnimState:SetBuild("VacuumChest") inst.AnimState:PlayAnimation("closed") inst:AddTag("structure") inst:AddTag("chest") --Dedicated server does not need deployhelper if not TheNet:IsDedicated() then inst:AddComponent("deployhelper") inst.components.deployhelper.onenablehelper = OnEnableHelper end inst.entity:SetPristine() if not TheWorld.ismastersim then inst.OnEntityReplicated = function(inst) inst.replica.container:WidgetSetup("chester") end return inst end inst:AddComponent("inspectable") inst:AddComponent("container") inst.components.container:WidgetSetup("chester") inst.components.container.onopenfn = onopen inst.components.container.onclosefn = onclose inst:AddComponent("lootdropper") inst:AddComponent("workable") inst.components.workable:SetWorkAction(ACTIONS.HAMMER) inst.components.workable:SetWorkLeft(2) inst.components.workable:SetOnFinishCallback(onhammered) inst.components.workable:SetOnWorkCallback(onhit) inst:ListenForEvent( "onbuilt", onbuilt) MakeSnowCovered(inst, .01) local function suckit(item) if inst.AnimState:IsCurrentAnimation("closed") or inst.AnimState:IsCurrentAnimation("close") then inst.AnimState:PlayAnimation("hit") inst.AnimState:PushAnimation("closed", false) end inst.SoundEmitter:PlaySound("dontstarve/wilson/chest_open") inst.components.container:GiveItem(item) end local function vacuum(inst) local SEARCH_RADIUS = TUNING.VACUUM_RANGE local function IsItem(ent) return ent.components.inventoryitem and ent.components.inventoryitem.canbepickedup and ent.components.inventoryitem.cangoincontainer and ent or nil end --Amnesiac: This is the part I'm talking about --See how it checks for Mines? I think this also applies to traps, as this verison does't pickup set traps. local Item = FindEntity(inst, SEARCH_RADIUS, IsItem,{"_inventoryitem"} , {"INLIMBO", "NOCLICK", "catchable", "fire", "minesprung", "mineactive"}) if Item then if not inst.components.container:IsFull() then suckit(Item) return elseif Item.components.stackable then local stack = inst.components.container:FindItem(function(i) return (i.prefab == Item.prefab and not i.components.stackable:IsFull()) end) if stack then suckit(Item) return end end end end inst:DoPeriodicTask(0.5, vacuum) return inst end local function placer_postinit_fn(inst) --Show the vacuum chest placer on top of the vacuum chest range ground placer local placer2 = CreateEntity() --[[Non-networked entity]] placer2.entity:SetCanSleep(false) placer2.persists = false placer2.entity:AddTransform() placer2.entity:AddAnimState() placer2:AddTag("CLASSIFIED") placer2:AddTag("NOCLICK") placer2:AddTag("placer") local s = 1 / PLACER_SCALE placer2.Transform:SetScale(s, s, s) placer2.AnimState:SetBank("chest") placer2.AnimState:SetBuild("VacuumChest") placer2.AnimState:PlayAnimation("closed") placer2.AnimState:SetLightOverride(1) placer2.entity:SetParent(inst.entity) inst.components.placer:LinkEntity(placer2) end return Prefab( "common/vacuum_chest", fn, assets), MakePlacer("common/vacuum_chest_placer", "firefighter_placement", "firefighter_placement", "idle", true, nil, nil, PLACER_SCALE, nil, nil, placer_postinit_fn)
  16. Hi Guys! I'm making a character with the Esctemplate I want to have a massive amount of unarmed damage. I found this character, One Punch Man https://steamcommunity.com/sharedfiles/filedetails/?id=566155039 that does it perfectly! The crater, and everything its exactly what I'm after. No idea how to transplant this onto my own character. I tried fiddling around and adding everything I thought would do it, but everything I did crashed and then I just broke it all completely. So what I need to know how to do is- · Increase my unarmed fighting damage · I'm I'm carrying a weapon I'd like that to do normal weapon damage. not sure if this is possible · How to add the area of effect crater like this. Or, if its easier to do it, how would I simply reskin this character with my own? Thanks
  17. I have been trying my luck with creating new characters for Don't Starve Together by using Dleowolf's "Extended Sample Character" template, so far(and after a lot of effort) I managed to create a couple of characters who simply have readjusted stats, but now I've brought myself into adding an ability for my latest character(pictured below) which is recovering sanity from breaking boulders and chopping down trees. The only issue so far is I lack any form of coding skills and neither have I underwent any programming classes to be able to fully comprehend the lua code, if anything I've surprised myself that I made it this far. And so I've come humbly to this great forum to seek aid with my work.
  18. <Still no idea where to put this> Well this was planned to be an Update to "Big Chill", but it kinda evolved into its own thing. <So what is Big Freeze all about?> I modeled the world-gen script off of the "Helicona" preset rather then using the "default" one this time round. I focused more on customizing the different subworlds this time round as well and yes I remembered to change the "Name:" property so that it'll work correctly in debug mode. <New subworlds> -Naturem subworld This subworld generates next to the starter world and will give you access to a natural gas geyser and a steam geyser. Unlike its previous iteration found within "Big Chill" it should no longer completely rap around the starter area. I've also given it its own custom biome. Basically think of it as a extra bit of starter area. I also found that in testing you have a small chance that this subworld will not spawn at all. You also have a chance of having this rap around your starter area completely like it did in "big chill".(and everything in between) -Hot Jungle This putrid mixture of Slime-lung and chlorine is know as the Hot Jungle. Strangely the live in this subworld has managed to drastically increase its temperature compared to the rest of the asteroid, but your dupes may prefer to not venture in too deep. This will provide you with another Steam geyser and Natural Gas Geyser. You will also be able to find a Chlorine Geyser(I set this to a 100% chance) -Frozen Oil fields Like the Hot Jungle, some dupes actively believe this region of the asteroid once also had a ton of live, but unlike the Hot Jungle the live here evolved to suck heat out of there environment. Although you can still find a few stray Wheezewords, sleet wheat outcrops and slicksters, most live that lived in this aria is long gone by this point. - The surface and void Few dupes would willingly venture out here without some protection. Impacts with other objects have left "Hot spots" on the surface as well. Similarly the empty, cold eternal nothingness that is the void would freeze them solid within seconds. Few gases or liquids don't turn solid here as the void itself is near a frosty 0 degrees Kalvin(in other words, near absolute zero). <Other changes> Increased the map size to 512 by 512 <Installation guide> >Go to steam >Right click Oxygen not included >Select Properties >Select the "Local files tab" >Select browse local files >open "OxygenNotIncluded_Data" >Make a backup the file "StreamingAssets" >Copy the contents of this zip into your "OxygenNotIncluded_Data" file >If you're using debug mode then don't select "Replace" if prompted >Else hit "Replace" >If you're installing a patch then I recommend you hit replace since those typically modify main scripts If you plan to use this with debug mode then activate this worldgen script with the "world(DEBUG):" option under the "Custom game" tab when you select "Start new game" from the main menu.(Set it to Big Freeze) If you're unsure then rather hit "replace" when prompted. <Older versions> <Version 1.4 : Rancher Upgrade Mrk1 update> All your dupes fall to there feet as the asteroid begins to shake violently. One of your dupes drags themselves over to your printing-pod's terminal. The asteroid, being knocked of course a few months back, has crashed into a caper-belt like cloud of, what your dupes refer to as, space junk. Some dupes reports that some of the geysers look different now And some volcanoes seem to be popping up -other notes I tried to maintain some randomness, so you may notice that some geysers are different on each new play thru. Also the optional patch still works, it gets updated independently -dev log This update is mainly here to address the new worldgen added with the Rancher upgrade mrk1. Sadly due to some annoying bugs with the menu system within the preview I found it exceedingly difficult to perform the update this time round. A followup update (probably 1.4.1) will address any bugs within this update after the rancher upgrade goes live so play with caution. Do note if no bugs are brought to my attention then this will be the final version until a new update adds more worldgen or I think of new things to add. Sorry if I sound down I'm recovering from a bit of a sickness and my nerves are fried after dealing with the aforementioned menu bug. <Files: Mod> <Legacy versions> big freeze V1.4.zip <Files: Patches> Worldgen_fixV1.0.zip <Closing notes> Remember use at own risk, this will significantly increase the time it takes to generate worlds and black hole repellent is sold separately. You may also make use of the scripts I wrote for your own thing if you wanted to. Also don't be afraid to suggest changes I should add below. I tested this with the latest Version 1.0-1.1 Occupational Upgrade preview build. Version 1.2-1.3 I tested with the latest Occasional Upgrade release build Version 1.4 I tested with the latest Rancher Upgrade mark 1 preview build
  19. It sets heat damage to start at to 1000 C for all pumps and coolers (all Liquid and Gas pumps, Thermo Regulator and Thermo Aquatuner). For heaters (Space Heater and Liquid Tepidizer) shutdown is at 1000 C, heat damage starts at 1200 C. This allows to move heat at a wider range of temperatures. If you have EasySteamTurbineMod installed you could also dump excess heat into Steam Turbine. Installation Install ModLoader https://github.com/javisar/ONI-Modloader/#installation Put MovableHeatMod.dll into Mods dir Removing Just remove MovableHeatMod.dll from Mods dir. You can enable and disable the mod without any problem: all affected buildings (built/planned/etc) will change their properties as expected. Changelog: * 1.1. Now overheat temp is set for Space Heater and Liquid Tepidizer too. * 1.2. Fix gas/liquid heaters: shutdown at 1k C, heat damage starts at 1.2k C Source code: https://github.com/nicktime/ONI-MovableHeatMod
  20. Conker the Squirrel

    Version 1.0.0


    Conker the Squirrel is ready for another Bad Fur Day! Health: 150 Hunger: 150 Sanity: 200 Frying Pan The frying pan is a useful multi tool for Conker. *It can be crafted under the Weapons Tab. *To craft it you'll need 3 Rocks, 3 Twigs, and 3 Charcoal. *The pan will start out with 34 damage and has 200 uses. *If you stand close to a fire or leave it by a fire it will heat up! *Once it heats up the damage will be boosted to 42.5 damage, provide some heat, and you can cook with it. *If you heat it up until it turns orange it'll provide a small amount of light around you. *Includes authentic sounds from Conker's Bad Fur Day. Chainsaw The chainsaw is a powerful tool and weapon exclusive to Conker. *It can be crafted under the Tools tab when you have an Alchemy Engine. *To craft it you'll need 5 Hound's Teeth, 1 Electrical Doodad, and 2 Boards. *The chainsaw will cause 59.5 damage and has 100 uses. *If used to chop down trees it will knock them down with ease 4x faster then a normal axe. *Not only is it faster it lasts 4x longer when chopping trees, that's a maximum of 400 uses! Scared Conker is scared of this land and the beasts that lurk within. *When nearby a creature that drains sanity Conker's sanity will drain 10% faster. *If Conker is caught out in the dark his sanity will also drain 10% faster. It's going to be a long and treacherous day for Conker, are you up for the challenge?
  21. Hi everyone, I need help with error in my character mod based on extended sample character template. So my character works almost flawless, but there is one defect - character's stats didn't change at all: movement speed, attack multiplier, health, sanity, hunger. I don't know how to fix it. Please don't let me go insane, I am losing my mind. EDIT: I figured out that the bug is in this sector local master_postinit = function(inst) everything out of this grup works fine swin.lua
  22. This Mod looses Steam Turbine working requirements allowing it to be used without relying on quirks and bugs. There are two must rules for it to start working. Any tile below it (can be different tiles): has to have 3 kg of Steam; has temperature above 227 C (old rule, no change here). I.e. Turbine will work by just being in a cloud of Steam, there's no need to move Steam around. (If you have MovableHeatMod installed you can also dump excess heat into Turbine.) Installation Install ModLoader https://github.com/javisar/ONI-Modloader/#installation Put EasySteamTurbineMod.dll into Mods dir Removing Just remove EasySteamTurbineMod.dll from Mods dir. You can enable and disable the mod without any problem: all Steam Turbines (built/planned/etc) will change their properties back and forth. Source code: https://github.com/nicktime/ONI-EasySteamTurbineMod
  23. Greetings, everyone. Would like to have some assistance, please. I have a little problem: i cant use my item, (its supposed to spawn lightning at target location)on target(inst.components.spellcaster.canuseontargets = true), character says: i can't do this. I can cast spell at point(inst.components.spellcaster.canuseonpoint = true) but then spell doesn't work properly: lightning always hits only caster. My code is following: local function lSpell(target, pos) TheWorld:PushEvent("ms_sendlightningstrike", target:GetPosition()) end I tried alternative way: but then lightning hits every target in range. Any ideas how to make it work?
  24. I've made a Visual Studio template solution to make it easier starting a mod https://github.com/nicktime/ONI-ExampleMod This way you can have you mod buildable and contained in a separate repo. It's based on one of the mods in https://github.com/javisar/ONI-Modloader/
  25. Hiya, I'm pretty noob when it comes to scripting my characters, it took a while to understand how to add in custom items. But there are still so much I need help, if anyone can help I'd appreciate it very much!! What I'm looking for is: The Ancient Cane FX. It'll pretty much be a mod with the ancient cane FX but without holding the actual cane. Damage bonus in dusk and night. I've tried digging into the workshop mod, Charlie is pretty much the example I want, though When I use her code, it doesn't work. This make it so the mod gets a bonus at dusk, and a bigger bonus at night. Neutral to an aggressive mob. mobs like a frog or a killer bee, to be neutral only to you. That's pretty much all, I appreciate any help and/or comments!! Not sure if it'll help but this is pretty much the source mod I got these ideas from, so I know they're possible, just don't know how to add them in the way I want: https://steamcommunity.com/sharedfiles/filedetails/?id=1203081846&searchtext=charlie