Add Hanf items, some inventory mess removed
This commit is contained in:
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user