Description: Barmans (that use the shopkeeper dialogue package) and hivers (that use the hive shopkeeper dialogue package) won't restock ever again after being talked to and traded with using a limbless player in sneak mode. The reason is that the dialogue line for trading with the player in those dialogue packages has T_TARGET_IF_PLAYER in the speaker tag instead of T_TARGET, as every other trader. This BUG is ancient and produces depletion of barmans' and hive shopkeepers' money/goods in every waystation sooner or later (who isn't on the floor or limbless once in a while and sneaking, right?).
How to reproduce the bug:
1- Create OR use a character with NO limbs. And a good amount of items for selling (recomended skins)
2- Activate Sneaking mode.
3- Go to the Bar in Eyesocket
4- While sneaking with your character, talk to the barman. You need to hold right click and select "trade" as while sneaking the normal talking doesn't trigger due to the sneaking (duh).
5-Sell everything until the barman has very little money.
6.Go outside the bar and unload the interior to wait 24 hours for restock.
7. As you can see, the barman doesn't restock. Why? because of a problem with a function in the dialogue option that bugs out when a limbless character sneaks and trades. No more restock for you.
8. You can try unsneaked or any other way you want, and you will see that the trader will restock this time. But not in this save, my friend. You need reimport.
SOLUTION:
FIRST: Go to the shopkeeper dialogue package and inside the dialogue (edit ) select the line "show me what you've got" and then look up to the "Effects" conditions and remove DA_NONE condition (before DA_TRADE). Good start, now let's continue the fix:
Some vendors have in the "shopkeeper" dialogue package in the line for trading with the player a "speaker" function called T_TARGET_IF_PLAYER when they should have T_TARGET like most of the vendors. This (and the DA_NONE effect) causes that limbless characters that are sneaking produce a vendor glitch with no restock of items nor money.
The affected dialogue packages are mostly 2 but of very common use: "shopkeeper" and "Hiver shopkeeper" . First, right click on the dialogue and select EDIT. Then, in the speaker function on the right you just need to change the reference T_TARGET_IF_PLAYER to T_TARGET. That will fix the issue for any character in any situation.
(EDIT: Actually, any line of dialogue that has T_TARGET_IF_PLAYER and belongs to a dialogue package that sells things is able to stop the restock, even if it's by just talking while sneaking limbless and selecting a mere "No, thanks"-------> (this statement doesn't always result in bug, but better be sure).
So to fix everything I recommend going to dialogue packages and writing "shop" in the search window. Then check all of the entries (they are not many, took me around 5 mins). Once inside each one, look for any T_TARGET_IF_PLAYER in any kind of line and replace it for "T_TARGET" on the "speaker" tag on the right (you have to be inside the dialogue from the dialogue package. I understand that "T_TARGET" is the cause of yellowness in hidden warnings as it has multiple references, but not only does it work better, but it doesn't have negative performance consequences at all.
Cheers.
[1.0.54] Vendors won't restock unveiled sneaky bug and fix
-
- Information
-
Who is online
Users browsing this forum: No registered users and 13 guests