using System; using System.Collections.Generic; using System.Linq; using System.Text; using GTANetworkAPI; using reallife_gamemode.Model; using reallife_gamemode.Server.Entities; using reallife_gamemode.Server.Managers; using reallife_gamemode.Server.Util; /** * @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!"); //TODO ?? 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"); player.SetData("isLoggedIn", true); player.SetData("spec", true); player.SetData("duty", false); if(user.IsAdmin(AdminLevel.HEADADMIN) == true) { player.SetData("editmode", false); } //var userBankAccount = loginUser.UserBankAccounts.SingleOrDefault(u => u.UserId == user.Id); //userBankAccount.Balance = userBankAccount.Balance; //var userItems = loginUser.UserItems.ToList().FindAll(u => u.UserId == user.Id); //player.SetData("items", userItems); //if (user.CharacterId == null) //{ // var currentPlayerCreatorDimension = (uint) NAPI.Data.GetWorldData("playerCreatorDimension"); // currentPlayerCreatorDimension++; // NAPI.Data.SetWorldData("playerCreatorDimension", currentPlayerCreatorDimension); // player.Dimension = NAPI.Data.GetWorldData("playerCreatorDimension"); // player.Position = new Vector3(402.8664, -996.4108, -99.00027); // player.TriggerEvent("toggleCreator"); //} //else //{ // CharacterCreator.ApplyCharacter(player); // UpdateCharacterCloth.LoadCharacterDefaults(player); NAPI.Player.SpawnPlayer(player, new Vector3(user.PositionX, user.PositionY, user.PositionZ), 0); // player.TriggerEvent("draw", player.Name, player.Handle.Value); //} //if (user.Dead == true) //{ // if (user.IsAdmin(AdminLevel.ADMIN) == true) // { // player.TriggerEvent("startDeathTimer", true); // player.Health = 0; // } // else // { // player.TriggerEvent("startDeathTimer", false); // player.Health = 0; // } // player.SetData("isDead", true); //} //else //{ // player.SetData("isDead", false); //} } } } } } }