[ESX] MSK Banking | Advanced Bankingsystem

A script by Musiker15

No reviews yet.
[ESX] MSK Banking | Advanced Bankingsystem main image

Full Description

Tebex [16.99€ incl. VAT] - Encrypted
Tebex [29.99€ incl. VAT] - Only Serverside Encrypted

Documentation
Youtube Video Preview

Description

  • Create your first main account
  • Create a second account
  • Create society accounts (integrated System or Addon_Account) [in config.lua]

  • Invoices
  • Investment
  • Transactionshistory

  • Animation at the ATMs [setatm models in config.lua]
  • Deposit, Withdraw and Transfer money
  • Transfer money via Accountnumber not via PlayerID [offline Transfer]
  • NPCs or Marker at the Bank [toggleable in config.lua]
  • Bankcard item needed to access a ATM [buyable at the Bank]
  • Set different locations for a Bank with a few options [look at the config.lua]
  • You can set the ranks that have access to the society account [in config.lua]

  • Set the Notification you want to use
  • Set Custom Banner for the NativeUI Menu
  • Discord Logs [deposit, withdraw, transfer, create or delete account, change accountnumber]

Config

Config = {}
----------------------------------------------------------------
Config.Locale = 'de' -- 'de', 'en'
Config.VersionChecker = true
Config.Debug = true
----------------------------------------------------------------
-- Add the Webhook Link in server_discordlog.lua
Config.DiscordLog = true
Config.botColor = "6205745" -- https://www.mathsisfun.com/hexadecimal-decimal-colors.html
Config.botName = "MSK Scripts"
Config.botAvatar = "https://i.imgur.com/PizJGsh.png"
----------------------------------------------------------------
-- !!! This function is clientside AND serverside !!!
Config.Notification = function(source, message)
    if IsDuplicityVersion() then -- serverside
        MSK.Notification(source, message)
    else -- clientside
        MSK.Notification(message)
    end
end
----------------------------------------------------------------
Config.Hotkey = 38 -- default: 38 = E // Change the Key in translation.lua too
Config.npcVoice = true -- The NPC will say something to you
Config.defaultTextUI = true -- Set false if you want to use a custom textui

Config.openTextUI = function(currentBank)
    if currentBank then -- If you open the Bank
        exports['okokTextUI']:Open(Translation[Config.Locale]['open_bank_textui']:format(currentBank.label), 'darkblue', 'left')
    else -- If you open the ATM
        exports['okokTextUI']:Open(Translation[Config.Locale]['open_atm_textui'], 'darkblue', 'left')
    end
end

Config.closeTextUI = function()
    exports['okokTextUI']:Close()
end
----------------------------------------------------------------
Config.CustomBanner = false -- Set true to enable Custom Banner
Config.removeTitle = true -- If Custom Banner enabled, it will remove the Title from the NativeUI

Config.bannerBank = function(currentBank) -- Banner for Bank
    if currentBank.label:match('Fleeca Bank') then
        return Sprite.New('', '', 0, 0, 512, 128) -- Banner for Fleeca Bank
    elseif currentBank.label:match('Pacific Standard Bank') then
        return Sprite.New('', '', 0, 0, 512, 128) -- Banner for Pacific Standard Bank
    elseif currentBank.label:match('Blain County Bank') then
        return Sprite.New('', '', 0, 0, 512, 128) -- Banner for Blain County Bank
    end

    return Sprite.New('', '', 0, 0, 512, 128) -- Banner if not one of the banks above
end

Config.bannerATM = function() -- Banner for ATMs
    return Sprite.New('', '', 0, 0, 512, 128)
end
----------------------------------------------------------------
-- This is only for PIN Input // If set to false then you'll use Native TextEntry
Config.MSKNumpad = {
    enable = true, -- Numpad NUI
    showPIN = false -- If you want to show the PIN at NUI or not
}
----------------------------------------------------------------
-- Players can invest an amount of money and get some money ever X time ontop of the invested money
-- Example: If 10.000$ invested you get 1% every 3 hours, so after 3 hours you have 10.100$
Config.Investment = {
    enable = true, -- Set false if you don't want that Feature
    atATM = false, -- Set true if you also want the Investment at the Bank
    time = 3, -- in hours
    dynamic = {
        enable = true, -- Set true if you want a change to get money or lose money
        chance = 60 -- default: 60% that you get Money from Investment and 40% that you lose money
    },
    percentage = {
        -- Set both to the same number if you dont want random percentage
        min = 1, -- min: 1%
        max = 2 -- max: 100%
    }
}
----------------------------------------------------------------
-- You will need esx_billing or myBilling
Config.useBilling = 'esx_billing' -- Set to 'esx_billing' or 'myBilling'

Config.Bills = {
    enable = true, -- Set false if you dont want esx_billing
    atATM = false, -- Set true if you also want the Bills at the Bank
}
----------------------------------------------------------------
Config.Transactions = true -- Set false if you dont want transactions

Config.mainAccount = {
    enable = false, -- Set true if you want to use that Feature
    amount = 60000, -- Amount that the player gets on his Mainaccount if he created his Mainaccount
    price = 150 -- Price to create a Mainaccount
}
Config.bankAccounts = {
    enable = true, -- If set to true, the Player can create a second Bankaccount
    price = 500 -- Price for a new Second Bank Account
}
Config.PIN = {
    enable = true, -- Set false to disable the PIN Feature
    price = 50, -- Price for change the PIN
    length = 4 -- Max length of the PIN
}
Config.IBAN = {
    enable = true, -- Set false if you dont want that Players can change the IBAN themself
    delete = true, -- Set false if you dont want that Players can delete there second Bank Account
    prefix = 'SA', -- IBAN looks like this SAXXXXXX
    length = 6, -- default: 6 // max length for Custom IBAN // IBAN looks like this SAXXXXXX
    design = false, -- If false then numbers ONLY // If true then numbers and letters
    price = 500 -- default: $500
}
Config.Bankcard = {
    enable = true, -- If false then you dont need a Bankcard to open an ATM and you cant buy them in the Bank
    item = 'bankcard', -- Set the item that you want to use
    price = 100 -- default: $100 // Set the price that Players have to pay for a new Bankcard
}
Config.Animation = {
    -- Only for ATMs not for Banks
    enable = true, -- Set false if you dont want animations
    dict = 'anim@amb@prop_human_atm@interior@male@enter',
    anim = 'enter',
    time = 2 -- default: 2 seconds
}
Config.Society = {
    enable = true, -- Set false if you dont want society accounts

    addon_account = false, -- Set true if you want to use Societyaccounts from addon_account and NOT the Build in System
    addon_account_sync_money = true, -- Set true if you want to sync addon_account and msk_banking money (Only if job is not already set in database)

    atATM = false, -- Set true if you want to access the society account at the ATM

    jobs = {
        -- IBAN always looks like Prefix + IBAN // Example: SALSPD
        {label = 'LSPD', name = 'police', iban = 'LSPD', grade_name = {'boss'}},
        {label = 'LSMD', name = 'ambulance', iban = 'LSMC', grade_name = {'boss'}},
        {label = 'ACLS', name = 'mechanic', iban = 'ACLS', grade_name = {'boss'}},
    }
}
----------------------------------------------------------------
Config.ATMDistance = 1.5
Config.ATMs = {
    models = {-870868698, -1126237515, -1364697528, 506770882}
}

Config.BankDistance = 2.5
Config.MarkerDistance = 5.0
Config.PedDistance = 15.0
Config.Banks = {
    -- Set 'pedmodel' to false if you want to use a Marker instead
    -- !!! Some NPC Peds are NOT talking to you so test it with diffrent NPCs yourself !!!
    {label = 'Fleeca Bank', location = {x = 148.09, y = -1041.66, z = 29.37, h = 341.17}, blip = {enable = true, id = 108, color = 5, scale = 0.8}, pedmodel = 'a_f_y_business_01', draw3dtext = {enable = true, label = '~g~Open Bank', size = 0.8}, marker = {enable = true, type = 27, size = {a = 1.0, b = 1.0, c = 1.0}, color = {a = 255, b = 255, c = 255}}},
    {label = 'Fleeca Bank', location = {x = -1211.95, y = -332.01, z = 37.78, h = 22.44}, blip = {enable = true, id = 108, color = 5, scale = 0.8}, pedmodel = 's_f_y_airhostess_01', draw3dtext = {enable = true, label = '~g~Open Bank', size = 0.8}, marker = {enable = true, type = 27, size = {a = 1.0, b = 1.0, c = 1.0}, color = {a = 255, b = 255, c = 255}}},
    {label = 'Fleeca Bank', location = {x = -2961.14, y = 481.48, z = 15.7, h = 87.36}, blip = {enable = true, id = 108, color = 5, scale = 0.8}, pedmodel = 's_f_y_airhostess_01', draw3dtext = {enable = true, label = '~g~Open Bank', size = 0.8}, marker = {enable = true, type = 27, size = {a = 1.0, b = 1.0, c = 1.0}, color = {a = 255, b = 255, c = 255}}},
    {label = 'Blain County Bank', location = {x = -111.24, y = 6470.02, z = 31.63, h = 133.32}, blip = {enable = true, id = 108, color = 5, scale = 0.8}, pedmodel = 's_f_m_shop_high', draw3dtext = {enable = true, label = '~g~Open Bank', size = 0.8}, marker = {enable = true, type = 27, size = {a = 1.0, b = 1.0, c = 1.0}, color = {a = 255, b = 255, c = 255}}},
    {label = 'Fleeca Bank', location = {x = 312.28, y = -279.98, z = 54.16, h = 335.8}, blip = {enable = true, id = 108, color = 5, scale = 0.8}, pedmodel = 's_f_y_airhostess_01', draw3dtext = {enable = true, label = '~g~Open Bank', size = 0.8}, marker = {enable = true, type = 27, size = {a = 1.0, b = 1.0, c = 1.0}, color = {a = 255, b = 255, c = 255}}},
    {label = 'Fleeca Bank', location = {x = -351.34, y = -51.24, z = 49.04, h = 336.09}, blip = {enable = true, id = 108, color = 5, scale = 0.8}, pedmodel = 's_f_y_airhostess_01', draw3dtext = {enable = true, label = '~g~Open Bank', size = 0.8}, marker = {enable = true, type = 27, size = {a = 1.0, b = 1.0, c = 1.0}, color = {a = 255, b = 255, c = 255}}},
    {label = 'Pacific Standard Bank', location = {x = 248.92, y = 224.3, z = 106.29, h = 157.51}, blip = {enable = true, id = 108, color = 5, scale = 0.8}, pedmodel = 's_f_m_shop_high', draw3dtext = {enable = true, label = '~g~Open Bank', size = 0.8}, marker = {enable = true, type = 27, size = {a = 1.0, b = 1.0, c = 1.0}, color = {a = 255, b = 255, c = 255}}},
    {label = 'Fleeca Bank', location = {x = 1176.34, y = 2708.21, z = 38.09, h = 179.69}, blip = {enable = true, id = 108, color = 5, scale = 0.8}, pedmodel = 's_f_y_airhostess_01', draw3dtext = {enable = true, label = '~g~Open Bank', size = 0.8}, marker = {enable = true, type = 27, size = {a = 1.0, b = 1.0, c = 1.0}, color = {a = 255, b = 255, c = 255}}},
    {label = 'Fleeca Bank', location = {x = -1039.2, y = -2845.22, z = 27.71, h = 98.08}, blip = {enable = true, id = 108, color = 5, scale = 0.8}, pedmodel = 's_f_y_airhostess_01', draw3dtext = {enable = true, label = '~g~Open Bank', size = 0.8}, marker = {enable = true, type = 27, size = {a = 1.0, b = 1.0, c = 1.0}, color = {a = 255, b = 255, c = 255}}},
}

Optional Requirements

  • esx_addon_account
  • esx_billing
  • myBilling
  • okokBilling
Code is accessible No [Discord Logs accessible]
Subscription-based No
Lines (approximately) ~ 1500
Requirements ESX Legacy, NativeUI, oxmysql, msk_core
Support Yes

Latest Update

My other Scripts

Paid

Free