Mods / Vinconomy - A Vintage Story Economy Mod

Category: #Crafting #Furniture #Other #QoL #Storage #Utility
Author: SeveredSkullz
Side: Both
Created: Sep 27th 2023 at 12:38 PM
Last modified: 7 hours ago
Downloads: 37617
Follow Unfollow 218

Latest file for v1.19.8:
vinconomy_0.3.5.zip 1-click install


Vinconomy

Purpose
The goal of this was to sink or swim trying to get started into modding Vintage Story. I did not see any up-to-date trade mods, and the ones currently available either do not work on the most recent version of the game, or do not fit my tastes / needs. I wanted a trading mod that is useful, aesthetic, configurable to suit a more widespread use-case, and one that does not require any sort of commands in chat to function.

Features

  • Vinconomy has numerous different types of stalls for visual theming and display possibilities
    • Clothing Stand - Allows you to sell both Armor *AND* Clothing! You can finally show off those fancy shirts, boots, and accessories!
    • Trade Mat (Single / Double Tiers) - A simple mat for displaying a general selection of items.
    • Produce Crate - A crate mainly designated for selling food or other perishible goods
    • Sculpture Pad - Create your own sculputres and sell them in wholely with up to a 5x5x5 size
    • Shop Shelf - A simple wall shelf for disaplying a general selection of items in more horizontally challenged areas
    • Tool Rack - A rack for displaying all your tools for sale
    • Weapon Rack - A rack for selling up to 2 different weapons and a shield
    • ATM / Register - Stores all your currency, profits, and allows you to convert currencies from one form to another.
    • Gacha Stall / Gacha Loader - Gacha/Gumball chance-based purchases! Throw in a bunch of items and see what you get!
  • Chisel Support - Want to further customize the stalls? Add a Chiseled Block to the decoration slot to change the model of your stalls
  • "Admin" shops which can provide an unlimited amount of items without having to restock the stalls.
  • Centralized retrieval of currency. No need to check each and every site for payment. It will all be located in the shop's Register
  • Protection System - No need to claim the land around your shop to protect your goods. Comes built in!
  • Configurable Perish speeds - Prevent your food from spoiling with a customizable configuration to modify the rate at which perishibles spoil

Player Shops - Selling

Player Shops - Selling

The system works via Shops and Stalls. The player can place various types of Stalls to which may be linked to a Shop Register. Any goods provided at the stalls will be paid for on-site, and any proceeds will be stored directly in the Register. Each stall may have one or more different types of goods, and each stall must be part of a shop in order to function.

To open a shop, you will need one or more Stalls and a Register. First place the Register in a location where you will often be checking for payment. There is currently no limit on distance to the stalls themselves. From there, you can open the interface and set the name of your shop - it can be anything you like. Any payment for items will end up here. Be sure to clear out your Register occasionally, as you cannot make a sale if you do not have enough space for payment.

Next for each Stall you wish to place, place it down in a suitable location to sell your goods. Most stalls have 4 stock slots, with 9 slots for each stall, for a total of 36 total stacks of goods. As an owner, you can Sneak-Rightclick to add an item to that Stall Slot, or Sneak-Sprint-Rightclick to add multiple. Each slot can only hold items of the same type, so you cannot put Turnips and Parsnips in the same Stall Slot, for example. If you wish to manage multiple slots without having to exit and right click on a different stall slot, you can switch slots with the arrow buttons on the top right. You may also change the Items Per Purchase amount in order to sell more than one item for each sale. The Currency slot below the Price label can take any item you see fit for payment. Note that you do not need to sacrifice the item for payment like in other mods - The slot will clone the itemstack when you click on it. You can also click on the price item slot to clear it.

Regarding Admin Shops:

Admin Shop Info

If you have the "Gamemode" permission, you can also set this stall as an Admin Shop which will allow you to sell infinite amounts of items without having to restock the stall. If you wish to still collect payment for these purchases - for example to use the currency again for situations such as limited circulation - you can set the shop as you would with a normal Stall. If you wish for the payment items to simply be deleted, leave the Shop set to "None"

Owner UI   Customer UI

Things to note:

  • The stall will not function if there is no price set for the item
  • The stall will not function if there is no Shop set for the stall (Unless it is an Admin Shop)

Player Shops - Buying

Player Shops - Buying
Purchases can be made simply by having the payment in your hand and Sneak-Rightclicking on the desired slot to make a purchase. Sprint-Sneak-Rightclicking will purchas items 5 at a time. Note that this is multiplied by the "Items Per Purchase" modifier, so if a stall sells 10 Turnips per gear, you would be purchasing 50 turnips. You may also simply right click the stall in order to see via a GUI what is for sale and for how much. you can then initiate the trade by clicking the "Deal" button.

Configuration

