Jump to content

Photo

Craftybits 0.811 Bug Reports

CB 0.811 Bug Patch

  • Please log in to reply
149 replies to this topic

#1
Munch Universe

Munch Universe

    Calamari

    • FOMO - Craftybits
  • 237 posts
  • Location: Baden, Germany

Hi Everyone,

Craftybits ran out of steam in 2013. Recent interest from a few people and some time on my hands has enabled development to get started again. The current plan is to focus exclusively on fixing bugs in Craftybits 0.811 so that the publicly available version is as bug free as I can make it. From that point, Sifonseal is planning to integrate it into his FOMO project, making it all the more important that the basis is as bug free as possible.

 

The current version is 0.811.1 available on the Nexus on the Craftybits page as an optional download for playtesters only. Once a certain amount of experience with this version has been accumulated, I'll make this the main version and make it obviously available to everyone. Patches and bug fixes will appear here until we reach that point. The current version of the Crafybits Reference Guide is attached to this message and is not available at the Nexus, though the number of changes relative to the last version is not greatAttached File  CB Reference Guide 0.811d.pdf   3.36MB   11 downloads.

 

Please post bug reports here. Please make sure you are using version 0.811 when reporting bugs here. If you are using another version, feel free to start a separate thread or ask me to do so. If you wish to discuss other matters, feel free to start a new thread or suggest I do so. It would be best to keep this thread tightly focused on bug reports for the sake of anyone trying to get an overview of what has already been reported.

 

Any bug reports are welcome. A good bug report will include a description of what you were doing, or attempting to do, at the point when the bug occurred, a description of what happened and what you expected to happen. The most common type of bug is one where the program works differently than you think it should, but the scripts are working as designed. These are interesting because sometimes they suggest a way to improve the behavior of the script, but usually are seen as "user error" problems. No need to be embarrassed by such a thing, such reports are welcome. Problems in the scripting are the next most common, usually when something which is supposed to work fails. If most things work, but one thing doesn't, it is very likely a scripting error. These are the most important bug reports, since they can usually be patched up fairly easily.

 

I'm grateful to Sifonseal and the admin of TAL in giving Craftybits a new home. With a little luck we can engage in the same sort of polite, respectful discussions that made the Wormhole a good host for a long time.

 

EDIT: Ref guide updated with an additional Problem/Solution in the Troubleshooting section relating to fixing mining when it breaks courtesy of Fulgate.


Edited by Munch Universe, 02 August 2016 - 04:48 AM.
updated attachment

  • gep5 likes this

#2
Munch Universe

Munch Universe

    Calamari

    • FOMO - Craftybits
  • 237 posts
  • Location: Baden, Germany

The patch attached to this message reverts a change made to the bowl to prevent multiple marinade stacks from showing up when you make a marinade. By design you should receive 1 stack of 4 instead of 2 stacks. The fix, however, prevents recipes which cannot be flavored from completing. Thus the fix was worse than the problem.

 

It also adds versions to two cooking scripts for better console feedback and auto resetting of the arrays. I plan on extending this to other cooking scripts and finding a proper fix for the marinade problem. Use this version with CB 0.811.1. It will also work with 0.811.0, but you may as well use the newest, if you are not already. Once a few other bugs are taken care of, this will become 0.811.2 but is not yet at that state.

 

EDIT: Attachment deleted, used newest version below instead


Edited by Munch Universe, 16 July 2016 - 07:38 AM.


#3
Munch Universe

Munch Universe

    Calamari

    • FOMO - Craftybits
  • 237 posts
  • Location: Baden, Germany

I made an important addition to the Ref Guide on page 26:

Drying, Salting and Jerky

Meat can be preserved in two ways. Slice the meat into sliced meat on the cutting board, then place the slices in the aging barrel. If you add bulk salt, you make salted meat in 1 day, if you don’t, you get dried meat(jerky) in 2 days.

Simply drop the sliced meat with or without salt, into the barrel and close it. If you wish to check on your jerky, press grab and activate on the barrel. If the drying is still underway, you will get a message to that effect. When the time has past, you will see a message, if you are close enough to the barrel (about 2 cells) or the next time you get near the barrel. Press grab + activate to remove products from the barrel.

