Add ItemShop, fix ClotheShop Payment, fix Vehicle Respawn, Add Vehicle Lock from outside

This commit is contained in:
Siga
2020-02-03 18:13:10 +01:00
parent be6ef1cf1c
commit 154b0ca0fe
42 changed files with 1920 additions and 50 deletions

View File

@@ -65,7 +65,7 @@ namespace ReallifeGamemode.Server.Events
}
[RemoteEvent("VehicleMenu_LockCar")]
public void VehicleMenuLockCarEvent(Client player)
public static void VehicleMenuLockCarEvent(Client player)
{
if (player.IsInVehicle && player.VehicleSeat == -1)
{
@@ -98,13 +98,80 @@ namespace ReallifeGamemode.Server.Events
return;
}
}
else if(sV is JobVehicle)
{
return;
}
else if (sV is SchoolVehicle)
{
return;
}
}
state = !state;
VehicleStreaming.SetLockStatus(v, state);
string msg = "Fahrzeug ";
msg += state ? "~g~abgeschlossen" : "~r~aufgeschlossen";
player.TriggerEvent("vehsync:OpenCar", state);
player.SendNotification(msg);
}
else if (!player.IsInVehicle)
{
GTANetworkAPI.Vehicle vehicle = null;
foreach(var veh in NAPI.Pools.GetAllVehicles())
{
if (player.Position.DistanceTo(veh.Position) <= 3f)
{
vehicle = veh;
break;
}
}
if (vehicle == null)
return;
User u = player.GetUser();
if (u == null) return;
bool state = VehicleStreaming.GetLockState(vehicle);
ServerVehicle sV = vehicle.GetServerVehicle();
if (sV != null)
{
if (sV is ShopVehicle)
{
VehicleStreaming.SetEngineState(vehicle, false);
return;
}
else if (sV is FactionVehicle fV)
{
if (fV.FactionId != u.FactionId)
{
return;
}
}
else if (sV is UserVehicle uV)
{
if (uV.UserId != u.Id)
{
return;
}
}
else if (sV is JobVehicle)
{
return;
}
else if (sV is SchoolVehicle)
{
return;
}
}
state = !state;
VehicleStreaming.SetLockStatus(vehicle, state);
string msg = "Fahrzeug ";
msg += state ? "~g~abgeschlossen" : "~r~aufgeschlossen";
player.TriggerEvent("vehsync:OpenCar", state);
player.SendNotification(msg);
}
}
[RemoteEvent("CLIENT:VehicleMenu_ParkCar")]
@@ -147,6 +214,16 @@ namespace ReallifeGamemode.Server.Events
return;
}
}
else if (sV is JobVehicle)
{
player.SendNotification("~r~Du darfst dieses Fahrzeug nicht parken.");
return;
}
else if (sV is SchoolVehicle)
{
player.SendNotification("~r~Du darfst dieses Fahrzeug nicht parken.");
return;
}
Vector3 pos = v.Position;
@@ -199,10 +276,6 @@ namespace ReallifeGamemode.Server.Events
}
}
[ServerEvent(Event.VehicleDeath)]
public void VehicleDeathEvent(GTANetworkAPI.Vehicle veh)
{
}
}
}