There are many configuration options in mind for Viconomy. Currently the only implemented feature is Food Decay. As these stalls will likely not be in a well-preserved location, their decay rate is statically set to a constant rate. This rate is configurable and can even be completely turned off to stop food rotting entirely. Other plans include limits on shops, stalls, items used for currency, and time-locked sales (RP Store's "Open Hours")

 

Known Issues

  • Crates do not tesselate properly and will display the generic "?" block instead.
  • Using mods to alter or change item names or decriptions and using quotations in the name can mess up the ledger parser. This is a bug within Vintage Story itself and I cannot fix.

For other issues:

Feel free to use the Official Vintage Story Discord's Mod Page for support, or message me directly (SeveredSkullz). My response times will likely be much faster on there.

Version For Game version Downloads Release date Changelog Download 1-click mod install*
v0.3.5 2 7 hours ago Show vinconomy_0.3.5.zip Install now
v0.3.4 2032 Oct 5th at 3:38 PM Show vinconomy_0.3.4.zip Install now
v0.3.3 2013 Sep 22nd at 4:28 PM Show vinconomy_0.3.3.zip Install now
v0.3.2 565 Sep 18th at 4:43 AM Show vinconomy_0.3.2.zip Install now
v0.3.1 899 Aug 31st at 2:26 PM Show vinconomy_0.3.1.zip Install now
v0.3.0 4627 Jul 21st at 4:50 AM Show vinconomy_0.3.0.zip Install now
v0.2.10 2472 Jun 24th at 1:47 PM Show vinconomy_0.2.10.zip Install now
v0.2.9 365 Jun 22nd at 10:21 PM Show vinconomy_0.2.9.zip Install now
v0.2.8 2566 Jun 6th at 2:34 AM Show vinconomy_0.2.8.zip Install now
v0.2.7 3189 May 8th at 8:06 AM Show vinconomy_0.2.7.zip Install now
v0.2.6 2324 May 4th at 12:00 AM Show vinconomy_0.2.6.zip Install now
v0.2.5 2587 Apr 9th at 6:29 PM Show vinconomy_0.2.5.zip Install now
v0.2.4 1507 Mar 24th at 9:48 AM Show vinconomy_0.2.4.zip Install now
v0.2.3 2187 Feb 21st at 1:50 PM Show vinconomy_0.2.3.zip Install now
v0.2.2 1725 Feb 4th at 4:44 PM Show vinconomy_0.2.2.zip Install now
v0.2.1 876 Jan 24th at 1:56 AM Show vinconomy_0.2.1.zip Install now
v0.2.0 792 Jan 14th at 5:46 PM Show vinconomy_0.2.0.zip Install now
v0.1.9 130 Feb 21st at 2:01 PM Show vinconomy_0.1.9.zip Install now
v0.1.8 498 Jan 15th at 3:42 PM Show vinconomy_0.1.8.zip Install now
v0.1.7 1053 Dec 19th 2023 at 10:24 PM Show vinconomy_0.1.7.zip Install now
v0.1.6 318 Dec 18th 2023 at 4:16 AM Show vinconomy_0.1.6.zip Install now
v0.1.5 616 Dec 10th 2023 at 12:42 AM Show vinconomy_0.1.5.zip Install now
v0.1.4 1330 Nov 14th 2023 at 12:40 AM Show vinconomy_0.1.4.zip Install now
v0.1.3 1572 Oct 19th 2023 at 3:18 AM Show vinconomy_0.1.3.zip Install now
v0.1.2 634 Oct 5th 2023 at 12:15 AM Show vinconomy_0.1.2.zip Install now
v0.1.1 445 Sep 30th 2023 at 1:28 AM Show vinconomy_0.1.1.zip Install now
v0.1.0 269 Sep 27th 2023 at 6:57 PM Show vinconomy_0.1.0.zip Install now

134 Comments (oldest first | newest first)

💬 Ket, 7 hours ago

Is the Ledger supposed to have information in it beyond {0}x {1} sold for {2}x {3}? Like, item names or anything? Because I am not sure how it is meant to be interpreted otherwise?

💬 SeveredSkullzAuthor, 1 day ago

I fixed that previously, but seems I forgot to fix that same entry in the russian lang file. Will get to it after work today.

Should read "{0}x {1} sold for {2}x {3}"

💬 GreenSage, 2 days ago

Hi! Awesome mod! I'm a bit dumb to understand the shop ledger entry. Could you please explain its purpose or maybe I set it up wrong, I am not so sure. What I see is something like this:
<player_name>:

{0}x{1} sold for {3}x{4}

And they keep repeating, same entry just different player names, for all months. It's not possible since I know I sell different stuff in my shop.

💬 SeveredSkullzAuthor, Oct 28th at 12:42 PM

DilanRona - It works fine. Check your logs to see if you have a mod conflict preventing Vinconomy from starting up as that would be the only thing that could be causing issues.

💬 DilanRona, Oct 28th at 11:40 AM

Viconomy version 0.3.4 doesnt seem to work on Vintage Story 1.19.8. Cannot craft any of the viconomy items, Does not show existing blocks placed (only shows ? blocks). Wanted to recreate them but nothing is even listed in creative.

Tried downgrading to 0.3.2, same problem. Had to downgrade back down to 0.2.5 for the mod to start working properly again. Will upgrade again as soon as the 0.3.x series is working properly.

💬 Boukyaku, Sep 30th at 10:07 PM

Hi! I'm getting an error on my server when I try to interact with anything inside of the UI for the Shop Sculpture Stall. I'm using version 0.3.3 on game version 1.19.8

These are both errors, when trying to set shop ownership, and when trying to put an item inside: https://pastebin.com/sTZKkq2n

Also, when a customer tried to interact with the Shop Sculpture Stall, they'd see the owner's menu, and get kicked out of the server when trying to interact with anything, getting an error that says "Nice try, but that wasn't yours."

Thank you for any help you could provide. Also, thank you so much for this mod, it's now an essential part of our experience with the game. :D 

💬 SeveredSkullzAuthor, Sep 23rd at 1:16 PM

Aimli - Ah. Forgot about the BlockEntities passing in the dialog titles. Will get those tonight for you.

💬 Aimli, Sep 23rd at 12:34 PM

💬 SeveredSkullzAuthor, Sep 22nd at 4:31 PM

Aimli - Swapped everything over to pull from the Lang files. If you wind up translating the keys, feel free to send me the JSON file and Ill get added to the mod

💬 SoulReaperz, Sep 20th at 11:29 PM

ok, no problem, just was weird seeing it is all.

still a great mod!

 

💬 SeveredSkullzAuthor, Sep 20th at 10:51 PM

SoulReaperz - A debug message I clearly forgot to remove. Can ignore it for now. Its related to the new Discord integration I added in 3.2

💬 SoulReaperz, Sep 20th at 10:16 PM

SeveredSkullz

not sure whats going on but never had this before

20.9.2024 22:10:47 [Server Event] Offthread save of savegame done.
20.9.2024 22:10:57 [Server Chat] [vinconomy] Update HTTP Called with 0 entries
20.9.2024 22:11:07 [Server Chat] [vinconomy] Update HTTP Called with 0 entries
20.9.2024 22:11:17 [Server Chat] [vinconomy] Update HTTP Called with 0 entries
20.9.2024 22:11:27 [Server Chat] [vinconomy] Update HTTP Called with 0 entries
20.9.2024 22:11:37 [Server Chat] [vinconomy] Update HTTP Called with 0 entries
20.9.2024 22:11:47 [Server Chat] [vinconomy] Update HTTP Called with 0 entries
20.9.2024 22:11:57 [Server Chat] [vinconomy] Update HTTP Called with 0 entries
20.9.2024 22:12:07 [Server Chat] [vinconomy] Update HTTP Called with 0 entries
20.9.2024 22:12:17 [Server Chat] [vinconomy] Update HTTP Called with 0 entries
20.9.2024 22:12:27 [Server Chat] [vinconomy] Update HTTP Called with 0 entries
20.9.2024 22:12:37 [Server Chat] [vinconomy] Update HTTP Called with 0 entries

i just updated to the latest version and now the server console is getting filled up with this message

the console never had this pop in before this update

💬 SeveredSkullzAuthor, Sep 19th at 10:28 PM

Aimli - Gotcha! Will see what I can do for ya to get that into a language file. My only concern is since most of vintage story's GUI doesnt really support reactive components, I can't guarantee that the text will fit nicely in all the labels.

💬 Aimli, Sep 19th at 11:26 AM

我必须花很多时间在源代码中寻找文本并翻译它,如果你能将它们链接到 lang 就好了!

这样即使你更新了 Mod,它也不会使我的翻译无效!

https://www.helloimg.com/i/2024/09/19/66ec0893621e3.png

💬 Aimli, Sep 19th at 11:16 AM

I mean, there's a lot of UI text in your mod that is untranslatable in lang

💬 Origin_Alpha_43, Sep 19th at 2:01 AM

yeah it was 3.0. I installed the newest version now

💬 SeveredSkullzAuthor, Sep 18th at 1:53 PM

Aimli - I only speak English. If you would like to contribute to any translations, by all means send them my way and I will get them implemented.

💬 Aimli, Sep 18th at 7:15 AM

Please do a good i18n, thanks!

💬 SeveredSkullzAuthor, Sep 18th at 4:59 AM

Origin_Alpha_43 - Not sure if you are on 2.8, or 3.0+ yet, but I can confirm there was a problem in 3.0 due to the new changes. Should be fixed in the update I just pushed moments ago.

💬 Origin_Alpha_43, Sep 17th at 5:38 AM

/setowner doesn't seem to work
Been trying everything. increase/lower every XYZ coordinates, the blocks just dont seem to be recognized by the command.
is there something i'm missing?

💬 SeveredSkullzAuthor, Sep 1st at 3:52 PM

Aimli - It isnt turned on, as it is always enabled by default. Each stall/register gets its owner from whomever first placed it down. Only the owner can add/take items from it, or break the block. This means that even in unclaimed land, other players will not be able to steal items from your stalls or registers. Additionally, if your shop *is* in a land claimed area, it gives permission for other players to use it without having to give "Use" permissions for the claim to the whole server in order to make any sales.

💬 Aimli, Sep 1st at 9:19 AM

Very good mod
But “Protection System - Protect your goods without taking up land around your store. Built in!” How is it turned on?

💬 SeveredSkullzAuthor, Aug 31st at 2:36 PM

xXx_Ape_xXx - I removed the crafting recipe ages ago in favor of the clothing stalls, which support Helmets and other wearables. Kept it in for backwards compatability reasons. Never really saw a reason to bring them back.

Also apologies for the long delay. I have been away for a while.

💬 xXx_Ape_xXx, Jul 29th at 4:11 AM

How do you create the helmet stands? There's no recipe for them as far as I can see, can't find anything in the handbook either 😬

💬 SoulReaperz, Jul 21st at 8:53 PM

Teewi

do you have the register filled with items?

if you do when players are trying to buy from a stall, the money has nowhere to go and thus they cant buy

if you are tryin to make the shop an admin shop, you do not need to link the stalls to the register, as an admin shop, with no register selected, the money yeets itself gone

if you link a register as an admin shop, then the money goes into the register again and will need to be cleaned out regularly

 

💬 SoulReaperz, Jul 21st at 5:29 PM

SeveredSkullz

its the Deco storage chests from qpchisel  the deco storage vessel, deco chest, deco chest high capacity

that are invisible in the shop stalls
they still are sellable but just invisible

they were visible before the update, its just a minor bug not a big issue

helmet stands still dont appear to have a crafting recipe, not a huge issue, im just providing the copper versions to the players in my world for the time being so they can at least play around with them lol

💬 SeveredSkullzAuthor, Jul 21st at 4:44 PM

Ive fixed the Tool Racks, but I am unable to replicate the problem with the Storage Vessles - and in fact that was one of the very things that this patch fixed. Before, they all rendered the "Cracked" variant and didnt display the right version.

Working on fixing the Sculpture Pad GUI issue you mentioned last night as we speak.

💬 SoulReaperz, Jul 21st at 2:57 PM

SeveredSkullz

ok first thing in this update, not a big issue just a image bug i guess
tool racks for the shop arnt reskining to the correct wood textures they are remaining default brown

ill edit this for any other things i find as i transfer from old to new\

storage vessals in the shop crate does not appear in the slots visually on the ground(more specifically the decorative storage vessal, chest, chest high capacity) dont know about the others at this moment

when world editing and exporting a shop then importing it back in
the shop shelf, helmet stand, register, weapon rack comes in as ? skins and without their items on them
the mats and double mats and crates work fine(everything came in as was with their skins and items and prices), the clothing stand and tool racks came in but i didnt have anything in them
this is the new blocks placed then copied and pasted in another location

on the shop mats at the very least just found out the 5x buy option, the shift crouch, doesnt seem to work

 

💬 SeveredSkullzAuthor, Jul 21st at 5:06 AM

SoulReaperz - It blows my mind that that issue has been present for about 7 months according to Git, and I am just now getting a report about it. Needless to say you should not be getting the *Owner*'s menu when you dont own said stall. The Anti-cheat is firing off because they are attempting to modify stuff in the menu, take out items, etc. - and rightfully so. Ive been doing bug fixes all day and its now past midnight. Dont have any more time for now to address the problem, but I should have a fix in soon.

💬 SoulReaperz, Jul 21st at 5:04 AM

SeveredSkullz

Im going to say keep up the good work on this mod
its been great for my server so far, just a few minor bug/issues as youve already seen me post and have replied to
we'll see what all this update holds for us tomorrow when i apply the update to my server!!!

again Keep up the good work!!!

💬 SoulReaperz, Jul 21st at 3:43 AM

SeveredSkullz

The Sculpture Stall while on server in multiplayer
for me as the owner of the server it works perfectly fine 100% of the time
but for the clients, players of the server that arnt the owner
they crash 100% of the time when trying to use the stall or crouch buy the chiseled item from the stall
even when the stall is empty with nothing in it they still crash when interacting with it

there hasnt been any actual crash logs generated that i know of, but it just completely closes their game

 

ok i found this in the logs on the stall
21.7.2024 03:36:33 [Audit] Client (playername) got removed: 'Nice try, but that wasn't yours. (Tried to access Stall they didn't own)' ()

so far thats the only thing we came across thats removing clients

also the Shop Helmet Stand doesnt have any crafting recipes for any of its varients


an update came out shortly after i posted this

will test the new update tomorrow to find anything new and to see if this is still an issue

💬 TheCraftyBear, Jul 14th at 11:33 AM

I have a problem with the Gacha Ball Loader - once placed, it can't be broken. I get a chat message "You do not own this.", but am still able to open the machine's operation window.

EDIT: This applies only to the Gacha Loader. The Gacha Stall can be broken normally.

💬 SeveredSkullzAuthor, Jul 12th at 3:15 PM

Can you let me know what error message they recieve? What items are you trying to sell, what currency are you using, etc.? Can only speculate, otherwise.

💬 Teewi, Jul 11th at 6:28 PM

Heya!
I've set up a shop and a register but others are unable to purchase from my shop despite me ticking all the right boxes and adding the currency, etc. The stalls are linked to the register and visa versa. Have you encountered this before? Is there a fix? C:

💬 SeveredSkullzAuthor, Jul 6th at 5:30 AM

SoulReaperz - Apologies, Had typed out a response earlier today but then got pulled into a discord call with GreenM4N4 and lost the text here, then forgot.

There are a few ways you can handle this. First is to simply fill up the slots accordingly - If you want Common, Uncommon, and Rare, you can fill 3 slots with "Common" gacha balls, 2 with "Uncommon" and 1 with "Rare. That should give you a 50% / 32% / 16% split. The trick here is that you dont need to have the all of one type in 1 slot. For instance I could put all "Commons" in every slot but 1, which would give me a 88% / 11% split.

If this is not granular enough, you can tick the "Use Total Count Randomizer" checkbox and it will instead go from Slot-based chances to Item-Count-based chances. Meaning if you wanted to have a 1% chance in winning an item, you need to have a 99:1 ratio of items. The only downside to this implementation is that the winnings percentage is going to change based on the amount of items that exist in the stall - so if a player purchased 50 of them, its now a 49:1 ratio, leaving the chance of winning that 1 rare item at 2% instead of 1%. Statistically speaking, this follows the rules of probability and I made a compromise here instead of explicitly being able to set the winning rate.

The original use case for this was from a player simply wanted a gumball-like machine where they could sell candy and wanted a basic way to get a randomized output. I took the liberty of expanding this and turned it into the Gacha stall simply because it was "close enough" of an implementation to give you guys a bit more freedom and creative liberty. The end goal isnt to give you guys tools to implement outright gambling on servers, nor do I want Vinconomy to become a means of selling "loot boxes" or other pay-to-win mechanisms on multiplayer servers. Im therefore hesitant to implement that level of control because thats not the underlying intent of this stall type.

💬 SoulReaperz, Jul 5th at 7:41 PM

@SeveredSkullz

speaking of Gacha
would be nice to be able to have adjustments on each slots percentage chance so we could actually make true common, uncommon, rare, and very rare Gacha chances when playing the Gacha machine

kinda sucks right now when you fill all the slots and its is equally divided up into 11% each instead of being able to adjust each slots percentage chances to make some items more common when playing and some more rare

💬 SeveredSkullzAuthor, Jul 5th at 3:43 PM

It is not possible currently with crates, BUT you can abuse use the Gacha Balls to accomplish the same task

💬 EphKa, Jul 5th at 1:31 PM

Also i thought about a suggestion, in our server sometimes players need a lot of recources, like sticks or grass, clay, etc.. So what if we had a stall for crates? Like i fill a crate with a few thousand sticks and could sell the whole crate? I dont know if thats possible, but would be hell of a cool functionality, or selling barrels of wine or beer :)) P.S. we can move crates with carry on functionality, i think its a mod, so i dint know if its even a possibility to add to the mod. Just a suggestion to consider :))

