Added tuning sync for headhlights and turbo, added siren silence (B key)

This commit is contained in:
hydrant
2018-12-09 14:05:26 +01:00
parent b205cbe93a
commit 92e344d79c
7 changed files with 112 additions and 9 deletions

26
Server/Events/Siren.cs Normal file
View File

@@ -0,0 +1,26 @@
using GTANetworkAPI;
using System;
using System.Collections.Generic;
using System.Text;
namespace reallife_gamemode.Server.Events
{
class Siren : Script
{
private Dictionary<NetHandle, bool> _sirenStates = new Dictionary<NetHandle, bool>();
[RemoteEvent("keyPress:B:toggleSiren")]
public void ToggleSirenEvent(Client player)
{
if (!player.IsInVehicle || player.VehicleSeat != -1) return;
Vehicle pV = player.Vehicle;
bool oldValue = _sirenStates.ContainsKey(pV.Handle) ? _sirenStates[pV.Handle] : false;
bool newValue = !oldValue;
_sirenStates[pV.Handle] = newValue;
pV.SetSharedData("sirenSound", newValue);
NAPI.ClientEvent.TriggerClientEventForAll("toggleVehicleSiren", pV, newValue);
}
}
}

View File

@@ -45,10 +45,18 @@ namespace reallife_gamemode.Server.Managers
Vehicle veh = VehicleManager.GetVehicleFromServerVehicle(sVeh);
if (veh == null) return;
using(var dbContext = new DatabaseContext())
veh.SetSharedData("mod18", false);
veh.SetSharedData("mod22", false);
using (var dbContext = new DatabaseContext())
{
foreach(VehicleMod vMod in dbContext.VehicleMods.ToList().FindAll(vM => vM.ServerVehicleId == sVeh.Id))
{
if(vMod.Slot == 18 || vMod.Slot == 22)
{
veh.SetSharedData("mod" + vMod.Slot, true);
}
veh.SetMod(vMod.Slot, vMod.ModId - 1);
}
}
@@ -72,8 +80,19 @@ namespace reallife_gamemode.Server.Managers
[RemoteEvent("setVehicleMod")]
public void SetVehicleMod(Client player, int slot, int index)
{
Vehicle pV = player.Vehicle;
if (index == 0) index--;
player.Vehicle.SetMod(slot, index - 1);
if(slot != 18 && slot != 22)
{
pV.SetMod(slot, index - 1);
}
else
{
bool newVal = index == -1 ? false : true;
pV.SetSharedData("mod" + slot, newVal);
NAPI.ClientEvent.TriggerClientEventForAll("vehicleToggleMod", pV, slot, newVal);
}
ServerVehicle sV = player.Vehicle.GetServerVehicle();
if (sV == null) return;

View File

@@ -11,7 +11,8 @@ namespace reallife_gamemode.Server.Managers
{
private static readonly List<string> _enabledMods = new List<string>()
{
"polamggtr"
"polamggtr",
"g65amg"
};
private static Dictionary<int, NetHandle> _serverVehicles = new Dictionary<int, NetHandle>();