vagos in wt
This commit is contained in:
@@ -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;
|
||||
@@ -30,14 +38,17 @@ namespace ReallifeGamemode.Server.WeaponDeal
|
||||
public void SrvEVENT_startWeaponDeal(Player client)
|
||||
{
|
||||
var user = client.GetUser();
|
||||
if(user == null || user.FactionId == null)
|
||||
if (user == null || user.FactionId == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
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);
|
||||
|
||||
Reference in New Issue
Block a user