💬 SeveredSkullzAuthor, Jun 28th at 11:37 PM

If you can send them to me in the Discord Thread I can take a look

💬 GreenM4N4, Jun 28th at 10:39 PM

Hey, I am a Mod on Sanctuary where EphKa's error is happening.

We have tried replacing registers and it looks like it is just creating a new shop ID everytime. Its almost like when the server restarts it is losing the mapping from register to shop ID. I can provide the DB and logs.

💬 SeveredSkullzAuthor, Jun 28th at 5:26 PM

I assume you are on the most recent version given you saw my error message. Have your players made a new register, or are they just breaking and replacing the same register prior to the June 6th fix? If they made a new one and its still erroring out like that, I would certainly like to take a closer look at it via the logs and DB. If its the latter and they are re-using the same stall, then replacing it with a newly crafted Register should fix the issue. They store a bunch of IDs internally which are persisted each time you break/place them, and once that ID is used it is going to continue to bug out. The only way to fix it at that point is to craft a new Register and throw the old one away.

💬 EphKa, Jun 28th at 7:10 AM

You see, one of the players has the shop register inside the shop, like 5 blocks away, and the disconnection between shops and stalls happen after server restart, i think thats the problem.

💬 SeveredSkullzAuthor, Jun 27th at 8:39 PM

EphKa That is the INTENDED implementation in that it will only sell you things if the item matches exactly. And you're likely right in that it worked previously - I had to flip it because people were trying to Buy food from other players by setting the currency to the item they wish to buy and "sell" the rusty gears as compensation. Problem was then that it was too strict for food since the attributes change the second you harvest it and the "freshness" varibles would never be identical. Now that I've flipped the logic and told it to ignore the Source, its now too lax on things I actually want it to check. I cant tell you how many times this particular check has bit me trying to rely on the game's code to check these things. I'll have to write my own custom implementation to solve this problem, it seems.

 

