Registered Users
  • Content count

  • Joined

  • Last visited

Everything posted by rezecib

  1. Combined Status

    Version 1.6.19


    Works with all versions of the game (Don't Starve, Reign of Giants, Shipwrecked, and Don't Starve Together). Also available on the Steam Workshop (single-player, DST) This mod enhances the HUD to better show the player's stats and various information about the world, such as temperature, season, and moon phase. This is a client-only mod, so whoever has enabled it will see the changes, and whoever doesn't won't, regardless of what server you're on and whether the server has the mod or not. Unfortunately Naughtiness is not available to clients in Don't Starve Together, so adding it would make it so everyone would have to have the mod. Temperature is available, however. Credits to Kiopho and Soilworker for making the mods for single-player, and giving me permission to publish and maintain the DST versions! Configuration options: Temperature: Whether to show the temperature of the player. Defaults to Show. Show World Temp: Whether to show the temperature of the world. Defaults to Hide. Show Temp Badges: Whether to show small images to indicate which temperature is which. Badges only get shown if this is set to Show and both player and world temperatures are enabled. Defaults to Show. Temperature Unit: Whether to use the game's internal units (default), or approximations of Fahrenheit or Celsius. In Game Units, the player freezes at 0 and overheats at 70, with warning occurring 5 away. In Celsius, the player freezes at 0 and overheats at 35, with warning occurring 2.5 degrees away. In Fahrenheit, the player freezes at 32 and overheats at 95, with warning occurring 4.5 degrees away. Show Waning: Whether to show if the moon is waxing or waning by adding new icons. Defaults to Show. (The game normally only shows icons for one direction). In Don't Starve Together, this is always on regardless of what you set, because it's a feature of the main game now. Show Moon: Whether to show the moon only at Night (the game's default), during night and dusk (Dusk, the mod's default), or Always. Predict Full Moon: Whether to predict the day of the next full moon, shown when hovering over the moon icon. Defaults to Yes. Flip Moon: Whether to flip the moon phase icon to show it like it is in the Southern Hemisphere, instead of the default Northern Hemisphere. Defaults to No. Season Clock: Clock, the default, shows a full clock of the seasons. Compact shows a smaller badge with the season and day count, while Micro shows an even smaller badge. No disables the season clock entirely. Naughtiness: Whether to show the naughtiness of the player. Doesn't work in Don't Starve Together, as naughtiness is not available to clients. Defaults to Show. Log Meter: Whether to show the log meter for Woodie when he is human. Only relevant to singleplayer, as Don't Starve Together always shows the log meter already. Defaults to Always. Cave Clock: Whether to always show the clock in the caves. Only relevant to singleplayer Reign of Giants, as the data is not available in vanilla and the clock shows in Don't Starve Together. Defaults to Show. Stat Numbers: Whether to show the sanity, hunger, and health numbers without having to mouse over the badges. Defaults to Always. Show Max Text: Whether to show the "Max:" text when hovering over the sanity, hunger, and health badges to see their maximum values. Defaults to Show. HUD Scale: Lets you adjust the size of the badges and clocks independently of the game's HUD scale. Defaults to 1.
  2. I'm a little surprised this is still pending... This should be easy to reproduce and fix, is there anything I can do to help?
  3. With all mods disabled, in the Shipwrecked half of a combined Shipwrecked/RoG world, during dusk the clock does not show the world info when hovering over it. You can reproduce this by simply triggering the relevant animations on the clock, and then trying to mouse-hover, so it appears to be an issue with the mouseover layer of the rim animation. This issue does not occur in DST, so an easy fix would be to take the anim from DST. I tested this briefly and it seemed to work fine. (side note, there seems to be another bug in that it shows the day animation if reloading a save during dusk; this will capture the mouse focus correctly)
  4. Geometric Placement

    Version 2.1.8


    This should work with all versions of the game (vanilla, Reign of Giants, Shipwrecked, and Don't Starve Together). Also available on the Steam Workshop (single-player, DST). Snaps objects to a grid when placing and displays a build grid around it (unless you hold ctrl). Credits to zkm2erjfdb and Levorto for writing the original single-player versions (Architectural Geometry and Assisted Geometry). This mod is a replacement for those mods; if you have one of them enabled as well, unpredictable things will happen. Description of the options: CTRL Turns Mod: "On" makes it so that the mod is off by default, but turns on while holding CTRL. "Off" does the opposite, temporarily disabling the mod while holding CTRL. Options Button: By default, "B" (for controllers, right-stick click in single-player and left-stick click from the scoreboard in DST). Brings up a menu for changing these options. Note that it cannot save these options in-game like it can on the configuration menu, so if you find new favorite settings with this, you should make those changes in the configuration menu too. Toggle Button: By default, "V" (no binding for controllers). Toggles between the most recently used geometries (it will guess if it doesn't know, which should only happen if you just transferred between the caves and the surface or joined the game). In-Game Menu: If set to "On" (default), the options button will bring up the menu. If set to "Off", the button will simply toggle the mod on and off (like it did before the menu was added). Show Build Grid: Determines whether it shows the grid at all. Grid Geometry: The shape and layout of the grid. Square is the normal one, aligned with the game's X-Z coordinate system. The hexagonal geometries allow you to do the tightest possible plots. Walls and turf always use the square geometry. Refresh Speed: How much of the available time to use for refreshing the grid. Turning this up will make the grid update faster, but may cause lag. Hide Placer: If set to on, the ghost-version of the thing you're about to place is hidden, and instead the point where you'll place it is marked. Hide Cursor: If set to on, the item you're placing won't show up on the cursor while you're placing it (sometimes it gets in the way of being able to see where you'll put it). Fine Grid Size: The number of points in each direction that it uses for things with a fine grid (most things). Wall Grid Size: The number of points in each direction that it uses for walls. Sandbag Grid Size: The number of points in each direction that it uses for sandbags. Turf Grid Size: The number of points in each direction that it uses for turf/pitchfork. Colors: Red/Green is the game's normal color scheme. Red/Blue should be more readable to players with red-green colorblindness. Black/White is there for fully colorblind players, or players who want the grid to be more readable at night. Outlined uses black and white with outlines to give the best visibility in all situations. Tighter Chests: Allows chests to be placed more closely together. This doesn't always work in DST. I keep this only as a legacy setting because the other geometry mods override a special case the game makes for chests. Controller Offset: Allows you to disable the usual offset that rotates around the player when placing objects. Defaults to off. Hide Blocked Points: Instead of showing red/black points where you can't place things, this can set it to hide those points instead. Show Nearest Tile: In addition to showing each of the points, this can set it to show the outline of the nearest tile, making it easier to align placement with the turf.
  5. @vascoegertklei That's weird. When you press backspace, it should say Rev. ### in the lower-left, what does it say?
  6. Try to keep the "I have a problem with my mod" posts to their own topics. I read literally everything in this subforum, so I will see it. First off, I know this is a really long post. The thing is, modding is complicated, and there are a bajillion directions you can go with it, so just trying to cover the basics is still quite a lot of stuff. I tried to organize it so that you can skip to parts that are relevant to you, though. Unfortunately, I don't think I can fix the within-post links, which worked in the old forum software but there doesn't seem to be a way to repair them now. If you're skipping this because it's too long, or are only going to skim for parts you want, here's the minimal set of things I recommend you read: Introduction General Advice Basic Lua guide (you have to open the spoiler for this before you can jump to its sub-entries) LuaGuideLooseTyping'>Loose Typing LuaGuideMinimal'>Minimal Evaluation LuaGuideTables'>Tables LuaGuideObjects'>Tables as objects (and how to modify their functions nicely) Reading the code Start with another mod or game files Tips on fixing crashes Transitioning from Don't Starve to Don't Starve Together Using the same code for both games New TheThings New stuff in the modinfo List of things that are mosty the same (with notes on minor differences) Differences New things in prefabs Informal explanation of major engine differences (replicas, classifieds, netvars, and RPCs) Component Actions Other miscellaneous differences List of things that are currently not (nicely) moddable Other guides for DST Selected useful guides from the single-player mod forums Introduction I decided to write this modding tutorial because when I was getting started modding, none of the tutorials really did it for me. I don't want to devalue the effort that was put into the other tutorials-- and there are many (here's a compilation of guides for DS), and many of them are great at explaining how to do specific things. The reason why there aren't any good tutorials on generally getting started is that getting started is actually really hard, and there are a lot of directions you could go, so it's really hard to cover them all. Hopefully this tutorial at least helps with that a little. General Advice I think most people get started with an idea. So you have a thing you'd like to mod into the game, maybe a new item or character. How do you get started? Well, the first thing is you have to know how to write code (that is, in general, in any language). There are lots of tutorials/lessons/etc around the internet for learning that. Next, you need to be able to read and write Lua code specifically. Personally, being told to "go learn Lua" isn't something that works for me. If it does for you, then definitely go do that! It'll probably give you a well-rounded understanding of the language. If it doesn't work for you, though, then you probably need to dig into some existing Lua code. The best place to do that is the game's code. Think of things in the game that are similar to what you want to do, find them in the files, and keep reading/poking at them until you understand how they work. At first, this will be hard-- there are aspects to Lua you may not understand. You'll just have to look them up as you go. As for general information on how the game logic is put together, the thing that I found most helpful was Wots The Diff??. Basic Lua Guide A few aspects of Lua are really, really important, though, so I've written a little very informal guide on some of them: Minimal evaluation (or short-circuit evaluation): Tables: Tables as objects (and how to modify their functions nicely): Reading the code Next, you have to be able to read the game's code. I can't stress this enough; how can you expect to mod something if you can't even go about figuring out how it works in the first place? You don't have to understand how ALL the code works, but you need to be able to understand at least the part you're modifying. I think the biggest problem people have here is that they don't know how to go about looking at the game's code. So I'll give some recommendations. Start with another mod or game files Once you're about to start writing the code for the mod, I wouldn't recommend just starting completely fresh. It's way simpler and easier to take the most similar mod you know of, or the most minimal mod you know of, copy that folder, then rename and change things. This ensures you have all the pieces you need (modmain, modinfo, etc), and then you can see what you need to change. Similarly, when you're making a new item or creature, start by copying over the most similar item/creature from a mod or the game files. This ensures that you aren't missing crucial stuff. So, for example, you want to make a new equippable; start by copying over spear.lua, and look at a mod that adds an item to see that you need to add it to the PrefabFiles table in the modmain. Once you have the copy, you can start renaming things and changing the assets or properties. Tips on fixing crashes Transitioning from Don't Starve to Don't Starve Together So all of that covers most of the stuff I can think of for how to generally approach modding. Now let's cover the differences from DS to DST (because there are plenty of tutorials for how to do specific stuff in DS). Using the same code for both games New TheThings New stuff in the modinfo List of things that are mosty the same (with notes on minor differences) Differences New things in prefabs Informal explanation of major engine differences (replicas, classifieds, netvars, and RPCs) Classifieds: Networked variables: Remote Procedure Calls (RPCs): Simplex's explanation of the purposes of replicas and classifieds: Components previously attached to players The main other engine change that I'm aware of is that some components that were before attached to the player are now attached to the world, instead (such as hounded, hunter, and kramped). Additionally, many of the components attached to the world have been rewritten to sync over the network and are currently pretty unmoddable (that includes clock, weather, ambientlighting, etc). As part of this, some things that were previously handled by ListenForEvent are now handled by WatchWorldState. Looking at worldstate.lua (in components) is the best way to see what was changed, but pretty much any clock/weather related events are now accessed by WatchWorldState. Component Actions Other miscellaneous differences Probably a few more things that aren't occurring to me now. List of things that are currently not (nicely) moddable Other guides for DST Selected useful guides from the single-player mod forums Hopefully this guide was helpful, and if you have anything you think I should add (especially more things we specifically can't do, or need to be done slightly differently in DST), definitely let me know!
  7. @Kickapoo Nice video. You can make it a lot faster (use fewer tries) if instead of testing positions one by one you divide the remaining positions in two and fill one half. Also, instead of filling the rest with an unused symbol, fill it with the next symbol-- although this gives only small gains, so is probably not necessary.
  8. @MrDeepDarkmind It doesn't look like you're following my procedure, unless I'm just not recognizing a partial solution... At no point should you have ABCDEF entered in, unless you've already found those to be the correct positions. Try following this again?
  9. @yujinthegamer That's a valid way to "stumble" on the solution, but it's not a very good way for always getting it. The algorithm I was trying to explain in the quote involves one person keeping it static while the other person uses a divide-and-conquer approach to find the correct position for a particular symbol. I'm not sure how else I can explain it better... Although I could elaborate more on how you get to the ABCDEF representation? One player gets blocky symbols, and the other player gets letter-like symbols. The blocky symbols always have some duplicates, but for the purpose of the algorithm you should still label them separately. So A corresponds to both the first blocky symbol and the first letter symbol, B to the second of each, and so on. Like yujin said, A should be in the same position for both players in the final solution. But if you put A everywhere, then the other player can put A in one half to determine if A belongs in that half or the other half.
  10. @MrDeepDarkmind I tried to explain an efficient algorithm for solving part 2 here:
  11. @Silentdarkness1 It's impossible to know for certain, but the information it sends to the server is: item prefabs (in order), item stack sizes (in order), and a list of all nearby player's userids. The thing that makes the most sense is that it would look for the pair who completed the first two parts, yeah.
  12. Exactly. If it does go on to send it to the server (when there are 2+ people), the server replies with the code, which could be 2, also spitting stuff out. But if there are fewer, it always spits.
  13. @Silentdarkness1 Yes, it's less than or equal to one. But @Toros is correct: if #players <= 1 then UnlockChest(inst, 2, doer) return end If there are less than or equal to one person, then it terminates right there. It doesn't even go on to send the information to the metheus server. And the parameter 2 passed to UnlockChest makes it spit out your items, and then have your character say the line for ANNOUNCE_SACREDCHEST_NO.
  14. @F2Li2 Not sure exactly what you mean by matching, but I think most people just send a screenshot and then refer to the symbols by ABCDEF or something like that.
  15. In the spreadsheet it was observed that the other one corresponds to a living animal (bird/rabbit/bee), but there are also some with three one-notch runes.
  16. They didn't appear, but if that's correct then they would have the combined notches of 8+1 for 9 and 12 + 1 for 13.
  17. I guess another interpretation of top/bottom and left/right would be that rather than each pair specifying a decimal digit, the positioning of the notches along the side doesn't matter and it's just two base-4 digits. So that would give: The bottom-right would be 15 (12 + 3).
  18. Regarding the numbers, there was a post that found a system for single-digit numbers: However this seems at odds with middle-top notch being 1. I've been trying to figure out the number system for 4 sides, and have observed that: There are only notches on the bottom if there are notches on the top There are only notches on the right if there are notches on the left Those two observations are consistent with interpreting left-right as a single digit, where left is + and right is -, and same for top-bottom. So this would suggest that we have a two-digit system. But if it's following HamBatter's interpretation, then center-top should be either 3 or 30... It would also suggest that one of the tiles is 77 (the one with 6 notches), which is way too high for an item stack count.
  19. @F2Li2 Solution for part 1: (ignore the part of the main post about part 2, it's not very good) Solution algorithm for part 2: People are still trying to figure out part 3. Mostly that's taking place in this spreadsheet:
  20. I wrote up a faster algorithm here. I believe it is optimal or near-optimal in terms of number of submissions used.
  21. @mcadjo We also need to see the corresponding 3x2 grid for the notch symbols, or the order of the other symbols from your buddy, since the ordering changes between initial display and the submission.
  22. Um... I can try. Basically, both of the sets of symbols pair up. So we can use the same term for them. Let's call the players Player 1 and Player 2. They both get ABC,DEF, just in a different font or something. Just to show you how I'm listing the tiles, if they put in ABC,DEF it would look like this: A B C D E F First, Player 1 puts in AAA,AAA; one of these is in the correct position. A A A A A A Player 2 tries to find out where A belongs; they will fill A into the area they want to check, and fill the rest with the next symbol, in this case B. First they check the top half by putting AAA,BBB, if that gives a light then they know A was in one of the top 3, otherwise it's in the bottom 3. Then they divide that area in two and test the split. Let's say it was the top; they do ABB,BBB. If that gives a light, then they know A belongs in the first spot. Otherwise, it's in the next two; try each of those until they get it. Let's say Player 2 ends up with ABB,BBB. Now Player 1 can try to find the location of B; it must be in one of the slots where Player 2 has put B. Player 1 tests the first two slots by putting in ABB,CCC. If another light turns on, then they know it's in the two remaining top spots. Otherwise, it's in the bottom 3. They then divide the area where it is into two parts and test, just like above, until they find it and submit. Let's say they arrive at ABC,CCC. Now Player 2 can search for C's correct position. They try ABC,CDD. If that gives a third light, then it's in top right or bottom left. Continue dividing in two and testing until they find it. ... repeat until you get all of them ... Does that make sense?
  23. I've tried a scientific approach to this, that is, coming up with models and developing experiments to falsify them. Like with science, a model cannot be proven correct, but it can be disproven. First I'll designate notation. Tile guy has symbols T = {t1, t2, ..., t6}. Symbol guy has symbols S = {s1, s2, ..., s6}. A submission consists of a sequence of 6 ti and a sequence 6 si, e.g. {t1, t1, t1, t1, t1, t1} and {s1, s1, s1, s1, s1, s1}. Each position is numbered p1, p2, p3, p4, p5, p6. Science: Okay, so based on Model 1 being accurate-- that is, s1 is paired with t1, and they both belong in the same position pi-- I can derive an algorithm. First let me define binary search, so we can use that as a subroutine. Binary search (customized for this domain): We know t1 has some correct position in p1..p6. So place it in p1, p2, p3. If you get a light, then you know it's in those three. Otherwise, it must be in p4, p5, p6. Let's say it was in p1, p2, p3. Take t1 out of p2 and p3, and fill in t2 (your next symbol filler). If you get a light, yay, t1 goes in p1. Otherwise, it goes either in p2 or p3. If it wasn't p1, put t2 in p1 and t1 in p2. If you get a light, yay, it's in p2. Otherwise, you KNOW it's in p3. Submit the correct layout so the other player can do their binary search. Solution algorithm: Since (ti,si) are paired, player T should first submit all s1 so that player S can binary search for the correct position of (t1,s1). Player S first submits {t1, t1, t1, t2, t2, t2}-- using t2 as filler allows you to use fewer submissions when switching to the next symbol. Complete the binary search to find pi=(t1,s1). Let's say it was p1. Now that player S has submitted {t1, t2, t2, t2, t2, t2}, player T can binary search for the position of s2. So, for their first submission they try {s1, s2, s2, s2, s3, s3} (using the next symbol, s3, as filler for areas they are not testing). If they get a light, divide the area of s2's and continue the binary search. When the final position is found, submit and let player S binary search for t3. Trade off like this until you solve the whole puzzle.
  24. @CountryPanda No, that wouldn't cause a problem. That was an error from early on in Shipwrecked's development, are you on the latest version? It was caused by a change in the way they handled recipes so that they could mix and match RoG and SW recipes, but that messed up mods that interacted with recipes (because that code ran sooner). It should be fixed in current versions. Edit: I mean current versions of the game, rather than the mod.
  25. Looks like you have a Mac, from googling there should be a Don't Starve Updater app somewhere that you can run.