[ESX / QB] IF Advanced Banking V3 (Card Themes)(Card Robbery)



Features

  • Multiple Framework Support (ESX and QB)

  • Withdraw, Deposit, Transfer (IBAN), Transactions, ATM’s, Unique Cards.

  • Bank Cards system, 6 cards available per players, players can: set a pin for the card, block/unlock the card and request a new card. There’s a system that allows all players to use cards from each others on ATM (Needs an inventory w/metadata system).

  • Card Robbery System

  • ATM Max Withdraw Limit

  • IBAN fully configurable (gives the possibility to transfer money to offline players)

  • Money Formatter (to a better player experience)

  • Transactions History System

  • Discord Webhooks for transactions

  • Exports for transactions (the script also listen to ESX/QB money changes and save they if a reason is available)

  • Translations

Config

Config = {
    Locale = 'en',

    Framework = '', -- ESX or QB
    FrameworkCore = '', -- es_extended, qb-core, if-core, ...
    FrameworkEvents = {
        ['ESX'] = {
            getSharedObject = 'esx:getSharedObject', -- Only used if getSharedObject from exports fails
            playerLoaded = 'esx:playerLoaded',
            removeAccountMoney = 'esx:removeAccountMoney',
            addAccountMoney = 'esx:addAccountMoney'
        },
        ['QB'] = {
            playerLoaded = 'QBCore:Client:OnPlayerLoaded',
            moneyChange = 'QBCore:Server:OnMoneyChange'
        }
    },

    CardsPrice = 1000,
    ATMTransLimit = 5000, -- ATM Transation Limit by session (Withdraw)

    -- IBAN's are used to make transferences between players
    IBANPrefix = 'IF', -- IBAN Prefix
    IBANCost = 5000, -- IBAN Change/Create cost
    IBANMinLength = 4,
    IBANMaxLength = 6,

    -- PIN's are used to open the ATM
    PINCost = 1000, -- PIN Change/Create cost

    MoneyLocale = 'en-US', -- Locale used for money formatting (front-end)
    MoneyCurrency = 'USD', -- Currency used in money display (front-end)

    Blip = {
        blipName = "Bank",
        blipType = 108,
        blipColor = 2,
        blipScale = 0.55
    },

    ATMModels = {
        `prop_atm_01`,
        `prop_atm_02`,
        `prop_atm_03`,
        `prop_fleeca_atm`
    },

    BankLocations = {
        vector3(149.9, -1040.46, 29.37),
        vector3(314.23, -278.83, 54.17),
        vector3(-350.8, -49.57, 49.04),
        vector3(-1213.0, -330.39, 37.79),
        vector3(-2962.71, 483.0, 15.7),
        vector3(1175.07, 2706.41, 38.09),
        vector3(246.64, 223.20, 106.29),
        vector3(-113.22, 6470.03, 31.63)
    },

    OpenMethod = {
        markers = {
            enabled = true,
            drawDistance = 10.0,
            markerType = 20
        },
        target = {
            enabled = false,
            text = 'Access Bank',
            base = '', -- Target script base. qb OR ox
            script = '' -- Used to get the exports. qb-target, if-target, ox_target
        }
    },

    Webhooks = {
        ['onTransaction'] = { -- Sends a webhook message when a bank transaction is made
            link = '', -- Discord webhook link
            title = 'Bank - onTransaction',
            color = 65280,
            description = "The player **%s (%s)** peformed a transaction with details:\n**Transation: **%s\n**Amount: $** %s\n**Date:** %s", -- (playerCharName, playerGameName, transactionType, amountDeposited/Withdrew, date)
        },
        authorName = "Bank Logs",
        authorUrl = "https://cdn.discordapp.com/icons/925082868831617074/49e4c022837fc9d876378d44840ff0da.webp?size=128",
    }
}