Side note: "we are resseting our shops on every server restart because of unloaded chunk bug"
The solution here is just dont put your Registers 100+ blocks away from the shops. As long as they are nearby, this issue shouldnt occur.

💬 EphKa, Jun 27th at 8:25 PM

Yes, maybe it was even tested on vinconomy now that i think about it and it worked previously, my bad, it was not canmarket. Yeah i bought with unsigned parchment some goods where the price is a signed parchment. Is it possible to make the deal only if the price is met exactly how it is? idk if thats possible

 

💬 SeveredSkullzAuthor, Jun 27th at 8:23 PM

tRead - The amount on the right is simply the stock used to fufil purchases. If you are selling 8 peaches, you only need to have atleast 8 of them in any number of slots. You could have 1 Peach in 8 seperate slots, or 32 in a single slot - the arrangement does not mater, only that the total quantity is greater than or equal to the amount you are selling at a time.

EphKa - Just to make sure I am understanding the need / problem correctly: You are using signed parchments as a form of currency. When you put this item in the currency slot, people are able to buy your items with an unsigned / plain parchment?

💬 EphKa, Jun 27th at 7:02 PM

Hello, we had created a currency in our multiplayer server called Merits, which are parchments. So we had our economy running on canmarket mod, and the mod differentiated between a blank parchment and a signed parchment, but with vinconomy introduced to the server, anyone can counterfeit Merits to buy stuff from our shops, i was wondering if you could add differentiation between a parchment and a signed paper?

Also thank you for your hard work, we are resseting our shops on every server restart because of unloaded chunk bug, but its allright, we will wait for the fix. So thank you for the things you do, you bring us much joy in our roleplay :)) 

💬 tRead, Jun 25th at 10:58 PM

When stocking a shop, I understand that the part on the left is important for quantity: example 2 rusty gears for 8 peaches.  But what's the square area on the right for?  Simply inventory space for stacks of items to sell?  Don't need to separate peaches into stacks of 8?
So, "36 total stacks of goods" is the maximum I can fit at once; then refill when the quantity drops?

*Does it matter how many items are placed in a slot for an Admin shop?*

Btw, I recommend adding a brief description of the Teller comparing with the function of the Register.

💬 SeveredSkullzAuthor, Jun 6th at 8:01 PM

SiiMeR - Is this with a brand new register or a bugged out register prior to the fix? I am unable to replicate the problem.

💬 SiiMeR, Jun 6th at 12:42 PM

I have a problem on my server that players are somehow able to craft registers that make them crash upon placing them. After logging in again, a server-owned cash register will have been placed, with no possibility of removing it (and you will still have the cash register on hand). 

I thought that maybe the version update could fix it, but the error message has changed.

An exception is being thrown on the latest version 

Exception: Value must be set.
at Microsoft.Data.Sqlite.SqliteParameter.Bind(sqlite3_stmt stmt)
at Microsoft.Data.Sqlite.SqliteParameterCollection.Bind(sqlite3_stmt stmt)
at Microsoft.Data.Sqlite.SqliteCommand.GetStatements(Stopwatch timer)+MoveNext()
at Microsoft.Data.Sqlite.SqliteDataReader.NextResult()
at Microsoft.Data.Sqlite.SqliteCommand.ExecuteReader(CommandBehavior behavior)
at Microsoft.Data.Sqlite.SqliteCommand.ExecuteScalar()
at Viconomy.Database.ViconDatabase.AddShop(ShopRegistration shop)
at Viconomy.Registry.ShopRegistry.AddShop(String owner, String ownerName, String name, BlockPos pos)
at Viconomy.ViconomyCoreSystem.AddShop(String owner, String ownerName, String name, BlockPos pos)
at Viconomy.BlockEntities.BEVRegister.UpdateShop(String Owner, String OwnerName, Int32 ID, String Name)
at Viconomy.BlockTypes.BlockVRegister.DoPlaceBlock(IWorldAccessor world, IPlayer byPlayer, BlockSelection blockSel, ItemStack byItemStack)
at Vintagestory.GameContent.BlockBehaviorHorizontalOrientable.TryPlaceBlock(IWorldAccessor world, IPlayer byPlayer, ItemStack itemstack, BlockSelection blockSel, EnumHandling& handling, String& failureCode) in VSSurvivalMod\BlockBehavior\BehaviorHorizontalOrientable.cs:line 55
at Vintagestory.API.Common.Block.TryPlaceBlock(IWorldAccessor world, IPlayer byPlayer, ItemStack itemstack, BlockSelection blockSel, String& failureCode) in VintagestoryApi\Common\Collectible\Block\Block.cs:line 836
at Viconomy.BlockTypes.BlockVRegister.TryPlaceBlock(IWorldAccessor world, IPlayer byPlayer, ItemStack itemstack, BlockSelection blockSel, String& failureCode)
at Vintagestory.Server.ServerSystemBlockSimulation.TryModifyBlockInWorld(ServerPlayer player, Packet_ClientBlockPlaceOrBreak cmd) in VintagestoryLib\Server\Systems\World\BlockSimulation.cs:line 575
at Vintagestory.Server.ServerSystemBlockSimulation.HandleBlockPlaceOrBreak(Packet_Client packet, ConnectedClient client) in VintagestoryLib\Server\Systems\World\BlockSimulation.cs:line 346
at Vintagestory.Server.ServerMain.ProcessNetMessage(NetIncomingMessage msg, NetServer mainSocket) in VintagestoryLib\Server\ServerMainNetworking.cs:line 138

 

On the previous version, the exception was:

Exception: Tried to update a non-existant shop at Viconomy.Registry.ShopRegistry.UpdateShop(Int32 id, String name, BlockPos pos) at Viconomy.ViconomyCoreSystem.UpdateShop(String owner, Int32 iD, String name, BlockPos pos) at Viconomy.BlockEntities.BEVRegister.UpdateShop(String Owner, String OwnerName, Int32 ID, String Name) at Viconomy.BlockTypes.BlockVRegister.DoPlaceBlock(IWorldAccessor world, IPlayer byPlayer, BlockSelection blockSel, ItemStack byItemStack) at Vintagestory.GameContent.BlockBehaviorHorizontalOrientable.TryPlaceBlock(IWorldAccessor world, IPlayer byPlayer, ItemStack itemstack, BlockSelection blockSel, EnumHandling& handling, String& failureCode) in VSSurvivalMod\BlockBehavior\BehaviorHorizontalOrientable.cs:line 43 at Vintagestory.API.Common.Block.TryPlaceBlock(IWorldAccessor world, IPlayer byPlayer, ItemStack itemstack, BlockSelection blockSel, String& failureCode) in VintagestoryApi\Common\Collectible\Block\Block.cs:line 836 at Viconomy.BlockTypes.BlockVRegister.TryPlaceBlock(IWorldAccessor world, IPlayer byPlayer, ItemStack itemstack, BlockSelection blockSel, String& failureCode) at Vintagestory.Server.ServerSystemBlockSimulation.TryModifyBlockInWorld(ServerPlayer player, Packet_ClientBlockPlaceOrBreak cmd) in VintagestoryLib\Server\Systems\World\BlockSimulation.cs:line 575 at Vintagestory.Server.ServerSystemBlockSimulation.HandleBlockPlaceOrBreak(Packet_Client packet, ConnectedClient client) in VintagestoryLib\Server\Systems\World\BlockSimulation.cs:line 346 at Vintagestory.Server.ServerMain.ProcessNetMessage(NetIncomingMessage msg, NetServer mainSocket) in VintagestoryLib\Server\ServerMainNetworking.cs:line 138

💬 Jenpai, Jun 4th at 3:46 PM

