Files
reallife-gamemode/ReallifeGamemode.Server/Inventory/Items/UseItem.cs
2020-06-21 00:08:11 +02:00

53 lines
1.7 KiB
C#

using System;
using System.Security.Cryptography;
using GTANetworkAPI;
using Microsoft.CodeAnalysis.CSharp.Syntax;
using ReallifeGamemode.Database.Entities;
using ReallifeGamemode.Database.Models;
using ReallifeGamemode.Server.Extensions;
using ReallifeGamemode.Server.Inventory.Interfaces;
using ReallifeGamemode.Server.Managers;
namespace ReallifeGamemode.Server.Inventory.Items
{
public abstract class UseItem : IUsableItem
{
public abstract int Id { get; }
public abstract string Name { get; }
public abstract string Description { get; }
public abstract int Gewicht { get; }
public abstract string Einheit { get; }
public abstract uint Object { get; }
public abstract int Price { get; }
public void Use(UserItem uItem)
{
Player player = uItem.GetUser().Player;
if (uItem.ItemId != 200)
{
return;
}
Random random = new Random();
int randomNumber = random.Next(1, 5);
if (randomNumber == 1)
{
using (var dbContext = new DatabaseContext())
{
User winner = player.GetUser(dbContext);
winner.Handmoney += 1000;
player.TriggerEvent("SERVER:SET_HANDMONEY", winner.Handmoney);
dbContext.SaveChanges();
}
Services.ChatService.SendMessage(player, "Glückwunsch, du hast $1000 gewonnen!");
}
else
{
Services.ChatService.SendMessage(player, "Leider kein Gewinn, viel Glück beim nächsten mal");
}
player.SendNotification("Du hast ~g~" + InventoryManager.GetItemById(uItem.ItemId).Name + " ~s~verwendet.", false);
InventoryManager.RemoveUserItem(player.GetUser(), uItem, 1);
}
}
}