• Content Count

  • Joined

  • Last visited

 Content Type 




Klei Bug Tracker

Game Updates

Hot Lava Bug Reporter

Everything posted by pickleplayer

  1. You'll probably need to rename one of them so they dont both use the same name. "ghost_esctemplate_build" Is what it's calling twice, so your characters probably have the same ghost build file names
  2. That's correct! They're usually pretty long, I think you can attach the txt file as an attachment if that makes it easier. The issue is usually very close to the bottom of the file. And if you look at that last line: "Tried to add build [ghost_esctemplate_build] from file [../mods/devil/anim/ghost_devil_build.zip] but we've already added a build with that name!" It looks like there's an animation build being added twice with the same name.
  3. Hm, well the only issue I've ever had with this is when I forgot to rename a few of the prefab files between two seperate mods, but I'm sure there are other reasons that could cause this crash. If nothing is showing up on screen, you can find an actual text file of crash logs to paste in here. Documents/Klei/DoNotStarveTogether/client_log.txt is usually where this file is kept. It records everything from your previous session. So crash the game once, and then paste that log in here.
  4. I've been messing with a few things related to placing structures, but been running into some issues because of how the game handles placable structures slightly differently than deployable ones. Placable structures being most buildings, and Deployables being inventory items that can be "deployed" as a structure or stored in an inventory slot, like walls and fences. One thing I noticed is that deployable objects like walls can have their build-placement blocked by tall sprites that block your line of sight to the cursor's location (ie: you can't place a wall behind a tree without turning your camera to where the tree doesn't block line of sight anymore) But you can place buildings like a science machine or chest down just fine even with a tree in the way. I'm trying to make deployables act more like placables, and I've been tinkering around with placer and deployable components for quite a while, but I can't figure out why it acts like this. Has anyone else done any more exploration into this area? I'm not really sure where to go from here.
  5. It depends on what the crash log is saying, it could be a number of things. If there are similar prefab names or character names, that could cause an issue. But if you say those are different, then it could be something else.
  6. I'm no stranger to editing components, but I recently realized that one of the files in the components folder, "map.lua" seems to be an imposter... AddComponentPostInit("map", function(self) Doesn't have any effect, and AddClassPostConstruct("components/map", function(self) crashes the game because it says the file path doesn't exist. Also, all of the functions in the file are actually called as if it's part of TheWorld itself, and not a component. TheWorld.Map:CanDeployRecipeAtPoint() So then how do I edit a function like this?
  7. I have a friend who's interested in modding and has a mac, but I compile all of her animation files for her on my PC and send them back. Hate to break it to you, but I don't think there is any other way around this. I would say "not yet, at least." But the don't starve modding community has been around for quite a while, so I feel like a solution would have popped up by now if it was feasibly possible.
  8. Still looking for people interested in trying out this mod to give some feedback. Let me know if you have any interest
  9. Do you know how to look at the game files? It was a little easier back when I started modding, but the scripts are tucked inside of a zipped folder now. It's still a great thing to have access to, and essential for anyone learning to mod. Using notepadd++'s "find in files" feature centered on the scripts folder is the best way to quickly learn how things are used in the game's programming. There are a few things that are built into the engine that we can't see, but it's pretty rare.
  10. If you take a peek into freezable.lua, I see there is a function called Unfreeze() You might want to give that a try. Looking into component files is always a good way to get an idea of what you can do with them. inst.components.freezable:Unfreeze() Alternatively, I believe the frozen state is, well, a state. Meaning that you could force someone out of it by simply forcing them into another state, like inst.sg:GoToState("idle") I'm unsure if there could be consequences to doing this manually, like if frozen values would build up if not removed properly, but it's something to consider. EDIT: Oh, I just noticed you were trying to call freezable component functions on inst by itself. I'm surprised this doesn't just crash the game. You're probably looking for inst.components.freezable:AddColdness(10) But yea, RemoveColdness() doesn't exist. Buuut, I think you can put negative values into AddColdness()
  11. I always get paranoid about showing my mods before release, but I don't want a repeat of what happened with my first person mod, so I should get this over with. I'm looking for a small group of people to try out a closed-beta of my mod and give me some feedback. I'm not quite ready to throw it out to the public, though. If anyone is interested, send me a message and I'll get you started. This just makes it easier for me to keep tabs on how many people have it. All I ask is that you try not to post public screenshots/videos/streams of the mod. I have trailers ready and I want some things to stay a surprise. I'll delete this post once I have enough testers, but anyone who might be interested can message me even after this post is gone.
  12. Unfortunately, since this is part of a local function within the crabking's prefab file, it looks like you might need to edit it's code directly in order to disable it. That would mean just copying crabking.lua into your mod's prefab folder and simply removing that line of code. This is generally considered bad modding practice because it will prevent other mods from changing the crabking's code, and it also won't get updated if Klei changes the crabking's code in the future. But hey ¯\_(ツ)_/¯ sometimes sacrifices must be made in the name of science
  13. Oh my god I can't believe I never thought to try that. I had to put it in a very specific spot and add a blank collisioncallback to get it to work but it works! Thank you guys so much.
  14. Oh boy, it's pretty huge. I replicated the issue and pasted it into an outdated esctemplate mod for you to look at instead. You can see the yellow circle that spawns when first loading into the world is given a velocity, and the second one that spawns isn't. A few more fun things I found while testing these. The physics objects spawned on initialization also loses the ability to change velocity if: They don't have a physicsCollisionCallback function (even a blank one will fix it) During the first frame of existence; they are placed within 1 square unit of point 0,0,0 on the world map, and any player spawns close enough to see it on screen. fun.
  15. Maybe not all of the unique perks. Some of his powers might require a bit more behind them than just tags. His storyteller perk also requires a component inst:AddComponent("storyteller") and a few local functions in his character file would need to be copied over. Woby also has quite a bit of custom code required in his character file. You could probably replicate it by copying it over to your character's file.
  16. There's always a chance I could be overlooking something, but I've spent quite a bit of time breaking down this issue into it's most basic components and trying different physics objects. It seems to me it boils down to this: local master_postinit = function(inst) --A player's master_postinit --This one works fine inst.components.hurtboxes:SpawnPlayerbox(0, 0.7, 0.35, 0.7, 0) inst:DoTaskInTime(0, function() --This one doesn't inst.components.hurtboxes:SpawnPlayerbox(0, 0.7, 0.35, 0.7, 0) end) It doesn't seem to matter what other factors are at play, as long as the physics object was spawned at least one tick after a player has, it's velocity can't be changed. I had wondered this as well, but it shows that they are active.
  17. I've tried SetMotorVel as well and that has the same result, unfortunately. I hadn't tried the physics version of teleport until just now, but that seems to work just fine, much like Transform:SetPosition() does. Strangely enough, print logs show that the frozen physics boxes "think" they have a velocity that matches the players, despite them staying perfectly still.
  18. Ok, so I have a set of physics objects that move around screen and follow the player like hitboxes, but I've recently noticed some issues with some of the hitbox physics properties. Every tick, the hitbox's position is snapped to the player and it's velocity is supposed to update to match the player's current velocity as well. The player starts with a single hitbox that spawns as part of their initialization, and continue to follow them around. But for any hitbox spawned after that, attempting to change it's velocity "box.Physics:SetVel(x,y,z)" does nothing, yet it can still be moved around the map with "box.Transform:SetPosition( x,y,z )". Strangely enough, it's not just "any hitbox after the first" that has this issue, it's any hitboxes spawned after the player has already spawned. If you put a single frame of delay on the creation of the first hitbox, the same issue happens. So I loaded the mod onto a multiplayer world and joined with a second account and what did I discover? The first person to join the server had a normal functioning hitbox, but any player who joined after that had a frozen hitbox that couldn't change velocity. UNLESS both players joined at the exact same time, then both of their initial hitboxes work fine. Basically, if anyone is online at the moment a physics object is created, that physics object's velocity can't be changed, if it's mass is 0. (well, it can also be fixed by changing the Physics:SetMass to 1 instead of 0, but that means overlapping hitboxes collide with each other and gravity also applies to them, so I don't want that) It's kind of an obscure bug and I'm guessing this is something with the physics engine that we might not have access to. But just curious if anyone else actually works with physics objects out there and knows a solution to this.
  19. Last I checked, the spriter file does contain a preview "animation" to show what your assets will look like in-game, and it's called "BUILD_PLAYER". It's not any of the actual in-game animations, but a replica of the 3 different idle poses. Unless they removed it in a recent update or something, it should still be there. But if you're looking specifically for actual in-game animations, I think we're out of luck. The sprite sizes used in esctemplate are resized, and so trying to paste them over exported DST player animations will probably look distorted in spriter (as you mentioned above) And I don't know if there's any easy solution to that.
  20. Oh, yea that would be a pretty simple way to do it. Thanks! I'm sure your method would have worked, but I realized recently that despawning the player after joining would cause other issues with other parts of the mod, so I had to find an alternative. I did finally figure out how to despawn them as they leave though. Attaching "DeleteUserSession(inst)" to a the playercommon's OnDespawn function does the trick for everyone except a local host. Luckily, this doesn't need to apply to the host, so it works out well for me.
  21. So I'm trying to create a scenario where anyone who joins the server, even if they have played on the server previously, is forced to pick a new character and respawn as if it was their first time joining. I imagine the cleanest way to do this would be to run TheWorld:PushEvent("ms_playerdespawnanddelete", player) as the player disconnects, but haven't been able to get this to work because TheWorld:PushEvent("ms_playerdespawn", player) is already pushed as soon as the player disconnects, and so I'm pretty sure it's trying to delete the player twice. It doesn't crash, but the main menu becomes frozen in time and breaks the game until you restart. If I can't get the character to be removed on disconnecting, another lazy alternative would be to just despawnanddelete a player whenever they connect to the server with an existing character. Unfortunately, "ms_playerjoined" happens any time a player spawns, regardless of if it's their first time picking a character, reconnecting to an existing one, or respawning as a new character within the same session. So I'm kind of unsure where to go from here. Maybe there are some other events that I'm not familiar with, but I don't do a whole lot with server events so I'm hoping someone will know more than I do.
  22. In the singelpayer version of Don't Starve, there are world generation settings that generate the world into islands. But last I heard, the devs were unable to bring that feature into the DST version. That was some years ago though, so maybe there have been changes or ways around it discovered since then, but that is the last I heard on that topic.