Suggestion/Request:
Could we get a register that is more designed for buybacks? for example if you setup a shop for buying stone, your reister is going to fill up rather quickly. So maybe a register with a slot for coins/money and a slot for inventory, that coudl also be conected to a hopper? (so coins don't fall out due to the hopper) - to make for larger bulk sales a bit more eaiser?

💬 Jenpai, May 30th at 7:55 AM

Following what Mcquiggles said; maybe something like how the current chisled things are sold could work for bundling/mixing sale items; (infact that might be possible now? might need to test that, but the bundles wouldn't be random)

a gumball/slotmachine for random prizes would be a fun idea to include as well.

McSquiggles

💬 McSquiggles, May 30th at 12:51 AM

I am making a Candy Shop in the Rouge House Server and I'm trying to make "mystery boxes". Which is a random assortment of candies in a wattle basket, bark basket, etc... There's no way as of now to be able to put a basket in a slot to sell (on shelf, crate, etc...) but I am curious if there's possibly a way to do it or make it work? If not it might be a good idea to be able to create "foil bags/baskets". I was thinking if there was a shop barrel, where you could put a few different items in it (9 slots?), but it would give the player a random slot from that barrel for a set price. Where all the random items in that barrel would have the same price. Doesn't have to be a barrel but that's just an example.

I love this amazing mod btw, I've really enjoyed being able to walk around to others shops and buy products! I can't wait to see the next updates and new ideas coming out of this mod.

-Julia

💬 Jenpai, May 28th at 2:22 AM

Could we possibly have the ability to craft the shops with plain cloth? I actually like the natural white color over the dyed white.

https://prnt.sc/Q_iMZ0kVE4ix

💬 Quiche, May 8th at 4:47 PM

@SeveredSkullz It is Expanded Foods' syrup covered fruit breads (any it would seem as I had a multitude of different fruit breads with different swirls), they would all become just regular base game breads on the Acacia shelves. I've not tested with other shelves. Thank you for the recent fix with the armour!

💬 SeveredSkullzAuthor, May 8th at 4:30 AM

Quiche I am unable to replicate the problem with the food. I even tested it with Screwy over in the discord's mod page. Is there a specific type of Cooked food that does not show up? I am able to replicate the problem with the Armor stands and working on a fix.

 

💬 Quiche, May 5th at 6:08 PM

Strange things happening with new update. Armour helms on the armour stands will show up on the floor and all EF bread becomes a base game flax loaf with no pretty swirls showing. Crocks do show up larger, but cooking pot and bowls do not. Thanks for all your hard work, I did have to do a rollback to the previous 2.5 and things were working peachy again.

💬 DilanRona, May 3rd at 2:16 PM

guess you got a point. would have prefered the teller machine, but can settle for one of the other stalls

💬 SeveredSkullzAuthor, May 1st at 1:46 PM

DilanRona - Then dont use the ATM block for that - just use a normal stall and "sell" the currency youre trying to convert. ATMs are exactly what they say on the tin. They convert currency. If I give you a dollar for 4 quarters, I should be able to turn those 4 quarters back into a dollar - they are equivalent.

Screwy - I will try to take a look in the next few days if I get some free time. Will also try to see if I can figure out the expanded food issue too, though I dont use that mod. From what I've been told the food rendering is very complicated and annoying to work with - so no promises Ill be able to fix that in the same timeframe.

💬 Screwy, May 1st at 7:37 AM

Books used to show up on shop mats. At least the unwritten ones, in previous versions of this mod. We just realized on our server, that this isn't the case anymore. I hope you can fix that soon, because we try to establish selling informations about resources, written in books.

💬 DilanRona, May 1st at 4:54 AM

I am referring specifically to the Shop Teller Machine. They can go both ways (ie reverse trade). There is currently 6 set up on my server, but I need to have 1 or 2 set up to only go one way. In otherwords I want to disable reverse trade on specific Shop Teller Machines.

💬 SeveredSkullzAuthor, Apr 21st at 7:54 PM

All trades are only "One Way" - I dont understand what you mean? You have a Price and a Product. You give the stall the Price, and recieve the Product. You cannot give up the Product and recieve the Price item.

💬 DilanRona, Apr 21st at 2:28 PM

Have a request, is it possible to have the trades go only one way? There are some trades I need to set up for an admin shop but it should only be one way.

💬 SeveredSkullzAuthor, Apr 16th at 8:22 PM

I will add it to my "Todo" list Keito

💬 Keito, Apr 15th at 11:09 PM

Hello, this is a silly request but would it be possible to increase the size of pottery items on the shelves and mats? Right now, bowls and crocks for example are comically small, but I think they would fit at essentially actual size. "What are these... pottery for ants?" 

💬 Screwy, Apr 9th at 11:01 PM

Some food items from the Expanded Foods mod still don't render in stalls. While trying to reproduce the bug, I recognized that this is only the case, if the items are made in survival. Maybe this is a usefull information. The equivalents that you get from creative mode will work perfectly fine. For testin we used sushi and breaded foods.

💬 SeveredSkullzAuthor, Apr 9th at 6:31 PM

The issue should be fixed.

💬 AbsoluteTrash, Apr 9th at 12:09 AM

Norbix

SeveredSkullz

I am experiencing the same issue with Sculpture Stalls.  Set up a register with a store name saved, currency in register.  Placed a Sculpture Stall, attached it to the created store name, placed in items, disabled unused slots, assigned a price.  Everytime you go to purchase, "This stall is not registered with a  shop yet.  Unable to make a purchase."  See imgur album for reference imgur.com/a/uZOSyaW

Update: Any attempt to name sculptures within the stall does not work.  It doesn't save.  Also, the sculpture stalls are remembering every shop I've ever created, instead of what is "active".  Every other stall type lists exclusively active shop registers, the sculpture stalls are listing EVERYTHING.

💬 Hydromancerx, Mar 24th at 12:56 AM

SeveredSkullz

It worked! Thank you!

💬 SeveredSkullzAuthor, Mar 22nd at 8:36 PM

Hydromancerx - You must have atleast enough for a sale - Setting it as admin only prevents it from removing the stock from the stall. It doesnt disable all the other checks. Since you set the amount to give to 10, but only have 1 in the stall, it fails. Either add more to the stall, or set the amount per sale to 1, then buy a few until you have 10.

💬 Hydromancerx, Mar 22nd at 6:08 PM

SeveredSkullz

So I made Produce crate and set it to sell flax fibers for a rusty gear. But when i click to buy it says You purchaced 0x Flax for 0x Rusty Gear. Later i added a cash regester and set the shop up. But still had the same result.

💬 SeveredSkullzAuthor, Mar 21st at 8:16 PM

Hydromancerx - it is absolutely possible in Single Player. I cannot assist without further information

Norbix - Any luck reproducing the problem?

💬 Hydromancerx, Mar 19th at 2:39 AM

Is this just not possible in single player? I tried to set up an admin shop to buy from the infinate goods but it just gave 0 for 0. :(

💬 Norbix, Mar 3rd at 12:56 PM

Hey, we put a stand for the sculpture, set up a 2x2 sculpture and assigned it to a store, and when we try to buy, we get a message that the stand is not assigned to any store. Are we doing something wrong or is it a bug? I will try to reproduce it more precisely

💬 WickedSchnitzel, Mar 1st at 8:59 PM

I would like to suggest some sort of whitelist for the config file to let admins specify the items that would count as currency. As of now it's "gear-rusty", in our servers case i would also like to add "gear-rusty-gold" as an possible currency. These are coins (re-skinned rusty gears) that the players can produce themselves.

💬 SeveredSkullzAuthor, Mar 1st at 5:53 PM

Kara - theres only so many combinations I can add to a given entity. Shift and Control are the only modifiers allowed, and both are taken. I simply do not have any more combinations available to me in order to do so. You can take control of the shop / stall with the "setowner" command which should be a suitable workaround - and then set the owner back to the original player once you are done.

💬 Kara, Feb 27th at 1:15 PM

SeveredSkullz may you please add the ability for admins to open players shops/register? duped items hidden in a register, i had to break it, to get it out. 

Bug: ice in a shop, wont render the blocks behind them allowing players to use it as a xray for seeing caves. 

💬 SeveredSkullzAuthor, Feb 21st at 2:04 PM

Morning Fellas - Just pushed Version 1.9 for VS 1.18.x, and Version 2.3 for VS 1.19.x which should fix the issue.

As a side note, I know some people are still on 1.18 and do not wish to update. However, it is starting to get troublesome to reinstall older versions of the game, blow away my entire solution, rebuild the solution, fix the dependencies so they point to the older version of the game, recompile, and then undo all of that to go back to 1.19. With that said, this is likely my last update for 1.18.x

💬 SeveredSkullzAuthor, Feb 18th at 7:37 PM

Hey fellas! Just got back home from the vacation. Stayed a bit longer than we had anticipated. Our son got to go to the beach for the first time and he was loving it so much we decided to stay an extra few days. As soon as we are unpacked and settled in, I will take a look at the issues you guys mentioned. Should have a fix for it within the next few days.

💬 Angellord, Feb 12th at 5:56 PM

SeveredSkullz
The bug he's talking morlanius 

about is in earlier versions of the mod (v0.1.8 too). It's pretty serious.

It's a good thing there are nice testers out there who were able to detect it :3 

💬 morlanius, Feb 10th at 10:49 PM

SeveredSkullz

Bug: Making the quantity a negative number of gears whilst having at least 1 gear in your hand will give you gears as a positive number. The gears are not taken from the register and no items are exachnged, basically a gear dupe. The register is right next to the shop. 

Using version 0.2.2 on server version 1.19.3

💬 Kara, Feb 10th at 11:11 AM

SeveredSkullz Thats fine, you have a good vacation and try not to stress about a silly game =D. have a lovly vacation =D. ^v^

💬 SeveredSkullzAuthor, Feb 10th at 10:51 AM

Kara - I am currently on vacation with my family and dont have access to my PC for a while. When I return I will be happy to take a look into it. The only thing that comes to mind is if the register is in an unloaded chunk when the sale is made. I dont know how far away you are considering "near" in this case, but if we are talking hundreds of blocks that is likely the cause. Currently I dont have any code to try and load the chunks before a sale is made. Vintage Story has a way to Force-load chunks, but no way to *UN*force-load the chunk. It was a problem I have been looking around for a solution for a while to no avail, and as such I did not want to force-load hundreds of chunks for all the registers and stalls, likely reducing performance on all of your servers.

💬 Kara, Feb 7th at 11:15 PM

I have been getting reports from my players that the shops have randomly stopped working. us breaking the shop and them placing a new one needs to fix the issue, although i dont have any crash reports or errors to go off of, just reports from players D=. ill report if i get more into from the. 

It seems the Registers seem to break when not placed near the shalls selling items. 

This make the stalls through errors like they are out of stock or unregistered/not set up correctly

💬 SeveredSkullzAuthor, Jan 24th at 1:59 AM

Issue should be fixed now. Added an additional failsafe in order to prevent that from messing up the GUI even if it doesnt get cleared up in the future for whatever reason.

I also fixed the Mod's Game Dependencies, so you shouldnt see that "Failed parsing version string '1.19.0-rc.*'" error anymore on 19.0. Im aware Tyron fixed this bug in 19.1 but oh well :D

💬 SeveredSkullzAuthor, Jan 23rd at 7:30 PM

WickedSchnitzel / Kara - Will try and take a look at this tonight. Thanks for letting me know. Didnt seem to be an issue in the release candidate version, so Ill look into what changed.

💬 WickedSchnitzel, Jan 23rd at 1:50 PM

seems to be buggy in 1.19.1. -shop wont get displayed in the drop down menu until you relog. -old shops will display even if the cash registers have been destroyed

💬 Kara, Jan 22nd at 10:08 PM

Not sure if its a bug or What, but Old "shops" are not being removed from the list. i am also unable to create New shops after pressing save. 

💬 SeveredSkullzAuthor, Jan 17th at 10:27 PM

WickedSchnitzel - That was the format for the Release Candidates, which is what the current 2.0 version was built for. You can safely ignore this warning - It wont cause any errors.

💬 WickedSchnitzel, Jan 17th at 3:19 PM

[Warning] [vinconomy] Dependency 'game': Failed parsing version string '1.19.0-rc.*' at index 10: Unexpected character '*' in PRE_RELEASE identifier (best guess: 1.19.0-rc)

💬 MimiKitty, Jan 17th at 2:09 AM

if you ddi add automatic conversion you could also include an ATM already setup to exchange between those rates as well

💬 SeveredSkullzAuthor, Jan 16th at 2:25 PM

Alatyr I do not have any plans on adding support for 2 different types of currency, as it does not make any sense to in my opinion. Take the US Dollar - you have whole and partial dollar amounts. If something cost me $1.50, I do not HAVE to have 1 USD and 2 Quarters. I can have 6 Quarters instead, or 15 Dimes. You can set the price to the equivalent of what it would cost in Rusty Gears, and have a Temporal Gear trade in the ATM.

As an example, say I wanted to have a stack of Turnips at 5 Rusty Gears and 1 Temporal Gear. I could have 1 Temporal Gear = 10 Rusty Gears, and thus would set the price at 15 Rusty Gears. Players then could use either 15 Rusty Gears, or trade their Temporal Gear at the ATM for 10 Rusty Gears, and then buy the item.

I have been toying with the idea of being able to automatically exchange currencies - but I am worried about players potentially trading an item they did not intend due to the automatic nature of things. Will need to come up with a solution to that before I actually implement it.

If you can think of a reason that I absolutely must support 2 different types of currencies, please let me know and I will look into it. As the code is written, it would take a significant amount of work to re-write the entire logic for all the stalls in order to be able to support this - almost a complete rewrite. I am not going to be making that effort unless there is an absolute *need* for it.

💬 Alatyr, Jan 15th at 11:17 PM

Is it possible to add the ability to set a price for 2 items? For example, set the price equal to 1 temporal gear and 1 Rusty, for example.

💬 Cpt_C0nfus3d, Jan 14th at 6:06 PM

Nice thank you very much I was just waiting for it :-)

💬 SeveredSkullzAuthor, Jan 14th at 5:56 PM

I have uploaded the 0.2.0 Release for 1.19-Pre... Keep in mind this new version is NOT COMPATIBLE with older versions of the mod. The save system was migrated over to a new SQLite database and any attempt to use shops registered under the old system WILL NOT WORK.

💬 TimSithis, Jan 10th at 2:20 PM

Hmm my idea was Like having a Register what Have like a tube. Or something simmilar What could go down into a Storage area, I have trouble to always empty the Register out when my Friend sells his stones. But thank you for hearing me out.

💬 SeveredSkullzAuthor, Jan 9th at 9:19 PM

TimSithis Im open to ideas, but thats essentially what the Register already does - How would it be any different from a mechanics perspective? The only difference is you have a model that looks like a safe instead of a cash register. I do have plans for a sort of "treasury" when I finally get to the Cities / Claims aspect of things, but that wouldnt be a part of Vinconomy.

💬 TimSithis, Jan 8th at 7:55 PM

Hmmm do you think you will someday make it possible that Your Currentcy..or Let's say the money you get can be put into something Like a HUGE Safe for keeping and storage?

💬 BraniyaKz, Dec 18th 2023 at 6:06 PM

Honestly a fantastic mod to build a functional/aesthetically-pleasing shop with. I love it!

💬 SeveredSkullzAuthor, Dec 17th 2023 at 5:39 AM

Screwy -   It is highly unlikely it will be in the next update, as I have one thats been in the works and I have been trying to get finished for a few weeks now. IRL issues keep getting in the way and preventing me to finish the final features (If you're curious, check the Mod Page on discord). As for the food - you are right, it is intentional that the items must match exactly - especially for food. I did not want situations where players might abuse the stalls with only 1 item that was "fresh" and the rest borderline rotting / rotten. The UI is going to show the first item that is not an empty slot for simplicity's sake, and that fact could be abused. Internally, I am doing a simple "Satisfies" check which is entirely built into VS - meaning it's not my code. In order to do what you want I would have to roll my own - which is totally doable, but it might just take some time with everything going on right now. I can certainly add it to the list, and perhaps just put the replacement implementation behind a configuration variable to use exact matching or approxomite. Another solution is I can just average out the decay rate on all the item stacks when you try to add a new stack. I will play around with it and see what feels right.

As for your message about it not showing item info in the customer UI, what exactly do you mean? It should be showing you a passive item slot containing the first non-empty item for that slot. I have not heard of any issue with this from anyone else, and I have not seen it in my own testing. If possible, could you please provide a screenshot of the problem either here or up on discord to demonstrate what you mean?

 

💬 Screwy, Dec 16th 2023 at 3:42 AM

SeveredSkullz I'd like to thank you so much for this awesome mod! We use it on our upcoming German server and it enables us to manage almost every aspect of our economy.

But one thing is a bit... annoying. I understand that it has to be the exact same item on all 9 slots of a stall. But this makes it almost impossible to get more than one food item in there.
Is there any way this could be fixed in the next update? Maybe my either ignoring the decay rate while checking if it is the same item, or by some tolerance value for this variable.
And there is no item info in the customer UI. Is this intended? Can we have a config bool for that?

💬 SeveredSkullzAuthor, Dec 8th 2023 at 1:33 AM

WickedSchnitzel - You shouldnt need World Edit simply to remove the shop. If you are in Creative Mode it will bypass the protection and allow you to remove it. That was a request by AngelLord via Discord that I added in 0.1.4. Im also sitting on a change that allows players to use shops within claims so you will no longer have to use /allowuseeveryone that was requested by him as well up on discord. They were using Claims as a sort of "rental" property and didn't want to have to manage adding/removing everyone all the time. Im also in the process of refactoring the code to allow sales to be conducted without having to have all the items in your hand, which is preventing me from pushing said change right now. I hope to have time this weekend to finish up the implementation and get that out to you guys soon.

But yes, the stalls / registers have protections in place in that they do not need to be within claimed land to be protected. As you saw, it wont allow anyone to break the shop unless they are the owner, or an Admin currently in Creative Mode (You HAVE to be in creative mode). If a player has left the server, and you believe they are not coming back, you can also use the "/vicon setowner [player] [x] [y] [z]" command for the stall/register in question to take over ownership of it instead of outright removing it.

paintmoses - Assisted via Discord :)

💬 paintmoses, Dec 6th 2023 at 1:42 AM

How to you find the commands for your mod, I am trying to make shops I can use and edit, if thats a possibility?

Thanks in advance.

💬 WickedSchnitzel, Dec 3rd 2023 at 7:30 AM

Maybe i am missing something here, but it seems like the shops got their own protection system, like people who are not the owners are not able to modify them even after a claim has been removed. Maybe you could add a config option to remove shop protection, so that people have to place the shop into a claim with /allowuseeveryone. i had to remove a player from the server and removed their claims as well, but the shop is still protected. i mean, its not a big deal, i could just remove it manually. still such an option would be good. 

Edit: It seems like even i as an admin cannot remove the shop, it just tells me "you do not own this".
Edit2: i was able to delete the shop with worldedit. 

💬 fipil, Nov 14th 2023 at 4:13 PM

Wow, that's great. Thank you very much SeveredSkullz!

I'm going to try it :-)

💬 SeveredSkullzAuthor, Nov 14th 2023 at 12:42 AM

fipil - Just pushed 0.1.4 which adds the features you requested. Still dont have much free time with all the chaos, but its still next on my "todo" list for ATMs.

💬 fipil, Nov 12th 2023 at 11:44 AM

Thank you SeveredSkullz!
Your solution would be fine. Another approach could be introducing of some admin item so user should hold it to open the admin view. But I understand that this would unpleseantly change the existing workflow to which users are already used to.

I noticed the ATM block in the future plans, so I'm looking forward to it. :-) Hope that the ATM design will look medieval, we build a medieval world so some modern ATM machine with a display would be a little bit problem for us :-D.

I'd be also very nice if your mod could work with our smaller denomination Copper wheels. For example user wants to buy a carrot priced 4 copper gears. Then he'll pay 1 rusty gear and the shop returns him a change: 6 copper gears. 

💬 HerbDashwell, Nov 8th 2023 at 2:21 AM

Fantastic mod! It seems that sometimes though, it will say a player does not have enough of a currency item in hand when in fact they do. The shop is well stocked too, so I cannot see why this would happen. It seems to happen randomly, and relogging does not solve. 

💬 SeveredSkullzAuthor, Nov 7th 2023 at 5:33 AM

fipil It is not possible to check for an arbitrary key as a Hotkey, unfortunately. While I cannot add any more hotkeys, I can check if the item in your hand is the currency item while you are sneaking to allow you to purchase items from your own stall. I will add this to my "To Do" list along with the ability to remove other players stalls/registers as an admin someone else requested via Discord. Should be able to get to it in the next day or two, provided I get a break from the IRL chaos.

Also, please note that an ATM block explictly designed for currency conversion is on my Future Plans / Roadmap in the mod description. Eventually, you won't need a dedicated shop to do this. I just need to get the free time back to be able to implement it. 🙃

💬 fipil, Nov 6th 2023 at 11:54 PM

Hi SeveredSkullz

I love your mod. I see only one big problem: As an owner of the shop, I cannot USE the shop. You can ask why want I use my own shop? The reasons are the following:

  • I want simply test my shop, if it works and is configured properly.
  • We have two kind of money on our server, the vanilla rusty gears and the copper gears, provided by our mod, which we use as change: 1 rusty gear = 10 copper gears. I created an admin shop, where player can change 1 rusty gear by 10 copper gears and also to change 10 copper gears to 1 rusty gear. Problem is that I cannot USE the shop. I'm an admin but also a player which want to use the shop as an ordinary player.

So please, would it be possible to change behaviour so the shop configuration will open only by using some hotkey together with a mouse click and if player does not use the hotkey, the shop will act as a shop for him?

Thank you very much.

Fipil

💬 SeveredSkullzAuthor, Nov 5th 2023 at 11:29 PM

JunidO - I'm not sure what you mean by that. If you are referring to the number of slots that is used to sell the items to other players, then no I do not have any plans on increasing that amount. I feel that 36 slots for stock is way more than enough. The whole design philosophy is for you to have a large shop if you want to sell large quantities of items. If you need more inventory slots for a given item, you can always use more than one Stall Slot. There is nothing preventing you from selling 9 stacks of Turnips in each of the 4 Stall Slots.

If that is not what you mean, I would need a bit more clarification.

💬 JunidO, Nov 1st 2023 at 8:25 AM

A great mod, I've been waiting for it for a long time. I'm excited to see what else comes next.
Could you integrate extra storage space for things you want to buy through your shop or expand the storage space of the shop register?
Hope you understand what I mean, unfortunately I can't speak English and have to use a translator.

💬 SeveredSkullzAuthor, Oct 11th 2023 at 3:26 PM

Hey WickedSchnitzel Dealing with some maddness IRL so havent gotten a chance to work on it since the last release.

Clothing Stand is still WIP as of right now. It works, but I dont have a crafting recipe for it yet since I'm fighting with some positioning - though I might just give up on being a perfectionist and take a "Close Enough" approach. Without going though and doing a whole slew of custom models for each clothing piece, I dont think they will ever line up correctly / not overlap.

As for the Chiseled objects, I absolutely plan on getting that working. You can still sell them, but they wont be displayed correctly currently. The only workaround right now is to open up the UI, which should render the item's icon so you can atleast get a glimpse at what it is. I am also toying with an idea of having some sort of "Multiblock" display for those creations that take up more than 1 block (like a 3x3x3 creation).

💬 WickedSchnitzel, Oct 10th 2023 at 7:06 PM

The thing is that people would like to sell chiseled objects as well, also clothing etc. Will support for these objects be added in the future? If you have problems with implementing it, maybe take a look at CAN Market's source, as it works there?
mods.vintagestory.at/canmarket

💬 fipil, Oct 7th 2023 at 10:23 AM

Wow! What a brilliant mod! Looks like the shopping mod I was dreamed of :-). I'm going to try it! Thanks. Keep up the perfect work.

💬 Horizons, Oct 2nd 2023 at 7:08 PM

Thanks for working with Ket! We've reinstalled the new v1.1 and things seem to be working fine now. I appreciate the explanation. Keep at it and happy modding!

💬 SeveredSkullzAuthor, Oct 2nd 2023 at 2:56 PM

Thats why I said "Redownload" - While I was working with Ketamine/Horizons on Discord, I was had mistakenly changed 1.1's Zip and hadn't made a new version (Was still trying to figure out the site). At the time I think there was only like 8 people had downloaded it, so I didnt think anything of it. I assume you were one of those 8 people.

If you redownload and reinstall v1.1 and its *still* erroring out, please let me know - and preferably send me your save so I can take a look.

💬 WickedSchnitzel, Oct 2nd 2023 at 1:33 PM

It happened with 0.1.1, which is the latest version SeveredSkullz

💬 SeveredSkullzAuthor, Oct 2nd 2023 at 1:26 PM

WickedSchnitzel Not sure if you are up to date or not on the mod, but this issue was already addressed below from help with Horizons. Redownload v0.1.1 and the issue should be fixed.

💬 WickedSchnitzel, Oct 2nd 2023 at 7:37 AM

Run ok for a while, then crashed the whole server with

[Server Error] Exception thrown during handling event OnSaveGameLoaded: System.NullReferenceException: Object reference not set to an instance of an object.
at Viconomy.Registry.ShopRegistry.GetCount()
at Viconomy.ViconomyModSystem.OnSaveGameLoading()
at Vintagestory.Server.ServerEventManager.TriggerSaveGameLoaded() in C:\Users\Tyron\Documents\vintagestory\game\VintagestoryLib\Server\ServerEventManager.cs:line 474

💬 SeveredSkullzAuthor, Sep 30th 2023 at 5:08 PM

Horizons I spoke with Ketastrophe via discord and he sent me the world files from your server. I have narrowed down the root cause being an edge case where the game saved when you had no Registers placed. My clean-up code kicked in to remove the listing for that register, and ultimately the serialization of an empty Dictionary caused the value to be saved as "null" for your Player UUID. When the game then went to load your Registers, it got null instead of the Dictionary to loop through. Problem fixed - And fortunately, I can say that Fantasy Creatures (or any mod) had nothing to do with this issue.

💬 Adelion, Sep 30th 2023 at 3:47 AM

@SeveredSkullz AHH ok alright! then i said nothing :D 

💬 SeveredSkullzAuthor, Sep 30th 2023 at 1:39 AM

Horizons Unfortunately I am still unable to replicate the issue you are facing. I created a new world, Set up 3 different Registers, with 4 Stalls each. I then saved the game, quit to the main menu, installed Fantasy Creatures, and reloaded the game.

The stacktrace you posted is much more helpful as it actually has a listing to my mod showing me an issue with the OnSaveGameLoading() method. While I cannot seem to replicate the exact issue you are facing, if you can send me the world save I can try and take a closer look. I have also uploaded a redundant check to discard any Shop Registry data if the  loading fails. This means you will have to reconfigure your Registers (Preferably removing them entirely and craft a new one so there is not an ID clash later on) - but you should still be able to reopen your original save file.

I am also on the Offficial Vintage Story Discord with the same name - SeveredSkullz - Feel free to message me on there / send files / etc.

💬 Horizons, Sep 29th 2023 at 11:57 PM

Thank you for your time testing for our bug!

Because you were wondering, the method used to determine Vinconomy is the issue was removing half the mods, seeing which half still had the error, and then repeating. We narrowed it down to seeing the error with only Vinconomy installed. With all other mods except Vinconomy installed, the error did not appear.

This morning we did more testing, including in singleplayer, a copy of the server, and the original server. We found that the issue seems to be linked to the save file itself. A new save does not have any issues with Vinconomy or Vinconomy with our other mods.

After further testing with a new save file, we managed to replicate the error by first installing Vinconomy, testing it in game, and then Fantasy Creatures (which was previously removed from our server), which triggered the set of errors right away. It seems that despite removing Fantasy Creatures, something about how it alters the save file does not play well with Vinconomy.

We did find an additional error in the log:

29.9.2023 08:41:11 [Server Error] Exception thrown during handling event OnSaveGameLoaded: System.NullReferenceException: Obje ct reference not set to an instance of an object. at Viconomy.Registry.ShopRegistry.GetCount() at Viconomy.ViconomyModSystem.OnSaveGameLoading() at Vintagestory.Server.ServerEventManager.TriggerSaveGameLoaded() in C:\Users\Tyron\Documents\vintagestory\game\Vintagestor yLib\Server\ServerEventManager.cs:line 474

Once again, thanks for your time. We fell in love with the mod right away and can't wait to play with it on a new save!

💬 SeveredSkullzAuthor, Sep 29th 2023 at 4:32 PM

Adelion - You're saying that if you place a Stall and a Register, link it up, and then remove the Register that the Stall will still have that Register's Shop listed in the dropdown? If I understood you correctly, That is intentional. This way if you ever wanted to move the register to a new position in the future, you wouldnt have to reconfigure each and every one of your stalls. You can simply move your Register and all the Stalls will still use that Register. When the save game is loaded, it tries to go through and clean up any Shops that currently do not have a Register placed. This means that the Stalls will reconfigure themselves as long as you place down your Register again before the next restart. Otherwise the Shop will be cleaned up and you will then have to go back to each Stall and set the Shop again.

For the Admin Shop, if you set the Shop as "None" the currency will be deleted as you suggested. This is the only time you can have the Stall set to "None" for a shop. I attempted to describe this feature with "The stall will not function if there is no Shop set for the stall (Unless it is an Admin Shop)" but it seems it was not clear enough as to what was implied here. The "Shop" selection dictates where payment will go. If you dont have a place for the payment, it just goes "poof". I will make a note of this in the Mod Description to clarify.

💬 Adelion, Sep 29th 2023 at 3:16 PM

😁 cool so far , i found some simple issues i guess, the list from the shop does not update by itself by removing a "Shop register" and for adminshops i think would be better that the currency would deleted

💬 SeveredSkullzAuthor, Sep 29th 2023 at 3:57 AM

I was fairly confident upon seeing the stacktrace that my mod had nothing to do with that error. To be sure though, I went and made a new world, set up a few simple shops, and started a temporal storm with "/nexttempstorm now" and did not crash. Retried on 2 additional worlds for a total of 3. Could not replicate the issue.

Im not sure what is giving you the impression that Vinconmy is at fault here, but looking at the source of RiftWeather.cs up on Github the root cause is trying to getting the next drifter to spawn. I assume you have a mod that modifies drifter spawns. This is obviously not modified by my mod - everything here is custom.

💬 Horizons, Sep 29th 2023 at 2:04 AM

Getting fatal errors when there's a temporal storm. To our surprise, we narrowed it down to Vinconomy. Can you take a look, please?

The error:

28.9.2023 17:55:00 [Fatal] System.NullReferenceException: Object reference not set to an instance of an object.
at Vintagestory.GameContent.ModSystemRiftWeather.onServerTick(Single dt) in C:\Users\Tyron\Documents\vintagestory\game\VSSurvivalMod\Systems\Rifts\RiftWeather.cs:line 211
at Vintagestory.Common.EventManager.TriggerGameTick(Int64 ellapsedMilliseconds, IWorldAccessor world) in C:\Users\Tyron\Documents\vintagestory\game\VintagestoryLib\Common\EventManager.cs:line 59
at Vintagestory.Server.CoreServerEventManager.TriggerGameTick(Int64 ellapsedMilliseconds, IWorldAccessor world) in C:\Users\Tyron\Documents\vintagestory\game\VintagestoryLib\Server\ServerEventManager.cs:line 124
at Vintagestory.Server.ServerMain.Process() in C:\Users\Tyron\Documents\vintagestory\game\VintagestoryLib\Server\ServerMain.cs:line 881

💬 SeveredSkullzAuthor, Sep 28th 2023 at 5:13 PM

PatrickStar10 - It is for both, meaning in order for it to function at all it needs to be on both the Client and Server. It will work fine in Singleplayer, but I dont know what use it will be for you unless you enjoy buying and selling goods to yourself (Which you cannot do anyway - Stall owners will only get the Owner UI and Interactions).

💬 PatrickStar10, Sep 28th 2023 at 4:18 PM

Does this work in singleplayer or is it a client mod only right now?

💬 TheoTheNeko, Sep 28th 2023 at 3:47 PM

The future plan for NPCs being able to buy sounds really nice 

💬 Adelion, Sep 28th 2023 at 6:43 AM

pls add donation link :D this is the mod i already waited for 

💬 Moon_Dew, Sep 27th 2023 at 9:58 PM

This would pair well with Xel's Coinage or Zolgrim's Coinz.

(edit comment delete)