Translations = {
    ['en'] = {
        ['openBank'] = 'Press [E] to access the bank',

        ['statementDeposited'] = 'Deposited %s to bank.',
        ['statementWithdraw'] = 'Withdrew %s from the bank.',

        ['cantDoThis'] = "You can't peform this transaction!",

        ['pincodeMissing'] = 'You need to set a PINCODE, check in Bank settings.',

        ['cashDeposited'] = 'You successfully made a cash deposit of $%s.',
        ['cashWithdraw'] = 'You successfully made a bank withdraw of $%s.',

        ['transactionError'] = 'There was an error processing your Transation, either the amount has not been entered, or is not a positive number.',
        ['withdrawLimit'] = 'Sorry you have reached the Daily Withdraw limit of $'..Config.ATMTransLimit..' for the day, please use a bank if you need money sooner.',

        ['invalidIbanTransfer'] = 'There was an error with the IBAN that you have entered, please ensure it is correctly filled out.',
        ['invalidIbanAccountTransfer'] = 'The account details entered could not be located.',

        ['transferTo_Receipt'] = 'Bank Transfer to %s',
        ['transferFrom_Receipt'] = 'Bank Transfer from %s',
        ['bankTransferSent'] = 'You have sent a bank transfer to %s for the amount of $%s',
        ['bankTransferReceived'] = 'You have received a bank transfer from %s for the amount of $%s',

        ['debitCardBuyed'] = 'You successfully bought a bank card, check it PIN to use.',
        ['thisCardIsBlocked'] = 'This card is actually blocked',
        ['thisCardIsUnavailable'] = 'This card is no longer available',

        ['newPinInvalidLength'] = 'Your new PIN is invalid, need to be 4 digits.',
        ['successfullyUpdatedPin'] = 'You have successfully updated your Card PIN.',
        ['failedToUpdatedPin'] = 'An error on updating pin.',

        ['newIbanContainsPrefixError'] = "You doesn't need to specify the IBAN prefix!",
        ['newIbanInvalidLength'] = 'Your new IBAN is invalid, check max and min lengths.',
        ['successfullyUpdatedIban'] = 'You have successfully updated your IBAN.',
        ['failedToUpdatedIban'] = 'An error on updating IBAN.',

        ['insufficientMoney'] = 'Insufficient bank money to complete the action.',

        ['atmIncorrectPin'] = 'Incorrect PIN!',

        ['noAtmNear'] = 'No ATM near!',
    }
}

Dependencies

  • ESX
  • QBCore

Preview

Docs

Tebex

Bundle

:gem: My Other Scripts :gem:
Battlepass V1
Banking V1
Banking V2
HUD V1
HUD V2
HUD V3
Chat V1
Crafting V1
Vehicleshop V2 (Dealership)
Weapon Shop V2
Vehicle Tuning V1 (Mechanic)
Realistic Fuel System (Gas Stations)
Gift System (Send Vehicle/Items to your friends as gift)
Luxury Markets (Weapon Store, Blackmarket, 24/7 Shops)
Luxury Clothing Store (All Clothes as item)(Meta Items)
Hot Tube (Jacuzzi)
Reports & Admin System
Barber Job (Ownable Barbers)
Animation Menu (Emotes)
Main Menu + VIP System (Pause Menu)
Rednight Vehicleshop (Dealership)
Rednight Markets (24/7 Shops)
Rednight Weaponshop
Redline Banking
Redline Markets (24/7 Shops)
Redline Tattoo Store
Redline Weaponshop
Redline Clothing Store
Redline Vehicle Rental
Redline Garage (Create Garage In-Game)
Redline Vehicleshop (Dealership)
OPS Banking (Card Robbery)
OPS Scoreboard
OPS Pet System
OPS Battlepass
DPS Login/Signup System (Advanced Register)(Verify Your Players)
DPS Spawn Selector
DPS HUD
DPS Guide Menu (Rules Menu)

|-------------------------------------|----------------------------|
| Code is accessible | No |
| Subscription-based | No |
| Lines (approximately) | +2000 |
| Requirements | ESX / QBCore |
| Support | Yes |

3 Likes

amazing script once again :fire:

1 Like

:index_pointing_at_the_viewer: you are scripting too fast a bit slow :heart_on_fire:

1 Like

Looks dope! Is there a way to request more cards for like example everyone in your gang?

For now you can get more card from admins
but i will update it , nice idea

1 Like