Cheesemaking

Cheese is made by first combining milk with bulk salt in a Mixing Bowl and using the spoon to get a mix ready. The mix is cooked in the cooking pot along with flavoring ingredients, if desired (see Cooking Tables for details) to get a cheese ready to ferment. The cooked fermenting cheese is placed in an aging barrel to allow it to mature to a finished cheese. In most cases this takes around 1 day. Press grab + activate to remove products from the barrel.

 

The second paragraph of Drying and last sentence of Cheesemaking is new, explaining how the products are received. 

 

I ran a test and the script appears to be working, but I made some modifications to provide more and better information, as well as providing a hint if everything is on course and you just need to wait. Add the attached esp to your load order until I can build it in.

 

EDIT: Attachment deleted, use newest version below instead

 


Edited by Munch Universe, 16 July 2016 - 07:39 AM.


#4
Munch Universe

Munch Universe

    Calamari

    • FOMO - Craftybits
  • 237 posts
  • Location: Baden, Germany

Attached is the latest collection of fixes for CB 0.811.1. Use this in addition to the esm/esp pair from CB 0.811.1. Once a few bug reports have come in, I'll integrate it into the main trunk. You only need this one fix esp, since all previous changes have been built into this version.

 

Some of the fixes:

  • The pot now handles combining odd numbers of bergamot, flax or milk thistle seeds to make oil. All three are pooled, then divided by two to get the amount of oil produced.
  • Barrels can be interrogated to learn whether the aging or brewing is still in progress by using grab + activate while closed. You will see a message if the process is still underway, telling you to wait. If you don't see this message, something has gone wrong. Please report what you were doing, to the best of your ability. Console information from the barrels significantly improved to report day and time of finish.
  • When making marinades in the bowl, you should only get one stack. Also fixes bugs created by a failed attempt to solve this problem in CB 0.811.1 which prevented simple things like flour from working when wheat grain and the spoon were added to the bowl.
  • Versions added to cooking scripts and auto update fixed, so that when you install this, the CB arrays should reset automatically. If they don't, something is wrong and you should do so manually and report it.

I also have reason to believe that the lapidary equipment isn't working smoothly, so please report anything you might experience with it, good or bad.

 

EDIT: Updated version replaced yesterday's version. I added a 6 second delay to the console report of the versions to allow time for other quests to execute before the data is called up. To make sure an array reset has completed, manual or automatic, please wait 6 seconds before trying anything using CB. If you see the version report in the console, the 6 seconds have passed, though you can simply wait a few seconds without checking, if you prefer.

 

EDIT2: Attached file deleted, use newer version below instead for a cumulative fix, including all the ones mentioned here.


Edited by Munch Universe, 25 July 2016 - 05:15 PM.
Deleted obsolete file


#5
Munch Universe

Munch Universe

    Calamari

    • FOMO - Craftybits
  • 237 posts
  • Location: Baden, Germany

CB is compatible with most other mods, but there are a few it doesn't do well with. See the reference guide for a complete list of the ones we know about, but I thought I would mention one here specifically, since it is reasonably new and otherwise well done: Enhanced Grabbing.

 

CB does a great deal with grabbing and Enhanced Grabbing seems to short circuit how grabbing is linked to the keys. If you are not using CB, it seems like a fine mod, well done and modern. But this short circuiting is something CB makes no provision for, so many things just won't work. Chances are it would not be horribly difficult to adapt CB to recognize that Enhanced Grabbing is in use so it can deal with the short circuit, but unless there is some compelling reason to do so, I'm disinclined to put the effort into it.

 

As a more general warning, mods which mess with a large number of keyboard commands are usually incompatible with CB. CB isn't overly demanding, but it requires one key for itself alone and standard activating, grabbing and blocking to work properly. A mod which tweaks a key or two or even half the keyboard is no problem, but those which try to comprehensively handle the keyboard confuse CB.



#6
Munch Universe

Munch Universe

    Calamari

    • FOMO - Craftybits
  • 237 posts
  • Location: Baden, Germany

I found a minor bug in skinning which I think I fixed. The symptom was that when fighting something with a short blade in your hand, it triggered the skinning routine. Skinning didn't actually proceed just then, but it was initiated, so that when you took your short blade to a plank, for example, the skinning system would try to process the plank. It didn't really do anything bad, other than putting a couple of inappropriate messages on the screen, but that was reason enough to want to fix it.

 

In the process, I discovered that a change in a "global" variable in CB, NoSick, which had been part of CBBathQ but I had moved to CBIntegrationQ when creating the crafybits.ini. CBSkinningQ was still expecting to find it in the Bathing quest. The CSE is now so well developed that it caught the mistake and prevented compilation of the script until the problem was fixed. The old CS was far more forgiving, allowing nasty bugs like this to slip through undetected.

 

Use the attached esp in addition to CB 0.811.1 in order to have the latest version of CB. Previous fixes are no longer necessary, this one is cumulative.


Edited by Munch Universe, 04 August 2016 - 06:13 PM.
Deleted obsolete file


#7
Sifonseal

Sifonseal

    Octopus Commander

    • FOMO-High Rock
    • FOMO
    • FOMO - Craftybits
    • Black Marsh
  • 171 posts

Good stuff as always Munch ^^.

 

And yes, the current state of CSE is indeed a pleasure to work with. So many mods that were integrated into various FOMO mods had so many issues that were floating around completely unnoticed but CSE picked up many right a way and gave me cause to look closer and find a few more.



#8
Munch Universe

Munch Universe

    Calamari

    • FOMO - Craftybits
  • 237 posts
  • Location: Baden, Germany

The fix to skinning didn't work, but a new attempt succeeded. I'll hold this one back for the moment, since it is so trivial. You only see the bug once for the very first thing you ever skin. The second critter skins as it should. 

 

This new fix worked, but it is sort of strange, almost illogical. The following block was the problem:

							set rNewCorpse to rTarget.PlaceAtMe rCorpseRef
							set rOldTarget to rTarget
							printc "CBSkinningQ: old target is %n, set to disable", rTarget 
							; rOldTarget.disable ; commented out because the first rat skinned wasn't disappearing
							set DelOld to 1
							; rNewCorpse.setPos x fPosX
							; rNewCorpse.setPos y fPosY
							; rNewCorpse.setPos z fPosZ
							; rNewCorpse.setAngle x fAngleX
							; rNewCorpse.setAngle y fAngleY
							; rNewCorpse.setAngle z fAngleZ
							set Mode to 98

When this block executed and the rOldTarget.disable line functioned, it failed the first time it should be used. In mode 98 rTarget is disabled, which is needed by other blocks of code. So commenting out this early disable appears to have left the rTarget.disable in mode 98 to do the job successfully. I don't really see why this scheme didn't work, but I guess it doesn't really matter, because it does and is simpler as well. I recall there was something with the early scripting which made it necessary to assign a reference variable some value, but I thought that was long since history. Perhaps using let would give different results, but if it works without this extra disable, that is better still. 



#9
Munch Universe

Munch Universe

    Calamari

    • FOMO - Craftybits
  • 237 posts
  • Location: Baden, Germany

The following comes from a PM from Fulgate, repeated here with his permission:  

 

My CB key has stopped working for some reason, and resetting the arrays does not make it work again. It happened when I had a bunch of repair hammers on the floor and I was starting to turn them into smithing hammers, I was getting tired of missing the lapidary equipment with the hammer and was going to try just dropping one after another until one of them hit the damn thing. They stopped turning into smithing hammers, and then the CB key did not work at all for anything after that. I should have loaded an earlier save, but I didn't think to at the time.

 

I can't make flour or dough in the mixing bowl now, oddly, because that was working before. I drop in the ingredients and the spoon, and nothing happens. The golden soup mix also does not appear to work. I am able to make salads, however, and flavor them. I cannot slice rat meat or ham on the cutting board, I get the these ingredients don't make anything message. That weird ham sandwich bug is also still in effect.

 

As for dried meat and jerky, the process starts right, but either I'm doing it wrong or it's not finishing correctly. When I come back in the room where the barrels are, the message that the meat is done flashes so quickly on the screen it's almost impossible to read any of it. I go over to the barrels and open them one by one, and they're all empty. So I don't know if there is a procedure for getting the meat out that I am not observing, or if something's not going right. I tried dried beef and wolf meat and salted boar meat.

 

Let me know if you have any ideas about restoring the use of my CB key, obviously there are a lot of things I can't do without it.

 

ETA: I can make dye with no problems now. I just wasn't adding water. The guide does not say you need water, it only says you need water to dye the yarn, not to make the dye.



#10
Munch Universe

Munch Universe

    Calamari

    • FOMO - Craftybits
  • 237 posts
  • Location: Baden, Germany

The following is an edited version of further exchanges on the same topic as the message above:

With regard to your CB key problem, try setting it to a different key. It really shouldn't make any difference, but if it behaves other than expected, it might provide a clue. I use 'v' and default is 'p', chosen because few, if any other mods, use it for anything.

 

There is one more thing you can try. Open the console and type the following:
set CBKeyGatheringQ.mode to 99

that will force it into reset mode. Before you do that, you could use this to see what the value currently is:
show CBKeyGatheringQ.mode

If it shows a value other than 0, it appears that the script got stuck in some mode halfway through. If this is the case, please report it back to me, since it will help me find what might have gone wrong and fix it. If the mode is already 0 or 99, it is unlikely to help.

 

From Fulgate:

 

show CBKeyGatheringQ.mode gave the result 99. I tried changing it to 0, then back to 99, nope. I tried just changing it to 0. Nope. I had already tried changing the CB key several times, but I tried it again, and still no luck. Resetting the arrays of course does nothing. Do you have any other ideas, or did I really break it this time?

 

Before my CB key blew out, I did do some experimenting with smithing, trying to smelt iron materials into barstock. I did this at the forge in the Cheydinhal Fighter's Guild. I did not have a lot of success, I was able to get everything set up, the forge lit and the crucible in place and so on, but the iron materials I tried (I think I just tried two kinds of swords, maybe one other thing like boots) did not melt down. I think I remember finally trying to go up to 12 puffs with the bellows and still it didn't melt. I forget what I was using for fuel now, probably wood? I think wood. I have a ton of wood, so I would have done that unless the guide told me not to.

 

Anyway, I want to try this out on a different forge and see if I can get something else to melt down, make sure it's not that particular forge or those particular materials, or if I was just f*cking up some step of the process which is always a possibility. I'm hitting the sack now, but in the morning I will have to go to the guide and check because I can't remember if smithing is something I can do w/o the CB key. If not, it will have to wait until either a solution is found or I have thrown up my hands and started over.

But now that I think about it, the hammers are converted by a different script: CBMstCBKeyQS. Try getting and setting the mode like this:

show CBKeyQ.mode / set CBKeyQ.mode to 0

In this case, there are more things which could cause an early return

show CBIntegrationQ.Integration

If this value is 0, the script won't run. It is set by another script which should run and set itself to 1 with each load, but if this isn't getting set, we might be on to a problem which can be solved.

show CBIntegrationQ.CBKey

as above, if this is 0, the script gets stuck.

 

A particularly likely candidate is this:

show CBKeyQ.iFound

If this value is 0 and mode is 99, I know what is happening. The script failed to find the target and is returning each cycle before reaching mode 99. If so, this is easily fixed. I'll send you a new patch which moves mode 99 to the top to ensure it runs.

 

If CBKeyQ.mode is 80, the script is stuck trying to set your CB key. If you set mode to 0, that should fix it. Start by resetting your CB key, then test normally.

 

From Fulgate:

 

You've saved me again; set CBKeyQ.mode worked, it was at 99 and I set it to 0.

 

You have my permission to post anything you wish from our private discussions at the assimilation lab, that's fine with me.

Hi Fulgate,

can you reload the broken save and try out the secondary suggestions I made above? It would be very valuable information for me to know which of the possibilities was the source of the trouble. I can rearrange the script a little to ensure that it doesn't happen again.

 

I'm delighted it worked. This sort of fixing really shouldn't be necessary. At the same time, your testing is rigorous in a useful way, in that you are finding rare bugs by really putting things through their paces. That is what CB needs the most at this point.


  • Sifonseal likes this

#11
Munch Universe

Munch Universe

    Calamari

    • FOMO - Craftybits
  • 237 posts
  • Location: Baden, Germany

If you drop any potion near your burning campfire, it will extinguish the campfire, unless the potion has a script. This usually works pretty well, but I detected a bug which was preventing clean water from extinguishing the fire. This only occurs when you are using CB-FFRT_Glue, because this glue mod adds a script to clean water which enables the player to fill his or her waterskin with the clean water. I'm working on a fix and should have it soon, just wanted to let everyone know about this potential problem.

 

TIP: It may also be news to some people that you can extinguish your campfire with a potion. This can backfire if you decide to drop a valuable potions near the fire for other reasons and suddenly find your fire went out and your potion is gone. In other words, if you want to drop a potion, always make sure you are at least a man-length from your campfire when doing so, unless you intend to use the potion to extinguish the fire.

 

TIP: You can light your campfire by adding tinder to the campfire (see ref guide for a list of possible sources, they include using a knife on a piece of firewood), then banging two hammerstones together. That is to say, place one on the ground near the campfire, equip the other and hit the one on the ground. A successful hit generates a spark which will start your fire. This is useful in case you don't have a suitable spell to light the fire the easy way or have some other reason to avoid magic.



#12
Sifonseal

Sifonseal

    Octopus Commander

    • FOMO-High Rock
    • FOMO
    • FOMO - Craftybits
    • Black Marsh
  • 171 posts

Copying those private message exchanges over to this thread is really helpful, having public records of past errors, how they were solved or how they can be avoided is never a bad thing ^^.


Edited by Sifonseal, 01 August 2016 - 12:21 PM.


#13
fulgate

fulgate

    Krill

    • FOMO - Craftybits
  • 39 posts

Not really much of a bug, but.

 

I am not able to get milk from calves or bulls, but I can gather eggs from roosters. This isn't much of a problem, certainly low-priority if anyone wants to bother with it at all--but those roosters were probably embarrassed.


  • Lokichan likes this

#14
Munch Universe

Munch Universe

    Calamari

    • FOMO - Craftybits
  • 237 posts
  • Location: Baden, Germany

Chickens are not native to vanilla Oblivion. To catch whatever types someone might have added in a mod, the script looks for both "chicken" and "hen" in the name. This search uses the name you see on the screen, since we're trying to pick up things not native to Oblivion. If you are using a mod with chickens which are differentiated into "rooster" and "hen", I would have expected it to work right. If, instead, you see a rooster but its name is "chicken" then it makes sense. I could take out the search for "chicken" easily, but if the hens are also named "chicken", the result is no eggs.

 

The alternative would be to build a glue for a specific mod adding chickens. In this case, we could use the EditorIDs or FormIDs of the hens and ignore the roosters. This would have the additional advantage of being language-independent, so that someone playing the Spanish language version of Oblivion and a translated mod adding chickens would still get their huevos without having to rename their "pollo" to "chicken". Any idea what mod adds the chickens? If it is SoC, which is certainly one source, I'd be happy to make a glue. For others, it depends a little on how well done and how popular it is.



#15
fulgate

fulgate

    Krill

    • FOMO - Craftybits
  • 39 posts

They are very clearly called roosters. I am not sure what mod they are from, I will add a filter to TES4Edit and see what adds roosters, there may be more than one mod that adds them. I'll let you know what I find.

 

ETA: All right. Results: MMM, SoC, MTC Expanded Villages, and Better Cities all add roosters. I have gotten eggs from a few different roosters but have not noted their locations, but the most recent one is near my current save so I can check on that.

 

I never mentioned this, but there's this one cow, I think it's added by some or other player home mod, don't remember where it is, but it gives wool instead of milk. I don't know if they made a goat or a sheep into a cow, or what. But it's kind of funny.


Edited by fulgate, 04 August 2016 - 06:37 AM.


#16
Munch Universe

Munch Universe

    Calamari

    • FOMO - Craftybits
  • 237 posts
  • Location: Baden, Germany

