Add Hanf items, some inventory mess removed

This commit is contained in:
hydrant
2021-05-22 14:52:29 +02:00
parent 467e0a4248
commit 34033eb875
20 changed files with 126 additions and 135 deletions

View File

@@ -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);
}
}
}

View File

@@ -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);
}
}
}

View File

@@ -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);
}
}
}

View File

@@ -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
}

View 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;
}
}

View File

@@ -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);
}
}
}

View File

@@ -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);
}
}
}

View File

@@ -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
}

View File

@@ -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;
}

View 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;
}
}
}

View File

@@ -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);
}
}
}

View File

@@ -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);

View File

@@ -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;
}
}
}

View File

@@ -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);
}
}