Aller au contenu

Personnalisation

Tout ce qui est prĂ©vu pour ĂȘtre modifiĂ© se trouve dans quatre dossiers ouverts : config/, locales/, bridge/ et items/. Le reste du code Lua est sous escrow.


FichierCe qu’il contrîleOuvert ?
config/config.luaLangue, systùme d’interaction, notifications, livraisons, minage hors ligne, PNJ revendeur et son blipOui
config/warehouses.luaLes trois entrepĂŽts : prix, emplacements de rigs, image, point d’arrivĂ©e, point de livraison ; paramĂštres de sortie et blip d’entrepĂŽt possĂ©dĂ©Oui
config/shop.luaChaque composant de la boutique du portable : prix, watts, hashrate, catégorieOui
config/cryptos.luaLes cryptomonnaies : nom, prix de base, volatilité, difficulté, couleur, icÎneOui
config/webhook.luaLes deux webhooks Discord. Chargé uniquement cÎté serveurOui
locales/*.luaTous les textes, en jeu et sur l’ordinateur portableOui
bridge/bridge_client.luaNotifications, textes d’aide, callbacks et wrapper pour ox_target / qb-target / drawtextOui
bridge/bridge_server.luaJoueurs, argent, noms et items via fmLibOui
items/DĂ©finitions d’items pour ox, qb et ESX, et icĂŽnes des itemsOui
html/La boutique du revendeur et l’écran du portable, plus les images d’entrepĂŽt dans html/img/Oui, sans escrow
mic_crypto_props/ModÚles 3D streamés et prévisualisations 3D affichées sur le portableAssets uniquement

OptionCe qu’elle faitValeur par dĂ©faut
Config.LocaleFichier de langue utilisé dans locales/'en'
Config.Interactionox_target, qb-target ou drawtext (invite Appuyez sur E)'ox_target'
Config.CustomLaptopNotificacionstrue : messages de boutique et d’échange sous forme de toasts sur l’écran du portable. false : notifications normales de votre frameworktrue
Config.ReceiveProductsDirectlyToInventorytrue : composants achetĂ©s sur le portable envoyĂ©s directement dans l’inventaire. false : un colis est dĂ©posĂ© dans l’entrepĂŽt Ă  ramasserfalse
Config.OfflineMiningDétermine si les rigs minent pendant que le propriétaire est déconnectétrue
Config.OfflineRateVitesse du minage hors ligne. 1.0 correspond à la vitesse maximale, 0.5 à la moitié1.0

Le nom de l’option CustomLaptopNotificacions est orthographiĂ© ainsi dans le fichier — conservez cette orthographe.

OptionCe qu’elle faitValeur par dĂ©faut
Config.NPC.modelModĂšle de ped du revendeurs_m_y_ammucity_01
Config.NPC.coordsPosition du revendeur, avec directionPrĂšs du port
Config.NPC.scenarioActivité du revendeurWORLD_HUMAN_CLIPBOARD
Config.NPC.interactDistanceDistance d’interaction requise2.5
Config.Blip.enableAffiche le revendeur sur la cartetrue
Config.Blip.sprite / color / scaleApparence du blip478 / 5 / 0.8
Config.Blip.nameLibellé du blipCrypto Warehouse Shop

EntrepĂŽtidPrixEmplacements de rigs (rigSlots)
Petitwarehouse_small50 0008
Moyenwarehouse_medium150 00021
Grandwarehouse_large350 00037

Chaque entrepĂŽt dispose des champs suivants :

ChampRĂŽle
idNom interne. Conservez les trois identifiants tels quels
name, descriptionTextes de boutique, provenant du fichier de langue
priceCoĂ»t, payable en liquide ou banque au choix de l’acheteur
rigSlotsNombre affiché dans la boutique
imageImage dans la boutique, issue de html/img/
security, powerLabels affichés dans la boutique
viewCoordsOĂč le bouton View envoie l’acheteur pour visiter
insideCoordsPoint d’arrivĂ©e dans l’entrepĂŽt ; la sortie est ici aussi
packageCoordsEmplacement oĂč apparaĂźt le colis livrĂ©

Au-dessus de la liste :

OptionCe qu’elle faitValeur par dĂ©faut
Config.ExitCoordsPoint de sortie commun Ă  tous les entrepĂŽtsÀ cĂŽtĂ© du revendeur
Config.WarehouseBlipsSprite, couleur et taille du blip pour les entrepÎts possédés478, vert, 0.7

Config.Shop.Categories définit les quatre onglets de la boutique du portable (GPU, PSU, ventilateurs, racks). Config.Shop.Items liste les piÚces. Les achats sur le portable sont toujours réglés par banque.

ChampRĂŽle
idNom de l’item. Doit correspondre à un item de votre inventaire et à un modùle dans mic_crypto_props
categorygpus, psus, fans ou racks
label, descriptionTextes de la boutique, issus du fichier de langue
pricePrix
imageNom du fichier d’icîne
wattsPour GPU et ventilateurs : ce qu’il consomme. Pour PSU : ce qu’il fournit
hashrateGPU uniquement : GH/s par carte
temperature, coolingChaleur par GPU et refroidissement par ventilateur, servant Ă  l’équilibrage en haut du fichier. Cette version ne les applique pas en jeu — seule la puissance est contrĂŽlĂ©e

Prix par défaut :

PiĂšcePrixPiĂšcePrix
Badger Comm-100450PostOP 500W150
Wiwang PC-G900Whiz Wireless 850W350
eCola OC Edition1 600Merryweather 1600W800
iFruit Pro Max2 800Darrell Brother Fan45
Sprunk Xtreme4 500FlyUS Aero Fan120
Standard 5-Slot Rig1 200Atomic Vortex 120mm250

Le bloc de commentaires en haut de config/shop.lua dĂ©taille quelles alimentations et quels ventilateurs sont nĂ©cessaires pour chaque gamme de GPU sur un rig complet. Lisez-le avant de modifier les valeurs de watts — c’est le moyen le plus simple de conserver toutes les configurations rĂ©alisables.

VĂ©rification de la puissance. Lors de l’installation d’un GPU ou d’un ventilateur, la consommation totale du rig (l’ensemble des GPU et ventilateurs) plus le nouveau composant doit rester infĂ©rieure ou Ă©gale Ă  la capacitĂ© totale de ses alimentations. Si ce n’est pas le cas, l’installation est refusĂ©e avec un message puissance insuffisante.


Quatre monnaies sont fournies d’origine. Ajoutez ou retirez des entrĂ©es librement ; toute nouvelle cryptomonnaie est automatiquement créée dans la table du marchĂ© au redĂ©marrage suivant.

MonnaieNomPrix de baserangedifficulty
MWXMerryweather Crypto850,50101.0
FLKFleeca Token45,2050.5
PEGPegassi Coin12 500,00255.0
LIFELifeInvader Chain120,75150.8
ChampCe qu’il fait
labelNom affiché sur le portable, issu du fichier de langue
shortSymbole boursier (ticker)
basePricePrix pivot autour duquel la valeur oscille
rangeAmplitude maximale de variation, en pourcentage
difficultyPlus elle est élevée, plus le minage est lent
color, iconCouleur et icĂŽne Font Awesome sur le portable

Évolution du marchĂ©. Toutes les 15 minutes, chaque monnaie reçoit un nouveau cours : son basePrice ajustĂ© Ă  la hausse ou Ă  la baisse d’une valeur alĂ©atoire comprise dans le pourcentage dĂ©fini par range. Le prix est sauvegardĂ© et persiste aprĂšs redĂ©marrage.

RĂ©munĂ©ration du minage. Les propriĂ©taires rĂ©partissent le hashrate de leur entrepĂŽt entre les monnaies Ă  l’aide des curseurs du portable. Chaque minute, chaque crypto gĂ©nĂšre GH/s allouĂ©s × 0,01 Ă· difficultĂ©. Une carte Badger (0,10 GH/s) sur MWX produit 0,001 MWX par minute. Le hashrate non allouĂ© Ă  une monnaie ne rapporte rien.

Transactions. L’achat d’une monnaie dĂ©bite le compte bancaire du joueur installĂ© devant le portable ; la vente crĂ©dite ce mĂȘme compte. Les soldes appartiennent Ă  l’entrepĂŽt, ainsi toute personne avec qui vous le partagez peut trader avec ces fonds.


OptionÉvĂ©nement consignĂ©
Config.WebhookBuyChaque achat de crypto sur l’exchange
Config.WebhookSellChaque vente de crypto sur l’exchange

Chaque message contient le nom du personnage, ses identifiants license, steam et discord (celui de Discord sous forme de mention), la monnaie, la quantitĂ© et le montant total. Laissez l’URL vide pour dĂ©sactiver le log. Le texte du message est configurĂ© dans le fichier de langue (webhook_buy, webhook_sell).

Ce fichier est chargé uniquement sur le serveur, les URL ne sont donc jamais transmises aux joueurs.


Onze langues sont incluses dans locales/ : en, es, fr, de, it, pt, nl, ar, ja, ko, ru. Définissez le code dans Config.Locale.

Pour en ajouter une, copiez locales/en.lua vers un nouveau fichier portant le code voulu, modifiez la ligne Locales['en'] avec votre code, traduisez la partie droite de chaque ligne, puis indiquez ce code dans Config.Locale. L’ordinateur portable et la boutique du revendeur lisent le mĂȘme fichier.

Une clĂ© manquante dans votre fichier affichera Translation [xx][key] does not exist — il n’y a aucun recours automatique vers l’anglais, conservez donc toutes les clĂ©s de en.lua.

Quelques invites sont codĂ©es en dur en anglais dans le code sous escrow (le texte d’aide Press E to place Rig / install GPU et le label Collect Package) et ne proviennent pas du fichier de langue.


Le dossier bridge/ est ouvert afin que vous puissiez adapter le script aux besoins de votre serveur.

FichierCe qu’il gùre
bridge/bridge_client.luaDĂ©tection du framework, Bridge.Notify, Bridge.ShowHelpNotification, callbacks, et chaque interaction : cibles d’entitĂ©, zone et modĂšle pour ox_target, qb-target, ou la boucle drawtext native
bridge/bridge_server.luaDétection du framework, joueurs, liquide et banque, noms de personnages et AddItem / HasItem / RemoveItem / RegisterUsableItem via fmLib

Autre ressource de notifications : modifiez Bridge.Notify dans les deux fichiers.

Autre systĂšme de target : les trois fonctions Add
Interaction et leurs contreparties Remove
 dans bridge_client.lua sont les seuls endroits oĂč le target est manipulĂ©.

Autre framework : le bloc de dĂ©tection en haut de chaque fichier et les fonctions d’argent, de joueur et de nom constituent l’essentiel. Les items ne dĂ©pendent pas du framework — ils passent par fmLib.

Comptes financiers. Les entrepĂŽts sont payĂ©s en cash ou bank (au choix de l’acheteur) ; les achats et transactions sur le portable utilisent bank. Sur ESX, cash correspond Ă  l’argent liquide du joueur et bank Ă  son compte bancaire.