From 692f547daf74311f0ad4ad2b4b86453596b1f52e Mon Sep 17 00:00:00 2001 From: rainer Date: Mon, 11 Aug 2025 16:15:02 +0200 Subject: [PATCH] init repo --- LICENSE.txt | 21 ++ README.md | 154 +++++++++++++ TODO.txt | 20 ++ api.lua | 108 +++++++++ changelog.txt | 90 ++++++++ command.lua | 0 deposit.lua | 80 +++++++ formspec.lua | 229 ++++++++++++++++++++ init.lua | 30 +++ locale/server_shop.es.tr | 46 ++++ locale/template.txt | 46 ++++ mod.conf | 9 + node.lua | 121 +++++++++++ screenshot.png | Bin 0 -> 135912 bytes settings.lua | 7 + settingtypes.txt | 6 + textures/server_shop_front.png | Bin 0 -> 1304 bytes textures/server_shop_front.xcf | Bin 0 -> 15799 bytes textures/server_shop_front_large.png | Bin 0 -> 2115 bytes textures/server_shop_front_large_bottom.png | Bin 0 -> 929 bytes textures/server_shop_front_large_top.png | Bin 0 -> 1944 bytes textures/server_shop_front_small_new.xcf | Bin 0 -> 5015 bytes textures/server_shop_front_top.png | Bin 0 -> 114 bytes textures/server_shop_mesh.png | Bin 0 -> 229 bytes textures/server_shop_side.png | Bin 0 -> 114 bytes transaction.lua | 131 +++++++++++ 26 files changed, 1098 insertions(+) create mode 100644 LICENSE.txt create mode 100644 README.md create mode 100644 TODO.txt create mode 100644 api.lua create mode 100644 changelog.txt create mode 100644 command.lua create mode 100644 deposit.lua create mode 100644 formspec.lua create mode 100644 init.lua create mode 100644 locale/server_shop.es.tr create mode 100644 locale/template.txt create mode 100644 mod.conf create mode 100644 node.lua create mode 100644 screenshot.png create mode 100644 settings.lua create mode 100644 settingtypes.txt create mode 100644 textures/server_shop_front.png create mode 100644 textures/server_shop_front.xcf create mode 100644 textures/server_shop_front_large.png create mode 100644 textures/server_shop_front_large_bottom.png create mode 100644 textures/server_shop_front_large_top.png create mode 100644 textures/server_shop_front_small_new.xcf create mode 100644 textures/server_shop_front_top.png create mode 100644 textures/server_shop_mesh.png create mode 100644 textures/server_shop_side.png create mode 100644 transaction.lua diff --git a/LICENSE.txt b/LICENSE.txt new file mode 100644 index 0000000..b1ffcac --- /dev/null +++ b/LICENSE.txt @@ -0,0 +1,21 @@ +MIT License + +Copyright © 2021 Jordan Irwin (AntumDeluge) + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/README.md b/README.md new file mode 100644 index 0000000..2b914c6 --- /dev/null +++ b/README.md @@ -0,0 +1,154 @@ +## Server Shops + +### Description: + +Shops intended to be set up by [Minetest](https://www.minetest.net/) server administrators. + +No craft recipe is given as this for administrators, currently a shop can only be set up with the `/giveme` command. The two shop nodes are `server_shop:shop_small` & `server_shop:shop_large` (they function identically). + +![screenshot](screenshot.png) + +### Usage: + +#### Registering Shops via API: + +There are two types of shops, seller & buyer. A seller shop can be registered with `server_shop.register_seller(id, name, products)`. A buyer with `server_shop.register_buyer(id, name, products)`. `id` is a string identifier associated with the shop list. `name` is a human-readable string that will be displayed as the shop's title. `products` is the shop list definition. Shop lists are defined in a table of tuples in `{itemname, value}` format. `itemname` is the technical string name of an item (e.g. `default:wood`). `value` is the number representation of what the item is worth. + +*Example:* +```lua +-- register seller +server_shop.register_seller("frank", "Frank's Shop", {{"default:wood", 2}}) + +-- register buyer +server_shop.register_buyer("julie", "Julie's Shop", { + {"default:copper_lump", 5}, + {"default:iron_lump", 6}, +}) +``` + +#### Registering Shops via Configuration: + +Shops can optionally be configured in `/server_shops.json` file. To register a shop, set `type` to "sell" or "buy". `id` is a string identifier for the shop. `name` is the string displayed in the formspec & when a player points at the node. `products` is an array of products sold at the shop in format "name,value". + +*Example:* +```json +[ + { + "type":"sell", + "id":"frank", + "name":"Frank's Shop", + "products":[["default:wood",2]] + }, + { + "type":"buy", + "id":"julie", + "name":"Julie's Shop", + "products": + [ + ["default:copper_lump",5], + ["default:iron_lump",6], + ] + }, +] +``` + +#### Registering Shops via Chat Command: + +The `server_shop` chat command is available to administrators with the `server` privilege. This is used for administering shops & updating configuration. + +Usage: +``` +/server_shop [] + +# Commands: + +/server_shop reload +- reloads data from configuration file + +/server_shop register [product1=value,product2=value,...] +- registers a shop & updates configuration file +- parameters: + - id: shop identifier + - type: can be "buy" or "sell" + - name: displayed shop name ("_" is replaced with " ") + - product list: comma-separated list in format "item=value" + +/server_shop unregister +- unregisters a shop & updates configuration file +- parameters: + - id: shop identifier +``` + +#### Registering Currencies: + +Currencies can be registered with `server_shop.register_currency`: +```lua +server_shop.register_currency("currency:minegeld", 1) +server_shop.register_currency("currency:minegeld_5", 5) +``` + +When registering new currencies in `server_shops.json`, set `type` to "currencies". `value` is a table of item names & worth: +```json + { + "type":"currencies", + "value": + { + "currency:minegeld":1, + "currency:minegeld_5":5, + }, + }, +``` + +You can also register a currency suffix to be displayed in the formspec. Simply set the string value of `server_shop.currency_suffix`: + +```lua +server_shop.currency_suffix = "MG" +``` + +In `server_shops.json`, set `type` to "suffix" & `value` to the string to be displayed: +```json + { + "type":"suffix", + "value":"MG", + }, +``` + +By default, if the [currency][mod.currency] mod is installed, the minegeld notes will be registered as currency. This can be disabled by setting `server_shop.use_currency_defaults` to `false` in `minetest.conf`. + +#### Setting up Shops in Game: + +Server admins use the chat command `/giveme server_shop:shop_small` or `/giveme server_shop:shop_large` to receive a shop node. After placing the node, the ID can be set with the "Set ID" button & text input field (only players with the "server" privilege can set ID). Set the ID to the registered shop ID you want associated with this node ("frank" or "julie" for the examples above) & the list will be populated with the registered products & prices. + +#### Using Seller Shops: + +To make purchases, player first deposits registered currency items into the deposit slot. Select an item in the products list & press the "Buy" button. If there is adequate money deposited, player will receive the item & the cost will be deducted from the deposited amount. To retrieve any money not spent, press the "Refund" button. If the formspec is closed while there is still a deposit balance, the remaining money will be refunded back to the player. If there is not room in the player's inventory, the remaining balance will be dropped on the ground. + +#### Using Buyer Shops: + +For buyer shops, the product list shows what items can be sold to this shop & how much money a player will receive for each item. To sell to the shop, place an item in the deposit slot. The slot will only accept items that the owner will purchase. Press the "Sell" button to recieve the value of the item(s). + +### Licensing: + +- Code: [MIT](LICENSE.txt) +- Textures: CC0 + +### Dependencies: + +- Required: + - simple_models + - wdata +- Optional: + - [currency][mod.currency] + - sounds + +### Links: + +- [![ContentDB](https://content.minetest.net/packages/AntumDeluge/server_shop/shields/title/)](https://content.minetest.net/packages/AntumDeluge/server_shop/) +- [GitHub repo](https://github.com/AntumMT/mod-server_shop) +- [Forum](https://forum.minetest.net/viewtopic.php?t=26645) +- [Reference](https://antummt.github.io/mod-server_shop/reference/latest/) +- [Changelog](changelog.txt) +- [TODO](TODO.txt) + + +[mod.currency]: https://content.minetest.net/packages/VanessaE/currency/ diff --git a/TODO.txt b/TODO.txt new file mode 100644 index 0000000..33c6d54 --- /dev/null +++ b/TODO.txt @@ -0,0 +1,20 @@ + +TODO: +- Security: + - might be an issue if admin changes shop ID while player is using +- Functionality: + - optimize how refunds are given (e.g. if there is no room for 50s, but room for 1s, then give out 1s instead) +- Aestethics: + - make colorable with unifieddyes + - fix stepping sound for "large" node +- Misc.: + - make usable with "folks" mod + - set shop name from formspec instead of registration so shops with different names can use same content + - add player shops + - fix so unknown items don't mess up shop (may become a problem when shops are registered live) + - allow shops to be configured live + - register chat command "/server_shop" to register live + - "/server_shop add | " + - "/server_shop remove | + - use a spinner to select custom amount (example in terraform: https://github.com/x2048/terraform/blob/4b36d36/init.lua#L316 ) + - support groups in buyer shops diff --git a/api.lua b/api.lua new file mode 100644 index 0000000..d44d06a --- /dev/null +++ b/api.lua @@ -0,0 +1,108 @@ +--- Server Shops API +-- +-- @topic api.lua + + +local ss = server_shop +local S = core.get_translator(ss.modname) + +local registered_currencies = {} +ss.currency_suffix = nil + +ss.currency_is_registered = function() + for k, v in pairs(registered_currencies) do return true end + return false +end + +ss.get_currencies = function() + return table.copy(registered_currencies) +end + +ss.register_currency = function(item, value) + if not core.registered_items[item] then + ss.log("warning", "Registriere unbekanntes Item als Währung: " .. item) + end + value = tonumber(value) + if not value or value <= 0 then + ss.log("error", "Währungswert für " .. item .. " muss eine positive Zahl sein.") + return + end + registered_currencies[item] = value + ss.log("action", item .. " als Währung mit Wert " .. value .. " registriert.") +end + +if ss.use_currency_defaults then + if not core.get_modpath("currency") then + ss.log("warning", "Mod 'currency' nicht gefunden, Standardwährung wird nicht geladen.") + else + local all_currency = { + {"currency:minegeld", 100}, {"currency:minegeld_5", 500}, + {"currency:minegeld_10", 1000}, {"currency:minegeld_50", 5000}, + {"currency:minegeld_100", 10000}, {"currency:minegeld_cent_5", 5}, + {"currency:minegeld_cent_10", 10}, {"currency:minegeld_cent_25", 25}, + } + for _, c in ipairs(all_currency) do + ss.register_currency(c[1], c[2]) + end + ss.currency_suffix = "MG" + end +end + +ss.get_shop = function(pos) + if not pos then return nil end + local meta = core.get_meta(pos) + if meta:get_string("owner") == "" then return nil end + + return { + name = meta:get_string("name"), + owner = meta:get_string("owner"), + prices = core.deserialize(meta:get_string("prices")) or {}, + inv = meta:get_inventory(), + } +end + +ss.update_infotext = function(pos) + local shop = ss.get_shop(pos) + if not shop then return end + + local text = shop.name + local inv_list = shop.inv:get_list("main") + local inv_size = shop.inv:get_size("main") + + for i=1, inv_size do + local item = inv_list[i] + local price_int = shop.prices[i] + if not item:is_empty() and price_int and price_int > 0 then + local count = item:get_count() + local description = item:get_description() + local price_str = string.format("%.2f", price_int / 100) + + text = text .. "\n" .. count .. "x " .. description .. ": " .. price_str .. " " .. (ss.currency_suffix or "") + end + end + + core.get_meta(pos):set_string("infotext", text) + + local pos_top = {x=pos.x, y=pos.y + 1, z=pos.z} + if core.get_node(pos_top).name == ss.modname..":shop_large_top" then + core.get_meta(pos_top):set_string("infotext", text) + end +end + + +ss.is_shop_admin = function(player) + if not player then return false end + return core.check_player_privs(player, "server") +end + +ss.is_shop_owner = function(pos, player) + if not player or not pos then + return false + end + + local player_name = player:get_player_name() + local meta = core.get_meta(pos) + local owner_name = meta:get_string("owner") + local is_owner = (player_name == owner_name) + return is_owner +end diff --git a/changelog.txt b/changelog.txt new file mode 100644 index 0000000..338d12c --- /dev/null +++ b/changelog.txt @@ -0,0 +1,90 @@ + +v1.6.2 +------ +- updated for simple_models v2021-08-26 + + +v1.6.1 +------ +- updated for simple_models v2021-08-23 + + +v1.6 +---- +- model moved to simple_models mod +- added node sounds +- uses wdata for reading/writing shops config +- added "server_shop" chat command: + - reload: reloads shops configuration + - register: registers new shop & updates configuration + - unregister: unregister shop id & updates configuration + + +v1.5 +---- +- added "textdomain" line to localization template +- added Spanish translation +- added "tall" shop nodes +- fixed buyer shop not being registered when currency & default mods not available +- "buy" & "sell" functions are deteremined by shop "type" instead of separate registered nodes +- default currencies not registered if currency mod not available +- "get_currencies", "get_shops", & "get_shop" return table copy +- added methods: + - server_shop.unregister + - server_shop.shop_type + + +v1.4 +---- +- fixed custom suffix not reflected in product list & messages +- custom quantity can be set +- unregistered items are pruned from shops after server startup +- fixed buyer shop not refunding on formspec close +- added setting to disable auto-refunding on formspec close +- currencies can be registered with any whole number value +- "currencies" key in server_shops.json used to register multiple currencies +- buyer shops now have "sell" button instead of automatically selling when item is dropped +- added localization support +- money is placed directly into player inventory when selling instead of using deposit medium + + +v1.3 +---- +- added buyer shops +- changed json product list type to indexed array + + +v1.2 +---- +- custom currencies can be registered +- changed format of world "server_shops.json": + - "sells" keyword changed to "products" + - added required "type" keyword can be: + - "sell" to register new seller shop + - "currency" to register new currency + - "suffix" to set a suffix to display after deposited amount + - currencies can be registered using "currency" type: + - subkeys are "name" (string) & "value" (number) +- "currency" mod minegeld notes not registered automatically +- displayed currency suffix can be customized or omitted +- no longer uses node meta for formspec + + +v1.1 +---- +- use json format for shops configuration in world directory +- switched id & name parameters positions in register_shop +- show preview image of selected item +- node owners can't set ID unless they have "server" priv + + +v1.0 +---- +- created node +- created simple textures +- formspec displays items & prices of associated shop +- minegeld notes can be deposited & refunded +- shops are configured from world directory +- players with "server" priv or node owners can set ID +- players with "server" priv or node owners can dig +- implemented deposit, purchase, & refund functionality diff --git a/command.lua b/command.lua new file mode 100644 index 0000000..e69de29 diff --git a/deposit.lua b/deposit.lua new file mode 100644 index 0000000..6ebca86 --- /dev/null +++ b/deposit.lua @@ -0,0 +1,80 @@ +--- Server Shops Deposit Logics +-- +-- @topic deposit.lua + +local ss = server_shop +local transaction = dofile(ss.modpath .. "/transaction.lua") + +-- Einzahl-Slot für die Kassenreserve des Besitzers (unverändert) +core.create_detached_inventory(ss.modname .. ":cash_deposit", { + on_put = function(inv, listname, index, stack, player) + local pmeta = player:get_meta() + local pos = core.deserialize(pmeta:get_string(ss.modname .. ":pos")) + if not pos then return stack:get_count() end + + if ss.is_shop_owner(pos, player) or ss.is_shop_admin(player) then + local value = transaction.calculate_currency_value(stack) + if value > 0 then + local shop_meta = core.get_meta(pos) + shop_meta:set_int("cash_reserve", shop_meta:get_int("cash_reserve") + value) + inv:set_stack(listname, index, nil) + ss.show_formspec(pos, player) + return 0 + end + end + return stack:get_count() + end, +}):set_size("main", 1) + + +-- Einzahl-Slot für das Guthaben des Kunden (angepasst) +core.create_detached_inventory(ss.modname .. ":customer_deposit", { + on_put = function(inv, listname, index, stack, player) + local pmeta = player:get_meta() + local pos = core.deserialize(pmeta:get_string(ss.modname .. ":pos")) + local stack_name = stack:get_name() + + if stack_name == "bank_accounts:debit_card" or stack_name == "bank_accounts:credit_card" then + local current_credit = pmeta:get_int(ss.modname .. ":session_credit") or 0 + if current_credit > 0 then + local refund_stacks, remainder = transaction.calculate_refund(current_credit) + for _, r_stack in ipairs(refund_stacks) do + transaction.give_product(player, r_stack) + end + end + + pmeta:set_string(ss.modname..":payment_method", stack_name) + pmeta:set_int(ss.modname..":session_credit", 0) + if pos then + ss.show_formspec(pos, player) + end + return stack:get_count() + end + + local value = transaction.calculate_currency_value(stack) + if value > 0 then + pmeta:set_string(ss.modname..":payment_method", "cash") + pmeta:set_int(ss.modname .. ":session_credit", (pmeta:get_int(ss.modname .. ":session_credit") or 0) + value) + inv:set_stack(listname, index, nil) + + if pos then + ss.show_formspec(pos, player) + end + return 0 + end + + return stack:get_count() + end, + on_take = function(inv, listname, index, stack, player) + local pmeta = player:get_meta() + local pos = core.deserialize(pmeta:get_string(ss.modname .. ":pos")) + + if stack:get_name() == "bank_accounts:debit_card" or stack:get_name() == "bank_accounts:credit_card" then + pmeta:set_string(ss.modname..":payment_method", nil) + if pos then + ss.show_formspec(pos, player) + end + end + return stack + end, +}):set_size("main", 1) diff --git a/formspec.lua b/formspec.lua new file mode 100644 index 0000000..e81d630 --- /dev/null +++ b/formspec.lua @@ -0,0 +1,229 @@ +--- Server Shops Formspec +-- +-- @topic formspec + + +local ss = server_shop +local S = core.get_translator(ss.modname) +local transaction = dofile(ss.modpath .. "/transaction.lua") + +ss.get_formspec = function(pos, player) + local shop = ss.get_shop(pos) + if not shop then + return "size[5,1]label[0,0;" .. S("Ungültiger Shop!") .. "]" + end + + local pmeta = player:get_meta() + local is_owner = ss.is_shop_owner(pos, player) or ss.is_shop_admin(player) + local current_tab = pmeta:get_string(ss.modname .. ":tab") + if current_tab == "" and is_owner then current_tab = "inventory" end + + local inv_size = shop.inv:get_size("main") + + local fs_width = 14 + local fs_height = 12.5 -- Angepasst für 20 slots + + local pos_fs = pos.x .. "," .. pos.y .. "," .. pos.z + local formspec = "formspec_version[4]" .. "size[" .. fs_width .. "," .. fs_height .. "]" .. "label[0.5,0.4;" .. core.formspec_escape(shop.name) .. "]" + + if is_owner then + formspec = formspec .. "tabheader[0.2,0;tabs;" .. S("Inventar & Preise") .. "," .. S("Einstellungen") .. "," .. S("Kundenansicht") .. ";" .. (current_tab == "inventory" and "1" or current_tab == "settings" and "2" or "3") .. ";true;true]" + + if current_tab == "inventory" then + formspec = formspec .. "label[0.5,0.8;" .. S("Shop-Inventar") .. "]" + .. "list[nodemeta:"..pos_fs..";main;0.5,1.2;5,1;0]" + .. "list[nodemeta:"..pos_fs..";main;7.5,1.2;5,1;5]" + for i=1, 5 do + local x = 0.5 + (i-1) * 1.25; local price_int = shop.prices[i] or 0; local price_str = (price_int > 0) and string.format("%.2f", price_int / 100) or "" + formspec = formspec .. "field["..x..",2.3;1.0,1;price_"..i..";;"..price_str.."]" + end + for i=6, 10 do + local x = 7.5 + (i-6) * 1.25; local price_int = shop.prices[i] or 0; local price_str = (price_int > 0) and string.format("%.2f", price_int / 100) or "" + formspec = formspec .. "field["..x..",2.3;1.0,1;price_"..i..";;"..price_str.."]" + end + + if inv_size > 10 then + formspec = formspec .. "list[nodemeta:"..pos_fs..";main;0.5,3.7;5,1;10]" + .. "list[nodemeta:"..pos_fs..";main;7.5,3.7;5,1;15]" + for i=11, 15 do + local x = 0.5 + (i-11) * 1.25; local price_int = shop.prices[i] or 0; local price_str = (price_int > 0) and string.format("%.2f", price_int / 100) or "" + formspec = formspec .. "field["..x..",4.8;1.0,1;price_"..i..";;"..price_str.."]" + end + for i=16, 20 do + local x = 7.5 + (i-16) * 1.25; local price_int = shop.prices[i] or 0; local price_str = (price_int > 0) and string.format("%.2f", price_int / 100) or "" + formspec = formspec .. "field["..x..",4.8;1.0,1;price_"..i..";;"..price_str.."]" + end + end + elseif current_tab == "settings" then + formspec = formspec .. "label[0.5,0.8;" .. S("Shop-Name") .. "]" .. "field[0.5,1.2;7,0.7;shop_name;;" .. shop.name .. "]" + end + end + + if not is_owner or current_tab == "customer" then + formspec = formspec .. "label[0.5,0.8;"..S("Zum Kaufen auf einen Artikel klicken:").."]" + local inv_list = shop.inv:get_list("main") + for i=1, 10 do + local item = inv_list[i] + if not item:is_empty() and shop.prices[i] and shop.prices[i] > 0 then + local is_row_1 = (i <= 5); local x = (is_row_1 and 0.5 or 7.5) + ((is_row_1 and i-1 or i-6) * 1.25) + local y_image = 1.2; local y_price = y_image + 1.2; local y_currency = y_price + 0.3 + local count = item:get_count(); local price_str = string.format("%.2f", shop.prices[i] / 100) + formspec = formspec .. "item_image_button["..x..","..y_image..";1,1;"..item:get_name()..";buy_slot_"..i..";]" .. "label["..x..","..y_image..";" .. count .. "]" .. "label["..x..","..y_price..";" .. price_str .. "]" .. "label["..x..","..y_currency..";" .. (ss.currency_suffix or "") .. "]" + end + end + if inv_size > 10 then + for i=11, 20 do + local item = inv_list[i] + if not item:is_empty() and shop.prices[i] and shop.prices[i] > 0 then + local is_row_1 = (i <= 15); local x = (is_row_1 and 0.5 or 7.5) + ((is_row_1 and i-11 or i-16) * 1.25) + local y_image = 3.7; local y_price = y_image + 1.2; local y_currency = y_price + 0.3 + local count = item:get_count(); local price_str = string.format("%.2f", shop.prices[i] / 100) + formspec = formspec .. "item_image_button["..x..","..y_image..";1,1;"..item:get_name()..";buy_slot_"..i..";]" .. "label["..x..","..y_image..";" .. count .. "]" .. "label["..x..","..y_price..";" .. price_str .. "]" .. "label["..x..","..y_currency..";" .. (ss.currency_suffix or "") .. "]" + end + end + end + end + + local player_inv_y = 7.5 + formspec = formspec .. "label[0.5," .. (player_inv_y - 0.4) .. ";" .. S("Dein Inventar") .. "]" .. "list[current_player;main;0.5," .. player_inv_y .. ";8,4;]" + + local right_col_x = 10.8 + + if is_owner then + if current_tab == "inventory" then + local cash_reserve_int = core.get_meta(pos):get_int("cash_reserve"); local cash_reserve_str = string.format("%.2f", cash_reserve_int / 100) + formspec = formspec .. "label["..right_col_x..", " .. (player_inv_y - 0.4) .. ";" .. S("Shop-Kasse:") .. "]" + .. "label["..right_col_x..", " .. player_inv_y .. ";" .. cash_reserve_str .. " " .. (ss.currency_suffix or "") .. "]" + .. "button["..right_col_x..", " .. (player_inv_y + 0.5) .. ";2.5,0.8;refund_reserve;"..S("Auszahlen").."]" + end + formspec = formspec .. "button["..right_col_x.."," .. (fs_height - 2) .. ";2.5,0.8;save_all;" .. S("Speichern") .. "]" + end + + if not is_owner or (is_owner and current_tab == "customer") then + local payment_method = pmeta:get_string(ss.modname..":payment_method") + local credit_str = "0.00" + if bank_accounts and payment_method == "bank_accounts:debit_card" then + local balance = bank_accounts.get_balance(player:get_player_name()) + credit_str = string.format("%.2f", balance) + elseif bank_accounts and payment_method == "bank_accounts:credit_card" then + local credit = bank_accounts.get_credit(player:get_player_name()) + credit_str = string.format("%.2f", credit) + else + local session_credit_int = pmeta:get_int(ss.modname..":session_credit") or 0 + credit_str = string.format("%.2f", session_credit_int / 100) + end + formspec = formspec .. "label["..right_col_x..", " .. (player_inv_y - 0.4) .. ";" .. S("Einzahlung (MG/Karte):") .. "]" + .. "list[detached:"..ss.modname..":customer_deposit;main;"..right_col_x..","..player_inv_y..";1,1;]" + .. "button["..right_col_x..",".. (player_inv_y + 1.2) ..";2.5,0.8;refund_session;"..S("Auszahlen").."]" + .. "label["..right_col_x + 1.2 ..",".. (player_inv_y + 0.2) ..";" .. S("Guthaben:") .. "]" + .. "label["..right_col_x + 1.2 ..",".. (player_inv_y + 0.6) ..";" .. credit_str .. " " .. (ss.currency_suffix or "") .. "]" + end + + formspec = formspec .. "button_exit[" .. right_col_x .. "," .. (fs_height - 1) .. ";2.5,0.8;close;" .. S("Schließen") .. "]" + return formspec +end + +ss.show_formspec = function(pos, player) + -- Die Reset-Logik wurde in node.lua -> on_rightclick verschoben + core.show_formspec(player:get_player_name(), ss.modname..":shop", ss.get_formspec(pos, player)) +end + +core.register_on_player_receive_fields(function(player, formname, fields) + if formname ~= ss.modname..":shop" then return end + if fields.quit then + local pmeta = player:get_meta() + local pos = core.deserialize(pmeta:get_string(ss.modname .. ":pos")) + if ss.refund_on_close and pos then + -- Gilt für jeden Spieler mit Guthaben, auch den Besitzer + local total = pmeta:get_int(ss.modname..":session_credit") or 0 + if total > 0 then + local refund_stacks, remainder = transaction.calculate_refund(total) + for _, stack in ipairs(refund_stacks) do transaction.give_product(player, stack) end + pmeta:set_int(ss.modname..":session_credit", remainder) + end + local deposit_inv = core.get_inventory({type="detached", name=ss.modname..":customer_deposit"}) + if deposit_inv then + local stack = deposit_inv:get_stack("main", 1) + if not stack:is_empty() and (stack:get_name() == "bank_accounts:debit_card" or stack:get_name() == "bank_accounts:credit_card") then + transaction.give_product(player, stack) + deposit_inv:set_stack("main", 1, nil) + pmeta:set_string(ss.modname..":payment_method", nil) + end + end + end + return + end + + local pmeta = player:get_meta() + local pos = core.deserialize(pmeta:get_string(ss.modname .. ":pos")) + if not pos then return end + + local is_owner = ss.is_shop_owner(pos, player) or ss.is_shop_admin(player) + + -- KORREKTUR: inv_size wird jetzt nur einmal hier geholt, um für alle Schleifen gültig zu sein + local inv = core.get_meta(pos):get_inventory() + local inv_size = inv and inv:get_size("main") or 10 + + if is_owner and fields.tabs then + local new_tab = "inventory"; if fields.tabs == "2" then new_tab = "settings" elseif fields.tabs == "3" then new_tab = "customer" end + pmeta:set_string(ss.modname .. ":tab", new_tab) + end + + for i = 1, inv_size do + if fields["buy_slot_"..i] then + transaction.execute_purchase(pos, player, i) + ss.show_formspec(pos, player) + return + end + end + + if fields.refund_session then + local total = pmeta:get_int(ss.modname..":session_credit") or 0 + if total > 0 then + local refund_stacks, remainder = transaction.calculate_refund(total); + for _, stack in ipairs(refund_stacks) do transaction.give_product(player, stack) end + pmeta:set_int(ss.modname..":session_credit", remainder) + end + end + + if is_owner then + local shop_meta = core.get_meta(pos) + if fields.save_all then + local current_tab = pmeta:get_string(ss.modname .. ":tab") or "inventory" + if current_tab == "settings" then + if fields.shop_name then + shop_meta:set_string("name", fields.shop_name or "") + end + elseif current_tab == "inventory" then + local prices = core.deserialize(shop_meta:get_string("prices")) or {} + local inv_list = inv:get_list("main") + for i = 1, inv_size do + if not inv_list[i]:is_empty() then + if fields["price_"..i] then + local price_input = fields["price_"..i] + if price_input and price_input ~= "" then + local price_num = tonumber((price_input:gsub(",", "."))) + if price_num and price_num > 0 then + prices[i] = math.floor(price_num * 100 + 0.5) + end + end + end + else + prices[i] = nil + end + end + shop_meta:set_string("prices", core.serialize(prices)) + end + ss.update_infotext(pos) + end + if fields.refund_reserve then + local total = shop_meta:get_int("cash_reserve") + if total > 0 then + local refund_stacks, remainder = transaction.calculate_refund(total) + for _, stack in ipairs(refund_stacks) do transaction.give_product(player, stack) end + shop_meta:set_int("cash_reserve", remainder) + end + end + end + ss.show_formspec(pos, player) +end) diff --git a/init.lua b/init.lua new file mode 100644 index 0000000..cc23f92 --- /dev/null +++ b/init.lua @@ -0,0 +1,30 @@ +server_shop = {} +local ss = server_shop + +ss.modname = core.get_current_modname() +ss.modpath = core.get_modpath(ss.modname) + +-- Log-Funktion für saubere Nachrichten +function ss.log(level, msg) + if not msg then + msg = level + level = "action" + end + core.log(level, "[" .. ss.modname .. "] " .. msg) +end + +-- Definiert die Ladereihenfolge der einzelnen Skript-Dateien +local scripts = { + "settings", + "api", + "transaction", + "deposit", + "formspec", + "node", +} + +for _, script in ipairs(scripts) do + dofile(ss.modpath .. "/" .. script .. ".lua") +end + +ss.log("Mod '"..ss.modname.."' wurde erfolgreich geladen.") diff --git a/locale/server_shop.es.tr b/locale/server_shop.es.tr new file mode 100644 index 0000000..3a7acdf --- /dev/null +++ b/locale/server_shop.es.tr @@ -0,0 +1,46 @@ +# textdomain:server_shop + +# Translators: Jordan Irwin (AntumDeluge) + + +Shop=Tienda +Buy=Comprar +Sell=Vender +Refund=Reembolsar +Close=Cerrar +Set ID=Pon ID +Deposited: @1=Depositado: @1 +Deposited: @1 @2=Depositado: @1 @2 +You haven't deposited enough money.=No has depositado suficiente dinero. +You purchased @1 @2 for @3 @4.=Compraste @1 @2 por @3 @4. +You sold @1 @2 for @3 @4.=Vendiste @1 @2 por @3 @4. +WARNING: @1 @2 was dropped on the ground.=AVISO: @1 @2 se cayó en la tierra. + +# chat commands +Manage shops configuration.=Administrar configuración de tiendas. +Usage:=Uso: +command=orden +params=parámetros +Must provide a command: @1=Debe producir un orden: @1 +"@1" command takes no parameters.=Orden "@1" no requiere parametros. +Too many parameters.=Demasiado parámetros. +Unknown command: @1=Orden desconocido: @1 +Must provide ID.=Se requiere ID. + +# reload command +Shops configuration loaded.=Configuración de tiendas cargada. + +# register command +ID= +name=nombre +product1@=value,product2@=value,...=producto1@=valor,producto2@=valor,... +Must provide type.=Se requiere tipo. +Must provide name.=Se requiere nombre. +Shop type must be "@1" or "@2".=Tipo de tienda debe ser "@1" o "@2". +"@1" is not a recognized item.="@1" no es objeto conocido. +Item value must be a number.=Valor de objeto debe ser número. +Registered shop with ID: @1=Agregó al registro tienda con ID: @1 + +# unregister command +Cannot unregister shop with ID: @1=No puede quitar del registro tienda con ID: @1 +Unregistered shop with ID: @1=Se quitó del registro tienda con ID: @1 diff --git a/locale/template.txt b/locale/template.txt new file mode 100644 index 0000000..17ce1de --- /dev/null +++ b/locale/template.txt @@ -0,0 +1,46 @@ +# textdomain:server_shop + +# Translators: + + +Shop= +Buy= +Sell= +Refund= +Close= +Set ID= +Deposited: @1= +Deposited: @1 @2= +You haven't deposited enough money.= +You purchased @1 @2 for @3 @4.= +You sold @1 @2 for @3 @4.= +WARNING: @1 @2 was dropped on the ground.= + +# chat commands +Manage shops configuration.= +Usage:= +command= +params= +Must provide a command: @1= +"@1" command takes no parameters.= +Too many parameters.= +Unknown command: @1= +Must provide ID.= + +# reload command +Shops configuration loaded.= + +# register command +ID= +name= +product1@=value,product2@=value,...= +Must provide type.= +Must provide name.= +Shop type must be "@1" or "@2".= +"@1" is not a recognized item.= +Item value must be a number.= +Registered shop with ID: @1= + +# unregister command +Cannot unregister shop with ID: @1= +Unregistered shop with ID: @1= diff --git a/mod.conf b/mod.conf new file mode 100644 index 0000000..6bf12c9 --- /dev/null +++ b/mod.conf @@ -0,0 +1,9 @@ +name = server_shop +title = Server Shop +description = Player-managed shops with limited inventory. +version = 0.4 +author = Rage87 +min_minetest_version = 5.11 +depends = currency +optional_depends = sounds, bank_accounts +release = 1000 diff --git a/node.lua b/node.lua new file mode 100644 index 0000000..d227130 --- /dev/null +++ b/node.lua @@ -0,0 +1,121 @@ +--- Server Shops Nodes +-- +-- @topic nodes + +local ss = server_shop +local S = core.get_translator(ss.modname) + +-- ################################################################# +-- ## GEMEINSAME FUNKTIONEN +-- ################################################################# + +local function after_place_node(pos, placer, itemstack) + local meta = core.get_meta(pos) + if itemstack:get_name() == "server_shop:shop_large" then + meta:get_inventory():set_size("main", 20) + else + meta:get_inventory():set_size("main", 10) + end + meta:set_string("owner", placer:get_player_name()) + meta:set_string("prices", core.serialize({})) + meta:set_int("cash_reserve", 0) + meta:set_string("name", S("@1's Shop", placer:get_player_name())) + ss.update_infotext(pos) +end + +local function on_rightclick(pos, node, player, itemstack, pointed_thing) + if core.get_node({x=pos.x, y=pos.y-1, z=pos.z}).name == ss.modname..":shop_large_bottom" then + pos.y = pos.y - 1 + end + + local pmeta = player:get_meta() + pmeta:set_string(ss.modname .. ":pos", core.serialize(pos)) + + if not (ss.is_shop_owner(pos, player) or ss.is_shop_admin(player)) then + pmeta:set_int(ss.modname..":session_credit", 0) + end + + ss.show_formspec(pos, player) +end + +local function can_dig(pos, player) + local owner_pos = {x=pos.x, y=pos.y, z=pos.z} + if core.get_node({x=pos.x, y=pos.y-1, z=pos.z}).name == ss.modname..":shop_large_bottom" then + owner_pos.y = pos.y - 1 + end + return ss.is_shop_owner(owner_pos, player) or ss.is_shop_admin(player) +end + + +-- ################################################################# +-- ## SHOP-DEFINITIONEN +-- ################################################################# + +-- Kleiner Shop (1 Block) +core.register_node(ss.modname..":shop_small", { + description = S("Shop"), + paramtype2 = "facedir", + groups = {choppy=1, oddly_breakable_by_hand=1}, + sounds = default.node_sound_stone_defaults(), + tiles = { + "server_shop_side.png", "server_shop_side.png", "server_shop_side.png", + "server_shop_side.png", "server_shop_side.png", "server_shop_front.png", + }, + after_place_node = after_place_node, + on_rightclick = on_rightclick, + can_dig = can_dig, +}) + +-- Großer Shop, unterer Teil (enthält alle Daten) +core.register_node(ss.modname..":shop_large_bottom", { + description = S("Großer Shop"), + paramtype2 = "facedir", + drop = ss.modname..":shop_large_bottom", + groups = {choppy=1, oddly_breakable_by_hand=1, not_in_creative_inventory=1}, + sounds = default.node_sound_stone_defaults(), + tiles = { + "server_shop_side.png", "server_shop_side.png", "server_shop_side.png", + "server_shop_side.png", "server_shop_side.png", "server_shop_front_large_bottom.png", + }, + after_place_node = function(pos, placer) + local meta = core.get_meta(pos) + meta:get_inventory():set_size("main", 20) + meta:set_string("owner", placer:get_player_name()) + meta:set_string("prices", core.serialize({})) + meta:set_int("cash_reserve", 0) + meta:set_string("name", S("@1's Großer Shop", placer:get_player_name())) + ss.update_infotext(pos) + + local above = {x=pos.x, y=pos.y+1, z=pos.z} + core.set_node(above, {name=ss.modname..":shop_large_top", param2=core.get_node(pos).param2}) + end, + on_destruct = function(pos) + local above = {x=pos.x, y=pos.y+1, z=pos.z} + if core.get_node(above).name == ss.modname..":shop_large_top" then + core.set_node(above, {name="air"}) + end + end, + on_rightclick = on_rightclick, + can_dig = can_dig, +}) + +-- Großer Shop, oberer Teil +core.register_node(ss.modname..":shop_large_top", { + description = S("Großer Shop"), + paramtype2 = "facedir", + diggable = false, + drop = "", + groups = {not_in_creative_inventory=1}, + sounds = default.node_sound_stone_defaults(), + tiles = { + "server_shop_side.png", "server_shop_side.png", "server_shop_side.png", + "server_shop_side.png", "server_shop_side.png", "server_shop_front_large_top.png", + }, + -- KORREKTUR: on_destruct-Funktion hier komplett entfernt, um die Schleife zu verhindern. + on_rightclick = on_rightclick, +}) + + +-- Alias für den give-Befehl +core.register_alias(ss.modname..":shop", ss.modname..":shop_small") +core.register_alias(ss.modname..":shop_large", ss.modname..":shop_large_bottom") diff --git a/screenshot.png b/screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..78109d7365cf38df4b719e08dde3e3c59adb7fd4 GIT binary patch literal 135912 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 D)u@@$ literal 0 HcmV?d00001 diff --git a/textures/server_shop_front_large_top.png b/textures/server_shop_front_large_top.png new file mode 100644 index 0000000000000000000000000000000000000000..e9121aa2ef2b0bfd7b5785a93c03201cca9a36f4 GIT binary patch literal 1944 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 F69Blm8w3CV literal 0 HcmV?d00001 diff --git a/textures/server_shop_mesh.png b/textures/server_shop_mesh.png new file mode 100644 index 0000000000000000000000000000000000000000..5aa0cb68d76d92d6336b1d95e54db46e1f74d566 GIT binary patch literal 229 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0J3?w7mbKU|e&H|6fVg?31We{epSZZGe6ch^Z z32}8V@DUXit*orvxpOB_?EnA&M;sX%fh@+7AirP+hi5m^fSepp7sn8fJs3(d603$HlQcOI)E~i3j7~!;J~wf{kHW(fss} Tl6_Z!_A+?7`njxgN@xNAMO8?8 literal 0 HcmV?d00001 diff --git a/textures/server_shop_side.png b/textures/server_shop_side.png new file mode 100644 index 0000000000000000000000000000000000000000..6f63d4c15924ad750a2777032bef05fce6055644 GIT binary patch literal 114 zcmeAS@N?(olHy`uVBq!ia0vp^0zj<5$P6SE-Lv|E6lZ})WHAGSo-znCRxGtI0}8SQ z_=LDtR#u9NifUWE2I&{_ba4#fxSssu|NMoG6T@EouV currencies[kR] end) + local refund = {}; local remain = total + for _, k in ipairs(keys) do + local v = currencies[k] + if v > 0 then + local count = math.floor(remain / v) + if count > 0 then + local stack = ItemStack(k); stack:set_count(count); table.insert(refund, stack) + remain = remain - (count * v) + end + end + end + return refund, remain +end + +function transaction.calculate_currency_value(stack) + local value = 0 + for c, v in pairs(ss.get_currencies()) do + if stack:get_name() == c then + return stack:get_count() * v + end + end + return 0 +end + +function transaction.execute_purchase(pos, player, slot_index) + local pmeta = player:get_meta() + local player_inv = player:get_inventory() + local shop = ss.get_shop(pos) + + if not shop then return end + + local quantity = 1 + + -- KORREKTUR: Die fehlerhafte `slot_index - 1` Logik wurde entfernt. + -- Wir verwenden `slot_index` direkt, so wie es in der funktionierenden Version war. + local item_to_buy = shop.inv:get_stack("main", slot_index) + local price_per_item = shop.prices[slot_index] + + if item_to_buy:is_empty() or not price_per_item or price_per_item <= 0 then + core.chat_send_player(player:get_player_name(), S("Dieser Artikel ist nicht verfügbar.")) + return + end + + if item_to_buy:get_count() < quantity then + core.chat_send_player(player:get_player_name(), S("Nicht genügend Artikel auf Lager.")) + return + end + + local purchase_stack = ItemStack(item_to_buy:get_name()) + purchase_stack:set_count(quantity) + if not player_inv:room_for_item("main", purchase_stack) then + core.chat_send_player(player:get_player_name(), S("Nicht genügend Platz im Inventar.")) + return + end + + local total_cost_cents = price_per_item * quantity + local player_name = player:get_player_name() + local payment_method = pmeta:get_string(ss.modname..":payment_method") + + if payment_method == "bank_accounts:debit_card" or payment_method == "bank_accounts:credit_card" then + local account_balance + if payment_method == "bank_accounts:debit_card" then + account_balance = bank_accounts.get_balance(player_name) + else -- credit_card + account_balance = bank_accounts.get_credit(player_name) + end + + local total_cost_float = total_cost_cents / 100 + + if account_balance < total_cost_float then + core.chat_send_player(player_name, S("Dein Konto ist nicht ausreichend gedeckt.")) + return + end + + if payment_method == "bank_accounts:debit_card" then + bank_accounts.add_balance(player_name, -total_cost_float, "Shop-Kauf", shop.name, shop.owner) + else -- credit_card + bank_accounts.add_credit(player_name, -total_cost_float, "Shop-Kauf", shop.name, shop.owner) + end + + else + local credit = pmeta:get_int(ss.modname .. ":session_credit") or 0 + if credit < total_cost_cents then + local needed = string.format("%.2f", (total_cost_cents - credit) / 100) + core.chat_send_player(player_name, S("Du hast nicht genug Geld eingezahlt. (Es fehlen @1)", needed .. " " .. ss.currency_suffix)) + return + end + pmeta:set_int(ss.modname .. ":session_credit", credit - total_cost_cents) + end + + local shop_meta = core.get_meta(pos) + local current_reserve = shop_meta:get_int("cash_reserve") + shop_meta:set_int("cash_reserve", current_reserve + total_cost_cents) + + item_to_buy:set_count(item_to_buy:get_count() - quantity) + -- KORREKTUR: `set_stack` verwendet ebenfalls den direkten `slot_index`. + shop.inv:set_stack("main", slot_index, item_to_buy) + + transaction.give_product(player, purchase_stack) + + local cost_str = string.format("%.2f", total_cost_cents / 100) + core.chat_send_player(player_name, S("Du hast @1 @2 für @3 gekauft.", quantity, item_to_buy:get_description(), cost_str .. " " .. ss.currency_suffix)) + + ss.update_infotext(pos) +end + +return transaction