76 lines
2.8 KiB
C#
76 lines
2.8 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using GTANetworkAPI;
|
|
|
|
/**
|
|
* @overview Life of German Reallife - Event Login (Login.cs)
|
|
* @author VegaZ
|
|
* @copyright (c) 2008 - 2018 Life of German
|
|
*/
|
|
|
|
namespace reallife_gamemode.Server.Events
|
|
{
|
|
public class Login : Script
|
|
{
|
|
[RemoteEvent("OnPlayerLogin")]
|
|
public void OnPlayerLogin(Client player, string password)
|
|
{
|
|
using (var loginUser = new Model.DatabaseContext())
|
|
{
|
|
var user = loginUser.Users.SingleOrDefault(b => b.Name == player.Name);
|
|
|
|
if(user == null)
|
|
{
|
|
player.TriggerEvent("loginFail", "Benutzer existiert nicht! Registriere dich zuerst!");
|
|
}
|
|
else
|
|
{
|
|
if (user.SocialClubName != player.SocialClubName && user.Password == NAPI.Util.GetHashSha256(password))
|
|
{
|
|
player.TriggerEvent("loginDeny", "Dieser Benutzer gehört dir nicht!");
|
|
//Log einbauen für den bösen Bub.
|
|
player.Kick();
|
|
}
|
|
if (user.Password != NAPI.Util.GetHashSha256(password))
|
|
{
|
|
player.TriggerEvent("loginFail", "Passwort inkorrekt!");
|
|
}
|
|
else
|
|
{
|
|
player.TriggerEvent("loginSuccess");
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
[RemoteEvent("OnPlayerRegister")]
|
|
public void OnPlayerRegister(Client player, string password)
|
|
{
|
|
using (var checkUser = new Model.DatabaseContext())
|
|
{
|
|
var checkedUser = checkUser.Users.SingleOrDefault(b => b.Name == player.Name);
|
|
if(checkedUser == null)
|
|
{
|
|
using (var registerUser = new Model.DatabaseContext())
|
|
{
|
|
var user = new Entities.User { Name = player.Name, SocialClubName = player.SocialClubName, Password = NAPI.Util.GetHashSha256(password) };
|
|
registerUser.Users.Add(user);
|
|
registerUser.SaveChanges();
|
|
}
|
|
player.TriggerEvent("registerSuccess");
|
|
}
|
|
else if (player.SocialClubName == checkedUser.SocialClubName)
|
|
{
|
|
player.TriggerEvent("registerFail", "Dieser SocialClubAccount ist schon registriert!");
|
|
}
|
|
else if (checkedUser.Name == player.Name)
|
|
{
|
|
player.TriggerEvent("registerFail", "Benutzername existiert schon!");
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|