Ejemplo n.º 1
0
        internal static Blip BlipVehicle(Vehicle vehicle, Color color)
        {
            var blip = vehicle.AddBlipSafe(color);

            if (blip != null && (vehicle != null && vehicle.IsValid()))
            {
                _Blips.Add(blip, vehicle);
            }

            GameFiber.StartNew(() =>
            {
                var stopAt = DateTime.Now.AddMilliseconds(30000);
                while (DateTime.Now < stopAt)
                {
                    GameFiber.Yield();
                }
                try {
                    if (blip != null && blip.IsValid())
                    {
                        blip.Delete();
                    }
                } catch (Exception e)
                {
                    Function.Log(e.Message);
                }
            });
            return(blip);
        }
        internal static Blip BlipVehicle(Vehicle vehicle, Color color)
        {
            if (_Blips.ContainsValue(vehicle))
            {
                return(_Blips.Single(x => x.Value == vehicle).Key);
            }
            else if (vehicle.GetAttachedBlip())
            {
                return(vehicle.GetAttachedBlip());
            }
            var blip = vehicle.AddBlipSafe(color);

            if (blip != null && (vehicle != null && vehicle.IsValid()))
            {
                _Blips.Add(blip, vehicle);
            }

            GameFiber.StartNew(() =>
            {
                var stopAt = DateTime.Now.AddMilliseconds(30000);
                while (DateTime.Now < stopAt)
                {
                    GameFiber.Yield();
                }
                try {
                    if (blip != null && blip.IsValid())
                    {
                        blip.Delete();
                    }
                } catch (Exception e)
                {
                    Function.Log(e.Message);
                }
            });
            return(blip);
        }