Configuration
Tout est dans config.lua, livré en clair, avec les textes dans locales/ (français et anglais). Chaque table se règle aussi en jeu, par le staff ou par son propriétaire, et c'est gardé en base.
Les blocs de config.lua
| Bloc | Ce qu'il règle |
|---|---|
Config.Keys, Config.Command, Config.Permission |
Touches par défaut, commande /babyfoot, accès staff |
Config.Tables |
Objet, tables par joueur et sur le serveur, distance de pose, route, eau, pente, zones interdites |
Config.Match |
Buts et manches au choix, changement de côté, délais, relance d'une balle bloquée, revanche |
Config.Rules |
Règles de la maison par défaut et si les joueurs peuvent les changer |
Config.Npc, Config.Practice |
Ordinateur : niveau par défaut, réglages de Facile, Normal et Difficile, entraînement |
Config.Stakes, Config.Bets |
Comptes acceptés, plafonds, durée des paris, commission |
Config.Controls, Config.Camera, Config.Replay |
Sensibilité de départ, frappes, aide, contour de la barre en main, vues, ralenti des buts |
Config.Physics |
Roulement de la balle, rebonds, gamelles |
Config.Anims, Config.Sounds, Config.Ui, Config.Notify |
Animations, sons, thème sombre ou clair, taille, notifications |
Config.Discord |
Logs et webhook des données impossibles, vides par défaut |
Règles de la maison
Config.Rules = {
Lobby = true, -- les joueurs choisissent les règles avant chaque partie
Gamelle = 'minus', -- 'minus' (un point en moins), 'point' (compte comme un but) ou 'off'
NoRoulette = true, -- un but en faisant tourner la barre ne compte pas
NoMidfieldGoal = false,-- pissette : pas de but direct des demis
Engage = 'trap', -- balle par la trappe sur le côté, ou 'center'
}
Une table peut imposer ses propres règles depuis ses réglages en jeu : les joueurs ne peuvent plus les changer.
Mises et paris
Config.Stakes = { Enabled = true, Accounts = { 'money', 'black_money' }, Max = 5000 }
Config.Bets = { Enabled = true, Accounts = { 'money', 'black_money' }, Min = 10, Max = 2000, OpenSeconds = 60, Commission = 0 }
La mise est retirée à chaque joueur au début et bloquée jusqu'à la fin : le gagnant prend tout, un match arrêté rend tout. Les spectateurs parient pendant OpenSeconds (une minute par défaut), jusqu'au premier but ; les gagnants se partagent la cagnotte selon ce qu'ils ont misé.
Sensibilité des barres
Config.Controls = {
MouseSlide = 0.16, -- glissement
MouseSpin = 5.0, -- rotation (un geste rapide fait une frappe forte)
MaxSpin = 45.0, -- rotation la plus rapide, plafonne aussi la force des tirs
AssistDefault = true,
}
C'est le réglage de départ : chaque joueur ajuste le sien avec F7, gardé sur son PC.
Ralenti des buts
Config.Replay = { Enabled = true, Seconds = 1.5, Speed = 0.45 }
La balle suivante attend la fin du ralenti. Un joueur peut le couper dans ses réglages ou le passer d'un clic.
Réglages d'une table en jeu
Le staff (/babyfoot admin, « Réglages ») ou le propriétaire d'une table posée (viser la table, « Réglages de la table ») choisit : le nom affiché, les règles imposées, les mises et la mise max, les paris des spectateurs, la partie contre l'ordinateur. Un bar fixe ainsi ses règles maison.
Zones interdites
ForbiddenZones = {
{ label = 'Mission Row PD', coords = vector3(441.0, -982.0, 30.7), radius = 60.0 },
}
Les joueurs ne peuvent pas poser de table dans ces zones ; le staff, si.