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!"); } } } } }