Ejemplo n.º 1
0
        protected override async Task ExecutePrepare()
        {
            var pedPosition = new Parameter <Vector3>();
            var pedHeading  = new Parameter <float>();

            var pedHandle = new ResultCapturer <int>();

            var tasks = new List <ITask>();

            tasks.Add(new LambdaTask(() =>
            {
                pedPosition.SetValue(Game.PlayerPed.Position + Game.PlayerPed.ForwardVector * 3f);
                pedHeading.SetValue(Game.PlayerPed.Heading - 180f);
            }));
            tasks.Add(new CreatePedTask(Utility.GetRandomPedHash())
            {
                Position  = pedPosition,
                Heading   = pedHeading,
                PedHandle = pedHandle
            });
            tasks.Add(new ShopRobberyScenario
            {
                PedHandle = pedHandle
            });
            tasks.Add(new LambdaTask(NotifyTaskDidEnd));

            _testSequence = new SequenceTask(tasks);

            await _testSequence.Prepare();
        }
Ejemplo n.º 2
0
        protected override async Task ExecutePrepare()
        {
            var objectPosition = new Parameter <Vector3>();
            var objectHandle   = new ResultCapturer <int>();
            var pickup         = new ResultCapturer <Pickup>();

            var tasks = new List <ITask>();

            tasks.Add(new LambdaTask(() =>
            {
                objectPosition.SetValue(Game.PlayerPed.Position + Game.PlayerPed.ForwardVector * 3f);
            }));
            tasks.Add(new CreateObjectTask("prop_poly_bag_01")
            {
                Position     = objectPosition,
                ObjectHandle = objectHandle
            });
            tasks.Add(new CreatePickupTask
            {
                EntityHandle = objectHandle,
                Pickup       = pickup
            });
            tasks.Add(new TakePickupTask
            {
                Pickup = pickup
            });
            tasks.Add(new LambdaTask(NotifyTaskDidEnd));

            _testSequence = new SequenceTask(tasks);

            await _testSequence.Prepare();
        }
Ejemplo n.º 3
0
        protected override async Task ExecutePrepare()
        {
            var playerPedHandle = new Parameter <int>();

            var pedAPosition = new Parameter <Vector3>();
            var pedAHeading  = new Parameter <float>();

            var pedBPosition = new Parameter <Vector3>();
            var pedBHeading  = new Parameter <float>();

            var pedAHandle = new ResultCapturer <int>();
            var pedBHandle = new ResultCapturer <int>();

            var tasks = new List <ITask>();

            tasks.Add(new LambdaTask(() =>
            {
                playerPedHandle.SetValue(Game.PlayerPed.Handle);

                pedAPosition.SetValue(Game.PlayerPed.Position + Game.PlayerPed.ForwardVector * 1.5f + Game.PlayerPed.RightVector);
                pedAHeading.SetValue(Game.PlayerPed.Heading - 180f);

                pedBPosition.SetValue(Game.PlayerPed.Position + Game.PlayerPed.ForwardVector * 1.5f - Game.PlayerPed.RightVector);
                pedBHeading.SetValue(Game.PlayerPed.Heading - 180f);
            }));
            tasks.Add(new CreatePedTask(Utility.GetRandomPedHash())
            {
                Position  = pedAPosition,
                Heading   = pedAHeading,
                PedHandle = pedAHandle
            });
            tasks.Add(new CreatePedTask(Utility.GetRandomPedHash())
            {
                Position  = pedBPosition,
                Heading   = pedBHeading,
                PedHandle = pedBHandle
            });
            tasks.Add(new WaitTask {
                Duration = new Parameter <int>(2000)
            });
            tasks.Add(new DialogueTask(_dialogue, _configuration)
            {
                PedHandles = new Dictionary <string, IParameter <int> >
                {
                    { "player", playerPedHandle },
                    { "ped_a", pedAHandle },
                    { "ped_b", pedBHandle }
                }
            });
            tasks.Add(new LambdaTask(NotifyTaskDidEnd));

            _testSequence = new SequenceTask(tasks);

            await _testSequence.Prepare();
        }
