beamng mod frage?
Hallo,
Kennt jemand eine mod das wenn man Sirenen an hat und man aussteigt man die Sirenen nicht mehr hört??
1 Antwort
Mit dem folgenden Lua-Code kannst du das erreichen. Den musst du in ein Level einfügen, damit es funktioniert. Für jedes Level/Map müsstest du den einzeln einfügen. Mehr dazu weiter unten.
Hier der Code:
-- extension, loaded by game engine
local M = {}
-- last vehicle
local lastVeh = be:getPlayerVehicle(0)
local isOutside = 0
local isInside = 1
-- called by game engine every GFX update
local function onUpdate()
-- get player vehicle
local veh = be:getPlayerVehicle(0)
if core_vehicle_manager.getPlayerVehicleData().mainPartName == "unicycle" then
-- if player is in unicycle, disable siren of last vehicle
if isInside == 1 then
lastVeh:queueLuaCommand('electrics.set_lightbar_signal(1)')
log("I","LightbarChanger","Siren disabled")
isOutside = 1
isInside = 0
end
else
-- if player is not in unicycle, enable siren of last vehicle (if player was outside) and save new vehicle
if isOutside == 1 then
lastVeh:queueLuaCommand('electrics.set_lightbar_signal(2)')
log("I","LightbarChanger","Siren enabled")
isOutside = 0
isInside = 1
end
lastVeh = veh
end
end
-- define public interface
M.onUpdate = onUpdate
return M
Wenn du aus einem Fahrzeug aussteigst, wird die Sirene ohne Ton eingeschaltet (nur Licht). Wenn du wieder in das Fahrzeug einsteigst, wird die Sirene mit Ton eingeschaltet. Es ist also nicht ganz perfekt, weil sich die Sirene anschaltet, obwohl sie vor dem Aussteigen aus war. Wenn du den zweiten queueLuaCommand() mit -- davor auskommentierst, wird der Ton nicht mehr automatisch eingeschaltet.
Um diese Funktion einer Map hinzuzufügen, musst du zuerst in den BeamNG-Benutzerordner (wo der mods-Ordner liegt). Dort erstellst du einen levels-Ordner, falls noch nicht vorhanden. In diesen Ordner machst du einen Ordner für das jeweilige Level, zb "italy" für Italien oder "west_coast_usa" für West Coast. Dort erstellst du eine neue lua-Datei mit dem Namen "mainLevel.lua". Die wird beim Betreten der Map automatisch vom Spiel geladen. In diese Datei kopierst du den Code.
Dabei ist zu beachten, dass manche Maps schon ein mainLevel.lua besitzen. Das wird dadurch überschrieben. Von den Vanilla Maps hat aber nur Small Island ein mainLevel.lua. Da müsstest du die bestehende Datei kopieren und den Code einfügen.
Bei Fragen dazu gerne melden.
Ich hoffe, ich konnte helfen :)
Auf Windows eine Textdatei erstellen. Die endet dann auf .txt, aber das kannst du einfach auf .lua ändern. Die Warnmeldung die kommt, kannst du ignorieren, weil die Datei sowieso noch nichts enthält. Dann kopierst du den Code da rein.
Wie es auf anderen Betriebssystemen geht, weiß ich nicht genau. Aber wahrscheinlich ähnlich.
Also wenn ich rechtsklick drücke kann ich keine Text Datei machen
wie macht man eine lua datei