Rust Currency/Banking

Creating a new Currency:

/currency add [Name]       Result "You have created [Name] Note."

I picture using the Paper graphic with a generated Item Name, which as it is barely has much in-game use. This should get around changing any part of the game's core and VAC flipping shit and banning you.

To fund a Currency's base:

Craft a storage container of any type. While looking at the container (similar to /sil command) type:     /currency vault

Your container now is the note's backing value vault, from which the sum value of all items backing your currency can be calculated. A [Name] Note has a number value based on the sum of points calculated from a table within the plugin, divided by the number of issued Notes.

EX: High Quality Metal has an assigned value of 50 points. Your Currency's vault container has 10 HQM inside it. You have issued one Note. Therefore your Note is worth 500 points.


Note issuing:

/currency issue [# of Notes]

This creates the input number of new Notes, either as an initial creation or to add to the number of existing Notes later on.

This should be dynamic and able to add and subtract numbers of Notes as they come into the game, are despawned or are returned by players to cash in for the Note's backing resources (more on that later).

A value checking command would allow players to get a report on how many points a single Note is worth at any given time.

Ex: /currency value [Note's name]     Result "1 [Note name] is worth [point count]


Returning a Note for backing resource(s):

/currency return [Note's name] [# of Notes returned]

Display a shop GUI populated by items only in vault.  Only form of payment is currency issues by the clan whose shop you’re accessing.

This would generate a text reply list of what resources are currently in the Note's designated vault container(s), and also act as a way for players to see what the Notes are backed by and their assigned point value.

Ex: /currency return LGFdollars 1

Result:

LGFdollars are backed by

               #    V  

  Wood- 10, 10

  Stone-  50, 20

  HQM-  20, 50

  Total Notes: 10

Using this method: (10x10)+(20x50)+(50x20)=2100 points backing a note

                                 Wood     Stone      HQM

                                2100/10=210 points per Note value

  Therefore "/currency value LGFdollars" returns "1 LGFdollars is worth 210"

You could then return the notes for 5 HQM and 1 Wood while in a sub menu by typing

"HQM 5" and "Wood 1", most likely needing an exit command as well. Options here could include then delivering the Note(s) traded in to the vault container(s) or destroying the traded in number of Notes from the buyer's inventory and updating the Note's numerical count. The first method is likely preferable.

Other comments:

This whole system could bring in economic security concern and perceptions, increasing the pressure on keeping security high for vault container locations.

Essentially you are also buying "stock" in the currency's owner(s). It also lets players strategize the currency's levels of supply and variety of backing, again calling into play things like currency manipulation and if the prestige of using all high value loot is more desirable than using a wider variety or even creating a sort of "junk bond".

Another consideration is also motivation to attack or defend based on the Note's value. If you are holding an amount of a currency created by a certain person or clan then you may want to defend it's base or counter-raid the attackers and let them do the heavy lifting in the robbery so you can wipe them out and take the loot for yourself.

It may be worth writing in a permission scheme so that a mod can either limit the number of currencies in play, allow only donators to create a currency or simply make a server Central Bank system.

TECHNICAL NOTES:

  •  Configuration option to set name?, item type and stack size, implement on OnServerInit(see ItemConfig)
  •  Configuration option to assign per-person currency to players automatically as personal networth. Option personalNetworth (true/false)
  •  Configuration option to assign per-clan currency to clans automatically as clan networth.  Option clanNetworth (true/false)
  •  When player joins clan, their currency (if personalNetworth/clanNetworth enabled) is merged with their clan and their “vaults” then count toward the clan currency.  Option clanNetworth (true/false)
  •  Configuration option to allow players to set “vaults” individually or alternatively automatically consider all of their chests as “vaults”.  Option: globalVault (true/false)
  •  Configuration option to allow clan owners to create vaults. Option: clanLeaderVaultRestriction (true/false)
  •  Configuration option to allow clan council members to create vaults. Option: clanCouncilVaultRestriction (true/false)
  •  Configuration option to allow clan moderator members to create vaults. Option: clanModeratorVaultRestriction (true/false)
  • Just typing “/currency” should supply you with the currency value for your clan (if clanNetworth enabled) or your personal currency value (if personalNetworth enabled)
  •  Configuration option to allow clan leaders to issue clan currency. Option clanLeaderIssue (true/false)
  •  Configuration option to allow clan council members to issue clan currency. Option clanCouncilIssue (true/false)
  •  Configuration option to allow clan moderators to issue clan currency. Option clanModeratorIssue (true/false)
  •  Configuration option to integrate shop so players may view items in clan vault using shop GUI.  Option: clanVaultShop (true/false)
  •  Configuration option to integrate shop so players may buy items in clan vault using clan notes and shop GUI.  Option: clanVaultBuy (true/false)
  • /shop “CLANTAG”
  •  Configuration to determine if clan shop is global or only allowed within the vicinity of a hired bank teller (see HumanNPC).  Option useNPC (true/false)

Credits: =420th= Chairman, Calytic