diff --git a/ReallifeGamemode.Client/assets/html/inventory/img/inventory/106.svg b/ReallifeGamemode.Client/assets/html/inventory/img/inventory/106.svg
new file mode 100644
index 00000000..2070c087
--- /dev/null
+++ b/ReallifeGamemode.Client/assets/html/inventory/img/inventory/106.svg
@@ -0,0 +1,110 @@
+
+
+
+
diff --git a/ReallifeGamemode.Client/dlcpacks/ballas_weaponrack/dlc.rpf b/ReallifeGamemode.Client/dlcpacks/ballas_weaponrack/dlc.rpf
new file mode 100644
index 00000000..64c9675b
--- /dev/null
+++ b/ReallifeGamemode.Client/dlcpacks/ballas_weaponrack/dlc.rpf
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:6c1a845cfe60c75b75dd72add91c3bb7e6890c4df6cb10649be3740416b34d17
+size 3076608
diff --git a/ReallifeGamemode.Server/Events/Login.cs b/ReallifeGamemode.Server/Events/Login.cs
index 2966c9d0..3ce33dad 100644
--- a/ReallifeGamemode.Server/Events/Login.cs
+++ b/ReallifeGamemode.Server/Events/Login.cs
@@ -105,11 +105,11 @@ namespace ReallifeGamemode.Server.Events
string addInfoStr = " (IP: " + player.Address + ")";
- if(!string.IsNullOrEmpty(message))
+ if (!string.IsNullOrEmpty(message))
{
ChatService.BroadcastAdmin(message, AdminLevel.MAPPING, admin =>
{
- if(admin.HasData("togip"))
+ if (admin.HasData("togip"))
{
return addInfoStr;
}
@@ -170,7 +170,7 @@ namespace ReallifeGamemode.Server.Events
}
}, delayTime: 1000);
- if(GlobalHelper.CountdownUntil > DateTime.Now)
+ if (GlobalHelper.CountdownUntil > DateTime.Now)
{
player.TriggerEvent("countdown", (GlobalHelper.CountdownUntil - DateTime.Now).TotalSeconds, GlobalHelper.CountdownText);
}
diff --git a/ReallifeGamemode.Server/Inventory/Items/Aal.cs b/ReallifeGamemode.Server/Inventory/Items/Aal.cs
index 40855cb9..bb628aa0 100644
--- a/ReallifeGamemode.Server/Inventory/Items/Aal.cs
+++ b/ReallifeGamemode.Server/Inventory/Items/Aal.cs
@@ -13,7 +13,6 @@ namespace ReallifeGamemode.Server.Inventory.Items
public override string Description => "Ein Fisch";
public override int Gewicht => 3600;
public override string Einheit => "g";
- public override int HpAmount => 20;
public override uint Object => 786272259;
public override int Price => 0;
}
diff --git a/ReallifeGamemode.Server/Inventory/Items/Apfel.cs b/ReallifeGamemode.Server/Inventory/Items/Apfel.cs
index d02026c4..cf426569 100644
--- a/ReallifeGamemode.Server/Inventory/Items/Apfel.cs
+++ b/ReallifeGamemode.Server/Inventory/Items/Apfel.cs
@@ -17,8 +17,8 @@ namespace ReallifeGamemode.Server.Inventory.Items
public override string Einheit => "g";
public override int HpAmount => 10;
public override uint Object => 2240524752;
- public override int Price => 20;
- public override float Cooldown => 5000;
+ public override int Price => 200;
+ public override float Cooldown => 10000;
public override void Consume(UserItem uItem)
{
diff --git a/ReallifeGamemode.Server/Inventory/Items/AssaultRifle.cs b/ReallifeGamemode.Server/Inventory/Items/AssaultRifle.cs
index ba5ded6a..4c30ab54 100644
--- a/ReallifeGamemode.Server/Inventory/Items/AssaultRifle.cs
+++ b/ReallifeGamemode.Server/Inventory/Items/AssaultRifle.cs
@@ -4,15 +4,14 @@ using System.Text;
namespace ReallifeGamemode.Server.Inventory.Items
{
- class AssaultRifle : WeaponDealItem
+ internal class AssaultRifle : WeaponDealItem
{
- public override int Id => 13;
- public override string Name => "AssaultRifle";
- public override string Description => "Waffe";
- public override int Gewicht => 500;
- public override string Einheit => "g";
- public override uint Object => 3666746839; //3061944032
- public override int Price => 0;
+ public override int Id => 13;
+ public override string Name => "AssaultRifle";
+ public override string Description => "Waffe";
+ public override int Gewicht => 4780;
+ public override string Einheit => "g";
+ public override uint Object => 3666746839; //3061944032
+ public override int Price => 0;
}
}
-
diff --git a/ReallifeGamemode.Server/Inventory/Items/AssaultSmg.cs b/ReallifeGamemode.Server/Inventory/Items/AssaultSmg.cs
index 573b8349..bb68cc52 100644
--- a/ReallifeGamemode.Server/Inventory/Items/AssaultSmg.cs
+++ b/ReallifeGamemode.Server/Inventory/Items/AssaultSmg.cs
@@ -4,15 +4,14 @@ using System.Text;
namespace ReallifeGamemode.Server.Inventory.Items
{
- class AssaultSmg : WeaponDealItem
+ internal class AssaultSmg : WeaponDealItem
{
public override int Id => 14;
public override string Name => "AssaultSmg";
public override string Description => "Waffe";
- public override int Gewicht => 500;
+ public override int Gewicht => 2300;
public override string Einheit => "g";
public override uint Object => 3666746839; //3061944032
public override int Price => 0;
}
}
-
diff --git a/ReallifeGamemode.Server/Inventory/Items/Baklava.cs b/ReallifeGamemode.Server/Inventory/Items/Baklava.cs
index 67f3cd56..d680bac3 100644
--- a/ReallifeGamemode.Server/Inventory/Items/Baklava.cs
+++ b/ReallifeGamemode.Server/Inventory/Items/Baklava.cs
@@ -10,7 +10,7 @@ namespace ReallifeGamemode.Server.Inventory.Items
{
internal class Baklava : ConsumableItem
{
- public override int Id => 104;
+ public override int Id => 105;
public override string Name => "Baklava";
public override string Description => "Dessert für dannach.";
public override int Gewicht => 100;
@@ -19,7 +19,7 @@ namespace ReallifeGamemode.Server.Inventory.Items
public override uint Object => 2240524752;
public override int Price => 300;
- public override float Cooldown => 10000;
+ public override float Cooldown => 20000;
public override void Consume(UserItem uItem)
{
diff --git a/ReallifeGamemode.Server/Inventory/Items/Barsch.cs b/ReallifeGamemode.Server/Inventory/Items/Barsch.cs
index 2ba5ffc5..561a1700 100644
--- a/ReallifeGamemode.Server/Inventory/Items/Barsch.cs
+++ b/ReallifeGamemode.Server/Inventory/Items/Barsch.cs
@@ -13,7 +13,6 @@ namespace ReallifeGamemode.Server.Inventory.Items
public override string Description => "Ein Fisch";
public override int Gewicht => 2600;
public override string Einheit => "g";
- public override int HpAmount => 20;
public override uint Object => 786272259;
public override int Price => 0;
}
diff --git a/ReallifeGamemode.Server/Inventory/Items/Bier.cs b/ReallifeGamemode.Server/Inventory/Items/Bier.cs
index efa3615f..99fc67a5 100644
--- a/ReallifeGamemode.Server/Inventory/Items/Bier.cs
+++ b/ReallifeGamemode.Server/Inventory/Items/Bier.cs
@@ -9,12 +9,12 @@ namespace ReallifeGamemode.Server.Inventory.Items
{
public override int Id => 102;
public override string Name => "Bier";
- public override string Description => "Ein Bier";
- public override int Gewicht => 10;
+ public override string Description => "Ein Kolben";
+ public override int Gewicht => 500;
public override string Einheit => "g";
public override int HpAmount => 10;
public override uint Object => 2240524752;
- public override int Price => 20;
+ public override int Price => 50;
public override float Cooldown => 1000;
diff --git a/ReallifeGamemode.Server/Inventory/Items/Cannabis.cs b/ReallifeGamemode.Server/Inventory/Items/Cannabis.cs
index 4ff04a7c..a0845bd6 100644
--- a/ReallifeGamemode.Server/Inventory/Items/Cannabis.cs
+++ b/ReallifeGamemode.Server/Inventory/Items/Cannabis.cs
@@ -1,4 +1,5 @@
-using ReallifeGamemode.Server.Inventory.Interfaces;
+using ReallifeGamemode.Database.Entities;
+using ReallifeGamemode.Server.Inventory.Interfaces;
/**
* @overview Life of German Reallife - Inventory Items Hamburger (Hamburger.cs)
@@ -8,14 +9,29 @@
namespace ReallifeGamemode.Server.Inventory.Items
{
- public class Cannabis : IDroppableItem
+ public class Cannabis : ConsumableItem
{
- public int Id => 30;
- public string Name => "Grünes Gift";
- public string Description => "puff puff and pass";
- public int Gewicht => 50;
- public string Einheit => "g";
- public uint Object => 3076948544;
- public int Price => 0;
+ public override int Id => 108;
+
+ public override string Name => "Grünes Gift";
+
+ public override string Description => "puff puff and pass";
+
+ public override int Gewicht => 2;
+
+ public override string Einheit => "g";
+
+ public override uint Object => 3076948544;
+
+ public override int Price => 0;
+
+ public override int HpAmount => -5;
+
+ public override float Cooldown => 20000;
+
+ public override void Consume(UserItem uItem)
+ {
+ //nothing
+ }
}
}
diff --git a/ReallifeGamemode.Server/Inventory/Items/CarbineRifle.cs b/ReallifeGamemode.Server/Inventory/Items/CarbineRifle.cs
index b37f581b..d12ba083 100644
--- a/ReallifeGamemode.Server/Inventory/Items/CarbineRifle.cs
+++ b/ReallifeGamemode.Server/Inventory/Items/CarbineRifle.cs
@@ -11,7 +11,7 @@ namespace ReallifeGamemode.Server.Inventory.Items
public override int Id => 6;
public override string Name => "CarbineRifle";
public override string Description => "Waffe";
- public override int Gewicht => 500;
+ public override int Gewicht => 3200;
public override string Einheit => "g";
public override uint Object => 3666746839; //3061944032
public override int Price => 0;
diff --git a/ReallifeGamemode.Server/Inventory/Items/Cheeseburger.cs b/ReallifeGamemode.Server/Inventory/Items/Cheeseburger.cs
index bc14d8a5..925302c8 100644
--- a/ReallifeGamemode.Server/Inventory/Items/Cheeseburger.cs
+++ b/ReallifeGamemode.Server/Inventory/Items/Cheeseburger.cs
@@ -21,7 +21,7 @@ namespace ReallifeGamemode.Server.Inventory.Items
public override int HpAmount => 20;
public override uint Object => 2240524752;
public override int Price => 150;
- public override float Cooldown => 4000;
+ public override float Cooldown => 7000;
public override void Consume(UserItem uItem)
{
diff --git a/ReallifeGamemode.Server/Inventory/Items/Chips.cs b/ReallifeGamemode.Server/Inventory/Items/Chips.cs
index 81cb02de..00d86433 100644
--- a/ReallifeGamemode.Server/Inventory/Items/Chips.cs
+++ b/ReallifeGamemode.Server/Inventory/Items/Chips.cs
@@ -19,7 +19,7 @@ namespace ReallifeGamemode.Server.Inventory.Items
public override uint Object => 2240524752;
public override int Price => 5;
- public override float Cooldown => 3500;
+ public override float Cooldown => 5500;
public override void Consume(UserItem uItem)
{
diff --git a/ReallifeGamemode.Server/Inventory/Items/Cocain.cs b/ReallifeGamemode.Server/Inventory/Items/Cocain.cs
index a396a079..60e5000c 100644
--- a/ReallifeGamemode.Server/Inventory/Items/Cocain.cs
+++ b/ReallifeGamemode.Server/Inventory/Items/Cocain.cs
@@ -10,7 +10,7 @@ namespace ReallifeGamemode.Server.Inventory.Items
{
public class Cocain : ConsumableItem
{
- public override int Id => 31;
+ public override int Id => 107;
public override string Name => "Koks";
public override string Description => "Rave";
public override int Gewicht => 2;
@@ -19,7 +19,7 @@ namespace ReallifeGamemode.Server.Inventory.Items
public override uint Object => 2240524752;
public override int Price => 0;
- public override float Cooldown => throw new System.NotImplementedException();
+ public override float Cooldown => 20000;
public override void Consume(UserItem uItem)
{
diff --git a/ReallifeGamemode.Server/Inventory/Items/CombatPDW.cs b/ReallifeGamemode.Server/Inventory/Items/CombatPDW.cs
index 7247cbcd..f41538ea 100644
--- a/ReallifeGamemode.Server/Inventory/Items/CombatPDW.cs
+++ b/ReallifeGamemode.Server/Inventory/Items/CombatPDW.cs
@@ -4,15 +4,14 @@ using System.Text;
namespace ReallifeGamemode.Server.Inventory.Items
{
- class CombatPDW : WeaponDealItem
+ internal class CombatPDW : WeaponDealItem
{
- public override int Id => 12;
- public override string Name => "CombatPDW";
- public override string Description => "Waffe";
- public override int Gewicht => 500;
- public override string Einheit => "g";
- public override uint Object => 3666746839; //3061944032
- public override int Price => 0;
+ public override int Id => 12;
+ public override string Name => "CombatPDW";
+ public override string Description => "Waffe";
+ public override int Gewicht => 2300;
+ public override string Einheit => "g";
+ public override uint Object => 3666746839; //3061944032
+ public override int Price => 0;
}
}
-
diff --git a/ReallifeGamemode.Server/Inventory/Items/Combatpstiol.cs b/ReallifeGamemode.Server/Inventory/Items/Combatpstiol.cs
index f2034664..f442a7d0 100644
--- a/ReallifeGamemode.Server/Inventory/Items/Combatpstiol.cs
+++ b/ReallifeGamemode.Server/Inventory/Items/Combatpstiol.cs
@@ -4,12 +4,12 @@ using System.Text;
namespace ReallifeGamemode.Server.Inventory.Items
{
- class Combatpstiol : WeaponDealItem
+ internal class Combatpstiol : WeaponDealItem
{
public override int Id => 4;
public override string Name => "Combatpistol";
public override string Description => "Waffe";
- public override int Gewicht => 500;
+ public override int Gewicht => 950;
public override string Einheit => "g";
public override uint Object => 3666746839; //3061944032
public override int Price => 0;
diff --git a/ReallifeGamemode.Server/Inventory/Items/ConsumableItem.cs b/ReallifeGamemode.Server/Inventory/Items/ConsumableItem.cs
index 5c0d202b..26248d69 100644
--- a/ReallifeGamemode.Server/Inventory/Items/ConsumableItem.cs
+++ b/ReallifeGamemode.Server/Inventory/Items/ConsumableItem.cs
@@ -1,8 +1,10 @@
-using GTANetworkAPI;
+using System;
+using GTANetworkAPI;
using ReallifeGamemode.Database.Entities;
using ReallifeGamemode.Server.Extensions;
using ReallifeGamemode.Server.Inventory.Interfaces;
using ReallifeGamemode.Server.Managers;
+using ReallifeGamemode.Server.Util;
namespace ReallifeGamemode.Server.Inventory.Items
{
@@ -23,14 +25,36 @@ namespace ReallifeGamemode.Server.Inventory.Items
public bool Use(UserItem uItem)
{
User user = uItem.GetUser();
- if (user.Player.IsLoggedIn() && InventoryManager.itemCooldown.ContainsKey(user.Player))
+ if (user.Player == null || !user.Player.IsLoggedIn())
+ return false;
+
+ if (InventoryManager.itemCooldown.ContainsKey(user.Player))
{
- uItem.GetUser().Player.TriggerEvent("Error", "Du kannst dieses Item nicht benutzen.");
+ PlayerTimer timer = InventoryManager.itemCooldown[user.Player];
+ int timeToNextUse = (int)(timer.startTime - DateTime.Now).TotalSeconds;
+ uItem.GetUser().Player.TriggerEvent("Error", $"Versuche es nach {timeToNextUse} Sekunden erneut.");
return false;
}
-
+ PlayerTimer playerTimer = new PlayerTimer(user.Player, this, Cooldown);
+ playerTimer.Elapsed += _CooldownElapse;
+ InventoryManager.itemCooldown.Add(user.Player, playerTimer);
Consume(uItem);
return true;
}
+
+ private void _CooldownElapse(Player player, dynamic usableItem)
+ {
+ NAPI.Task.Run(() =>
+ {
+ if (player == null || !player.IsLoggedIn())
+ return;
+
+ if (!InventoryManager.itemCooldown.ContainsKey(player))
+ return;
+
+ InventoryManager.itemCooldown[player].Stop();
+ InventoryManager.itemCooldown.Remove(player);
+ });
+ }
}
}
diff --git a/ReallifeGamemode.Server/Inventory/Items/DropItem.cs b/ReallifeGamemode.Server/Inventory/Items/DropItem.cs
index f00121a0..52bf1fc2 100644
--- a/ReallifeGamemode.Server/Inventory/Items/DropItem.cs
+++ b/ReallifeGamemode.Server/Inventory/Items/DropItem.cs
@@ -8,7 +8,6 @@ namespace ReallifeGamemode.Server.Inventory.Items
{
public abstract class DropItem : IDroppableItem
{
- public abstract int HpAmount { get; }
public abstract int Id { get; }
public abstract string Name { get; }
public abstract string Description { get; }
diff --git a/ReallifeGamemode.Server/Inventory/Items/Döner.cs b/ReallifeGamemode.Server/Inventory/Items/Döner.cs
new file mode 100644
index 00000000..599843d1
--- /dev/null
+++ b/ReallifeGamemode.Server/Inventory/Items/Döner.cs
@@ -0,0 +1,39 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+using GTANetworkAPI;
+using ReallifeGamemode.Database.Entities;
+using ReallifeGamemode.Server.Extensions;
+using ReallifeGamemode.Server.Managers;
+
+namespace ReallifeGamemode.Server.Inventory.Items
+{
+ internal class Döner : ConsumableItem
+ {
+ public override int Id => 106;
+ public override string Name => "Döner";
+ public override string Description => "Von Emre selbst gemacht.";
+ public override int Gewicht => 500;
+ public override string Einheit => "g";
+ public override int HpAmount => 80;
+ public override uint Object => 2240524752;
+ public override int Price => 50000;
+
+ public override float Cooldown => 15000;
+
+ public override void Consume(UserItem uItem)
+ {
+ Player player = uItem.GetUser().Player;
+
+ int amountToAdd = HpAmount;
+ if (player.Health + amountToAdd > 100)
+ {
+ amountToAdd = 100 - player.Health;
+ }
+
+ player.SafeSetHealth(player.Health + amountToAdd);
+ player.SendNotification("Du hast ein ~y~" + Name + " ~s~gegessen.", false);
+ InventoryManager.RemoveUserItem(player.GetUser(), uItem, 1);
+ }
+ }
+}
diff --git a/ReallifeGamemode.Server/Inventory/Items/Flunder.cs b/ReallifeGamemode.Server/Inventory/Items/Flunder.cs
index b708bef6..3059d217 100644
--- a/ReallifeGamemode.Server/Inventory/Items/Flunder.cs
+++ b/ReallifeGamemode.Server/Inventory/Items/Flunder.cs
@@ -13,7 +13,6 @@ namespace ReallifeGamemode.Server.Inventory.Items
public override string Description => "Ein Fisch";
public override int Gewicht => 7700;
public override string Einheit => "g";
- public override int HpAmount => 20;
public override uint Object => 786272259;
public override int Price => 0;
}
diff --git a/ReallifeGamemode.Server/Inventory/Items/Holz.cs b/ReallifeGamemode.Server/Inventory/Items/Holz.cs
index a3fd3361..d5e87929 100644
--- a/ReallifeGamemode.Server/Inventory/Items/Holz.cs
+++ b/ReallifeGamemode.Server/Inventory/Items/Holz.cs
@@ -8,14 +8,18 @@
namespace ReallifeGamemode.Server.Inventory.Items
{
- public class Holz : IDroppableItem
+ public class Holz : DropItem
{
- public int Id => 32;
- public string Name => "Holz";
- public string Description => "Ich und mein Holz.";
- public int Gewicht => 650;
- public string Einheit => "g";
- public uint Object => 1805779401;
- public int Price => 0;
+ public override int Id => 20;
+
+ public override string Name => "Holz";
+
+ public override string Description => "Ich und mein Holz.";
+ public override int Gewicht => 650;
+ public override string Einheit => "g";
+
+ public override uint Object => 1805779401;
+
+ public override int Price => 0;
}
}
diff --git a/ReallifeGamemode.Server/Inventory/Items/Lachs.cs b/ReallifeGamemode.Server/Inventory/Items/Lachs.cs
index bb808651..eeed8533 100644
--- a/ReallifeGamemode.Server/Inventory/Items/Lachs.cs
+++ b/ReallifeGamemode.Server/Inventory/Items/Lachs.cs
@@ -13,7 +13,6 @@ namespace ReallifeGamemode.Server.Inventory.Items
public override string Description => "Du Lachs";
public override int Gewicht => 4200;
public override string Einheit => "g";
- public override int HpAmount => 20;
public override uint Object => 786272259;
public override int Price => 0;
}
diff --git a/ReallifeGamemode.Server/Inventory/Items/Thunfisch.cs b/ReallifeGamemode.Server/Inventory/Items/Thunfisch.cs
index 229a46f1..f4628797 100644
--- a/ReallifeGamemode.Server/Inventory/Items/Thunfisch.cs
+++ b/ReallifeGamemode.Server/Inventory/Items/Thunfisch.cs
@@ -13,7 +13,6 @@ namespace ReallifeGamemode.Server.Inventory.Items
public override string Description => "Ein Fisch";
public override int Gewicht => 11000;
public override string Einheit => "g";
- public override int HpAmount => 20;
public override uint Object => 786272259;
public override int Price => 0;
}
diff --git a/ReallifeGamemode.Server/Inventory/Items/Zander.cs b/ReallifeGamemode.Server/Inventory/Items/Zander.cs
index 2ed0ad82..72d92337 100644
--- a/ReallifeGamemode.Server/Inventory/Items/Zander.cs
+++ b/ReallifeGamemode.Server/Inventory/Items/Zander.cs
@@ -13,7 +13,6 @@ namespace ReallifeGamemode.Server.Inventory.Items
public override string Description => "Ein Fisch";
public override int Gewicht => 5000;
public override string Einheit => "g";
- public override int HpAmount => 20;
public override uint Object => 786272259;
public override int Price => 0;
}
diff --git a/ReallifeGamemode.Server/Job/BusDriverJob.cs b/ReallifeGamemode.Server/Job/BusDriverJob.cs
index e8eee500..d944b8c3 100644
--- a/ReallifeGamemode.Server/Job/BusDriverJob.cs
+++ b/ReallifeGamemode.Server/Job/BusDriverJob.cs
@@ -582,7 +582,7 @@ namespace ReallifeGamemode.Server.Job
player.SendChatMessage("~y~[JOB] ~w~Bist du nicht in 30 Sekunden zurück, ~r~wird der Job beendet!");
}
- private void JobTimerElapsed(Player player, Vehicle vehicle)
+ private void JobTimerElapsed(Player player, dynamic vehicle)
{
NAPI.Task.Run(() =>
{
diff --git a/ReallifeGamemode.Server/Job/PilotJob.cs b/ReallifeGamemode.Server/Job/PilotJob.cs
index 32b8d941..66751a43 100644
--- a/ReallifeGamemode.Server/Job/PilotJob.cs
+++ b/ReallifeGamemode.Server/Job/PilotJob.cs
@@ -292,7 +292,6 @@ namespace ReallifeGamemode.Server.Job
_CHANGING_VEHICLE.Remove(player);
return;
}
-
if (JobManager.playerTimersJobVehicleRespawn.ContainsKey(player))
{
@@ -310,7 +309,7 @@ namespace ReallifeGamemode.Server.Job
player.SendChatMessage("~y~[JOB] ~w~Bist du nicht in 30 Sekunden zurück, ~r~wird der Job beendet!");
}
- private void JobTimerElapsed(Player player, Vehicle vehicle)
+ private void JobTimerElapsed(Player player, dynamic vehicle)
{
NAPI.Task.Run(() =>
{
diff --git a/ReallifeGamemode.Server/Job/RefuseCollectorJob.cs b/ReallifeGamemode.Server/Job/RefuseCollectorJob.cs
index b682e78e..7edf83be 100644
--- a/ReallifeGamemode.Server/Job/RefuseCollectorJob.cs
+++ b/ReallifeGamemode.Server/Job/RefuseCollectorJob.cs
@@ -180,7 +180,7 @@ namespace ReallifeGamemode.Server.Job
public void MuellmannJobBeenden(Player player)
{
- if(player == null || !player.IsLoggedIn())
+ if (player == null || !player.IsLoggedIn())
{
return;
}
@@ -440,7 +440,7 @@ namespace ReallifeGamemode.Server.Job
JobManager.playerTimersJobVehicleRespawn[player] = playerTimer;
}
- private void JobTimerElapsed(Player player, Vehicle vehicle)
+ private void JobTimerElapsed(Player player, dynamic vehicle)
{
NAPI.Task.Run(() =>
{
diff --git a/ReallifeGamemode.Server/Util/PlayerTimer.cs b/ReallifeGamemode.Server/Util/PlayerTimer.cs
index b84c1526..3059cfee 100644
--- a/ReallifeGamemode.Server/Util/PlayerTimer.cs
+++ b/ReallifeGamemode.Server/Util/PlayerTimer.cs
@@ -15,7 +15,7 @@ namespace ReallifeGamemode.Server.Util
private readonly Timer timer;
public readonly DateTime startTime;
- public delegate void PlayerTimerElapsed(Player player, Vehicle veh);
+ public delegate void PlayerTimerElapsed(Player player, dynamic dynamic);
public event PlayerTimerElapsed Elapsed;
@@ -29,11 +29,11 @@ namespace ReallifeGamemode.Server.Util
this.timer.Start();
}
- public PlayerTimer(Player player, IUsableItem usableItem, int milliseconds = 1000)
+ public PlayerTimer(Player player, IUsableItem usableItem, float milliseconds = 1000)
{
this.player = player;
this.usableItem = usableItem;
- this.startTime = DateTime.Now;
+ this.startTime = DateTime.Now.AddMilliseconds(milliseconds);
this.timer = new Timer(milliseconds);
this.timer.Elapsed += Timer_Elapsed;
@@ -42,7 +42,10 @@ namespace ReallifeGamemode.Server.Util
private void Timer_Elapsed(object sender, ElapsedEventArgs e)
{
- Elapsed?.Invoke(player, veh);
+ if (veh != null)
+ Elapsed?.Invoke(player, veh);
+ else
+ Elapsed?.Invoke(player, usableItem);
}
public void Stop()