Ejemplo n.º 4
0
        protected override async Task ExecutePrepare()
        {
            var pedPosition     = new Parameter <Vector3>();
            var pedHeading      = new Parameter <float>();
            var playerPedHandle = new Parameter <int>(Game.PlayerPed.Handle);

            var pedHandle = new ResultCapturer <int>();

            var tasks = new List <ITask>();

            tasks.Add(new LambdaTask(() =>
            {
                pedPosition.SetValue(Game.PlayerPed.Position + Game.PlayerPed.ForwardVector * 1.5f);
                pedHeading.SetValue(Game.PlayerPed.Heading + 180f);
            }));
            tasks.Add(new CreatePedTask(Utility.GetRandomPedHash())
            {
                Position  = pedPosition,
                Heading   = pedHeading,
                PedHandle = pedHandle
            });
            tasks.Add(new ParallelActivityTask(
                          new WaitTask {
                Duration = new Parameter <int>(10000)
            },
                          new PedLookAtEntityActivity
            {
                PedHandle    = pedHandle,
                EntityHandle = playerPedHandle
            },
                          new PedLookAtEntityActivity
            {
                PedHandle    = playerPedHandle,
                EntityHandle = pedHandle
            }
                          ));
            tasks.Add(new LambdaTask(NotifyTaskDidEnd));

            _testSequence = new SequenceTask(tasks);

            await _testSequence.Prepare();
        }
Ejemplo n.º 5
0
        protected override async Task ExecutePrepare()
        {
            var bagHandle = new ResultCapturer <int>(BagHandle);

            var bagAttachmentTasks = new List <ITask>();

            bagAttachmentTasks.Add(new WaitTask
            {
                Duration = new Parameter <int>(11250)
            });
            bagAttachmentTasks.Add(new CreateObjectTask("prop_poly_bag_01")
            {
                ObjectHandle = bagHandle
            });
            bagAttachmentTasks.Add(new AttachEntityTask
            {
                PedHandle    = PedHandle,
                EntityHandle = bagHandle,
                BoneId       = new Parameter <int>(4138),
                Offset       = new Parameter <Vector3>(new Vector3(-0.1f, -0.04f, -0.13f)),
                Duration     = new Parameter <int>(9750)
            });

            var scenarioTasks = new List <ITask>();

            scenarioTasks.Add(new SequenceTask(bagAttachmentTasks));
            scenarioTasks.Add(new PlayAnimTask("mp_am_hold_up", "holdup_victim_20s")
            {
                PedHandle = PedHandle,
                Duration  = new Parameter <int>(21750)
            });
            scenarioTasks.Add(new PlayFacialAnimTask("facials@gen_male@base", "shocked_1")
            {
                PedHandle = PedHandle,
                Duration  = new Parameter <int>(21750)
            });

            _scenarioTask = new ParallelAllTask(scenarioTasks);

            await _scenarioTask.Prepare();
        }
Ejemplo n.º 6
0
        protected override async Task ExecutePrepare()
        {
            var pedPosition = new Parameter <Vector3>();
            var pedHeading  = new Parameter <float>();

            var pedHandle    = new ResultCapturer <int>();
            var objectHandle = new ResultCapturer <int>();

            var tasks = new List <ITask>();

            tasks.Add(new LambdaTask(() =>
            {
                pedPosition.SetValue(Game.PlayerPed.Position + Game.PlayerPed.ForwardVector * 3f);
                pedHeading.SetValue(Game.PlayerPed.Heading - 180f);
            }));
            tasks.Add(new CreatePedTask(Utility.GetRandomPedHash())
            {
                Position  = pedPosition,
                Heading   = pedHeading,
                PedHandle = pedHandle
            });
            tasks.Add(new CreateObjectTask("prop_poly_bag_01")
            {
                ObjectHandle = objectHandle
            });
            tasks.Add(new AttachEntityTask
            {
                BoneId       = new Parameter <int>(4138),
                Duration     = new Parameter <int>(5000),
                Offset       = new Parameter <Vector3>(new Vector3(-0.09999999f, -0.04f, -0.13f)),
                PedHandle    = pedHandle,
                EntityHandle = objectHandle
            });
            tasks.Add(new LambdaTask(NotifyTaskDidEnd));

            _testSequence = new SequenceTask(tasks);

            await _testSequence.Prepare();
        }