-- Von Client und Server benutzt. Muss in fxmanifest unter files{} stehen, -- damit lib.require die Datei auf beiden Seiten laden kann. local config = { --- Tauchflaschen. --- --- capacity = Laufzeit in Sekunden bei normalem Verbrauch. --- pressure = Fülldruck in bar. Reine Anzeige: der angezeigte Druck ist --- pressure * (Restluft / capacity). Bei konstantem Volumen ist der --- Druck proportional zur verbliebenen Gasmenge, das passt also. --- Dass alle Flaschen denselben Fülldruck haben ist gewollt - in echt --- macht das Volumen die Laufzeit, nicht der Druck. --- maxDepth = Tiefe in Metern, bis zu der das Atemgas verträglich ist. --- Darunter setzt Tiefenrausch ein (siehe narcosis in config/client.lua). --- Der Grund ist real der Stickstoff in der Pressluft: tiefer wirkt er --- narkotisch, und ab ~56 m wird auch der Sauerstoff giftig. Wer tiefer --- will, atmet Trimix - dort ersetzt Helium einen Teil des Stickstoffs. --- gas = Nur fürs Auswahlmenü, damit man die Flaschen unterscheiden kann. --- --- Reihenfolge = Reihenfolge im Auswahlmenü. tanks = { { name = 'diving_tank_small', capacity = 300, pressure = 300, maxDepth = 45.0, gas = 'Pressluft' }, -- 5 Minuten { name = 'diving_tank_medium', capacity = 600, pressure = 300, maxDepth = 45.0, gas = 'Pressluft' }, -- 10 Minuten { name = 'diving_tank_large', capacity = 900, pressure = 300, maxDepth = 45.0, gas = 'Pressluft' }, -- 15 Minuten { name = 'diving_tank_xl', capacity = 1200, pressure = 300, maxDepth = 45.0, gas = 'Pressluft' }, -- 20 Minuten { name = 'diving_tank_trimix', capacity = 900, pressure = 300, maxDepth = 100.0, gas = 'Trimix' }, -- 15 Minuten, tieftauglich }, --- Item, das die Ausrüstung an- und auszieht, und das Füll-Item. Stehen hier, --- weil sowohl der Useable-Item-Handler als auch die Besitzprüfung sie brauchen. gearItem = 'diving_gear', fillItem = 'diving_fill', --- Flaschen ohne Metadata als voll behandeln. Betrifft alles, was frisch aus --- einem Shop, per AddItem oder aus einem Admin-Befehl kommt - da ist noch kein --- oxygen gesetzt. Auf false muss jede neue Flasche erst mit einer Kartusche --- befüllt werden, bevor man damit tauchen kann. newTanksFull = true, --- Wie oft der Client die Restluft an den Server meldet (Sekunden). --- Bei einem Crash gehen maximal so viele Sekunden Luft verloren. syncIntervalSeconds = 15, --- Obergrenze für die serverseitige Plausibilitätsprüfung: so viele Sekunden --- Luft kann ein Spieler höchstens pro echter Sekunde verbrauchen. Muss über --- maxDecayFactor aus config/client.lua liegen, sonst wird ehrlichen Spielern --- in großer Tiefe fälschlich Luft zurückgegeben. maxDrainPerSecond = 5.0, } config.tankByName = {} config.tankNames = {} for i = 1, #config.tanks do local tank = config.tanks[i] config.tankByName[tank.name] = tank config.tankNames[i] = tank.name end return config