Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @echo off
- ::
- :: Script batch créé par Hugo afin de gérer les crédits et placements des autres joueurs.
- :: Banque Centrale Hugolandienne.
- ::
- :: #Quelques trucs techniques
- color 07
- if not exist backup\ md backup\
- set d=%~dp0
- cd /d %d%
- mode con cols=100 lines=50
- for /f "tokens=1,2,* delims=/" %%D in ("%date%") do set date2=%%D-%%E-%%F
- ::
- :menu
- set c=INDEF
- :: #Affichage du menu principal
- cls
- title Panel: Banque Centrale Hugolandienne
- echo.
- echo ^|BANQUE logiciel par Hugo^|
- echo.
- echo Avant toute chose, v‚rifiez que l'utilisateur existe dans la db, sinon faites "ca <pseudo>".
- echo Tapez ? pour l'aide.
- echo.
- echo.
- set/p c=%cd%\credits.db^>
- ::
- :: #Traitement de la commande
- for /f "tokens=1,2,3,4,5 delims= " %%D in ("%c%") do (
- set cmd=%%D
- set arg1=%%E
- set arg2=%%F
- set arg3=%%G
- set arg4=%%H
- )
- if /i %cmd%==INDEF goto menu
- if /i %cmd%==voir goto voir
- if /i %cmd%==cr goto credit
- if /i %cmd%==ca goto creerligne
- if /i %cmd%==re goto remboursement
- if /i %cmd%==cl goto clear
- if /i %cmd%==tx goto taux
- if /i %cmd%==? goto help
- if /i %cmd%==sortir exit
- pause
- goto menu
- ::
- exit
- :help
- echo.
- echo.
- echo.
- echo Liste des commandes:
- echo.
- echo - voir ^<pseudo^>
- echo Affiche des informations sur le compte en banque du joueur cible.
- echo.
- echo - cr ^<pseudo^> ^<montant^> ^<d‚lai^> ^<int‚rets^>
- echo Ajoute un cr‚dit au nom du joueur cible. V‚rifier que le compte existe.
- echo.
- echo - re ^<pseudo^> ^<montant^>
- echo Le joueur a rembours‚ le montant, ou le montant a ‚t‚ pr‚lev‚ de force.
- echo.
- echo - cl ^<pseudo^>
- echo Efface toutes les dettes du joueur cible, apres une audiance au tribunal par exemple.
- echo.
- echo - ca ^<pseudo^>
- echo Cr‚e une entr‚e vierge dans la db si le pseudo n'y est pas. Ne pas faire si il existe.
- echo C'est … faire avant de cr‚er un cr‚dit si le joueur n'a pas encore son entr‚e.
- echo.
- echo - tx ^<nombre^>
- echo Si un nombre est sp‚cifi‚, modifie le taux du placement, c'est … dire le %% que la banque
- echo verse chaque mois … tous les comptes de placements. Les placements d'argent sont g‚r‚s par le
- echo plugin Boseconomy IG, mais pas les int‚rets que verse la banque aux joueurs ayant plac‚ de
- echo l'argent. Ne pas sp‚cifier le "%%".
- echo Si rien n'est sp‚cifi‚, affiche le taux actuel.
- echo.
- echo - sortir
- echo Sortir du logiciel.
- echo.
- echo.
- pause
- goto menu
- :voir
- :: Trouve puis décortique la ligne correspondante au pseudo
- for /f "eol=# tokens=1,2,3,4,5 delims=:" %%S in ('type credits.db ^| find /i "%arg1%:"') do (
- if "%%T"=="" (
- echo Compte inexistant
- goto menu
- )
- cls
- echo.
- echo.
- echo %arg1% a %%T pieces … rembourser dans un d‚lai de %%U, avec un taux de %%V%% d'int‚rets chaque mois depuis le %%W.
- pause
- )
- ::
- goto menu
- :credit
- :: Création d'un nouveau crédit
- if "%arg4%"=="" goto menu
- cls
- echo.
- echo.
- echo Vous allez d‚finir un credit de %arg2% pieces … %arg1% avec un d‚lai de %arg3%.
- echo Le taux d'int‚rets sera de %arg4%%% par mois.
- echo Attention: ce sera rajout‚ aux autres cr‚dits, le d‚lai sera remplac‚!
- pause
- :: #Récupération du montant à rembourser
- for /f "eol=# tokens=1,2,3,4,5 delims=:" %%S in ('type credits.db ^| find /i "%arg1%:"') do (
- set anciencredit=%%T
- )
- ::
- :: #Définition du nouveau montant à rembourser
- set /a nouveaucredit=%anciencredit%+%arg2%
- ::
- :: #On réécrit les lignes des autres comptes afin de virer la ligne du joueur actuel
- for /f "eol=# tokens=1,2,3,4,5 delims=:" %%V in ('type credits.db') do (
- if /i not "%%V"=="%arg1%" (
- echo %%V:%%W:%%X:%%Y:%%Z>>out.temp
- )
- )
- ::
- :: #Puis on ajoute la ligne
- rem pseudo:montant:délai:intérêts:date
- echo %arg1%:%nouveaucredit%:%arg3%:%arg4%:%date2%>>out.temp
- ::
- :: #Backup de l'anciene db, puis renommage de la db actuelle
- del /q backup\credits.db
- move /Y credits.db backup\
- ren out.temp credits.db
- ::
- cls
- echo.
- echo.
- echo Le compte de l'utilisateur a ‚t‚ modifi‚ dans la database.
- :: #Puis on va à VOIR pour voir le montant actuel.
- goto voir
- :remboursement
- :: Quand le joueur a remboursé une partie de ses dettes, ou quand ça a été prélevé de force.
- if "%arg2%"=="" goto menu
- setlocal enabledelayedexpansion enableextensions
- for /f "eol=# tokens=1,2,3,4,5 delims=:" %%V in ('type credits.db') do (
- :: #On réécrit les lignes des autres comptes afin de virer la ligne du joueur actuel
- if /i not "%%V"=="%arg1%" (
- echo %%V:%%W:%%X:%%Y:%%Z>>out.temp
- )
- :: #Recherche de la ligne correspondante, puis calcul du nouveau montant à rembourser. Enfin, on écrit.
- if /i "%%V"=="%arg1%" (
- set actuel=%%W
- set /a diff=!actuel!-!arg2!
- echo %%V:!diff!:%%X:%%Y:%%Z>>out.temp
- )
- )
- :: #Backup de l'anciene db, puis renommage de la db actuelle
- del /q backup\credits.db
- move /Y credits.db backup\
- ren out.temp credits.db
- ::
- cls
- echo.
- echo.
- echo Le cr‚dit de %arg1% a bien ‚t‚ rembours‚ de %arg2%!
- pause
- :: #Puis on va à VOIR pour voir le montant actuel.
- goto voir
- :clear
- :: Pour remttre à 0 les crédits d'un joueur
- if "%arg1%"=="" goto menu
- echo %cmd% %arg1% %arg2% %arg3% %arg4%
- for /f "eol=# tokens=1,2,3,4,5 delims=:" %%V in (credits.db) do (
- :: #On réécrit les lignes des autres comptes afin de virer la ligne du joueur actuel
- if /i not "%%V"=="%arg1%" echo %%V:%%W:%%X:%%Y:%%Z>>out.temp
- :: #Recherche de la ligne correspondante, puis on écrit 0:0:0:null.
- if /i "%%V"=="%arg1%" echo %%V:0:0:0:null>>out.temp
- echo.
- )
- :: #Backup de l'anciene db, puis renommage de la db actuelle
- del /q backup\credits.db
- move /Y credits.db backup\
- ren out.temp credits.db
- ::
- cls
- echo.
- echo.
- echo Le cr‚dit de %arg1% a ‚t‚ remis … 0!
- pause
- goto menu
- :creerligne
- :: Afin d'ajouter un utilisateur à la DB, opération à faire avant toute chose.
- :: On vérifie si l'utiisateur n'y est pas déjà, et on l'ajoute.
- type credits.db | find /i "%arg1%" || echo %arg1%:0:0:0:null >>credits.db
- :: Traduction de cette syntaxe bizarre:
- :: Ouvrir credits.db et y chercher %arg1%. Si find ne renvoie rien, créer la ligne.
- :: | ||
- cls
- echo.
- echo.
- echo %arg1% ajout‚.
- pause
- goto menu
- :taux
- :: Affiche ou modifie le taux (%) que la banqe verse chaque mois aux joueurs ayant placé de l'argent à la banque.
- :: Les placements (sauf les intérêts) sont gérés par un plugin.
- :: Si un argument est spécifié...
- if not "%arg1%"=="" (
- :: ...alors on modifie...
- echo %arg1%^^%%>tauxplacement.txt
- cls
- echo.
- echo.
- echo Taux modifi‚ … %arg1%%%
- )
- :: ... sinon on affiche.
- if "%arg1%"=="" (
- set /p taux=<tauxplacement.txt
- cls
- echo.
- echo.
- echo La banque doit verser %taux% du placement de chaque joueur aux joueurs concern‚s.
- pause
- )
- goto menu
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement