コード例 #1
0
        public static async Task <Vehicle> CreateRobustVehicle(Model model, Vector3 pos, float heading = 0f)
        {
            Vehicle vehicle = await EntityUtil.CreateVehicle(model, pos, heading);

            vehicle.CanTiresBurst = false;
            API.SetVehicleExplodesOnHighExplosionDamage(vehicle.Handle, false);
            return(vehicle);
        }
コード例 #2
0
        public async Task Prepare()
        {
            VehicleHash[] possibleVehicles =
            {
                VehicleHash.Voltic2,
                VehicleHash.Voltic,
                VehicleHash.Kuruma2,
                VehicleHash.Oppressor,
                VehicleHash.Lectro
            };
            deliveryCar = await MissionHelper.CreateRobustVehicle(possibleVehicles[API.GetRandomIntInRange(0, possibleVehicles.Length)],
                                                                  new Vector3(667.4f, -756f, 23.7f), 171.5f);

            missionMusic = new MissionMusic();
            missionMusic.PlayStartMusic();

            missionHelper = new DeliveryMissionHelper(deliveryCar, missionMusic);

            Ped enemy1 = await missionHelper.CreateNeutralEnemyPed(PedHash.BikeHire01, new Vector3(667.8f, -768.8f, 23.6f), 184.8f, WeaponHash.AssaultRifleMk2);

            enemy1._StartScenario("WORLD_HUMAN_AA_SMOKE");
            Ped enemy2 = await missionHelper.CreateNeutralEnemyPed(PedHash.Car3Guy1, new Vector3(668.1f, -773f, 23.5f), 6f, WeaponHash.AssaultRifleMk2);

            enemy2._StartScenario("WORLD_HUMAN_DRUG_DEALER");
            Ped enemy3 = await missionHelper.CreateNeutralEnemyPed(PedHash.Car3Guy2, new Vector3(667f, -754.4f, 31.3f), 0f, WeaponHash.AssaultRifleMk2);

            enemy3._StartScenario("WORLD_HUMAN_BINOCULARS");
            Ped enemy4 = await missionHelper.CreateNeutralEnemyPed(PedHash.CarBuyerCutscene, new Vector3(672.1f, -781.9f, 23.5f), 101.9f, WeaponHash.AssaultRifleMk2);

            enemy4._StartScenario("WORLD_HUMAN_DRINKING");
            Ped enemy5 = await missionHelper.CreateNeutralEnemyPed(PedHash.MexGang01GMY, new Vector3(656.8f, -793.8f, 23.5f), 1.6f, WeaponHash.AssaultRifleMk2);

            enemy5._StartScenario("WORLD_HUMAN_WELDING");
            enemyVehicles = new List <Vehicle>();
            Vehicle vehicle1 = await EntityUtil.CreateVehicle(VehicleHash.SabreGT, new Vector3(654.5f, -729.8f, 24.2f), 181.1f);

            enemyVehicles.Add(vehicle1);
            Ped enemy6 = await missionHelper.CreateNeutralEnemyPed(PedHash.MexGang01GMY, new Vector3(), 0f, WeaponHash.PistolMk2);

            enemy6.SetIntoVehicle(vehicle1, VehicleSeat.Driver);
            Vehicle vehicle2 = await EntityUtil.CreateVehicle(VehicleHash.Ninef, new Vector3(669.4f, -706.8f, 24.6f), 177.5f);

            enemyVehicles.Add(vehicle2);
            Ped enemy7 = await missionHelper.CreateNeutralEnemyPed(PedHash.MexGoon01GMY, new Vector3(), 0f, WeaponHash.PistolMk2);

            enemy7.SetIntoVehicle(vehicle2, VehicleSeat.Driver);
            Ped enemy8 = await missionHelper.CreateNeutralEnemyPed(PedHash.MexGoon02GMY, new Vector3(), 0f, WeaponHash.MicroSMG);

            enemy8.SetIntoVehicle(vehicle2, VehicleSeat.Passenger);
            Ped enemy9 = await missionHelper.CreateNeutralEnemyPed(PedHash.MexThug01AMY, new Vector3(677.3f, -861.9f, 23.5f), 182.4f, WeaponHash.AssaultRifleMk2);

            enemy9._StartScenario("WORLD_HUMAN_CONST_DRILL");
            Ped enemy10 = await missionHelper.CreateNeutralEnemyPed(PedHash.MexBoss01GMM, new Vector3(683.5f, -861.9f, 23.6f), 64.5f, WeaponHash.AssaultRifleMk2);

            enemy10._StartScenario("WORLD_HUMAN_COP_IDLES");
        }
コード例 #3
0
        private async void SpawnRandomVeh()
        {
            Vector3 spawnPos = Utils.GetRandomSpawnPosFromPlayer(Game.Player, SpawnerHost.SPAWN_MIN_DISTANCE, SpawnerHost.SPAWN_DESPAWN_DISTANCE);

            if (!Utils.IsPosShitSpawn(Players, spawnPos, SpawnerHost.SPAWN_MIN_DISTANCE))
            {
                Vehicle veh = await EntityUtil.CreateVehicle(VEH_LIST[Utils.GetRandomInt(VEH_LIST.Length)], spawnPos);

                veh.Health           = Utils.GetRandomInt(1000);
                veh.EngineHealth     = Utils.GetRandomInt(1000);
                veh.PetrolTankHealth = Utils.GetRandomInt(1000);
                spawnedVeh           = veh;
            }
        }
コード例 #4
0
        private async void SpawnRandomArmyHeli()
        {
            Vector3 spawnPos = Utils.GetRandomSpawnPosFromPlayer(Game.Player, SpawnerHost.SPAWN_DESPAWN_DISTANCE, SpawnerHost.SPAWN_DESPAWN_DISTANCE * 2);

            spawnPos.Z += Utils.GetRandomInt(ARMYHELI_SPAWNHEIGHT_MIN_OFFSET, ARMYHELI_SPAWNHEIGHT_MAX_OFFSET);

            if (!Utils.IsPosShitSpawn(Players, spawnPos, SpawnerHost.SPAWN_DESPAWN_DISTANCE))
            {
                Vehicle heli = await EntityUtil.CreateVehicle(HELI_LIST[Utils.GetRandomInt(HELI_LIST.Length)], spawnPos,
                                                              Utils.GetRandomInt(360));

                heli.IsInvincible    = true;
                heli.IsEngineRunning = true;

                Ped pilot = await EntityUtil.CreatePed(PedHash.Blackops01SMY, PedType.PED_TYPE_MISSION, spawnPos);

                pilot.IsInvincible      = true;
                pilot.RelationshipGroup = ArmyHeliSquadGroup;
                pilot.SetIntoVehicle(heli, VehicleSeat.Driver);
                pilot.AlwaysKeepTask = true;
                pilot.SetDecor(ARMYHELI_DECOR, true);
                Vector3 targetPos = Game.PlayerPed
                                    .GetOffsetPosition(new Vector3(0f, -SpawnerHost.SPAWN_DESPAWN_DISTANCE * 100f, 0f));
                API.TaskHeliMission(pilot.Handle, heli.Handle, 0, 0, targetPos.X, targetPos.Y, targetPos.Z,
                                    4, Utils.GetRandomInt(ARMYHELI_MIN_SPEED, int.MaxValue), 0f, -1f, -1, -1, 0, 0);

                Ped[] gunmans = new Ped[2];
                for (int i = 0; i < gunmans.Length; i++)
                {
                    Ped gunman = await World.CreatePed(PedHash.Blackops01SMY, spawnPos);

                    gunman.IsInvincible      = true;
                    gunman.RelationshipGroup = ArmyHeliSquadGroup;
                    gunman.Weapons.Give(WeaponHash.CombatMGMk2, int.MaxValue, true, true);
                    gunman.Accuracy       = 100;
                    gunman.AlwaysKeepTask = true;
                    gunman.Task.FightAgainstHatedTargets(float.MaxValue);
                    gunman.SetDecor(ARMYHELI_DECOR, true);
                    gunmans[i] = gunman;
                }
                gunmans[0].SetIntoVehicle(heli, VehicleSeat.LeftRear);
                gunmans[1].SetIntoVehicle(heli, VehicleSeat.RightRear);
                ArmyHeliSquadGroup.SetRelationshipBetweenGroups(ZombieSpawner.ZombieGroup, Relationship.Hate);

                armyHeliSquad = new ArmyHeliSquad(heli, pilot, gunmans[0], gunmans[1]);
            }
        }
