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(); User u = client.GetUser();
if (u.FactionId != null if (u.FactionId != null
&& veh.GetOwners().Contains(u.FactionId.Value) && 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.HasData("weaponDeal")
&& vehicle.GetData<bool>("weaponDeal") == true && vehicle.GetData<bool>("weaponDeal") == true
&& (!vehicle.HasData("WeaponDealLoad") || vehicle.GetData<bool>("WeaponDealLoad") == false)) && (!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"); CheckPointHandle.StartCheckPointRoute(client, dealPoint, 5000, 1, 7, 3, true, "loadWeaponTransport");
} }
else if ((u.FactionId != null) 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.HasData("WeaponDealLoad")
&& vehicle.GetData<bool>("WeaponDealLoad") == true) && 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 (!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)) if (WeaponDealManager.checkWeaponDbyVehicle(vehicle))
return; return;

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -12,6 +12,14 @@ namespace ReallifeGamemode.Server.WeaponDeal
{ {
public class WeaponDealManager : Script 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_GANG = 2;
private const int WEAPON_AMOUNT_COP = 4; private const int WEAPON_AMOUNT_COP = 4;
private const int WEAPON_AMOUNT_COP_STUNGUN = 4; private const int WEAPON_AMOUNT_COP_STUNGUN = 4;
@@ -30,14 +38,17 @@ namespace ReallifeGamemode.Server.WeaponDeal
public void SrvEVENT_startWeaponDeal(Player client) public void SrvEVENT_startWeaponDeal(Player client)
{ {
var user = client.GetUser(); var user = client.GetUser();
if(user == null || user.FactionId == null) if (user == null || user.FactionId == null)
{ {
return; return;
} }
using (var context = new DatabaseContext(true)) 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) if (factionVehicle == null)
{ {
@@ -54,7 +65,7 @@ namespace ReallifeGamemode.Server.WeaponDeal
} }
float distance = fVeh.Position.DistanceTo2D(client.Position); 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"); ChatService.ErrorMessage(client, "Der Transporter ist zu weit entfernt");
return; return;
@@ -175,7 +186,7 @@ namespace ReallifeGamemode.Server.WeaponDeal
{ {
return; 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; return;
} }
@@ -184,11 +195,13 @@ namespace ReallifeGamemode.Server.WeaponDeal
using (var context = new DatabaseContext()) using (var context = new DatabaseContext())
{ {
FactionVehicle factionVehicle = context.FactionVehicles 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() .ToList()
.Where(f => f.GetOwners().Contains(user.FactionId ?? 0)) .Where(f => f.GetOwners().Contains(user.FactionId ?? 0))
.FirstOrDefault(); .FirstOrDefault();
var owners = factionVehicle.GetOwners();
Vehicle fVeh = VehicleManager.GetVehicleFromServerVehicle(factionVehicle); Vehicle fVeh = VehicleManager.GetVehicleFromServerVehicle(factionVehicle);
fVeh.SetData("weaponDeal", false); fVeh.SetData("weaponDeal", false);
fVeh.SetData("WeaponDealLoad", true); fVeh.SetData("WeaponDealLoad", true);
@@ -198,7 +211,7 @@ namespace ReallifeGamemode.Server.WeaponDeal
InventoryManager.RemoveAllItemsfromVehicleInventory(fVeh); InventoryManager.RemoveAllItemsfromVehicleInventory(fVeh);
int oMembers = NAPI.Pools.GetAllPlayers().Where(p => !p.IsAfk() && p.IsLoggedIn() && p.GetUser(context).FactionId == user.FactionId).Count(); 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 VehicleItem item = new VehicleItem() { ItemId = 2, VehicleId = factionVehicle.Id, Amount = WEAPON_AMOUNT_GANG * oMembers }; //pistol50
InventoryManager.AddItemToVehicleInventory(fVeh, item.ItemId, item.Amount); 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 VehicleItem item5 = new VehicleItem() { ItemId = 13, VehicleId = factionVehicle.Id, Amount = WEAPON_AMOUNT_GANG * oMembers }; //AssaultRifle
InventoryManager.AddItemToVehicleInventory(fVeh, item5.ItemId, item5.Amount); 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 VehicleItem item = new VehicleItem() { ItemId = 1, VehicleId = factionVehicle.Id, Amount = WEAPON_AMOUNT_COP * oMembers }; //pistol
InventoryManager.AddItemToVehicleInventory(fVeh, item.ItemId, item.Amount); 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 VehicleItem item7 = new VehicleItem() { ItemId = 14, VehicleId = factionVehicle.Id, Amount = WEAPON_AMOUNT_COP_STUNGUN * oMembers }; // AssaultSmg
InventoryManager.AddItemToVehicleInventory(fVeh, item7.ItemId, item7.Amount); 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 VehicleItem item = new VehicleItem() { ItemId = 3, VehicleId = factionVehicle.Id, Amount = WEAPON_AMOUNT_COP * oMembers }; //pistol_mk2
InventoryManager.AddItemToVehicleInventory(fVeh, item.ItemId, item.Amount); InventoryManager.AddItemToVehicleInventory(fVeh, item.ItemId, item.Amount);