frakcar kaufen wucherpreis

This commit is contained in:
hydrant
2020-04-04 11:42:44 +02:00
parent 26f4ea1332
commit 69a4ab5d22
2 changed files with 49 additions and 24 deletions

View File

@@ -61,6 +61,19 @@ export default function carDealer(globalData: IGlobalData) {
var targetItem = new UIMenuListItem("Kaufen f<>r", "W<>hle den Besitzer aus", targetsCollection); var targetItem = new UIMenuListItem("Kaufen f<>r", "W<>hle den Besitzer aus", targetsCollection);
shopMenu.AddItem(targetItem); shopMenu.AddItem(targetItem);
shopMenu.ListChange.on((item, index) => {
if (item == targetItem) {
switch (targetItem.SelectedValue) {
case 'Spieler':
priceItem.SetRightLabel("~g~$~s~ " + moneyFormat(price));
break;
case 'Fraktion':
priceItem.SetRightLabel("~g~$~s~ " + moneyFormat(price * 3));
break;
}
}
})
var saveItem = new UIMenuItem("Kaufen"); var saveItem = new UIMenuItem("Kaufen");
saveItem.BackColor = new Color(0, 100, 0); saveItem.BackColor = new Color(0, 100, 0);
saveItem.HighlightedBackColor = new Color(0, 150, 0); saveItem.HighlightedBackColor = new Color(0, 150, 0);

View File

@@ -12,6 +12,7 @@ using System.Linq;
using System.Reflection; using System.Reflection;
using ReallifeGamemode.Database; using ReallifeGamemode.Database;
using ReallifeGamemode.Server.Types; using ReallifeGamemode.Server.Types;
using Microsoft.EntityFrameworkCore;
namespace ReallifeGamemode.Server.Managers namespace ReallifeGamemode.Server.Managers
{ {
@@ -140,7 +141,7 @@ namespace ReallifeGamemode.Server.Managers
}; };
if (player.GetUser().FactionLeader && !player.GetUser().Faction.StateOwned) availableTargets.Add("Fraktion"); if (player.GetUser().FactionLeader && !player.GetUser().Faction.StateOwned) availableTargets.Add("Fraktion");
if (player.GetUser().GroupRank == GroupRank.OWNER) availableTargets.Add("Gruppe"); //if (player.GetUser().GroupRank == GroupRank.OWNER) availableTargets.Add("Gruppe");
player.TriggerEvent("ShopVehicle_OpenMenu", GetBusiness(shopVehicle.BusinessId).Name, shopVehicle.Price, availableTargets.ToArray()); player.TriggerEvent("ShopVehicle_OpenMenu", GetBusiness(shopVehicle.BusinessId).Name, shopVehicle.Price, availableTargets.ToArray());
} }
@@ -156,21 +157,24 @@ namespace ReallifeGamemode.Server.Managers
ShopVehicle shopVehicle = (ShopVehicle)sVeh; ShopVehicle shopVehicle = (ShopVehicle)sVeh;
int price = shopVehicle.Price; int price = shopVehicle.Price;
CarDealerBusinessBase business = GetBusiness(shopVehicle.BusinessId) as CarDealerBusinessBase; CarDealerBusinessBase business = GetBusiness(shopVehicle.BusinessId) as CarDealerBusinessBase;
TransactionResult result = BankManager.TransferMoney(player.GetUser(dbContext), business, price, "Auto gekauft", dbContext);
if (result == TransactionResult.SENDER_NOT_ENOUGH_MONEY)
{
player.SendNotification("~r~Du hast nicht genug Geld: " + price.ToMoneyString());
return;
}
Vector3 spawnPos = business.CarSpawnPositon.Around(3); Vector3 spawnPos = business.CarSpawnPositon.Around(3);
player.TriggerEvent("SERVER:Util_setWaypoint", spawnPos.X, spawnPos.Y); player.TriggerEvent("SERVER:Util_setWaypoint", spawnPos.X, spawnPos.Y);
User u = player.GetUser(dbContext);
ServerVehicle newVeh = null; ServerVehicle newVeh = null;
if (target == "Spieler") if (target == "Spieler")
{ {
TransactionResult result = BankManager.TransferMoney(u, business, price, "Auto gekauft", dbContext);
if (result == TransactionResult.SENDER_NOT_ENOUGH_MONEY)
{
player.SendNotification("~r~Du hast nicht genug Geld: " + price.ToMoneyString());
return;
}
newVeh = new UserVehicle newVeh = new UserVehicle
{ {
Heading = business.CarSpawnHeading, Heading = business.CarSpawnHeading,
@@ -188,6 +192,14 @@ namespace ReallifeGamemode.Server.Managers
} }
else if (target == "Fraktion") else if (target == "Fraktion")
{ {
var faction = dbContext.Factions.Include(f => f.BankAccount).Where(f => f.Id == u.FactionId).First();
TransactionResult result = BankManager.TransferMoney(faction, business, price * 3, "Auto gekauft", dbContext);
if (result == TransactionResult.SENDER_NOT_ENOUGH_MONEY)
{
player.SendNotification("~r~Die Fraktion hat nicht genug Geld: " + price.ToMoneyString());
return;
}
newVeh = new FactionVehicle newVeh = new FactionVehicle
{ {
Heading = business.CarSpawnHeading, Heading = business.CarSpawnHeading,
@@ -202,22 +214,22 @@ namespace ReallifeGamemode.Server.Managers
Active = true, Active = true,
}; };
} }
else if (target == "Gruppe") //else if (target == "Gruppe")
{ //{
newVeh = new GroupVehicle // newVeh = new GroupVehicle
{ // {
Heading = business.CarSpawnHeading, // Heading = business.CarSpawnHeading,
PositionX = spawnPos.X, // PositionX = spawnPos.X,
PositionY = spawnPos.Y, // PositionY = spawnPos.Y,
PositionZ = spawnPos.Z, // PositionZ = spawnPos.Z,
Locked = false, // Locked = false,
GroupId = player.GetUser().Group.Id, // GroupId = player.GetUser().Group.Id,
Model = shopVehicle.Model, // Model = shopVehicle.Model,
PrimaryColor = 111, // PrimaryColor = 111,
SecondaryColor = 111, // SecondaryColor = 111,
Active = true, // Active = true,
}; // };
} //}
dbContext.ServerVehicles.Add(newVeh); dbContext.ServerVehicles.Add(newVeh);
dbContext.SaveChanges(); dbContext.SaveChanges();