public static void ExitHouse(HouseInfoGlobalData h) { MenuList.HideMenu(); User.SetVirtualWorld(0); User.Teleport(new Vector3(h.x, h.y, h.z)); //SetEntityCoords(GetPlayerPed(-1), ToFloat(Convert.ToInt32(h.x)), ToFloat(Convert.ToInt32(h.y)), ToFloat(Convert.ToInt32(h.z)), true, false, false, true); }
public static async void EnterHouse(HouseInfoGlobalData h) { if ((int)await Client.Sync.Data.Get(100000 + h.id, "pin") > 0) { if (User.IsAdmin(4)) { Notification.SendWithTime($"~g~Пароль: ~s~{(int) await Client.Sync.Data.Get(100000 + h.id, "pin")}"); } int pass = Convert.ToInt32(await Menu.GetUserInput("Пароль", null, 5)); if (pass == h.pin) { MenuList.HideMenu(); User.SetVirtualWorld(h.id); User.Teleport(new Vector3(h.int_x, h.int_y, h.int_z)); } else { Notification.SendWithTime("~r~Вы не верно ввели пароль"); } } else { MenuList.HideMenu(); User.SetVirtualWorld(h.id); User.Teleport(new Vector3(h.int_x, h.int_y, h.int_z)); } //SetEntityCoords(GetPlayerPed(-1), ToFloat(Convert.ToInt32(h.int_x)), ToFloat(Convert.ToInt32(h.int_y)), ToFloat(Convert.ToInt32(h.int_z)), true, false, false, true); }
public static async void MenuEnterHouse(HouseInfoGlobalData h) { h = await GetAllData(h.id); if (h.id == 0) { Notification.SendWithTime("~r~Произошла ошибка, попробуйте еще раз"); return; } if (h.is_buy) { if (h.int_x == 0) { MenuList.ShowHouseOutExMenu(h); } else { MenuList.ShowHouseOutMenu(h); } } else { MenuList.ShowHouseBuyMenu(h); } }
public static void AddHouseGlobalDataList(dynamic data) { Debug.WriteLine("START LOAD HOUSES"); HouseGlobalDataList.Clear(); /*for (int i = 0; i < HouseWater.Length / 4; i++) * { * var pos = new Vector3((float) HouseWater[i, 0], (float) HouseWater[i, 1], (float) HouseWater[i, 2]); * Checkpoint.Create(pos, 1.4f, "house:water"); * Marker.Create(pos, 1f, 1f, Marker.Blue.R, Marker.Blue.G, Marker.Blue.B, Marker.Blue.A); * }*/ for (int i = 0; i < HouseInts.Length / 3; i++) { var pos = new Vector3((float)HouseInts[i, 0], (float)HouseInts[i, 1], (float)HouseInts[i, 2]); Checkpoint.Create(pos, 1.4f, "house"); Marker.Create(pos, 1f, 1f, Marker.Blue.R, Marker.Blue.G, Marker.Blue.B, Marker.Blue.A); } var localData = (IList <Object>)data; foreach (var item in localData) { try { var hInfo = new HouseInfoGlobalData(); var localItem = (IDictionary <String, Object>)item; foreach (var property in typeof(HouseInfoGlobalData).GetProperties()) { property.SetValue(hInfo, localItem[property.Name], null); } var blip = World.CreateBlip(new Vector3(hInfo.x, hInfo.y, hInfo.z)); blip.Sprite = (BlipSprite)40; //blip.Name = hInfo.is_buy ? "Купленное жильё" : "Свободное жильё"; //blip.Name = ""; blip.Color = hInfo.is_buy ? (BlipColor)59 : (BlipColor)69; blip.IsShortRange = true; blip.Scale = 0.4f; //86 HouseBlipList.Add(hInfo.id.ToString(), blip); Checkpoint.Create(blip.Position, 1.4f, "house"); Marker.Create(blip.Position, 1f, 1f, Marker.Blue.R, Marker.Blue.G, Marker.Blue.B, Marker.Blue.A); HouseGlobalDataList.Add(hInfo); } catch (Exception e) { Debug.WriteLine(e.ToString(), ""); throw; } } Main.FinishLoad(); Debug.WriteLine($"FINISH LOAD HOUSES ({HouseGlobalDataList.Count})"); }
public static async void MenuExitHouse(HouseInfoGlobalData h) { h = await GetAllData(h.id); if (User.GetPlayerVirtualWorld() == h.id) { MenuList.ShowHouseInMenu(h); } }
public static async Task <HouseInfoGlobalData> GetAllData(int id) { var data = await Client.Sync.Data.GetAll(100000 + id); if (data == null) { return(new HouseInfoGlobalData()); } var hData = new HouseInfoGlobalData(); var localData = (IDictionary <String, Object>)data; foreach (var property in typeof(HouseInfoGlobalData).GetProperties()) { property.SetValue(hData, localData[property.Name], null); } return(hData); }
public static void LoadHouse(DataRow row) { var housesObj = new HouseInfoGlobalData() { id = (int)row["id"], address = (string)row["address"], price = (int)row["price"], name_user = (string)row["name_user"], id_user = (int)row["id_user"], is_buy = (bool)row["is_buy"], pin = (int)row["pin"], x = (float)row["x"], y = (float)row["y"], z = (float)row["z"], int_x = (float)row["int_x"], int_y = (float)row["int_y"], int_z = (float)row["int_z"], pid2 = (int)row["pid2"], pid3 = (int)row["pid3"], pid4 = (int)row["pid4"], pid5 = (int)row["pid5"], pid6 = (int)row["pid6"], pid7 = (int)row["pid7"], pid8 = (int)row["pid8"], pid9 = (int)row["pid9"], pid10 = (int)row["pid10"] }; foreach (var property in typeof(HouseInfoGlobalData).GetProperties()) { Server.Sync.Data.Reset(100000 + housesObj.id, property.Name); Server.Sync.Data.Set(100000 + housesObj.id, property.Name, property.GetValue(housesObj, null)); } HouseGlobalDataList.Add(housesObj); MaxHouses++; }
public static async void SellHouse(HouseInfoGlobalData h) { if (Screen.LoadingPrompt.IsActive) { Notification.SendWithTime(Lang.GetTextToPlayer("_lang_34")); return; } Client.Sync.Data.ShowSyncMessage = false; Screen.LoadingPrompt.Show("Обработка запроса, подождите"); await User.GetAllData(); var hData = await GetAllData(h.id); var playerId = User.GetServerId(); if (hData.id == 0) { Notification.SendWithTime(Lang.GetTextToPlayer("_lang_35")); return; } if (hData.id_user != User.Data.id) { //Notification.SendWithTime("~r~Сожителям запрещено продавать дом"); //return; } if (User.Data.id_house == 0) { Notification.SendWithTime("~r~У Вас нет недвижимости"); return; } Client.Sync.Data.Set(playerId, "id_house", 0); await Delay(200); if (await Client.Sync.Data.Get(playerId, "id_house") != 0) { Notification.SendWithTime(Lang.GetTextToPlayer("_lang_32")); return; } var nalog = hData.price * (100 - Coffer.GetNalog()) / 100; User.AddMoney(nalog); Coffer.RemoveMoney(nalog); Main.SaveLog("BuySellHouse", $"[SELL] {User.Data.id} {User.Data.rp_name} | {nalog} | {User.Data.id_house}"); User.Data.id_house = 0; Notification.SendWithTime($"~g~{Coffer.GetNalog()}%\n~s~Получено: ~g~${nalog:#,#}"); if (User.Data.reg_status != 3) { Client.Sync.Data.Set(playerId, "reg_time", 28); Client.Sync.Data.Set(playerId, "reg_status", 1); } TriggerServerEvent("ARP:UpdateHouseInfo", "", 0, 0, hData.id); User.SaveAccount(); MenuList.HideMenu(); await User.GetAllData(); Screen.LoadingPrompt.Hide(); Client.Sync.Data.ShowSyncMessage = true; }
public static async void BuyHouse(HouseInfoGlobalData h) { await User.GetAllData(); var hData = await GetAllData(h.id); var playerId = User.GetServerId(); if (hData.id == 0) { Notification.SendWithTime(Lang.GetTextToPlayer("_lang_35")); return; } if (hData.id_user != 0) { Notification.SendWithTime("~r~Недвижимость уже куплена"); return; } if (User.Data.id_house != 0) { Notification.SendWithTime("~r~У Вас уже есть недвижимость"); return; } if (User.GetMoneyWithoutSync() < hData.price) { Notification.SendWithTime(Lang.GetTextToPlayer("_lang_2")); return; } Client.Sync.Data.Set(playerId, "id_house", hData.id); await Delay(200); if (await Client.Sync.Data.Get(playerId, "id_house") == 0) { Notification.SendWithTime(Lang.GetTextToPlayer("_lang_32")); return; } User.RemoveMoney(hData.price); Coffer.AddMoney(hData.price); User.Data.id_house = hData.id; Main.SaveLog("BuySellHouse", $"[BUY] {User.Data.id} {User.Data.rp_name} | {hData.price} | {User.Data.id_house}"); Notification.SendWithTime("~g~Поздравляем с покупкой недвижимости"); if (User.Data.reg_status != 3) { Client.Sync.Data.Set(playerId, "reg_time", 372); Client.Sync.Data.Set(playerId, "reg_status", 2); } TriggerServerEvent("ARP:UpdateHouseInfo", User.Data.rp_name, User.Data.id, 1, hData.id); User.SaveAccount(); MenuList.HideMenu(); await Delay(10000); await User.GetAllData(); }