Utilisation — foltone_banking
Fonctionnement general
Foltone Banking est un script bancaire complet pour FiveM avec une interface NUI moderne (design “Street / GTA - Blue Edition”). Il propose des comptes personnels, societe, joints, un systeme d’epargne, du trading crypto, un score de credit, des niveaux de compte et une taxation progressive.
Acces a l’interface
L’interface bancaire est accessible de trois manieres :
| Point d’acces | Description | Fonctionnalites |
|---|---|---|
| PED Banquier | PED present dans chaque banque configuree | Toutes les fonctionnalites (perso, societe, joint, epargne, crypto) |
| ATM | Distributeur automatique sur la map | Fonctionnalites de base (depot, retrait, virement, historique) |
| PED Societe | PED comptable sur le lieu de travail | Acces direct au compte societe du job |
Le mode d’interaction depend de la configuration (Config.InteractionType) :
- marker / drawtext : Approchez-vous et appuyez sur E
- ox_target / qb-target / qtarget : Visez le PED/ATM avec le curseur 3D
Tableau de bord
Le tableau de bord est la page d’accueil de l’interface bancaire. Il affiche :
- Solde actuel du compte personnel
- Numero IBAN unique du compte
- Courbe d’evolution du solde dans le temps
- Score de credit avec barre de progression (0-1000)
- Niveau du compte (Standard ou Premium) avec badge
- Bouton d’upgrade vers Premium (si eligible)
Depot et retrait
- Entrez le montant souhaite
- Un apercu de la taxe s’affiche en temps reel sous le champ de saisie
- Confirmez l’operation
- Le solde et le score de credit sont mis a jour automatiquement
La taxe est calculee selon les tranches progressives configurees. Les comptes Premium beneficient d’une reduction de 25%.
Virements
La page Virements permet d’envoyer de l’argent a un autre joueur.
Mode ID serveur
- Selectionnez le mode ID Serveur
- Entrez l’ID du joueur destinataire (visible en jeu)
- Entrez le montant
- L’apercu de la taxe s’affiche
- Confirmez le virement
Mode IBAN
- Selectionnez le mode IBAN
- Entrez le numero IBAN du destinataire
- Le systeme resout l’IBAN et affiche le nom du titulaire (comptes personnels et joints)
- Entrez le montant
- Confirmez le virement
Les virements par IBAN fonctionnent meme si le destinataire est hors ligne (si
offlineTransferest active). Les virements vers des IBAN de comptes joints sont egalement supportes.
Historique des transactions
La page Historique affiche toutes les operations du compte personnel avec pagination.
Filtres disponibles
| Filtre | Transactions affichees |
|---|---|
| Tout | Toutes les transactions |
| Depots | Depots uniquement |
| Retraits | Retraits uniquement |
| Virements | Virements entrants et sortants |
| Interets | Interets credites |
| Taxes | Taxes prelevees |
Chaque transaction affiche un badge indiquant son type (depot, retrait, virement, interet, taxe, upgrade).
Carte bancaire
La page Carte affiche les informations de votre carte bancaire :
- Numero de carte unique
- Code PIN actuel
Actions disponibles
| Action | Description | Cout |
|---|---|---|
| Changer le PIN | Modifier le code PIN de la carte | Configurable (pinChangePrice) |
| Bloquer / Debloquer | Activer ou desactiver la carte | Gratuit |
| Reediter | Obtenir une nouvelle carte (nouveau numero) | Configurable (reissuePrice) |
Comptes societe
Les comptes societe sont accessibles aux joueurs ayant le grade requis (boss, manager, ou grades configures par job).
Acces
- Depuis une banque ou un ATM : onglet Societe dans la sidebar (visible uniquement si le joueur a les permissions)
- Depuis le PED societe : acces direct si un PED est configure sur le lieu de travail
Pages societe
Dashboard societe
- Solde de la caisse societe
- Depot depuis l’argent personnel vers la caisse
- Retrait de la caisse vers l’argent personnel
Virements societe
Virement externe depuis la caisse societe vers un compte personnel :
- Entrez l’ID serveur ou l’IBAN du destinataire
- Entrez le montant
- Confirmez le virement
Les operations societe sont exemptees de taxation.
Payroll (Paie)
Payer un employe directement depuis la caisse societe :
- Entrez l’ID serveur de l’employe
- Entrez le montant
- Confirmez le paiement
Le salaire est credite sur le compte bancaire de l’employe. L’employe recoit une notification telephone (si configuree).
Historique societe
Historique complet des operations societe avec :
- Nom et grade de l’employe ayant effectue l’operation
- Type d’operation (depot, retrait, virement, payroll)
- Montant et date
Comptes joints
Les comptes joints permettent a plusieurs joueurs de partager un compte bancaire commun.
Important : Les comptes joints sont accessibles uniquement en banque (pas depuis les ATM).
Creer un compte joint
- Accedez a la section Compte joint dans la sidebar
- Cliquez sur Creer un compte joint
- Un nouveau compte est cree avec un IBAN unique
- Vous en etes automatiquement le premier membre
Ajouter un membre
- Selectionnez le compte joint
- Entrez l’ID serveur du joueur a ajouter
- Confirmez l’ajout
Le nombre maximum de membres et de comptes par joueur est configurable.
Operations sur un compte joint
| Operation | Description |
|---|---|
| Depot | Transferer de l’argent personnel vers le compte joint |
| Retrait | Retirer de l’argent du compte joint vers son compte personnel |
| Virement | Envoyer de l’argent du compte joint vers un IBAN externe |
Quitter un compte joint
- Selectionnez le compte joint
- Cliquez sur Quitter
- Confirmez la sortie
Les comptes joints ne sont pas soumis a la taxation, aux interets ni au score de credit. Le serveur valide le membership a chaque operation (anti-triche).
Epargne classique
L’epargne classique est un compte a part du compte courant, avec un taux d’interet plus eleve.
Accessible uniquement en banque.
Depot sur l’epargne
- Accedez a la page Epargne dans la sidebar
- Entrez le montant a placer
- Confirmez le depot
Retrait de l’epargne
- Entrez le montant a retirer
- Confirmez le retrait
Le nombre de retraits est limite par jour (configurable via
maxWithdrawalsPerDay).
Interets de l’epargne
Les interets sont calcules automatiquement par un cron serveur a intervalle regulier. Ils ne sont credites qu’aux joueurs connectes.
- Taux : configurable (
interestRate) - Plafond : configurable (
interestCap)
Placements a terme
Les placements a terme permettent de bloquer une somme pour une duree fixe en echange d’un taux d’interet garanti.
Effectuer un placement
- Sur la page Epargne, choisissez une duree parmi les options proposees (3, 7, 14 ou 30 jours)
- Entrez le montant a placer (minimum configurable)
- Confirmez le placement
Suivi du placement
- Une barre de progression indique l’avancement du placement
- La date de deblocage est affichee
Recuperer le placement
Une fois la duree ecoulee :
- Le bouton Recuperer devient actif
- Cliquez pour recuperer le capital + les interets
- Le montant est credite sur votre compte d’epargne
Les placements utilisent un timestamp absolu (
unlocks_at), ils survivent aux redemarrages du serveur.
Trading crypto
Le systeme de trading crypto permet d’acheter et vendre des cryptomonnaies avec des prix en temps reel.
Accessible uniquement en banque.
Marche
La page Marche affiche les cryptomonnaies disponibles avec :
- Prix actuel mis a jour en temps reel (depuis Binance, CoinCap ou CoinPaprika)
- Variation du prix
Acheter
- Selectionnez une cryptomonnaie
- Entrez le montant en $ a investir (minimum configurable)
- Confirmez l’achat
- La quantite de crypto correspondante est creditee dans votre portefeuille
Portefeuille
La page Portefeuille affiche vos positions :
- Quantite detenue par cryptomonnaie
- Prix moyen d’achat
- P&L (Profit & Loss) en $ et en % pour chaque position
- P&L total du portefeuille
Vendre
- Selectionnez une cryptomonnaie dans votre portefeuille
- Entrez la quantite a vendre
- Ou cliquez sur Tout vendre pour vendre la totalite
- Confirmez la vente
- Le montant en $ est credite sur votre compte bancaire
Historique des trades
La page Historique Trades affiche toutes vos operations crypto avec pagination et filtres (achat/vente).
Les trades crypto sont exempts de taxation. Le systeme anti-double-spend verifie le solde en base avant chaque operation.
Systeme de score de credit
Le score de credit est un indicateur numerique (0-1000) qui reflete le comportement bancaire du joueur.
Actions qui modifient le score
| Action | Points |
|---|---|
| Depot | +2 |
| Retrait | -1 |
| Virement envoye | +1 |
| Virement recu | +1 |
| Upgrade de compte | +5 |
Le score influence :
- Le taux d’interet effectif sur le compte courant
- L’eligibilite a l’upgrade Premium (score minimum requis)
Niveaux de compte
Standard
Le niveau par defaut pour tous les nouveaux comptes.
Premium
Niveau superieur offrant des avantages :
| Avantage | Standard | Premium |
|---|---|---|
| Taux d’interet | 0.5% | 1.5% |
| Plafond d’interets | $5 000 | $20 000 |
| Limite de virement | $50 000 | $200 000 |
| Reduction taxes | 0% | 25% |
Conditions d’upgrade
- Score de credit minimum : 700 (configurable)
- Cout de l’upgrade : $50 000 (configurable)
L’upgrade s’effectue depuis le tableau de bord, via le bouton prevu a cet effet.
Taxation progressive
La taxation fonctionne par tranches sur les depots, retraits et virements personnels.
Exemple avec la configuration par defaut (depot)
| Tranche | Taux |
|---|---|
| $0 - $10 000 | 0% (pas de taxe) |
| $10 000 - $50 000 | 2% |
| $50 000+ | 5% |
Seule la portion du montant dans chaque tranche est taxee au taux correspondant.
Exemptions
Les operations suivantes sont exemptees de taxation :
- Operations societe (depot, retrait, virement, payroll)
- Operations sur comptes joints
- Operations d’epargne
- Trades crypto
Reduction Premium
Les comptes Premium beneficient d’une reduction de 25% sur le montant total de la taxe.
Interets
Les interets sont calcules automatiquement par un cron serveur a intervalle configurable (par defaut toutes les 60 minutes).
Caracteristiques
- Online-only : seuls les joueurs connectes recoivent des interets
- Module par le score de credit : un score plus eleve ameliore le taux effectif
- Plafond par niveau : le montant d’interets est limite par periode (24h par defaut)
- Cron separe pour l’epargne : les interets du compte epargne sont calcules independamment
Notifications telephone
Si un script telephone est configure, certaines operations declenchent une notification in-game :
| Evenement | Description |
|---|---|
transfer_received | Vous recevez un virement sur votre compte |
society_payroll_received | Vous recevez un salaire depuis la caisse societe |
interest_credited | Des interets sont credites sur votre compte |
joint_deposit | Un membre effectue un depot sur un compte joint partage |
joint_withdraw | Un membre effectue un retrait sur un compte joint partage |
joint_transfer | Un virement est effectue depuis/vers un compte joint partage |
joint_member_added | Un nouveau membre rejoint un compte joint |
joint_member_left | Un membre quitte un compte joint |
Les notifications telephone ne sont envoyees qu’aux joueurs connectes.
Webhook Discord
Toutes les operations bancaires sont loguees vers un webhook Discord lorsque cette fonctionnalite est activee :
- Depots et retraits (personnels, societe, joint, epargne)
- Virements (personnels, societe, joint)
- Payroll societe
- Trades crypto (achat et vente)
- Interets credites
- Taxes prelevees
- Upgrades de compte
- Creations et modifications de comptes joints
- Placements a terme et reclamations
Les webhooks sont envoyes en mode fire-and-forget via
PerformHttpRequestet n’impactent pas les performances du serveur.
Events disponibles
Callbacks serveur
-- Recuperer les donnees du compte personnel
TriggerServerFoltoneBKCallback("foltone_banking:getAccountData", function(data)
-- data.balance, data.iban, data.credit_score, data.account_level, etc.
end)
-- Recuperer l'historique des transactions
TriggerServerFoltoneBKCallback("foltone_banking:getHistory", function(data)
-- data.transactions, data.total, data.page
end, page, filter)
-- Resoudre un IBAN (perso + joint)
TriggerServerFoltoneBKCallback("foltone_banking:resolveIBAN", function(data)
-- data.name, data.type ("personal" ou "joint")
end, iban)
-- Recuperer les donnees societe
TriggerServerFoltoneBKCallback("foltone_banking:getSocietyData", function(data)
-- data.balance
end)
-- Recuperer les comptes joints
TriggerServerFoltoneBKCallback("foltone_banking:getJointAccounts", function(data)
-- data.accounts (tableau)
end)
-- Recuperer les donnees d'epargne
TriggerServerFoltoneBKCallback("foltone_banking:getSavingsData", function(data)
-- data.balance, data.locks
end)
-- Recuperer les donnees crypto
TriggerServerFoltoneBKCallback("foltone_banking:getCryptoData", function(data)
-- data.holdings, data.prices
end)
Events serveur
-- Operations personnelles
TriggerServerEvent("foltone_banking:deposit", amount)
TriggerServerEvent("foltone_banking:withdraw", amount)
TriggerServerEvent("foltone_banking:transfer", targetId, amount, mode)
TriggerServerEvent("foltone_banking:changePin", newPin)
TriggerServerEvent("foltone_banking:toggleCardBlock")
TriggerServerEvent("foltone_banking:reissueCard")
TriggerServerEvent("foltone_banking:upgradeAccount")
-- Operations societe
TriggerServerEvent("foltone_banking:societyDeposit", amount)
TriggerServerEvent("foltone_banking:societyWithdraw", amount)
TriggerServerEvent("foltone_banking:societyTransfer", targetId, amount, mode)
TriggerServerEvent("foltone_banking:societyPayroll", targetId, amount)
-- Operations compte joint
TriggerServerEvent("foltone_banking:createJointAccount")
TriggerServerEvent("foltone_banking:addJointMember", jointAccountId, targetId)
TriggerServerEvent("foltone_banking:leaveJointAccount", jointAccountId)
TriggerServerEvent("foltone_banking:jointDeposit", jointAccountId, amount)
TriggerServerEvent("foltone_banking:jointWithdraw", jointAccountId, amount)
TriggerServerEvent("foltone_banking:jointTransfer", jointAccountId, targetIBAN, amount)
-- Operations epargne
TriggerServerEvent("foltone_banking:savingsDeposit", amount)
TriggerServerEvent("foltone_banking:savingsWithdraw", amount)
TriggerServerEvent("foltone_banking:savingsLock", amount, lockIndex)
TriggerServerEvent("foltone_banking:savingsClaim", lockId)
-- Operations crypto
TriggerServerEvent("foltone_banking:cryptoBuy", cryptoId, amount)
TriggerServerEvent("foltone_banking:cryptoSell", cryptoId, quantity)