private void OnClientEventTrigger(Client sender, string eventName, params object[] arguments) { switch (eventName) { case "onLoginSubmitted": Login(sender, arguments[0].ToString(), arguments[1].ToString()); break; case "player-selected": API.sendNativeToPlayer(sender, Hash._TRANSITION_FROM_BLURRED, 8.0); Player newPlayer = Master.MasterData.Single(m => m.Client == sender).Players[(int)arguments[0]]; newPlayer.Client = sender; Console.WriteLine("here"); newPlayer.MasterAccount = Master.MasterData.Single(m => m.Client == sender); PlayerInit(newPlayer); sender.FadeOutIn(200, 1000); break; case "CreateNewCharacter": API.sendNativeToPlayer(sender, Hash._TRANSITION_FROM_BLURRED, 8.0); sender.setSkin((PedHash)PedSkins.Gender.Where(p => p.Value == 0).ElementAt(new Random().Next(0, PedSkins.Gender.Count(p => p.Value == 0))).Key); sender.FadeOutIn(300, 2000); sender.position = new Vector3(9.284171, 6512.242, 31.87785); sender.rotation = new Vector3(0, 0, 310); sender.playAnimation("amb@world_human_hang_out_street@male_b@base", "base", 0); sender.dimension = Globals.GetPlayerID(sender) + 1; break; case "CreateCharUsernameCheck": API.triggerClientEvent(sender, "createCharUsernameResult", PlayerRepository.GetPlayersWithUsernameCount(arguments[0].ToString())); break; case "CancelCharCreate": Master ma = Master.MasterData.Single(me => me.Client == sender); string[] charNames = new string[5]; List <string> charImgs = new List <string>() { "", "", "", "", "" }; string[] factions = new string[5]; int count = 0; foreach (Player p in ma.Players) { charNames[count] = p.Username.Roleplay(); charImgs[count] = p.Skin == 797459875 ? Images.SkinBlobs[p.Skin] : ""; if (p.FactionId != 0) { factions[count] = $"{FactionRepository.GetFactionById(p.FactionId).Name}<br/>{RankRepository.GetRankByFactionAndId(p.FactionId, p.FactionRank).Title}"; } else { factions[count] = "Civilian"; } count++; } API.triggerClientEvent(sender, "playerLogResult", "success", ma.Players.Count, string.Join(",", charNames), string.Join(",", factions), string.Join(".", charImgs)); API.triggerClientEvent(sender, "showLoginCam"); break; case "CreateNewCharacterProceed": CreateCharacter(sender, arguments[0].ToString(), (int)arguments[1], new DateTime((int)arguments[4], (int)arguments[3], (int)arguments[2])); break; case "CreateCharacterChangeGender": if ((int)arguments[0] == 0) { sender.setSkin((PedHash)PedSkins.Gender.Where(p => p.Value == 0).ElementAt(new Random().Next(0, PedSkins.Gender.Count(p => p.Value == 0))).Key); } else { sender.setSkin((PedHash)PedSkins.Gender.Where(p => p.Value == 1).ElementAt(new Random().Next(0, PedSkins.Gender.Count(p => p.Value == 1))).Key); } break; case "SkinSelectCategory": SelectSkinCategory(sender, (int)arguments[0]); break; case "SkinSelectChange": SelectSkinChange(sender, (int)arguments[0]); break; case "SkinCustomisationOptions": GetSkinCustomisationOptions(sender, (int)arguments[0]); break; case "SkinCustomTypeChange": SkinCustomTypeChange(sender, (int)arguments[0], (int)arguments[1], (int)arguments[2]); break; case "SkinCustomTextureChange": SkinCustomTextureChange(sender, (int)arguments[0], (int)arguments[1], (int)arguments[2]); break; case "CreateCharacterComplete": CompleteCharCreation(sender); break; } }
public async void Login(Client sender, string username, string password) { Master masterAccount; if (username.Contains("@")) { masterAccount = await MasterRepository.GetMasterDataByEmail(username); } else { masterAccount = await MasterRepository.GetMasterDataByName(username); } if (masterAccount != null) { if (Crypter.CheckPassword(password, masterAccount.Password)) { string[] charNames = new string[5]; List <string> charImgs = new List <string>() { "", "", "", "", "" }; string[] factions = new string[5]; masterAccount.Players = await PlayerRepository.GetAllPlayerDataByMasterAccount(masterAccount); masterAccount.Client = sender; int count = 0; foreach (Player p in masterAccount.Players) { charNames[count] = p.Username.Roleplay(); charImgs[count] = p.Skin == 797459875 ? Images.SkinBlobs[p.Skin] : ""; if (p.FactionId != 0) { factions[count] = $"{FactionRepository.GetFactionById(p.FactionId).Name}<br/>{RankRepository.GetRankByFactionAndId(p.FactionId, p.FactionRank).Title}"; } else { factions[count] = "Civilian"; } count++; } Master.MasterData.Add(masterAccount); API.triggerClientEvent(sender, "playerLogResult", "success", masterAccount.Players.Count, string.Join(",", charNames), string.Join(",", factions), string.Join(".", charImgs)); masterAccount.LatestLogin = Server.Date; masterAccount.LatestIP = sender.address; masterAccount.ActiveConnectionLog = new ConnectionLog(masterAccount.Id, -1, API.getPlayerAddress(sender)); ConnectionLogRepository.AddNew(masterAccount.ActiveConnectionLog); MasterRepository.UpdateAsync(masterAccount); masterAccount.AdminLevel = 6; } else { API.triggerClientEvent(sender, "playerLogResult", "incorrect-pass"); API.SendErrorNotification(sender, "You have entered an incorrect password"); } } else { API.triggerClientEvent(sender, "playerLogResult", "invalid-user"); API.SendErrorNotification(sender, "You have entered an invalid username"); } }