Exemple #1
0
        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");
            }
        }
Exemple #2
0
        public void RegisterNUICallbacks()
        {
            MainClient.GetInstance().RegisterNUICallback("laced_inventory_close", CloseInventory);

            MainClient.GetInstance().RegisterNUICallback("laced_inventory_use", UseItem);
            MainClient.GetInstance().RegisterNUICallback("laced_inventory_take", TakeItem);
        }
Exemple #3
0
 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));
 }
Exemple #4
0
        private void CloseInventory(dynamic _data, CallbackDelegate _callback)
        {
            MainClient.GetInstance().SetNUIFocus(false, false);

            UnregisterNUICallbacks();

            _callback(new { ok = true });
        }
Exemple #5
0
        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 });
        }
Exemple #6
0
        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");
        }
Exemple #7
0
        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");
        }
Exemple #8
0
        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 }));
        }
Exemple #9
0
        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");
        }
Exemple #10
0
        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);
            }
        }
Exemple #11
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);
        }
Exemple #12
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);
            }
        }
Exemple #13
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);
        }
Exemple #14
0
        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 });
        }
Exemple #15
0
        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");
        }
Exemple #16
0
        public ConfigManager()
        {
            MainClient.GetInstance().RegisterEventHandler("Laced:SendClientConfigs", new Action <string, string>(SetConfigs));

            Utils.WriteLine("ConfigManager Loaded!");
        }
Exemple #17
0
 public DriftCounter()
 {
     MainClient.GetInstance().RegisterTickHandler(DriftCounterTick);
 }
Exemple #18
0
        public TimeManager()
        {
            MainClient.GetInstance().RegisterEventHandler("Laced:SetClientTime", new Action <string>(SetClientTime));

            Utils.DebugLine("TimeManager Loaded!", "CTimeManager");
        }
Exemple #19
0
 public MarkerManager()
 {
     Utils.DebugLine("Marker Manager was created!", "CMarkerManager");
     MainClient.GetInstance().RegisterTickHandler(Draw3DMarkers);
 }
Exemple #20
0
        public InventoryManager(Character _selectedCharacter)
        {
            PlayerCharacter = _selectedCharacter;

            MainClient.GetInstance().RegisterKeyMapping("inventory", "Open the inventory", "keyboard", "i", new Action(InventoryOpen), new Action(() => { }));
        }
Exemple #21
0
 public void UnregisterNUICallbacks()
 {
     MainClient.GetInstance().UnregisterNUICallback("laced_inventory_close");
     MainClient.GetInstance().UnregisterNUICallback("laced_inventory_use");
     MainClient.GetInstance().UnregisterNUICallback("laced_inventory_take");
 }
Exemple #22
0
        private void UpdateCharacterSelection(string _characters)
        {
            Utils.DebugLine("Updaing Character selection!", "CSessionManager");

            MainClient.GetInstance().SendNUIData("laced_character", "UpdateChars", _characters);
        }
Exemple #23
0
 public static void RegisterGarageNUICallbacks()
 {
     MainClient.GetInstance().RegisterNUICallback("laced_garage_retrieve", RetrieveGarageVehicle);
 }
Exemple #24
0
 public static void RegisterCardealerNUICallbacks()
 {
     MainClient.GetInstance().RegisterNUICallback("laced_cardealer_buy", BuyCardealerVehicle);
 }
Exemple #25
0
        private void CloseNUI(dynamic _data, CallbackDelegate _callback)
        {
            MainClient.GetInstance().SetNUIFocus(false, false);

            _ = _callback(new { ok = true });
        }
Exemple #26
0
 private void DisableAutoSpawn()
 {
     MainClient.GetInstance().CallExport()["spawnmanager"].setAutoSpawn(false);
 }