private async void OnClientResourceStart(string _resourceName) { if (_resourceName == MainClient.ResourceName()) { Utils.DebugLine("Resource Started!", "CSessionManager"); MainClient.GetInstance().SetNUIFocus(false, false); int maxThreshhold = 2000; int timeStamp = Game.GameTime; Screen.LoadingPrompt.Show("Loading Interface", LoadingSpinnerType.Clockwise3); Game.Player.CanControlCharacter = false; Game.Player.IsInvincible = true; do { await BaseScript.Delay(1000); } while ((timeStamp + maxThreshhold) > Game.GameTime); do { await BaseScript.Delay(1000); } while (!NUIReady); Screen.LoadingPrompt.Hide(); API.ShutdownLoadingScreen(); Game.Player.CanControlCharacter = true; Game.Player.IsInvincible = false; MainClient.TriggerServerEvent("Laced:CreateSession"); } }
public void RegisterNUICallbacks() { MainClient.GetInstance().RegisterNUICallback("laced_inventory_close", CloseInventory); MainClient.GetInstance().RegisterNUICallback("laced_inventory_use", UseItem); MainClient.GetInstance().RegisterNUICallback("laced_inventory_take", TakeItem); }
public CommandManager() { MainClient.GetInstance().RegisterEventHandler("Laced:AdminSpawnVehicle", new Action <string, string>(AdminSpawnVehicle)); MainClient.GetInstance().RegisterEventHandler("Laced:ChangeCharacter", new Action <string, string>(ChangeCharacter)); MainClient.GetInstance().RegisterEventHandler("Laced:GetCharacterPosition", new Action <string>(GetCharacterPosition)); MainClient.GetInstance().RegisterEventHandler("Laced:AdminGiveWeapon", new Action <string, string>(AdminGiveWeapon)); }
private void CloseInventory(dynamic _data, CallbackDelegate _callback) { MainClient.GetInstance().SetNUIFocus(false, false); UnregisterNUICallbacks(); _callback(new { ok = true }); }
private static async void SelectCharacter(dynamic _data, CallbackDelegate _callback) { await MainClient.Delay(500); MainClient.GetInstance().SetNUIFocus(false, false); MainClient.TriggerServerEvent("Laced:SelectCharacter", _data.id); UnregisterCharacterNUICallbacks(); _ = _callback(new { ok = true }); }
public static void RegisterCharacterNUICallbacks() { MainClient.GetInstance().RegisterNUICallback("laced_character_create", CreateCharacter); MainClient.GetInstance().RegisterNUICallback("laced_character_select", SelectCharacter); MainClient.GetInstance().RegisterNUICallback("laced_character_delete", DeleteCharacter); MainClient.GetInstance().RegisterNUICallback("laced_disconnect", NUIDisconnect); Utils.DebugLine("Registered character NUI callbacks!", "CSessionManager"); }
public static void UnregisterCharacterNUICallbacks() { MainClient.GetInstance().UnregisterNUICallback("laced_character_create"); MainClient.GetInstance().UnregisterNUICallback("laced_character_select"); MainClient.GetInstance().UnregisterNUICallback("laced_character_delete"); MainClient.GetInstance().UnregisterNUICallback("laced_disconnect"); Utils.DebugLine("Unregistered character NUI callbacks!", "CSessionManager"); }
private void InventoryOpen() { RegisterNUICallbacks(); MainClient.GetInstance().SetNUIFocus(true, true); List <InventoryItem> ContainerInventory = new List <InventoryItem>(); MainClient.GetInstance().SendNUIData("laced_inventory", "OpenMenu", JsonConvert.SerializeObject(new { PlayerCharacter.Inventory, ContainerInventory })); }
public void RegisterEventHandlers() { MainClient.GetInstance().RegisterEventHandler("onClientResourceStart", new Action <string>(OnClientResourceStart)); MainClient.GetInstance().RegisterEventHandler("onClientResourceStop", new Action <string>(OnClientResourceStop)); MainClient.GetInstance().RegisterEventHandler("Laced:EnableCharacterSelection", new Action <string>(EnableCharacterSelection)); MainClient.GetInstance().RegisterEventHandler("Laced:UpdateCharacterSelection", new Action <string>(UpdateCharacterSelection)); Utils.DebugLine("Registered Event Handlers!", "CSessionManager"); }
public async static void EnableGarageMenu(Marker _marker) { if (_marker != null) { if (Game.PlayerPed.IsInVehicle() || !Game.Player.IsAlive) { Utils.WriteLine("In a vehicle or dead!"); return; } MainClient.GetInstance().SetNUIFocus(true, true); MainClient.GetInstance().SendNUIData("laced_garage", "OpenMenu", JsonConvert.SerializeObject(SessionManager.PlayerSession.getSelectedCharacter().Garage.garageItems)); await Task.FromResult(0); } }
private static async void BuyCardealerVehicle(dynamic _data, CallbackDelegate _callback) { Utils.WriteLine("Buying cardealer!"); MainClient.TriggerServerEvent("Laced:BuyCardealerVehicle", PlayerSession.getSessionKey(), (string)_data.CarModel, new Action <bool, string>(async(_bought, _garageItem) => { if (_bought) { Character playerCharacter = PlayerSession.getSelectedCharacter(); GarageItem garageItem = JsonConvert.DeserializeObject <GarageItem>(_garageItem); Utils.WriteLine("Bought item!"); //Loop through all the garage items to get how many of these cars the character already has int vehGarageId = 0; foreach (GarageItem gI in playerCharacter.Garage.garageItems) { if (gI.vehicleModel == garageItem.vehicleModel) { vehGarageId++; } } string vehGarageIdString = ""; if (vehGarageId > 0) { vehGarageIdString = vehGarageId.ToString(); } //After the car is added into the garage, spawn it uint vehicleHash = Helpers.GetVehicleHashFromString(garageItem.vehicleModel); int vehicleID = await Helpers.SpawnVehicle(vehicleHash, garageItem.vehicleNumberPlate); Utils.WriteLine($"Vehicle created ID:[{vehicleID}], Vehicle networkID: [{API.NetworkGetNetworkIdFromEntity(vehicleID)}]"); //Create the new garage item and add it into the character garage garageItem.setNetworkID(API.NetworkGetNetworkIdFromEntity(vehicleID)); playerCharacter.Garage.garageItems.Add(garageItem); if (vehicleID != -1) { _ = _callback(new { ok = true }); } else { _ = _callback(new { ok = false }); } } })); MainClient.GetInstance().SetNUIFocus(false, false); await Task.FromResult(0); }
public async static void EnableCardealerMenu(Marker _marker) { //Make sure that the marker and the marker data (i.e. cardealer vehicles) are not null if (_marker != null && _marker.MarkerData != null) { if (!Game.PlayerPed.IsInVehicle() || !Game.Player.IsAlive) { Utils.WriteLine("Not in a vehicle or dead!"); return; } MainClient.GetInstance().SetNUIFocus(true, true); Utils.WriteLine(_marker.MarkerData.ToString()); MainClient.GetInstance().SendNUIData("laced_cardealer", "OpenMenu", JsonConvert.SerializeObject(_marker.MarkerData)); await Task.FromResult(0); } }
private async void EnableCharacterSelection(string _characters) { Utils.DebugLine($"Enabling Character Selection {_characters}", "CSessionManager"); World.RenderingCamera = World.CreateCamera(new Vector3(0f, 1500f, 500f), Vector3.Zero, 50); if (API.IsScreenFadedOut()) { API.DoScreenFadeIn(500); while (!API.IsScreenFadedIn()) { await BaseScript.Delay(0); } } MainClient.GetInstance().SetNUIFocus(true, true); MainClient.GetInstance().SendNUIData("laced_character", "OpenMenu", _characters); }
private async void UseItem(dynamic _data, CallbackDelegate _callback) { await MainClient.Delay(500); MainClient.GetInstance().SetNUIFocus(false, false); foreach (var v in _data) { Utils.WriteLine(v); } if (_data.slotid == null) { return; } //InventoryItem inventoryItem = PlayerCharacter.Inventory.InventoryItems[_data.ItemID]; Utils.WriteLine("Triggering server event!"); //Send invetory id over to server and the server will use the item MainClient.TriggerServerEvent("Laced:UseInventoryItem", SessionManager.PlayerSession.getSessionKey(), _data.slotid, new Action <string>(UseItemCallback)); Utils.WriteLine("Triggering callback!"); _ = _callback(new { ok = true }); }
public SessionManager() { RegisterEventHandlers(); MainClient.GetInstance().RegisterNUICallback("laced_interface_ready", SetNUIReady); MainClient.GetInstance().RegisterNUICallback("laced_interface_close", CloseNUI); CommandManager = new CommandManager(); try { RegisterCharacterNUICallbacks(); RegisterCardealerNUICallbacks(); RegisterGarageNUICallbacks(); } catch (Exception _ex) { Utils.Throw(_ex); } Utils.DebugLine("SessionManager Loaded!", "CSessionManager"); }
public ConfigManager() { MainClient.GetInstance().RegisterEventHandler("Laced:SendClientConfigs", new Action <string, string>(SetConfigs)); Utils.WriteLine("ConfigManager Loaded!"); }
public DriftCounter() { MainClient.GetInstance().RegisterTickHandler(DriftCounterTick); }
public TimeManager() { MainClient.GetInstance().RegisterEventHandler("Laced:SetClientTime", new Action <string>(SetClientTime)); Utils.DebugLine("TimeManager Loaded!", "CTimeManager"); }
public MarkerManager() { Utils.DebugLine("Marker Manager was created!", "CMarkerManager"); MainClient.GetInstance().RegisterTickHandler(Draw3DMarkers); }
public InventoryManager(Character _selectedCharacter) { PlayerCharacter = _selectedCharacter; MainClient.GetInstance().RegisterKeyMapping("inventory", "Open the inventory", "keyboard", "i", new Action(InventoryOpen), new Action(() => { })); }
public void UnregisterNUICallbacks() { MainClient.GetInstance().UnregisterNUICallback("laced_inventory_close"); MainClient.GetInstance().UnregisterNUICallback("laced_inventory_use"); MainClient.GetInstance().UnregisterNUICallback("laced_inventory_take"); }
private void UpdateCharacterSelection(string _characters) { Utils.DebugLine("Updaing Character selection!", "CSessionManager"); MainClient.GetInstance().SendNUIData("laced_character", "UpdateChars", _characters); }
public static void RegisterGarageNUICallbacks() { MainClient.GetInstance().RegisterNUICallback("laced_garage_retrieve", RetrieveGarageVehicle); }
public static void RegisterCardealerNUICallbacks() { MainClient.GetInstance().RegisterNUICallback("laced_cardealer_buy", BuyCardealerVehicle); }
private void CloseNUI(dynamic _data, CallbackDelegate _callback) { MainClient.GetInstance().SetNUIFocus(false, false); _ = _callback(new { ok = true }); }
private void DisableAutoSpawn() { MainClient.GetInstance().CallExport()["spawnmanager"].setAutoSpawn(false); }