Files
reallife-gamemode/ReallifeGamemode.Server/Events/Disconnect.cs
Lennart Kampshoff a88d5256a8 formatted code
2019-05-05 17:59:11 +02:00

55 lines
1.6 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using GTANetworkAPI;
using ReallifeGamemode.Server.Extensions;
using ReallifeGamemode.Server.Models;
/**
* @overview Life of German Reallife - Event Login (Login.cs)
* @author VegaZ
* @copyright (c) 2008 - 2018 Life of German
*/
namespace ReallifeGamemode.Server.Events
{
public class Disconnect : Script
{
[ServerEvent(Event.PlayerDisconnected)]
public void OnPlayerDisconnected(Client player, DisconnectionType type, string reason)
{
if (!player.IsLoggedIn()) return;
if (type == DisconnectionType.Left)
{
NAPI.Util.ConsoleOutput(player.Name + " left");
}
if (type == DisconnectionType.Kicked)
{
NAPI.Util.ConsoleOutput(player.Name + " kicked");
}
if (type == DisconnectionType.Timeout)
{
NAPI.Util.ConsoleOutput(player.Name + " Timeoutet");
}
using (var saveUser = new DatabaseContext())
{
var user = player.GetUser(saveUser);
Vector3 pos = player.Position;
if (!float.IsNaN(pos.X) && !float.IsNaN(pos.Y) && !float.IsNaN(pos.Z))
{
user.PositionX = pos.X;
user.PositionY = pos.Y;
user.PositionZ = pos.Z;
saveUser.SaveChanges();
}
user.Dead = player.HasData("isDead") ? player.GetData("isDead") : false;
}
player.SetData("isLoggedIn", false);
}
}
}