-
Posts
454 -
Joined
-
Last visited
-
@Speedist, That file doesn't have a problem with it-- there is no way for it to produce the error you screenshotted. I only just realized that this thread is for the same mod as this one: http://forums.kleientertainment.com/topic/55295-game-crashes-on-startup-with-self-made-mod/ ... so I'm going to assume that that one has the most recent development state.
-
Game crashes on startup with self-made mod
Corrosive replied to cris6441's topic in [Don't Starve] Mods and tools
@cris6441, Seeing as your scripts are pretty much the extended character template verbatim, the problem is all but guaranteed to be in your textures or animation. I'd lean toward textures. If you want to zip up your mod and attach it, I'll take a look see. -
Game crashes on startup with self-made mod
Corrosive replied to cris6441's topic in [Don't Starve] Mods and tools
@cris6441, Can you attach the the script files for your mod? -
[Tutorial] Using Extended Sample Character Template
Corrosive replied to Dragon Wolf Leo's topic in Tutorials & Guides
@SuperPotatoBros, Yes, though I just realized that you're asking about DST on the DS forum <.< In any case, this is the error: [00:00:16]: [string "scripts/util.lua"]:384: Could not find an asset matching anim/ghost_Bunnylord_build.zip in any of the You should redo your mod with all filenames using lower case only. In addition, your prefab name should be lower case if it's not already. For the most part, anything you create that's not a string that's displayed on screen in game should be lowercase, for safety. -
@Speedist, You didn't post any source files so I can't tell you exactly the problem, but that error pretty much tells you exactly what you need to know. Brackets ( { and } ) define tables in Lua. If you choose to define the table with some values included, you enter all of them, separating each with a comma, ex: { value1, value2, value3 } There is an opening bracket ( { ) on line 91 of your speech_winged.lua, but on line 93 the Lua interpreter is encountering a statement (which it can't execute because you are still defining a table within the brackets.) There are generally two reasons you'll encounter this error: You're missing a closing bracket: table = { key = somevalue, key2 = somevalue, valuewithnokey <-- missing a closing brackettable2 = { value... }Or, more likely in your case, there is a missing comma between values: table = { key = somevalue, key2 = somevalue, key3 = somevalue <-- missing comma here key4 = somevalue, <-- comma is not needed on the LAST element in the list, but} it doesn't hurt to have one
-
Industrial Resolution - Content Documentation
Corrosive replied to Mobbstar's topic in [Don't Starve] Mods and tools
@Mobbstar, Man... I noticed that occuring when I was developing the Treeslacoil + Magnechest mod. At first I thought my devices were draining more energy than they should have. Spent forever scratching my head about that one until I realized it wasn't on my end, hah. It felt so sporadic so I wasn't able to replicate it reliably.-
- IR
- Industrial
-
(and 1 more)
Tagged with:
-
[Tutorial] Using Extended Sample Character Template
Corrosive replied to Dragon Wolf Leo's topic in Tutorials & Guides
@SuperPotatoBros, -
[Tutorial] Using Extended Sample Character Template
Corrosive replied to Dragon Wolf Leo's topic in Tutorials & Guides
That doesn't make any sense. That depends on how you work and what you want to accomplish. This is the same point as #2 Have fun trying to make that look as good as Klei's animations without knowing how animations work. -
[Tutorial] Using Extended Sample Character Template
Corrosive replied to Dragon Wolf Leo's topic in Tutorials & Guides
Edit: I should also mention that you need to use the mention tag for those @ things to notify people. You can do that by selecting some text in their post and clicking mention. You are making demands based on an apparent misunderstanding about how the animation system works. For the past several weeks, I have been messing with the klei binary formats, so trust me, I know what I'm talking about. I also created a Lua script that can read the raw binary data from anim.bin and build.bin files and parse it into Lua tables, if you want to take a peek into them. In any case, if you are making something that's not a playable character, you need animations for it. If you are making a playable character, those animations are provided by the anim.bin files located in the various player_*.zip files in the /data/anim/ and /data/DLC0001/anim/ directories. When compiling, the scml.exe program takes your spriter project and generates both anim.bin and build.bin files. Another program then creates a texture file (atlas-#.tex) consisting of all the images used by symbols in your animations. The build.bin file contains information about how to get the symbols out of that texture file. Unlike images, symbols are not necessarily square. They are (potentially) complex polygons. That's how the game knows what the clickable region of an entity is. Symbols are also not necessarily a single image. Some symbols have many images. These are each separate 'symbol frames'-- the face symbol is probably the best example of this, because each face is the same symbol but a different frame. Each folder in your Spriter project's root directory is considered by the compiler to be a symbol, and each image within that folder is a symbol frame. The game's animations contain keyframes which in turn contain a list of elements used in the frame, as well as the name of the symbol that that each element represents. When creating a player character, the only thing that the game needs is the build.bin and atlas files for your character. You can even delete the anim.bin from your .zip without consequence if you want to save a tiny bit of space. As long as you specify that build for your player character, you are good to go, since the symbol names in the character template correspond to those used by the player animations. Last thing: This is impossible due to technological limitations inherent to Spriter. Spriter only supports very basic transformations(scale, rotation, position). Klei's artists use Flash to create the animations, and the klei format supports the same manner of transform that Flash does, which is called a 2d matrix transform. This type of transform allows for distortions that aren't possible in Spriter, like skew. Imagine holding a dish with a big gelatin mold cube on it. If you shook the plate back and forth, the top of the mold would move while the bottom would stay affixed to the plate. That is essentially what skew is, and it cannot be represented in Spriter. Attempting to convert from the 2d matrix transform to the Spriter type results in strange, distorted animations whenever the transform can't be represented. -
[Tutorial] Using Extended Sample Character Template
Corrosive replied to Dragon Wolf Leo's topic in Tutorials & Guides
@NoOne, I'm not sure what you're saying here, but the character templates effectively act like "swap everything"s for both DS and DST (the difference being that the swapped in symbols become the default rather than overrides.) @FreakinSweet, -
LUA error on trying to start new game
Corrosive replied to obrijm09's topic in [Don't Starve] Mods and tools
@Blueberrys, That's from the RoG version... as written, that code pretty much guarantees that a nil index error would be impossible to get on line 108. The log refers to C:/Program Files (x86)/Steam/steamapps/common/dont_starve/data/scripts/components/colourcubemanager.lua, which is the base version. The relevant lines there are: function ColourCubeManager:GetDestColourCubes() local season_idx = SEASONS.SUMMER if GetWorld() and GetWorld().components.seasonmanager then season_idx = GetWorld().components.seasonmanager:GetSeason() end local time_idx = "DAY" if GetWorld() and GetWorld().components.clock and not GetWorld().components.nightmareclock then if GetWorld().components.clock:IsDusk() then time_idx = "DUSK" elseif GetWorld().components.clock:IsNight() then time_idx = "NIGHT" end end local nightmare_idx = "CALM" if GetWorld() and GetWorld().components.nightmareclock then if GetWorld().components.nightmareclock:IsWarn() then nightmare_idx = "WARN" elseif GetWorld().components.nightmareclock:IsNightmare() then nightmare_idx = "NIGHTMARE" elseif GetWorld().components.nightmareclock:IsDawn() then nightmare_idx = "DAWN" end end local cc = self.SEASON_CCS[ season_idx ][time_idx] if GetWorld() ~= nil and GetWorld():IsCave() and GetWorld().topology ~= nil and GetWorld().topology.level_number == 2 then --We're in the ruins, use the nightmare colour cubes cc = self.NIGHTMARE_CCS[nightmare_idx] end local insanity_cc = self.INSANITY_CCS[time_idx] return cc, insanity_ccendWhich means that the game was trying access a property of the table... self.SEASON_CCS = { [SEASONS.SUMMER] = { DAY = "images/colour_cubes/day05_cc.tex", DUSK = "images/colour_cubes/dusk03_cc.tex", NIGHT = "images/colour_cubes/night03_cc.tex", }, [SEASONS.WINTER] = { DAY = "images/colour_cubes/snow_cc.tex", DUSK = "images/colour_cubes/snowdusk_cc.tex", NIGHT = "images/colour_cubes/night04_cc.tex", }, [SEASONS.CAVES] = { DAY = "images/colour_cubes/caves_default.tex", DUSK = "images/colour_cubes/caves_default.tex", NIGHT = "images/colour_cubes/caves_default.tex", }, }...that doesn't exist. I have no idea why he would be getting this error though. I could see getting it if trying to load or start a RoG game when RoG isn't installed, since since SEASONS.AUTUMN is the default in RoG, but aren't there protections against that? O.o @obrijm09, Do you have Reign of Giants installed? If not, have you ever had it installed? -
Need help on how to make an animation build
Corrosive replied to TheShadySanta's topic in [Don't Starve] Mods and tools
@TheShadySanta, You did some initial troubleshooting which makes me happy Make sure that your scml is being compiled. You can either compile it manually using scml.exe in the mod tools folder(or use one of any of the available helper batch files people have made, myself included), or you can temporarily move all other mods out of your mods folder so that the autocompiler can reach your mod instead of getting hung up on one of the others-- this is run automatically when you start the game. -
[Tutorial] Creating a "handslot-equippable-item" from scratch
Corrosive replied to Malacath's topic in Tutorials & Guides
@Notsoinsaneguy, This is correct. It's not obvious without dissecting the binaries that get generated from the SCML, but the directory used to contain images actually gets converted into a 'symbol', with all images in that directory turning into 'symbol frames'. Naturally, this is important to a function called "OverrideSymbol" -
@mrpoke20xx, https://github.com/kleientertainment/ds_mod_tools It's not the most straight-forward of tools, let me warn you. It took me a while to be able to compile it without errors. And even now it still feels like I've stacked a bunch of cats on top of each other, and if I move one just a tiny bit everything will break.