That is quite useful. I must be mistaken about the search procedure. Which actually reveals a hole which needs to be plugged, even if it isn't responsible for a known bug. It is deep under the hood, so I won't bore you with the details.

 

I'll have a closer look and figure out what is going wrong. The cow/sheep is a really helpful clue. You might have just thought it was a funny little story, but it tells me something important. More later when I've figured it out.

 

I am getting a new version ready. The old one had some version problems and I found a huge hole in the auto-update system. All patched up now. I'll see if I can fix this problem and get it ready. 



#17
Munch Universe

Munch Universe

    Calamari

    • FOMO - Craftybits
  • 237 posts
  • Location: Baden, Germany

Attached is the latest version of CB. It consists of an esm/esp pair and the ini, which needs to go in the Data/ini folder. If you have 08111 or 08110 already installed, you don't need the ini but I included it because it contains a few minor changes. The bsa you should have from a previous installation. Nothing has been changed there, so there is no need to include it in this pack and make it much larger.

 

All fixes prior to this message are built in and therefore no longer necessary. Please delete anything named CBFix... from your load order if you are using this version. Old versions may interfere because they usually contain a version of something here but are at the end of your load order. Please see the first message in this thread for the latest version of the Ref Guide.

 

I added an additional check to chickens that makes sure they are not named "Rooster", "rooster" or "Hahn" if you are going to get eggs from them. It will work when playing in English or German, but will fail for most other languages. That should solve the eggs from a rooster problem.

 

Fulgate was right about some cow being derived from a sheep. CB uses check model path to look for key words, such as "hen" or "chicken". Chicken is probably necessary because many model makers will use that in preference to "hen" in the model path, though the name you see on the screen might be "hen". So the cow in sheep's clothing was probably in a sheep folder or had sheep in the name of the nif. If I know of the circumstances that triggers that kind of bug, I can find a way around it, but they are invariably hacks. By hack, I mean a solution that fixes that specific case in that specific situation, but is incapable of handling anything more general by algorithm.

 

 


Edited by Munch Universe, 04 August 2016 - 06:13 PM.
Deleted obsolete file


#18
Munch Universe

Munch Universe

    Calamari

    • FOMO - Craftybits
  • 237 posts
  • Location: Baden, Germany

Looks like I goofed something up. I can't get cooking on a plate by a campfire to work. The plate recognizes the fire but not the food. I'm on it and should have a fix before long. Sorry for the inconvenience for those of you who downloaded 0.811.2.

 

EDIT: Solved the problem. Use these files instead. You can recognize them because in Bash comments you will see 0.811.2b.

 

I plucked the obsolete files from previous messages for two reasons. It reduces the space the forum requires, so it is a courtesy to our hosts at TAL. In addition, it eliminates the chance that someone new comes along and downloads an obsolete file. Apologies if it gives you a bunch of old messages to check for changes but I'll try to remember to add a message to the reason for edit so you can easily spot the ones you can ignore.

Attached Files


Edited by Munch Universe, 04 August 2016 - 06:15 PM.
Added fixed version


#19
fulgate

fulgate

    Krill

    • FOMO - Craftybits
  • 39 posts

Thanks for the update, Munch! I have been looking forward to this. You are awesome as always.

 

Same problem with the lapidary equipment, I'm afraid. I can cut flawed gems into regular gemstones, but I still can't powder gems or gold/silver nuggets. When I put regular gemstone down and I drop a smithing hammer on it, like you told me to, I get the message that the gemstone is as good as it's going to get. When I drop the pestle, like it says to in the guide, nothing happens.

 

And did I mention that the lapidary equipment is too damn small? It's really hard to hit it with the hammer, and half the time it glances off that little gold anvil.



#20
Munch Universe

Munch Universe

    Calamari

    • FOMO - Craftybits
  • 237 posts
  • Location: Baden, Germany

I'll run some tests myself. I seem to recall it worked more or less okay when I last touched it, but obviously things break sometimes without it being obvious. Lapidary has never been subject to much testing and even if it works, you point out some serious play issues that I will deal with.







Also tagged with one or more of these keywords: CB, 0.811, Bug, Patch

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users