Add Hanf items, some inventory mess removed
This commit is contained in:
@@ -2231,26 +2231,19 @@ namespace ReallifeGamemode.Server.Commands
|
||||
return;
|
||||
}
|
||||
|
||||
var invWeight = 0;
|
||||
var invWeight = InventoryManager.GetUserInventoryWeight(target);
|
||||
|
||||
using (var context = new DatabaseContext())
|
||||
{
|
||||
List<UserItem> userItems = context.UserItems.ToList().FindAll(i => i.UserId == target.GetUser().Id);
|
||||
foreach (var uItem in userItems)
|
||||
{
|
||||
invWeight += uItem.Amount * InventoryManager.GetItemById(uItem.ItemId).Gewicht;
|
||||
}
|
||||
}
|
||||
IItem item = InventoryManager.GetItemById(itemId);
|
||||
|
||||
if (invWeight + (amount * InventoryManager.GetItemById(itemId).Gewicht) > 40000)
|
||||
if (invWeight + (amount * item.Gewicht) > InventoryManager.MAX_USER_INVENTORY)
|
||||
{
|
||||
ChatService.SendMessage(player, "~y~" + target.Name + " ~s~hat nicht mehr genug Platz in seinem Inventar.");
|
||||
}
|
||||
else
|
||||
{
|
||||
UserItem item = new UserItem() { ItemId = itemId, UserId = target.GetUser().Id, Amount = amount };
|
||||
InventoryManager.AddItemToInventory(target, item.ItemId, item.Amount);
|
||||
ChatService.SendMessage(player, "~b~[ADMIN]~s~ Du hast " + target.Name + " ~g~" + amount + "~s~ mal das Item gegeben.");
|
||||
UserItem userItem = new UserItem() { ItemId = itemId, UserId = target.GetUser().Id, Amount = amount };
|
||||
InventoryManager.AddItemToInventory(target, userItem.ItemId, userItem.Amount);
|
||||
ChatService.SendMessage(player, $"~b~[ADMIN]~s~ Du hast ~y~{target.Name}~y~ ~y~{amount}~s~ mal das Item ~y~{item.Name}~s~ gegeben.");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2340,7 +2333,7 @@ namespace ReallifeGamemode.Server.Commands
|
||||
}
|
||||
|
||||
[Command("inventory", "~m~Benutzung: ~s~/inventory [Spieler]")]
|
||||
public void CmdAdminGiveItem(Player player, string targetname)
|
||||
public void CmdAdminInventory(Player player, string targetname)
|
||||
{
|
||||
if (!player.GetUser()?.IsAdmin(AdminLevel.HEADADMIN) ?? true)
|
||||
{
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
using ReallifeGamemode.Database.Entities;
|
||||
using GTANetworkAPI;
|
||||
using ReallifeGamemode.Database.Entities;
|
||||
using ReallifeGamemode.Database.Models;
|
||||
|
||||
/**
|
||||
* @overview Life of German Reallife - Inventory Interfaces UsableItem (IUsableItem.cs)
|
||||
@@ -10,6 +12,7 @@ namespace ReallifeGamemode.Server.Inventory.Interfaces
|
||||
{
|
||||
public interface IUsableItem : IItem, IDroppableItem //marker Interface
|
||||
{
|
||||
bool Use(UserItem uItem);
|
||||
bool RemoveWhenUsed { get; }
|
||||
bool Use(Player player, User user, DatabaseContext databaseContext);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,6 +3,7 @@ using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using GTANetworkAPI;
|
||||
using ReallifeGamemode.Database.Entities;
|
||||
using ReallifeGamemode.Database.Models;
|
||||
using ReallifeGamemode.Server.Extensions;
|
||||
using ReallifeGamemode.Server.Managers;
|
||||
|
||||
@@ -20,10 +21,8 @@ namespace ReallifeGamemode.Server.Inventory.Items
|
||||
public override int Price => 50;
|
||||
public override float Cooldown => 60000;
|
||||
|
||||
public override void Consume(UserItem uItem)
|
||||
public override void Consume(Player player, User user, DatabaseContext databaseContext)
|
||||
{
|
||||
Player player = uItem.GetUser().Player;
|
||||
|
||||
int amountToAdd = HpAmount;
|
||||
if (player.Health + amountToAdd > 100)
|
||||
{
|
||||
@@ -32,7 +31,6 @@ namespace ReallifeGamemode.Server.Inventory.Items
|
||||
|
||||
player.SafeSetHealth(player.Health + amountToAdd);
|
||||
player.SendNotification("Du hast einen ~y~" + Name + " ~s~gegessen.", false);
|
||||
InventoryManager.RemoveUserItem(player.GetUser(), uItem, 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,6 +3,7 @@ using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using GTANetworkAPI;
|
||||
using ReallifeGamemode.Database.Entities;
|
||||
using ReallifeGamemode.Database.Models;
|
||||
using ReallifeGamemode.Server.Extensions;
|
||||
using ReallifeGamemode.Server.Managers;
|
||||
|
||||
@@ -21,10 +22,8 @@ namespace ReallifeGamemode.Server.Inventory.Items
|
||||
|
||||
public override float Cooldown => 60000;
|
||||
|
||||
public override void Consume(UserItem uItem)
|
||||
public override void Consume(Player player, User user, DatabaseContext databaseContext)
|
||||
{
|
||||
Player player = uItem.GetUser().Player;
|
||||
|
||||
int amountToAdd = HpAmount;
|
||||
if (player.Health + amountToAdd > 100)
|
||||
{
|
||||
@@ -33,7 +32,6 @@ namespace ReallifeGamemode.Server.Inventory.Items
|
||||
|
||||
player.SafeSetHealth(player.Health + amountToAdd);
|
||||
player.SendNotification("Du hast ~y~" + Name + " ~s~gegessen.", false);
|
||||
InventoryManager.RemoveUserItem(player.GetUser(), uItem, 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,6 +3,7 @@ using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using GTANetworkAPI;
|
||||
using ReallifeGamemode.Database.Entities;
|
||||
using ReallifeGamemode.Database.Models;
|
||||
using ReallifeGamemode.Server.Extensions;
|
||||
using ReallifeGamemode.Server.Managers;
|
||||
|
||||
@@ -21,10 +22,8 @@ namespace ReallifeGamemode.Server.Inventory.Items
|
||||
|
||||
public override float Cooldown => 180000;
|
||||
|
||||
public override void Consume(UserItem uItem)
|
||||
public override void Consume(Player player, User user, DatabaseContext databaseContext)
|
||||
{
|
||||
Player player = uItem.GetUser().Player;
|
||||
|
||||
int amountToAdd = HpAmount;
|
||||
if (player.Health + amountToAdd > 100)
|
||||
{
|
||||
@@ -33,7 +32,6 @@ namespace ReallifeGamemode.Server.Inventory.Items
|
||||
|
||||
player.SafeSetHealth(player.Health + amountToAdd);
|
||||
player.SendNotification("Du hast ein ~y~" + Name + " ~s~gegessen.", false);
|
||||
InventoryManager.RemoveUserItem(player.GetUser(), uItem, 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using GTANetworkAPI;
|
||||
using ReallifeGamemode.Database.Entities;
|
||||
using ReallifeGamemode.Database.Models;
|
||||
|
||||
namespace ReallifeGamemode.Server.Inventory.Items
|
||||
{
|
||||
@@ -18,7 +20,7 @@ namespace ReallifeGamemode.Server.Inventory.Items
|
||||
|
||||
public override float Cooldown => 1000;
|
||||
|
||||
public override void Consume(UserItem uItem)
|
||||
public override void Consume(Player player, User user, DatabaseContext databaseContext)
|
||||
{
|
||||
//nothing
|
||||
}
|
||||
|
||||
17
ReallifeGamemode.Server/Inventory/Items/CannabisSeeds.cs
Normal file
17
ReallifeGamemode.Server/Inventory/Items/CannabisSeeds.cs
Normal file
@@ -0,0 +1,17 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
|
||||
namespace ReallifeGamemode.Server.Inventory.Items
|
||||
{
|
||||
public class CannabisSeeds : BaseItem
|
||||
{
|
||||
public override int Id { get; } = 109;
|
||||
public override string Name { get; } = "Cannabis Samen";
|
||||
public override string Description { get; } = "vierhundertzwanzig lodere es";
|
||||
public override int Gewicht { get; } = 10;
|
||||
public override string Einheit { get; } = "g";
|
||||
public override int Price { get; } = 0;
|
||||
public override bool Legal => false;
|
||||
}
|
||||
}
|
||||
@@ -1,5 +1,6 @@
|
||||
using GTANetworkAPI;
|
||||
using ReallifeGamemode.Database.Entities;
|
||||
using ReallifeGamemode.Database.Models;
|
||||
using ReallifeGamemode.Server.Extensions;
|
||||
using ReallifeGamemode.Server.Managers;
|
||||
|
||||
@@ -23,10 +24,8 @@ namespace ReallifeGamemode.Server.Inventory.Items
|
||||
public override int Price => 100;
|
||||
public override float Cooldown => 120000;
|
||||
|
||||
public override void Consume(UserItem uItem)
|
||||
public override void Consume(Player player, User user, DatabaseContext databaseContext)
|
||||
{
|
||||
Player player = uItem.GetUser().Player;
|
||||
|
||||
int amountToAdd = HpAmount;
|
||||
if (player.Health + amountToAdd > 100)
|
||||
{
|
||||
@@ -35,7 +34,6 @@ namespace ReallifeGamemode.Server.Inventory.Items
|
||||
|
||||
player.SafeSetHealth(player.Health + amountToAdd);
|
||||
player.SendNotification("Du hast einen ~y~" + Name + " ~s~gegessen.", false);
|
||||
InventoryManager.RemoveUserItem(player.GetUser(), uItem, 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,6 +3,7 @@ using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using GTANetworkAPI;
|
||||
using ReallifeGamemode.Database.Entities;
|
||||
using ReallifeGamemode.Database.Models;
|
||||
using ReallifeGamemode.Server.Extensions;
|
||||
using ReallifeGamemode.Server.Managers;
|
||||
|
||||
@@ -21,10 +22,8 @@ namespace ReallifeGamemode.Server.Inventory.Items
|
||||
|
||||
public override float Cooldown => 30000;
|
||||
|
||||
public override void Consume(UserItem uItem)
|
||||
public override void Consume(Player player, User user, DatabaseContext databaseContext)
|
||||
{
|
||||
Player player = uItem.GetUser().Player;
|
||||
|
||||
int amountToAdd = HpAmount;
|
||||
if (player.Health + amountToAdd > 100)
|
||||
{
|
||||
@@ -33,7 +32,6 @@ namespace ReallifeGamemode.Server.Inventory.Items
|
||||
|
||||
player.SafeSetHealth(player.Health + amountToAdd);
|
||||
player.SendNotification("Du hast ~y~" + Name + " ~s~gegessen.", false);
|
||||
InventoryManager.RemoveUserItem(player.GetUser(), uItem, 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
using ReallifeGamemode.Database.Entities;
|
||||
using GTANetworkAPI;
|
||||
using ReallifeGamemode.Database.Entities;
|
||||
using ReallifeGamemode.Database.Models;
|
||||
|
||||
/**
|
||||
* @overview Life of German Reallife - Inventory Items Chickenburger (Chickenburger.cs)
|
||||
@@ -21,7 +23,7 @@ namespace ReallifeGamemode.Server.Inventory.Items
|
||||
|
||||
public override float Cooldown => 20000;
|
||||
|
||||
public override void Consume(UserItem uItem)
|
||||
public override void Consume(Player player, User user, DatabaseContext databaseContext)
|
||||
{
|
||||
//nothing
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
using System;
|
||||
using GTANetworkAPI;
|
||||
using ReallifeGamemode.Database.Entities;
|
||||
using ReallifeGamemode.Database.Models;
|
||||
using ReallifeGamemode.Server.Extensions;
|
||||
using ReallifeGamemode.Server.Inventory.Interfaces;
|
||||
using ReallifeGamemode.Server.Managers;
|
||||
@@ -8,7 +9,7 @@ using ReallifeGamemode.Server.Util;
|
||||
|
||||
namespace ReallifeGamemode.Server.Inventory.Items
|
||||
{
|
||||
public abstract class ConsumableItem : BaseItem, IUsableItem
|
||||
public abstract class ConsumableItem : UseItem
|
||||
{
|
||||
public abstract int HpAmount { get; }
|
||||
public override int Id { get; }
|
||||
@@ -18,28 +19,28 @@ namespace ReallifeGamemode.Server.Inventory.Items
|
||||
public override string Einheit { get; }
|
||||
public override int Price { get; }
|
||||
public abstract float Cooldown { get; }
|
||||
public abstract uint Object { get; }
|
||||
public abstract override uint Object { get; }
|
||||
public override bool RemoveWhenUsed => true;
|
||||
|
||||
public abstract void Consume(UserItem uItem);
|
||||
public abstract void Consume(Player player, User user, DatabaseContext databaseContext);
|
||||
|
||||
public bool Use(UserItem uItem)
|
||||
public override bool Use(Player player, User user, DatabaseContext databaseContext)
|
||||
{
|
||||
User user = uItem.GetUser();
|
||||
if (user.Player == null || !user.Player.IsLoggedIn())
|
||||
return false;
|
||||
|
||||
if (!HasCooldownElapsed(user))
|
||||
if (!HasCooldownElapsed(user) && Cooldown > 0)
|
||||
{
|
||||
DateTime time = InventoryManager.itemCooldown[user.Id];
|
||||
int timeUntillNextUse = (int)(time - DateTime.Now).TotalSeconds;
|
||||
uItem.GetUser().Player.TriggerEvent("Error", $"Versuche es nach {timeUntillNextUse} Sekunden erneut.");
|
||||
user.Player.TriggerEvent("Error", $"Versuche es nach {timeUntillNextUse} Sekunden erneut.");
|
||||
return false;
|
||||
}
|
||||
|
||||
DateTime cooldown = DateTime.Now.AddMilliseconds(Cooldown);
|
||||
InventoryManager.itemCooldown.Add(user.Id, cooldown);
|
||||
|
||||
Consume(uItem);
|
||||
Consume(player, user, databaseContext);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
28
ReallifeGamemode.Server/Inventory/Items/Joint.cs
Normal file
28
ReallifeGamemode.Server/Inventory/Items/Joint.cs
Normal file
@@ -0,0 +1,28 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using GTANetworkAPI;
|
||||
using ReallifeGamemode.Database.Entities;
|
||||
using ReallifeGamemode.Database.Models;
|
||||
using ReallifeGamemode.Server.Services;
|
||||
|
||||
namespace ReallifeGamemode.Server.Inventory.Items
|
||||
{
|
||||
public class Joint : UseItem
|
||||
{
|
||||
public override int Id { get; } = 110;
|
||||
public override string Name { get; } = "Joint";
|
||||
public override string Description { get; } = "stay high bis zum tod";
|
||||
public override int Gewicht { get; } = 20;
|
||||
public override string Einheit { get; } = "g";
|
||||
public override int Price { get; } = 0;
|
||||
public override uint Object { get; }
|
||||
public override bool Legal => false;
|
||||
public override bool RemoveWhenUsed => true;
|
||||
|
||||
public override bool Use(Player player, User user, DatabaseContext databaseContext)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -3,6 +3,7 @@ using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using GTANetworkAPI;
|
||||
using ReallifeGamemode.Database.Entities;
|
||||
using ReallifeGamemode.Database.Models;
|
||||
using ReallifeGamemode.Server.Extensions;
|
||||
using ReallifeGamemode.Server.Managers;
|
||||
|
||||
@@ -21,10 +22,8 @@ namespace ReallifeGamemode.Server.Inventory.Items
|
||||
|
||||
public override float Cooldown => 300000;
|
||||
|
||||
public override void Consume(UserItem uItem)
|
||||
public override void Consume(Player player, User user, DatabaseContext databaseContext)
|
||||
{
|
||||
Player player = uItem.GetUser().Player;
|
||||
|
||||
int amountToAdd = HpAmount;
|
||||
if (player.Health + amountToAdd > 100)
|
||||
{
|
||||
@@ -33,7 +32,6 @@ namespace ReallifeGamemode.Server.Inventory.Items
|
||||
|
||||
player.SafeSetHealth(player.Health + amountToAdd);
|
||||
player.SendNotification("Du hast ein ~y~" + Name + " ~s~gegessen.", false);
|
||||
InventoryManager.RemoveUserItem(player.GetUser(), uItem, 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -19,17 +19,12 @@ namespace ReallifeGamemode.Server.Inventory.Items
|
||||
public override uint Object => 875075437;
|
||||
public override int Price => 2500;
|
||||
|
||||
public override bool Use(UserItem uItem)
|
||||
public override bool RemoveWhenUsed { get; } = true;
|
||||
|
||||
public override bool Use(Player player, User user, DatabaseContext databaseContext)
|
||||
{
|
||||
Player player = uItem.GetUser().Player;
|
||||
|
||||
if (uItem.ItemId != 201)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
Vehicle veh = null;
|
||||
|
||||
|
||||
var nearestVeh = NAPI.Pools.GetAllVehicles().Where(v => v.Position.DistanceTo(player.Position) <= 5).FirstOrDefault();
|
||||
veh = nearestVeh;
|
||||
|
||||
@@ -39,13 +34,13 @@ namespace ReallifeGamemode.Server.Inventory.Items
|
||||
return false;
|
||||
}
|
||||
|
||||
if(player.IsInVehicle)
|
||||
if (player.IsInVehicle)
|
||||
{
|
||||
player.SendNotification("Du musst aus deinem Fahrzeug aussteigen!");
|
||||
return false;
|
||||
}
|
||||
|
||||
if(veh.Controller == null)
|
||||
if (veh.Controller == null)
|
||||
{
|
||||
player.SendNotification("Du kannst dieses Fahrzeug nicht reparieren, weil Jemand bereits im Fahrzeug sitzt");
|
||||
return false;
|
||||
@@ -62,6 +57,7 @@ namespace ReallifeGamemode.Server.Inventory.Items
|
||||
Vector3 position = veh.Position;
|
||||
player.SendNotification("Du hast ~g~" + InventoryManager.GetItemById(uItem.ItemId).Name + " ~s~verwendet", false);
|
||||
InventoryManager.RemoveUserItem(player.GetUser(), uItem, 1);
|
||||
InventoryManager.RemoveUserItem(player.GetUser(), uItem, 1);
|
||||
ServerVehicle serverVehicle = veh.GetServerVehicle(dbContext);
|
||||
serverVehicle.Spawn(veh).Position = position;
|
||||
Vehicle newVeh = serverVehicle.Spawn(veh);
|
||||
|
||||
@@ -19,40 +19,24 @@ namespace ReallifeGamemode.Server.Inventory.Items
|
||||
public override string Einheit => "g";
|
||||
public override uint Object => 875075437;
|
||||
public override int Price => 500;
|
||||
public override bool RemoveWhenUsed => true;
|
||||
|
||||
public override bool Use(UserItem uItem)
|
||||
{
|
||||
Player player = uItem.GetUser().Player;
|
||||
|
||||
if (uItem.ItemId != 200)
|
||||
public override bool Use(Player player, User user, DatabaseContext databaseContext)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
Random random = new Random();
|
||||
int randomNumber = random.Next(1, 4);
|
||||
if (randomNumber == 1)
|
||||
{
|
||||
using (var dbContext = new DatabaseContext())
|
||||
Random random = new Random();
|
||||
int randomNumber = random.Next(1, 2);
|
||||
if (randomNumber == 1)
|
||||
{
|
||||
User winner = player.GetUser(dbContext);
|
||||
winner.Handmoney += 1000;
|
||||
user.Handmoney += 1000;
|
||||
//player.TriggerEvent("SERVER:SET_HANDMONEY", winner.Handmoney);
|
||||
dbContext.SaveChanges();
|
||||
}
|
||||
player.SendNotification("Glückwunsch du hast ~g~$~w~1000 gewonnen!");
|
||||
}
|
||||
else
|
||||
{
|
||||
}
|
||||
else
|
||||
{
|
||||
player.SendNotification("Leider kein Gewinn, viel Glück beim nächsten mal.");
|
||||
}
|
||||
player.SendNotification("Du hast ein ~g~" + Name + " ~s~verwendet.", false);
|
||||
return true;
|
||||
}
|
||||
player.SendNotification("Du hast ~g~" + InventoryManager.GetItemById(uItem.ItemId).Name + " ~s~verwendet.", false);
|
||||
InventoryManager.RemoveUserItem(player.GetUser(), uItem, 1);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -19,8 +19,8 @@ namespace ReallifeGamemode.Server.Inventory.Items
|
||||
public override string Einheit { get; }
|
||||
public override int Price { get; }
|
||||
public abstract uint Object { get; }
|
||||
public abstract bool RemoveWhenUsed { get; }
|
||||
|
||||
public abstract bool Use(UserItem uItem);
|
||||
|
||||
public abstract bool Use(Player player, User user, DatabaseContext databaseContext);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -27,7 +27,7 @@ namespace ReallifeGamemode.Server.Managers
|
||||
{
|
||||
public class InventoryManager : Script
|
||||
{
|
||||
private const int MAX_USER_INVENTORY = 40000;
|
||||
public const int MAX_USER_INVENTORY = 40000;
|
||||
private static readonly ILogger logger = LogManager.GetLogger<InventoryManager>();
|
||||
|
||||
public static List<IItem> itemList;
|
||||
@@ -82,7 +82,11 @@ namespace ReallifeGamemode.Server.Managers
|
||||
{
|
||||
player.TriggerEvent("Error", "Du kannst deinen Kofferraum gerade nicht öffnen.");
|
||||
}
|
||||
Vehicle veh = NAPI.Pools.GetAllVehicles().ToList().Where(v => v.Position.DistanceTo(player.Position) <= 4).FirstOrDefault();
|
||||
Vehicle veh = NAPI.Pools.GetAllVehicles()
|
||||
.ToList()
|
||||
.Where(v => v.Position.DistanceTo(player.Position) <= 4)
|
||||
.OrderBy(v => v.Position.DistanceTo(player.Position))
|
||||
.FirstOrDefault();
|
||||
if (veh == null)
|
||||
{
|
||||
player.TriggerEvent("Error", "Kein Fahrzeug in der Nähe!");
|
||||
@@ -270,7 +274,7 @@ namespace ReallifeGamemode.Server.Managers
|
||||
}
|
||||
}
|
||||
|
||||
public static void GetUserItemsAsAdmin(Player player, User user)
|
||||
public static void GetUserItemsAsAdmin(Player admin, User user)
|
||||
{
|
||||
var inventoryWeight = 0;
|
||||
|
||||
@@ -292,7 +296,7 @@ namespace ReallifeGamemode.Server.Managers
|
||||
items[userItems.IndexOf(item)][4] = item.Slot.ToString();
|
||||
items[userItems.IndexOf(item)][5] = item.Id.ToString();
|
||||
}
|
||||
player.TriggerEvent("showInventoryToAdmin", user.Name, inventoryWeight, items);
|
||||
admin.TriggerEvent("showInventoryToAdmin", user.Name, inventoryWeight, items);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -510,10 +514,10 @@ namespace ReallifeGamemode.Server.Managers
|
||||
int itemId = JsonConvert.DeserializeObject<int>(jsonItemId);
|
||||
string type = JsonConvert.DeserializeObject<string>(jsonType);
|
||||
|
||||
User user = player.GetUser();
|
||||
|
||||
using (var context = new DatabaseContext())
|
||||
{
|
||||
User user = player.GetUser(context);
|
||||
UserItem fItem = context.UserItems.Where(u => u.UserId == user.Id && u.ItemId == itemId).FirstOrDefault();
|
||||
IItem iItem = GetItemById(fItem.ItemId);
|
||||
|
||||
@@ -534,8 +538,14 @@ namespace ReallifeGamemode.Server.Managers
|
||||
|
||||
if (iItem is IUsableItem usableItemObj)
|
||||
{
|
||||
if (usableItemObj.Use(fItem))
|
||||
logger.LogInformation("Player {0} used the item {1} ({2})", player.Name, iItem.Name, iItem.Id);
|
||||
if (usableItemObj.Use(player, user, context))
|
||||
{
|
||||
if (usableItemObj.RemoveWhenUsed)
|
||||
{
|
||||
RemoveUserItem(user, fItem, 1);
|
||||
}
|
||||
|
||||
SetBackpackItems(player);
|
||||
player.TriggerEvent("aproveUse", 1, iItem.Name);
|
||||
}
|
||||
@@ -559,6 +569,7 @@ namespace ReallifeGamemode.Server.Managers
|
||||
|
||||
if (iItem is IDroppableItem usableItemObj2)
|
||||
{
|
||||
logger.LogInformation("Player {0} dropped the item {1} ({2})", player.Name, iItem.Name, iItem.Id);
|
||||
Vector3 dropPosition = PlayerExtension.GetPositionFromPlayer(player, 0.6f, 0);
|
||||
//new Vector3(player.Position.X, player.Position.Y, player.Position.Z - 0.8f);
|
||||
Random r = new Random();
|
||||
@@ -617,7 +628,6 @@ namespace ReallifeGamemode.Server.Managers
|
||||
|
||||
if (GetUserInventoryWeight(client) + shopItem.Gewicht > MAX_USER_INVENTORY)
|
||||
{
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user