fix respawn(dead) after relog

This commit is contained in:
Michael
2020-09-16 16:24:21 +02:00
parent fab7c5b965
commit c895280114
3 changed files with 19 additions and 1 deletions

View File

@@ -63,6 +63,7 @@ namespace ReallifeGamemode.Server.Events
player.TriggerEvent("SERVER:Login_ShowBrowser", registered, disableLightMode); player.TriggerEvent("SERVER:Login_ShowBrowser", registered, disableLightMode);
string msg = "~m~*** " + player.Name + " [" + player.SocialClubName + "] [ID: " + player.Handle.Value + "] (" + player.Address + ")"; string msg = "~m~*** " + player.Name + " [" + player.SocialClubName + "] [ID: " + player.Handle.Value + "] (" + player.Address + ")";
ChatService.BroadcastAdmin(msg, AdminLevel.ADMIN); ChatService.BroadcastAdmin(msg, AdminLevel.ADMIN);
} }
private bool IsPlayerBanned(Player player) private bool IsPlayerBanned(Player player)

View File

@@ -25,7 +25,7 @@ namespace ReallifeGamemode.Server.Events
public class Death : Script public class Death : Script
{ {
[ServerEvent(Event.PlayerDeath)] [ServerEvent(Event.PlayerDeath)]
public void OnPlayerDeath(Player player, Player killer, uint reason) public void OnPlayerDeath(Player player, Player killer, uint reason )
{ {
if (!player.IsLoggedIn()) if (!player.IsLoggedIn())
{ {
@@ -34,6 +34,17 @@ namespace ReallifeGamemode.Server.Events
} }
player.SetData("isDead", true); player.SetData("isDead", true);
using (var userDeath = new DatabaseContext())
{
User userisdead = player.GetUser(userDeath);
userisdead.Dead = true;
userDeath.SaveChanges();
}
//TODO: Zum Full Release entfernen //TODO: Zum Full Release entfernen
ChatService.SendMessage(player, "Du bist durch " + (killer?.Name ?? "Niemanden") + " gestorben: " + reason.ToString()); ChatService.SendMessage(player, "Du bist durch " + (killer?.Name ?? "Niemanden") + " gestorben: " + reason.ToString());

View File

@@ -9,6 +9,8 @@ using ReallifeGamemode.Server.Services;
using ReallifeGamemode.Server.Types; using ReallifeGamemode.Server.Types;
using ReallifeGamemode.Server.Util; using ReallifeGamemode.Server.Util;
using ReallifeGamemode.Server.Wanted; using ReallifeGamemode.Server.Wanted;
using ReallifeGamemode.Database.Entities;
/** /**
* @overview Life of German Reallife - Event Login (Login.cs) * @overview Life of German Reallife - Event Login (Login.cs)
@@ -77,6 +79,7 @@ namespace ReallifeGamemode.Server.Events
user.Wanteds = user.Wanteds; user.Wanteds = user.Wanteds;
if (user.Group != null) if (user.Group != null)
{ {
string msg = $"{player.Name} ist wieder online."; string msg = $"{player.Name} ist wieder online.";
@@ -92,6 +95,7 @@ namespace ReallifeGamemode.Server.Events
ChatService.BroadcastAdmin("!{#FFFF00}*** " + user.Name + " [ID: " + player.Handle.Value + "]" + " hat sich als " + user.AdminLevel.GetName() + " eingeloggt!", AdminLevel.MAPPING); ChatService.BroadcastAdmin("!{#FFFF00}*** " + user.Name + " [ID: " + player.Handle.Value + "]" + " hat sich als " + user.AdminLevel.GetName() + " eingeloggt!", AdminLevel.MAPPING);
} }
var userItems = dbContext.UserItems.Where(u => u.UserId == user.Id).ToList(); var userItems = dbContext.UserItems.Where(u => u.UserId == user.Id).ToList();
player.SetData("items", userItems); player.SetData("items", userItems);
@@ -117,6 +121,8 @@ namespace ReallifeGamemode.Server.Events
break; break;
} }
if (user.CharacterId == null) if (user.CharacterId == null)
{ {
var currentPlayerCreatorDimension = (uint)NAPI.Data.GetWorldData("playerCreatorDimension"); var currentPlayerCreatorDimension = (uint)NAPI.Data.GetWorldData("playerCreatorDimension");