oscarpedrero / BloodyWallet

Virtual Wallet Mod for VRising
MIT License
0 stars 0 forks source link

Bloody.Wallet

This framework is designed to add a virtual currency to VRising. This opens up a world of possibilities for other mods to integrate with it and serve as a bridge for other mods to use this functionality.

Requirements

Ensure the following mods are installed for seamless integration:

  1. BepInEx
  2. VampireCommandFramework
  3. Bloody.Core

Instructions for using it with your mod

You must include it in your .csproj file as a nuget package

<PackageReference Include="Bloody.Wallet" Version="0.1.*" />

You must include it as a project dependency in your Plugin.cs file

[BepInDependency("trodi.Bloody.Wallet")]

If you want to make the use of Bloody.Wallet an optional dependency, you can do so by including it as an optional dependency in your Plugin.cs file

[BepInDependency("trodi.Bloody.Wallet", BepInDependency.DependencyFlags.SoftDependency)]

API

You have several methods available in the API that you can use, as detailed below:

using BloodyWallet.API;

Add a certain amount of tokens to a user.

bool AddTokenToUser(int _amount, string _method, Entity playerReciviedTokens, Entity userEntityExecuteFunction, out string message)

Remove a certain amount of tokens from a user.

bool RemoveToken(int _amount, string _method, Entity playerReciviedTokens, Entity userEntityExecuteFunction, out string message)

Returns the list of tokens for all users on the server, and if we specify a player's name, it will only return the tokens for that user.

bool listToken(string _playerName, out List<string> message)

Returns the number of tokens for a user as an integer.

bool GetTotalTokensForUser(string _playerName, out int tokens)

Transfers tokens from one user to another.

bool TranferTokenFromOtherUser(int _amount, string _method, Entity playerReciviedTokens, Entity fromUserSendToken, out string message)

Installing on your server

  1. Copy Bloody.Wallets.dll to your BepInEx/Plugins directory.
  2. Launch the server once to generate the config file; configurations will be located in the BepInEx/Config directory.

Configuration

In the configuration file trodi.bloody.Wallet you have several options to configure the mod to your liking

## Settings file was created by plugin BloodyWallet v0.0.9999
## Plugin GUID: trodi.Bloody.Wallet

[General]

## Name of your virtual currency
# Setting type: String
# Default value: BloodyTokens
Name = BloodyTokens

## Enable admin commands
# Setting type: Boolean
# Default value: true
adminCommand = true

## Enable users commands
# Setting type: Boolean
# Default value: true
usersCommand = true

## PrfabGUID for exchange tokens
# Setting type: Int32
# Default value: -77477508
prefabGUIDExchange = -257494203

Available Commands

From the mod options, you can enable or disable commands for admins and/or users as detailed below

Admins

.bwa add <PlayerName> <Amount>
.bwa remove <PlayerName> <Amount>
.bwa list <PlayerName>

Players

.bw transfer <PlayerName> <Amount>
.bw me 
.bwa exchange <Amount>

Credits

The V Rising Mod Community is the premier community for V Rising mods.

@Deca, thank you for the exceptional frameworks VampireCommandFramework

Special thanks to the testers and supporters of the project: