Beispiel #1
0
 private void CheckIfPedsAreInVeh()
 {
     if (PedDriver.IsInVehicle(Vehicle, false) &&
         PedWorker.IsInVehicle(Vehicle, false))
     {
         Proc.SwapProcesses(CheckIfPedsAreInVeh, DriveBackToSpawn);
     }
 }
Beispiel #2
0
        private void VehicleStuck()
        {
            if (Game.IsKeyDown(KeyTeleportToDestination))
            {
                if (Vehicle && PedDriver.IsInVehicle(Vehicle, false) && PedWorker.IsInVehicle(Vehicle, false))
                {
                    Vehicle.SetPositionWithSnap(destPoint.Position);
                    Vehicle.Heading = destPoint.Heading;

                    Proc.DeactivateProcess(NotifyWhenStuck);
                    Proc.DeactivateProcess(VehicleStuck);

                    Proc.DeactivateProcess(WaitForArrival);
                    Proc.ActivateProcess(PostArrival);

                    timerNotifyTPWhenStuck.Stop();
                }
            }
        }
Beispiel #3
0
        private void InternalDispose()
        {
            if (blipVeh)
            {
                blipVeh.Delete();
            }
            if (PedDriver)
            {
                PedDriver.Dismiss();
            }
            if (PedWorker)
            {
                PedWorker.Dismiss();
            }
            if (Vehicle)
            {
                Vehicle.Dismiss();
            }

            Dispose();
        }
        public void Procedures(Ped target)
        {
            bool emt = false, emtd = false;

            GameFiber.StartNew(delegate
            {
                PedWorker.Position = target.LeftPosition;
                GameFiber.Sleep(3000);

                NativeFunction.Natives.TASK_TURN_PED_TO_FACE_ENTITY(PedDriver, target, -1);
                PedDriver.Face(target);
                GameFiber.Sleep(0500);

                PedDriver.Tasks.PlayAnimation("amb@medic@standing@timeofdeath@enter", "enter",
                                              4, AnimationFlags.StayInEndFrame);
                GameFiber.Sleep(9000);

                PedDriver.Tasks.PlayAnimation("amb@medic@standing@timeofdeath@idle_a", "idle_b",
                                              4, AnimationFlags.StayInEndFrame);
                GameFiber.Sleep(6000);

                PedDriver.Tasks.PlayAnimation("amb@medic@standing@timeofdeath@exit", "exit",
                                              4, AnimationFlags.StayInEndFrame);
                GameFiber.Sleep(7000);

                emtd = true;
            });
            //====================
            GameFiber.StartNew(delegate
            {
                PedWorker.Face(target);
                GameFiber.Sleep(0500);

                PedWorker.Tasks.PlayAnimation("amb@medic@standing@tendtodead@enter", "enter",
                                              4, AnimationFlags.StayInEndFrame);
                GameFiber.Sleep(2000);

                PedWorker.Tasks.PlayAnimation("amb@medic@standing@tendtodead@idle_a", "idle_b",
                                              4, AnimationFlags.StayInEndFrame);
                GameFiber.Sleep(4000);

                PedWorker.Tasks.PlayAnimation("amb@medic@standing@tendtodead@exit", "exit",
                                              4, AnimationFlags.StayInEndFrame);
                GameFiber.Sleep(2000);

                PedWorker.Tasks.PlayAnimation("amb@code_human_police_investigate@idle_intro", "idle_intro",
                                              4, AnimationFlags.StayInEndFrame);
                GameFiber.Sleep(1500);

                PedWorker.Tasks.PlayAnimation("amb@code_human_police_investigate@idle_b", "idle_d",
                                              3, AnimationFlags.None);
                GameFiber.Sleep(9000);

                emt = true;
            });

            while (!emt && !emtd)
            {
                GameFiber.Yield();
            }
        }