vagos in wt

This commit is contained in:
hydrant
2021-04-19 01:18:36 +02:00
parent ce20ca20d8
commit 60e97695b5
8 changed files with 37 additions and 31 deletions

View File

@@ -37,7 +37,7 @@ namespace ReallifeGamemode.Server.Events
User u = client.GetUser();
if (u.FactionId != null
&& veh.GetOwners().Contains(u.FactionId.Value)
&& (veh.Model == VehicleHash.Burrito3 || veh.Model == VehicleHash.Policet)
&& (veh.Model == WeaponDealManager.WEAPON_DEAL_GANG_VEHICLE_HASH || veh.Model == WeaponDealManager.WEAPON_DEAL_STAATSFRAK_VEHICLE_HASH)
&& vehicle.HasData("weaponDeal")
&& vehicle.GetData<bool>("weaponDeal") == true
&& (!vehicle.HasData("WeaponDealLoad") || vehicle.GetData<bool>("WeaponDealLoad") == false))
@@ -47,7 +47,7 @@ namespace ReallifeGamemode.Server.Events
CheckPointHandle.StartCheckPointRoute(client, dealPoint, 5000, 1, 7, 3, true, "loadWeaponTransport");
}
else if ((u.FactionId != null)
&& ((VehicleHash)vehicle.Model == VehicleHash.Burrito3 || (VehicleHash)vehicle.Model == VehicleHash.Policet)
&& (veh.Model == WeaponDealManager.WEAPON_DEAL_GANG_VEHICLE_HASH || veh.Model == WeaponDealManager.WEAPON_DEAL_STAATSFRAK_VEHICLE_HASH)
&& vehicle.HasData("WeaponDealLoad")
&& vehicle.GetData<bool>("WeaponDealLoad") == true)
{

View File

@@ -31,7 +31,7 @@ namespace ReallifeGamemode.Server.Events
{
if (!veh.GetOwners().Contains(player.GetUser().FactionId ?? 0) && !(u.IsAdmin(AdminLevel.HEADADMIN) && player.IsAdminDuty()) && !JobBase.GetPlayerInJob().Contains(player))
{
if ((VehicleHash)vehicle.Model == VehicleHash.Burrito3)
if ((VehicleHash)vehicle.Model == WeaponDealManager.WEAPON_DEAL_GANG_VEHICLE_HASH)
{
if (WeaponDealManager.checkWeaponDbyVehicle(vehicle))
return;

View File

@@ -8,6 +8,7 @@ using ReallifeGamemode.Server.Extensions;
using ReallifeGamemode.Server.Managers;
using ReallifeGamemode.Server.Services;
using ReallifeGamemode.Server.Util;
using ReallifeGamemode.Server.WeaponDeal;
namespace ReallifeGamemode.Server.Events
{
@@ -27,7 +28,7 @@ namespace ReallifeGamemode.Server.Events
User u = client.GetUser();
if ((u.FactionId != null)
&& (veh.GetOwners().Contains(u.FactionId ?? 0))
&& ((VehicleHash)vehicle.Model == VehicleHash.Burrito3 || (VehicleHash)vehicle.Model == VehicleHash.Policet)
&& (veh.Model == WeaponDealManager.WEAPON_DEAL_GANG_VEHICLE_HASH || veh.Model == WeaponDealManager.WEAPON_DEAL_STAATSFRAK_VEHICLE_HASH)
&& vehicle.HasData("weaponDeal")
&& vehicle.GetData<bool>("weaponDeal") == true)
{
@@ -35,7 +36,7 @@ namespace ReallifeGamemode.Server.Events
client.TriggerEvent("destroyCP");
}
else if ((u.FactionId != null)
&& ((VehicleHash)vehicle.Model == VehicleHash.Burrito3 || (VehicleHash)vehicle.Model == VehicleHash.Policet)
&& (veh.Model == WeaponDealManager.WEAPON_DEAL_GANG_VEHICLE_HASH || veh.Model == WeaponDealManager.WEAPON_DEAL_STAATSFRAK_VEHICLE_HASH)
&& vehicle.HasData("WeaponDealLoad")
&& vehicle.GetData<bool>("WeaponDealLoad") == true)
{

View File

@@ -800,14 +800,8 @@ namespace ReallifeGamemode.Server.Events
}
else if (sV is FactionVehicle fV)
{
if (fV.Model == VehicleHash.Burrito3 && u.FactionId == 1
|| fV.Model == VehicleHash.Burrito3 && u.FactionId == 3
|| fV.Model == VehicleHash.Burrito3 && u.FactionId == 7
|| fV.Model == VehicleHash.Burrito3 && u.FactionId == 8
|| fV.Model == VehicleHash.Policet && u.FactionId == 1
|| fV.Model == VehicleHash.Policet && u.FactionId == 3
|| fV.Model == VehicleHash.Policet && u.FactionId == 7
|| fV.Model == VehicleHash.Policet && u.FactionId == 8)
if ((fV.Model == WeaponDealManager.WEAPON_DEAL_GANG_VEHICLE_HASH || fV.Model == WeaponDealManager.WEAPON_DEAL_STAATSFRAK_VEHICLE_HASH)
&& WeaponDealManager.WEAPON_DEAL_FACTIONS.Contains(u.FactionId ?? 0))
{
VehicleStreaming.SetEngineState(v, !state);
}

View File

@@ -1,10 +1,12 @@
using System;
using System.Linq;
using GTANetworkAPI;
using ReallifeGamemode.Database.Entities;
using ReallifeGamemode.Database.Models;
using ReallifeGamemode.Server.Extensions;
using ReallifeGamemode.Server.Types;
using ReallifeGamemode.Server.Util;
using ReallifeGamemode.Server.WeaponDeal;
namespace ReallifeGamemode.Server.Events
{
@@ -38,14 +40,8 @@ namespace ReallifeGamemode.Server.Events
}
else if (sV is FactionVehicle fV)
{
if (fV.Model == VehicleHash.Burrito3 && u.FactionId == 1
|| fV.Model == VehicleHash.Burrito3 && u.FactionId == 3
|| fV.Model == VehicleHash.Burrito3 && u.FactionId == 7
|| fV.Model == VehicleHash.Burrito3 && u.FactionId == 8
|| fV.Model == VehicleHash.Policet && u.FactionId == 1
|| fV.Model == VehicleHash.Policet && u.FactionId == 3
|| fV.Model == VehicleHash.Policet && u.FactionId == 7
|| fV.Model == VehicleHash.Policet && u.FactionId == 8)
if ((fV.Model == WeaponDealManager.WEAPON_DEAL_GANG_VEHICLE_HASH || fV.Model == WeaponDealManager.WEAPON_DEAL_STAATSFRAK_VEHICLE_HASH)
&& WeaponDealManager.WEAPON_DEAL_FACTIONS.Contains(u.FactionId ?? 0))
{
VehicleStreaming.SetEngineState(v, !state);
}

View File

@@ -3,6 +3,7 @@ using GTANetworkAPI;
using ReallifeGamemode.Database.Entities;
using ReallifeGamemode.Database.Models;
using ReallifeGamemode.Server.Managers;
using ReallifeGamemode.Server.WeaponDeal;
namespace ReallifeGamemode.Server.Extensions
{
@@ -107,7 +108,7 @@ namespace ReallifeGamemode.Server.Extensions
return 0;
case 18:
if ((VehicleHash)vehicle.Model == VehicleHash.Policet)
if ((VehicleHash)vehicle.Model == WeaponDealManager.WEAPON_DEAL_STAATSFRAK_VEHICLE_HASH)
return 1000 * 1000;
else if ((VehicleHash)vehicle.Model == VehicleHash.Firetruk
|| (VehicleHash)vehicle.Model == VehicleHash.Pbus

View File

@@ -2,6 +2,7 @@
using ReallifeGamemode.Database.Entities;
using ReallifeGamemode.Server.Extensions;
using ReallifeGamemode.Server.Inventory.Interfaces;
using ReallifeGamemode.Server.WeaponDeal;
namespace ReallifeGamemode.Server.Inventory.Items
{
@@ -19,7 +20,7 @@ namespace ReallifeGamemode.Server.Inventory.Items
{
if (!fVeh.GetOwners().Contains(client.GetUser().FactionId ?? 0))
return false;
if (fVeh.Model != VehicleHash.Burrito3)
if (fVeh.Model != WeaponDealManager.WEAPON_DEAL_GANG_VEHICLE_HASH)
return false;
return true;

View File

@@ -12,6 +12,14 @@ namespace ReallifeGamemode.Server.WeaponDeal
{
public class WeaponDealManager : Script
{
public static readonly int[] WEAPON_DEAL_GANG_IDS = new int[] { 5, 7, 8 };
public static readonly int[] WEAPON_DEAL_STAATSFRAK_IDS = new int[] { 1, 3 };
public static int[] WEAPON_DEAL_FACTIONS => WEAPON_DEAL_GANG_IDS.Concat(WEAPON_DEAL_STAATSFRAK_IDS).Distinct().ToArray();
public static readonly VehicleHash WEAPON_DEAL_GANG_VEHICLE_HASH = VehicleHash.Burrito3;
public static readonly VehicleHash WEAPON_DEAL_STAATSFRAK_VEHICLE_HASH = VehicleHash.Policet;
private const int WEAPON_AMOUNT_GANG = 2;
private const int WEAPON_AMOUNT_COP = 4;
private const int WEAPON_AMOUNT_COP_STUNGUN = 4;
@@ -37,7 +45,10 @@ namespace ReallifeGamemode.Server.WeaponDeal
using (var context = new DatabaseContext(true))
{
FactionVehicle factionVehicle = context.FactionVehicles.Where(f => f.Model == VehicleHash.Burrito3 || f.Model == VehicleHash.Policet).ToList().Where(f => f.GetOwners().Contains(user.FactionId ?? 0)).FirstOrDefault();
FactionVehicle factionVehicle = context.FactionVehicles.Where(f => f.Model == WEAPON_DEAL_GANG_VEHICLE_HASH || f.Model == WEAPON_DEAL_STAATSFRAK_VEHICLE_HASH)
.ToList()
.Where(f => f.GetOwners().Contains(user.FactionId ?? 0))
.FirstOrDefault();
if (factionVehicle == null)
{
@@ -54,7 +65,7 @@ namespace ReallifeGamemode.Server.WeaponDeal
}
float distance = fVeh.Position.DistanceTo2D(client.Position);
if ((distance > 80 && factionVehicle.Model == VehicleHash.Burrito3) || (distance > 400 && factionVehicle.Model == VehicleHash.Policet))
if ((distance > 80 && factionVehicle.Model == WEAPON_DEAL_GANG_VEHICLE_HASH) || (distance > 400 && factionVehicle.Model == WEAPON_DEAL_STAATSFRAK_VEHICLE_HASH))
{
ChatService.ErrorMessage(client, "Der Transporter ist zu weit entfernt");
return;
@@ -175,7 +186,7 @@ namespace ReallifeGamemode.Server.WeaponDeal
{
return;
}
if ((VehicleHash)veh.Model != VehicleHash.Burrito3 && (VehicleHash)veh.Model != VehicleHash.Policet)
if ((VehicleHash)veh.Model != WEAPON_DEAL_GANG_VEHICLE_HASH && (VehicleHash)veh.Model != WEAPON_DEAL_STAATSFRAK_VEHICLE_HASH)
{
return;
}
@@ -184,11 +195,13 @@ namespace ReallifeGamemode.Server.WeaponDeal
using (var context = new DatabaseContext())
{
FactionVehicle factionVehicle = context.FactionVehicles
.Where(f => f.Model == VehicleHash.Burrito3 || f.Model == VehicleHash.Policet)
.Where(f => f.Model == WEAPON_DEAL_GANG_VEHICLE_HASH || f.Model == WEAPON_DEAL_STAATSFRAK_VEHICLE_HASH)
.ToList()
.Where(f => f.GetOwners().Contains(user.FactionId ?? 0))
.FirstOrDefault();
var owners = factionVehicle.GetOwners();
Vehicle fVeh = VehicleManager.GetVehicleFromServerVehicle(factionVehicle);
fVeh.SetData("weaponDeal", false);
fVeh.SetData("WeaponDealLoad", true);
@@ -198,7 +211,7 @@ namespace ReallifeGamemode.Server.WeaponDeal
InventoryManager.RemoveAllItemsfromVehicleInventory(fVeh);
int oMembers = NAPI.Pools.GetAllPlayers().Where(p => !p.IsAfk() && p.IsLoggedIn() && p.GetUser(context).FactionId == user.FactionId).Count();
if (factionVehicle.GetOwners().Contains(8) || factionVehicle.GetOwners().Contains(7))
if (owners.Any(o => WEAPON_DEAL_GANG_IDS.Contains(o))) // Gang WT
{
VehicleItem item = new VehicleItem() { ItemId = 2, VehicleId = factionVehicle.Id, Amount = WEAPON_AMOUNT_GANG * oMembers }; //pistol50
InventoryManager.AddItemToVehicleInventory(fVeh, item.ItemId, item.Amount);
@@ -211,7 +224,7 @@ namespace ReallifeGamemode.Server.WeaponDeal
VehicleItem item5 = new VehicleItem() { ItemId = 13, VehicleId = factionVehicle.Id, Amount = WEAPON_AMOUNT_GANG * oMembers }; //AssaultRifle
InventoryManager.AddItemToVehicleInventory(fVeh, item5.ItemId, item5.Amount);
}
else if (factionVehicle.GetOwners().Contains(1))
else if (owners.Contains(1)) // LSPD
{
VehicleItem item = new VehicleItem() { ItemId = 1, VehicleId = factionVehicle.Id, Amount = WEAPON_AMOUNT_COP * oMembers }; //pistol
InventoryManager.AddItemToVehicleInventory(fVeh, item.ItemId, item.Amount);
@@ -228,7 +241,7 @@ namespace ReallifeGamemode.Server.WeaponDeal
VehicleItem item7 = new VehicleItem() { ItemId = 14, VehicleId = factionVehicle.Id, Amount = WEAPON_AMOUNT_COP_STUNGUN * oMembers }; // AssaultSmg
InventoryManager.AddItemToVehicleInventory(fVeh, item7.ItemId, item7.Amount);
}
else if (factionVehicle.GetOwners().Contains(3))
else if (owners.Contains(3)) // FIB
{
VehicleItem item = new VehicleItem() { ItemId = 3, VehicleId = factionVehicle.Id, Amount = WEAPON_AMOUNT_COP * oMembers }; //pistol_mk2
InventoryManager.AddItemToVehicleInventory(fVeh, item.ItemId, item.Amount);