Skip to content

Samuels-Development/sd-selfstorage

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

sd-selfstorage

sd-selfstorage is a comprehensive self-storage rental system for FiveM that allows players to rent or purchase storage units with advanced features including auto-renewal payments, access management (i.e. you can give people access to your unit), upgrades, and more.

Features

  • 🏢 Rent or Purchase - Players can either rent units weekly or buy them permanently
  • 💳 Auto-Renewal System - Automatic payments from bank accounts (configurable)
  • 👥 Access Management - Share storage access with other players
  • ⬆️ Storage Upgrades - Purchase additional slots and weight capacity
  • Grace Period System - 48-hour grace period for overdue payments
  • 🏦 Banking Integration - Works with banking systems that support static identifiers
  • 🌍 Multi-Language Support - Easy localization system
  • 📦 ox_inventory Integration - Full stash system with weight and slot limits

Preview

image

FiveM_GTAProcess_GMUO1cRVPE FiveM_GTAProcess_aNNN2aegP8 FiveM_GTAProcess_Wk93zMVrwo

🔔 Contact

Author: Samuel#0008
Discord: Join the Discord
Store: Click Here

💾 Installation

  1. Download the latest release from the repository
  2. Extract the downloaded file and rename the folder to sd-selfstorage
  3. Place the sd-selfstorage folder into your server's resources directory
  4. Add ensure sd-selfstorage to your server.cfg
  5. Configure the banking functions in server/main.lua (lines 14-37), if you want auto-renewal to work.
  6. Adjust the config file to your needs

📖 Dependencies

📖 Configuration

Banking System Setup

The script supports two modes depending on your banking system:

For Banking Systems with Static Identifiers (IBAN, Account Numbers)

Banking = {
    hasStaticIdentifiers = true,
    noIdentifierMessage = 'Your banking system does not support automatic payments'
}

For Banking Systems without Static Identifiers

Banking = {
    hasStaticIdentifiers = false,
    noIdentifierMessage = 'Your banking system does not support automatic payments'
}

When hasStaticIdentifiers = false:

  • Auto-renewal features are disabled
  • Bank account linking is hidden
  • Only manual payments are available
  • Grace period and deletion systems still work

Banking Functions

Edit the banking functions in server/main.lua (lines 14-37):

-- Example Integration with RxBanking
Banking.GetPlayerAccount = function(identifier)
    local accountData = exports['RxBanking']:GetPlayerPersonalAccount(identifier)
    if type(accountData) == "table" then
        return accountData.iban
    elseif type(accountData) == "string" then
        return accountData
    end
    return nil
end

Banking.RemoveAccountMoney = function(accountId, amount, unitId)
    return exports['RxBanking']:RemoveAccountMoney(
        accountId, 
        amount, 
        'payment', 
        locale('storage_unit_autorenewal', { id = unitId }), 
        nil
    )
end

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages