DP-Banking es un sistema bancario avanzado diseñado para servidores de FiveM que utilizan el framework QBCore. Este script proporciona a los jugadores una manera completa de gestionar sus finanzas a través de una interfaz NUI, con múltiples opciones de acceso y un control exhaustivo sobre sus transacciones.
- Múltiples Puntos de Interacción: Cajeros automáticos y sucursales bancarias en todo el mapa para un acceso conveniente. Puedes configurarlos fácilmente en config.lua.
- Gestión Completa de Cuentas: Los jugadores pueden gestionar sus cuentas personales, transferir dinero, y ver estados de cuenta detallados.
- Cuentas de Jobs/Gangs: Creación y gestión automática de cuentas bancarias para facciones y bandas, con acceso exclusivo para los jefes.
- Cuentas Compartidas: Posibilidad de crear cuentas bancarias compartidas con otros jugadores.
- Integración de Tarjetas: Un sistema de tarjetas bancarias que añade una capa extra de realismo al acceso a los cajeros automáticos.
El script incluye varias funciones exportadas del lado del servidor que pueden ser llamadas desde otros recursos para interactuar con el sistema bancario.
Crea una nueva cuenta compartida para un jugador y regresa si fue exitosa o no.
exports['DP-Banking']:CreatePlayerAccount(playerId, accountName, accountBalance, accountUsers)
- playerId: number
- accountName: string
- accountBalance: number
- accountUsers: table
- returns: boolean
Ejemplo:
RegisterCommand('createPlayerAccount', function(source)
local playerId = source
local accountName = 'Mi cuenta compartida'
local accountBalance = 5000
local accountUsers = {'LLL11111', 'LLL11112'} -- Lista de citizenid
exports['DP-Banking']:CreatePlayerAccount(playerId, accountName, accountBalance, json.encode(accountUsers))
end, true)
Crea una nueva cuenta de tipo de job, esto se hace automáticamente, por lo que no debería ser necesario.
exports['DP-Banking']:CreateJobAccount(accountName, accountBalance)
- accountName: string
- accountBalance: number
Ejemplo:
RegisterCommand('createJobAccount', function()
local accountName = 'police'
local accountBalance = 10000
exports['DP-Banking']:CreateJobAccount(accountName, accountBalance)
end, true)
Crea una nueva cuenta de tipo gang, esto se hace automáticamente por lo que no debería ser necesario.
exports['DP-Banking']:CreateGangAccount(accountName, accountBalance)
- accountName: string
- accountBalance: number
Ejemplo:
RegisterCommand('createGangAccount', function()
local accountName = 'ballas'
local accountBalance = 10000
exports['DP-Banking']:CreateGangAccount(accountName, accountBalance)
end, true)
Agrega dinero a una cuenta por nombre y regresa donde fue exitoso o no.
exports['DP-Banking']:AddMoney(accountName, amount, reason)
- accountName: string
- amount: number
- reason: string
- returns: boolean
Ejemplo:
RegisterCommand('addMoney', function()
local accountName = 'police'
local amount = 10000
exports['DP-Banking']:AddMoney(accountName, amount, 'Ejemplo')
end, true)
Retira dinero de una cuenta por nombre y regresa donde fue exitoso o no.
exports['DP-Banking']:RemoveMoney(accountName, amount, reason)
- accountName: string
- amount: number
- reason: string
- returns: boolean
Ejemplo:
RegisterCommand('removeMoney', function()
local accountName = 'police'
local amount = 10000
exports['DP-Banking']:RemoveMoney(accountName, amount, 'Ejemplo')
end, true)
Devuelve toda la información de la cuenta especificada por nombre.
exports['DP-Banking']:GetAccount(accountName)
- accountName: string
- returns: table | nil
Ejemplo:
RegisterCommand('getAccount', function()
local accountName = 'police'
local accountInfo = exports['DP-Banking']:GetAccount(accountName)
if not accountInfo then print('Cuenta '..accountName..' no existe') return end
for _, info in pairs(accountInfo) do
print('Nombre de cuenta: '..info.account_name)
print('Saldo de cuenta: '..info.account_balance)
print('Tipo de cuenta: '..info.account_type)
end
end, true)
Devuelve solo el saldo de la cuenta especificada por nombre.
exports['DP-Banking']:GetAccountBalance(accountName)
- accountName: string
- returns: number
Ejemplo:
RegisterCommand('getBalance', function()
local accountName = 'police'
local balance = exports['DP-Banking']:GetAccountBalance(accountName)
print('Cuenta: '..accountName..' Balance: '..balance)
end, true)
Esto creará un estado de cuenta para una cuenta específica y regresará si fue exitoso o no.
exports['DP-Banking']:CreateBankStatement(playerId, account, amount, reason, statementType, accountType)
- playerId: number
- account: string
- amount: number
- reason: string
- statementType: string
- accountType: string
- returns: boolean
Ejemplo:
RegisterCommand('createBankStatement', function(source)
local playerId = source
local account = 'Mi cuenta compartida'
local amount = 5000
local reason = 'Dinero retirado'
local statementType = 'withdraw' -- 'deposit', 'withdraw'
local accountType = 'shared' -- 'player', 'shared', 'job', 'gang'
local statementCreated = exports['DP-Banking']:CreateBankStatement(playerId, account, amount, reason, statementType, accountType)
if statementCreated then print('Declaración creada') return end
print('Error al crear la declaración')
end, true)
1. **Descargar el script** desde el repositorio oficial.
2. **Colocar la carpeta** en tu servidor con el nombre exacto `DP-Banking`.
-
3. **Configuración de la Base de Datos**.
Abre el archivo Insert.sql.
Copia y pega el contenido en tu base de datos MySQL y ejecútalo. (Asegúrate de que tu servidor tenga acceso a la base de datos configurada para oxmysql.).
El script requiere las siguientes dependencias (deben estar instaladas y configuradas):
| Recurso | Descripción | Enlace |
|---|---|---|
| Framework principal | 🔗 GitHub | |
| Text UI avanzado | 🔗 GitHub | |
| Sistema de menús para QBCore Framework | 🔗 GitHub | |
| Script para definir zonas de diferentes formas y probar si un punto está dentro o fuera de la zona. | 🔗 GitHub | |
| Recurso MySQL para FXServer. | 🔗 GitHub |
DP-PetsShop/
├── 📁 html/
│ ├── 🌐 index.html
│ ├── 📄 script.js
│ └── 🎨 style.css
├── 📁 locales/
│ ├── 🔵 en.lua
│ ├── 🔵 es.lua
│ ├── 🔵 it.lua
│ └── 🔵 nl.lua
├── 🗄️ Insert.sql
├── 📜 LICENSE
├── 📖 README.md
├── 🔵 client.lua
├── 🔵 config.lua
├── 🔵 fxmanifest.lua
└── 🔵 server.lua
** 💡 Datos Técnicos:** La estructura está optimizada para consumo mínimo de recursos (0.01ms) y máxima compatibilidad con QBCore.
El archivo config.lua te permite personalizar el script según tus necesidades.
| Archivo | Función Principal |
|---|---|
| config.lua | Define las configuraciones principales del script, como el control del DP-TextUI, modelos, localizaciones... |
Aquí tienes una lista de las vistas previas de tu script.
El script DP-Banking es un sistema robusto, pero siempre hay espacio para mejoras y nuevas funcionalidades para enriquecer la experiencia de juego.
| IDEA | EXPLICACIÓN |
|---|---|
| Sistema de inversión | Implementar un sistema de bolsa o mercado de valores donde los jugadores puedan comprar y vender acciones de empresas del juego. El valor de las acciones podría fluctuar según las acciones de los jugadores. |
| Préstamos entre jugadores | Habilitar que los jugadores puedan prestarse dinero entre sí a través del banco, con un contrato digital que asegure el cumplimiento de los pagos. |
| Integración con criptomonedas | Añadir una opción para que los jugadores compren y vendan criptomonedas en el juego, como con la app de criptomonedas del qb-phone... con un mercado volátil que cambie los precios con el tiempo. |
| Impuestos y pagos automáticos | Crear un sistema donde los jugadores tengan que pagar impuestos periódicamente o puedan configurar pagos automáticos para sus facturas de casa, coche, etc. |
Autor: DP-Scripts
Versión: 1.0.0
/Miniaturas YT.png)
/Banco 1.png)
/Banco 2.png)
/Banco 3.png)
/Banco 4.png)
/Banco 5.png)
/Banco 6.png)
/Banco 7.png)
/Banco 8.png)
/tarjeta 1.png)
/tarjeta 2.png)
/tarjeta 3.png)
/tarjeta 4.png)
/tarjeta 5.png)
/robao 1.png)
/robao 2.png)
/robao 4.png)
/robao 3.png)
/cajero 1.png)
/cajero 2.png)