コード例 #5
0
        public async Task Prepare()
        {
            VehicleHash[] possibleVehicles =
            {
                VehicleHash.Voltic2,
                VehicleHash.Kuruma2,
                VehicleHash.Oppressor,
                VehicleHash.Dukes2,
                VehicleHash.Comet3
            };
            deliveryCar = await MissionHelper.CreateRobustVehicle(possibleVehicles[API.GetRandomIntInRange(0, possibleVehicles.Length)],
                                                                  new Vector3(666.4f, 676.9f, 128.5f), 193.4f);

            missionMusic = new MissionMusic();
            missionMusic.PlayStartMusic();

            missionHelper = new DeliveryMissionHelper(deliveryCar, missionMusic);

            Ped enemy1 = await missionHelper.CreateNeutralEnemyPed(PedHash.Korean01GMY, new Vector3(663.1f, 662.5f, 128.9f), 252.3f, WeaponHash.PistolMk2);

            enemy1._StartScenario("WORLD_HUMAN_AA_SMOKE");
            Ped enemy2 = await missionHelper.CreateNeutralEnemyPed(PedHash.Korean02GMY, new Vector3(667.5f, 661.1f, 128.9f), 70.3f, WeaponHash.PistolMk2);

            enemy2._StartScenario("WORLD_HUMAN_GUARD_PATROL");
            Ped enemy3 = await missionHelper.CreateNeutralEnemyPed(PedHash.Korean02GMY, new Vector3(780.2f, 571.4f, 127.5f), 330.4f, WeaponHash.PistolMk2);

            enemy3._StartScenario("WORLD_HUMAN_SMOKING");
            enemyVehicles = new List <Vehicle>();
            Vehicle vehicle1 = await EntityUtil.CreateVehicle(VehicleHash.Sentinel, new Vector3(851.3f, 504f, 125.9f), 343f);

            enemyVehicles.Add(vehicle1);
            Ped enemy4 = await missionHelper.CreateNeutralEnemyPed(PedHash.KorLieut01GMY, new Vector3(), 0f, WeaponHash.PistolMk2);

            enemy4.SetIntoVehicle(vehicle1, VehicleSeat.Driver);
            Ped enemy5 = await missionHelper.CreateNeutralEnemyPed(PedHash.KorBoss01GMM, new Vector3(), 0f, WeaponHash.MicroSMG);

            enemy5.SetIntoVehicle(vehicle1, VehicleSeat.Passenger);
            Ped enemy6 = await missionHelper.CreateNeutralEnemyPed(PedHash.KorLieut01GMY, new Vector3(903.5f, 541.6f, 123.2f), 271.7f, WeaponHash.PistolMk2);

            enemy6._StartScenario("WORLD_HUMAN_SMOKING");
            Ped enemy7 = await missionHelper.CreateNeutralEnemyPed(PedHash.Korean01GMY, new Vector3(906.7f, 541.7f, 123.2f), 93.5f, WeaponHash.PistolMk2);

            enemy7._StartScenario("WORLD_HUMAN_GUARD_PATROL");
            Ped enemy8 = await missionHelper.CreateNeutralEnemyPed(PedHash.KorBoss01GMM, new Vector3(902.2f, 510.7f, 121.9f), 296f, WeaponHash.PistolMk2);

            enemy8._StartScenario("WORLD_HUMAN_STAND_IMPATIENT");
        }
コード例 #6
0
        public async Task OnTick()
        {
            await Task.FromResult(0);

            missionHelper.HandleMissionFailedCheck();
            if (!missionHelper.IsDeliveryTaskStarted())
            {
                if (Game.PlayerPed.CurrentVehicle == deliveryCar)
                {
                    heli = await EntityUtil.CreateVehicle(VehicleHash.Maverick, new Vector3(1509.8f, -224.2f, 892.1f), 145.3f);

                    enemyVehicles.Add(heli);
                    heliBlip        = heli.AttachBlip();
                    heliBlip.Sprite = BlipSprite.HelicopterAnimated;
                    heliBlip.Color  = BlipColor.Red;
                    Ped enemy1 = await missionHelper.CreateNeutralEnemyPed(PedHash.Korean01GMY, new Vector3());

                    enemy1.SetIntoVehicle(heli, VehicleSeat.Driver);
                    Ped enemy2 = await missionHelper.CreateNeutralEnemyPed(PedHash.KorLieut01GMY, new Vector3(), 0f, WeaponHash.AssaultRifleMk2);

                    enemy2.SetIntoVehicle(heli, VehicleSeat.LeftRear);
                    Ped enemy3 = await missionHelper.CreateNeutralEnemyPed(PedHash.Korean02GMY, new Vector3(), 0f, WeaponHash.AssaultRifleMk2);

                    enemy3.SetIntoVehicle(heli, VehicleSeat.RightRear);

                    missionHelper.CreateDeliveryTask();
                }
            }
            else
            {
                if (heli.IsDead && heliBlip.Exists())
                {
                    heliBlip.Delete();
                }

                await missionHelper.HandleDeliveryDropOff();
            }
        }
コード例 #7
0
        private async void SpawnRandomFlyingByPlane()
        {
            Vector3 spawnPos = Utils.GetRandomSpawnPosFromPlayer(Game.Player, SpawnerHost.SPAWN_DESPAWN_DISTANCE, SpawnerHost.SPAWN_DESPAWN_DISTANCE * 2);

            spawnPos.Z += Utils.GetRandomInt(PLANE_SPAWNHEIGHT_MIN_OFFSET, PLANE_SPAWNHEIGHT_MAX_OFFSET);

            if (!Utils.IsPosShitSpawn(Players, spawnPos, SpawnerHost.SPAWN_DESPAWN_DISTANCE))
            {
                Vehicle plane = await EntityUtil.CreateVehicle(PLANE_LIST[Utils.GetRandomInt(PLANE_LIST.Length)], spawnPos,
                                                               Utils.GetRandomInt(360));

                plane.IsInvincible    = true;
                plane.IsEngineRunning = true;

                Ped pilot = await EntityUtil.CreatePed(PedHash.Pilot01SMM, PedType.PED_TYPE_MISSION, spawnPos);

                pilot.IsInvincible = true;
                pilot.SetIntoVehicle(plane, VehicleSeat.Driver);
                pilot.AlwaysKeepTask = true;
                pilot.Task.FleeFrom(pilot.GetOffsetPosition(new Vector3(0f, -10f, 10f)));

                flyingByPlane = new FlyingByPlane(plane, pilot);
            }
        }