コード例 #1
0
ファイル: AirDropMod.cs プロジェクト: Colata/GTA-5-Mods
    public AirDropMod()
    {
        Tick += OnTick;

        Blip AirDrop1Blip = World.CreateBlip(LOSSANTOSSQUARE, 2);
        {
            AirDrop1Blip.Sprite = BlipSprite.CrateDrop;
            AirDrop1Blip.Scale  = 100f;
        }

        int objectHash = Function.Call <int>(Hash.GET_HASH_KEY, "prop_crashed_heli");

        GTA.Model objectModel = new GTA.Model(objectHash);
        if (!objectModel.IsLoaded)
        {
            objectModel.Request(500);
            while (!objectModel.IsLoaded)
            {
                Wait(0);
            }
        }
        Function.Call(Hash.CREATE_OBJECT, objectModel, 194.9678f, -933.614f, 30.68681f, false, true, false);
        objectModel.MarkAsNoLongerNeeded();
    }
コード例 #2
0
ファイル: PlayerFeature.cs プロジェクト: Immortal-/betrainer
                /// <summary>
                /// Set to specified Model
                /// </summary>
                /// <param name="modelHash">Model hash</param>
                /// <param name="modelName">Name of the model</param>
                public static void SetModel(int modelHash, string modelName)
                {
                    GTA.Model m = new GTA.Model(modelHash);
                    m.Request();

                    if (m.IsInCdImage && m.IsValid)
                    {
                        while (!m.IsLoaded) Script.Wait(0);

                        int? vehicle = null;
                        if (Game.Player.Character.IsInVehicle())
                        {
                            vehicle = Game.Player.Character.CurrentVehicle.Handle;
                        }

                        WeaponSet set = Weapon.GetCurrentWeaponSet();

                        Function.Call(Hash.SET_PLAYER_MODEL, Game.Player.Handle, m.Hash);
                        Function.Call(Hash.SET_PED_DEFAULT_COMPONENT_VARIATION, Game.Player.Character.Handle);
                        if (!string.IsNullOrEmpty(modelName))
                        {
                            Utils.ShowNotificationAboveMap(string.Format(GlobalConst.Message.PLAYER_MODEL_SET, modelName));
                        }
                        Script.Wait(0);

                        if (vehicle.HasValue)
                        {
                            Function.Call(Hash.SET_PED_INTO_VEHICLE, Game.Player.Character.Handle, vehicle, -1);
                        }

                        Weapon.ApplyWeaponSet(set);

                        Script.Wait(SET_MODEL_WAIT);
                        m.MarkAsNoLongerNeeded();
                    }
                }
コード例 #3
0
    private void OnTick(object sender, EventArgs e)
    {
        if (IsVehicleIndestructible)
        {
            SetVehicleIndestructible(true);
        }

        if (IsSeatBeltEnabled)
        {
            if (CanFlyThroughWindscreen)
            {
                Function.Call(Hash.SET_PED_CONFIG_FLAG, Game.Player.Character, PedFlagCanFlyThroughWindscreen, false);
            }
        }

        if (IsLockedDoorsEnabled)
        {
            Game.Player.Character.CanBeDraggedOutOfVehicle = false;
        }

        if (IsNeverFallOffBikeEnabled)
        {
            Function.Call(Hash.SET_PED_CAN_BE_KNOCKED_OFF_VEHICLE, Game.Player.Character, 1);
        }

        if (IsSpeedBoostEnabled)
        {
            if (Game.IsKeyPressed(Keys.NumPad9))
            {
                Game.Player.Character.CurrentVehicle.Speed += 0.5f;
            }
            if (Game.IsKeyPressed(Keys.NumPad3))
            {
                Game.Player.Character.CurrentVehicle.Speed = 0.0f;
            }
        }

        if (CanVehiclesJump)
        {
            if (Game.IsKeyPressed(Keys.B))
            {
                if (Game.Player.Character.CurrentVehicle.IsOnAllWheels)
                {
                    Game.Player.Character.CurrentVehicle.ApplyForceRelative(Game.Player.Character.CurrentVehicle.UpVector * 12.5f);
                }
            }
        }

        if (IsVehicleWeaponsEnabled)
        {
            if (Game.Player.Character.IsInVehicle() && Game.IsKeyPressed(Keys.Add))
            {
                Vehicle vehicle = Game.Player.Character.CurrentVehicle;

                // Request and load weapon asset.
                GTA.Model weaponAsset = Function.Call <int>(Hash.GET_HASH_KEY, GetVehicleWeaponAsset());
                if (!Function.Call <bool>(Hash.HAS_WEAPON_ASSET_LOADED, weaponAsset))
                {
                    Function.Call(Hash.REQUEST_WEAPON_ASSET, weaponAsset);
                    while (!Function.Call <bool>(Hash.HAS_WEAPON_ASSET_LOADED, weaponAsset))
                    {
                        Wait(0);
                    }
                }

                Vector3 vehicleDimensions = vehicle.Model.GetDimensions();

                // Left weapon.
                Vector3 leftWeaponFromCoords = vehicle.GetOffsetInWorldCoords(new Vector3(-(vehicleDimensions.X) + 1.25f, vehicleDimensions.Y + 1.25f, 0.3f));
                Vector3 leftWeaponToCoords   = vehicle.GetOffsetInWorldCoords(new Vector3(-(vehicleDimensions.X) + 1.25f, vehicleDimensions.Y + 100.0f, 0.3f));

                // Right weapon.
                Vector3 rightWeaponFromCoords = vehicle.GetOffsetInWorldCoords(new Vector3(vehicleDimensions.X - 1.25f, vehicleDimensions.Y + 1.25f, 0.3f));
                Vector3 rightWeaponToCoords   = vehicle.GetOffsetInWorldCoords(new Vector3(vehicleDimensions.X + 1.25f, vehicleDimensions.Y + 100.0f, 0.3f));

                World.ShootBullet(leftWeaponFromCoords, leftWeaponToCoords, Game.Player.Character, weaponAsset, 10000);
                World.ShootBullet(rightWeaponFromCoords, rightWeaponToCoords, Game.Player.Character, weaponAsset, 10000);
                weaponAsset.MarkAsNoLongerNeeded();
                Wait(150);
            }
        }
    }