Inventory System
This commit is contained in:
@@ -27,8 +27,8 @@ namespace reallife_gamemode.Server.Commands
|
||||
{
|
||||
public class Admin : Script
|
||||
{
|
||||
[Command("eat")]
|
||||
public void CmdAdminEat(Client player)
|
||||
[Command("myitems")]
|
||||
public void CmdAdminMyItems(Client player)
|
||||
{
|
||||
if (!player.GetUser()?.IsAdmin(AdminLevel.SUPPORTER) ?? true)
|
||||
{
|
||||
@@ -36,13 +36,30 @@ namespace reallife_gamemode.Server.Commands
|
||||
return;
|
||||
}
|
||||
|
||||
Hamburger hamburger = new Hamburger();
|
||||
if(hamburger is IUsableItem)
|
||||
List<UserItem> itemList = player.GetData("items");
|
||||
|
||||
foreach (var item in itemList)
|
||||
{
|
||||
var usableItemObj = hamburger as IUsableItem;
|
||||
usableItemObj.Use(player);
|
||||
IItem iitem = item;
|
||||
player.SendChatMessage(item. + );
|
||||
}
|
||||
}
|
||||
|
||||
[Command("giveitem", "~m~Benutzung: ~s~/giveitem [Target] [Item ID] [Anzahl]")]
|
||||
public void CmdAdminGiveItem(Client player, Client target, int itemId, int amount)
|
||||
{
|
||||
if (!player.GetUser()?.IsAdmin(AdminLevel.SUPPORTER) ?? true)
|
||||
{
|
||||
ChatService.NotAuthorized(player);
|
||||
return;
|
||||
}
|
||||
|
||||
if (target == null || !target.IsLoggedIn())
|
||||
{
|
||||
ChatService.PlayerNotFound(player);
|
||||
return;
|
||||
}
|
||||
}
|
||||
[Command("vmod", "~m~Benutzung: ~s~/vmod [Slot] [Mod ID]")]
|
||||
public void CmdAdminVmod(Client player, int slot, int mod)
|
||||
{
|
||||
|
||||
@@ -51,34 +51,9 @@ namespace reallife_gamemode.Server.Events
|
||||
var userBankAccount = loginUser.UserBankAccounts.SingleOrDefault(u => u.UserId == user.Id);
|
||||
userBankAccount.Balance = userBankAccount.Balance;
|
||||
|
||||
if (user.Dead == true)
|
||||
{
|
||||
if (user.IsAdmin(AdminLevel.ADMIN) == true)
|
||||
{
|
||||
player.TriggerEvent("startDeathTimer", true);
|
||||
}
|
||||
else
|
||||
{
|
||||
player.TriggerEvent("startDeathTimer", false);
|
||||
}
|
||||
|
||||
player.SetData("isDead", true);
|
||||
}
|
||||
else
|
||||
{
|
||||
player.SetData("isDead", false);
|
||||
}
|
||||
if (user.Dead == true)
|
||||
{
|
||||
//player.TriggerEvent("startDeathTimer");
|
||||
//player.SetData("isDead", true);
|
||||
//TODO: Deathlog entfernen
|
||||
player.Health = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
player.SetData("isDead", false);
|
||||
}
|
||||
var userItems = loginUser.UserItems.ToList().FindAll(u => u.UserId == user.Id);
|
||||
player.SetData("items", userItems);
|
||||
|
||||
if (user.CharacterId == null)
|
||||
{
|
||||
var currentPlayerCreatorDimension = (uint) NAPI.Data.GetWorldData("playerCreatorDimension");
|
||||
@@ -94,6 +69,24 @@ namespace reallife_gamemode.Server.Events
|
||||
NAPI.Player.SpawnPlayer(player, new Vector3(user.PositionX, user.PositionY, user.PositionZ), 0);
|
||||
player.TriggerEvent("draw", player.Name, player.Handle.Value);
|
||||
}
|
||||
if (user.Dead == true)
|
||||
{
|
||||
if (user.IsAdmin(AdminLevel.ADMIN) == true)
|
||||
{
|
||||
player.TriggerEvent("startDeathTimer", true);
|
||||
player.Health = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
player.TriggerEvent("startDeathTimer", false);
|
||||
player.Health = 0;
|
||||
}
|
||||
player.SetData("isDead", true);
|
||||
}
|
||||
else
|
||||
{
|
||||
player.SetData("isDead", false);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
23
Server/Inventory/Items/Cheeseburger.cs
Normal file
23
Server/Inventory/Items/Cheeseburger.cs
Normal file
@@ -0,0 +1,23 @@
|
||||
using reallife_gamemode.Server.Inventory.Interfaces;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
|
||||
/**
|
||||
* @overview Life of German Reallife - Inventory Items Hamburger (Hamburger.cs)
|
||||
* @author VegaZ
|
||||
* @copyright (c) 2008 - 2018 Life of German
|
||||
*/
|
||||
|
||||
namespace reallife_gamemode.Server.Inventory.Items
|
||||
{
|
||||
public class Cheeseburger : FoodItem, IItem
|
||||
{
|
||||
public int Id => 2;
|
||||
public string Name => "Cheeseburger";
|
||||
public string Description => "Wie der Hamburger, nur mit Käse.";
|
||||
public int Gewicht => 320;
|
||||
public string Einheit => "g";
|
||||
public override int HpAmount => 20;
|
||||
}
|
||||
}
|
||||
@@ -18,6 +18,6 @@ namespace reallife_gamemode.Server.Inventory.Items
|
||||
public string Description => "Ein leckerer Hamburger.";
|
||||
public int Gewicht => 300;
|
||||
public string Einheit => "g";
|
||||
public override int HpAmount => 50;
|
||||
public override int HpAmount => 20;
|
||||
}
|
||||
}
|
||||
|
||||
22
Server/Managers/InventoryManager.cs
Normal file
22
Server/Managers/InventoryManager.cs
Normal file
@@ -0,0 +1,22 @@
|
||||
using reallife_gamemode.Model;
|
||||
using reallife_gamemode.Server.Inventory.Interfaces;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
|
||||
/**
|
||||
* @overview Life of German Reallife - Managers InventoryManager (InventoryManager.cs)
|
||||
* @author hydrant, VegaZ
|
||||
* @copyright (c) 2008 - 2018 Life of German
|
||||
*/
|
||||
|
||||
namespace reallife_gamemode.Server.Managers
|
||||
{
|
||||
public class InventoryManager
|
||||
{
|
||||
public static IItem GetItemById(this int id, DatabaseContext context = null)
|
||||
{
|
||||
return
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user