Esempio n. 1
0
        private void SetNewModel(int index, string label, MenuItemHorNamedSelector m)
        {
            Task.Factory.StartNew(async() => {
                try {
                    PedHash pedHash = (PedHash)Game.GenerateHash(label);
                    var pedModel    = new Model(pedHash);

                    Log.Info("SetNewModel - init loading");

                    while (!pedModel.IsLoaded)
                    {
                        await pedModel.Request(0);
                    }

                    Log.Info("SetNewModel - ped model is loaded");

                    Redo:
                    if (await Game.Player.ChangeModel(pedModel))
                    {
                        Log.Info("SetNewModel - ChangeModel is true");
                        API.SetPedDefaultComponentVariation(Game.PlayerPed.Handle);

                        if (pedHash == PedHash.FreemodeMale01 || pedHash == PedHash.FreemodeFemale01)
                        {
                            API.SetPedHeadBlendData(Game.PlayerPed.Handle, 0, 0, 0, 0, 0, 0, 0, 0, 0, false);
                        }
                    }
                    else
                    {
                        Log.Info("SetNewModel - ChangeModel is false re-trying");
                        goto Redo;
                    }
                }
                catch (Exception ex) {
                    Log.Error(ex);
                }

                Root.Refresh();
            });
        }
Esempio n. 2
0
        private void SetNewModel(int index, string label, MenuItemHorNamedSelector m)
        {
            Task.Factory.StartNew(async() => {
                try {
                    PedHash pedHash = (PedHash)Game.GenerateHash(label);

                    if (await Game.Player.ChangeModel(new Model(pedHash)))
                    {
                        API.SetPedDefaultComponentVariation(Game.PlayerPed.Handle);

                        if (pedHash == PedHash.FreemodeMale01 || pedHash == PedHash.FreemodeFemale01)
                        {
                            API.SetPedHeadBlendData(Game.PlayerPed.Handle, 0, 0, 0, 0, 0, 0, 0, 0, 0, false);
                        }
                    }
                }
                catch (Exception ex) {
                    Log.Error(ex);
                }

                Root.Refresh();
            });
        }