Esempio n. 1
0
        public override void SpawnEntities()
        {
            int     num        = Database.Random.Next(3, 6);
            Vector3 spawnPoint = this.GetSpawnPoint();

            if (!this.IsValidSpawn(spawnPoint))
            {
                return;
            }
            for (int index = 0; index <= num; ++index)
            {
                Ped randomPed = World.CreateRandomPed(((Vector3) ref spawnPoint).Around(5f));
                if (!Entity.op_Equality((Entity)randomPed, (Entity)null))
                {
                    Blip blip = ((Entity)randomPed).AddBlip();
                    blip.set_Color((BlipColor)3);
                    blip.set_Name("Friendly");
                    randomPed.set_RelationshipGroup(Relationships.FriendlyRelationship);
                    randomPed.get_Task().FightAgainstHatedTargets(9000f);
                    randomPed.SetAlertness(Alertness.FullyAlert);
                    randomPed.SetCombatAttributes(CombatAttributes.AlwaysFight, true);
                    randomPed.get_Weapons().Give((WeaponHash)(int)(uint)Database.WeaponHashes[Database.Random.Next(Database.WeaponHashes.Length)], 25, true, true);
                    this._pedGroup.Add(randomPed, index == 0);
                    this._pedGroup.set_FormationType((FormationType)0);
                    this._peds.Add(randomPed);
                    EntityEventWrapper entityEventWrapper = new EntityEventWrapper((Entity)randomPed);
                    entityEventWrapper.Died     += new EntityEventWrapper.OnDeathEvent(this.EventWrapperOnDied);
                    entityEventWrapper.Disposed += new EntityEventWrapper.OnWrapperDisposedEvent(this.EventWrapperOnDisposed);
                }
            }
            UI.Notify("~b~Friendly~s~ survivors nearby.", true);
        }
 private void VehicleWrapperOnDied(EntityEventWrapper sender, Entity entity)
 {
     entity.get_CurrentBlip()?.Remove();
     sender.Dispose();
     ((Entity)this._vehicle).MarkAsNoLongerNeeded();
     this._vehicle = (Vehicle)null;
 }
Esempio n. 3
0
 private void EventWrapperOnDisposed(EntityEventWrapper sender, Entity entity)
 {
     if (_peds.Contains(entity as Ped))
     {
         _peds.Remove(entity as Ped);
     }
 }
Esempio n. 4
0
 private static void AddBlip(Ped ped)
 {
     if (!ped.CurrentBlip.Exists())
     {
         Blip blip = ped.AddBlip();
         blip.Name = "Enemy Ped";
         EntityEventWrapper entWrapper = new EntityEventWrapper(ped);
         entWrapper.Died += delegate(EntityEventWrapper sender, Entity entity)
         {
             Blip currentBlip2 = entity.CurrentBlip;
             if (currentBlip2.Handle != 0)
             {
                 currentBlip2.Remove();
             }
             sender.Dispose();
         };
         entWrapper.Aborted += delegate(EntityEventWrapper sender, Entity entity)
         {
             Blip currentBlip = entity.CurrentBlip;
             if (currentBlip.Handle != 0)
             {
                 currentBlip.Remove();
             }
         };
     }
 }
Esempio n. 5
0
 private void PedWrapperOnDied(EntityEventWrapper sender, Entity entity)
 {
     this._peds.Remove(entity as Ped);
     entity.MarkAsNoLongerNeeded();
     entity.get_CurrentBlip()?.Remove();
     sender.Dispose();
 }
Esempio n. 6
0
 private void VehicleWrapperOnUpdated(EntityEventWrapper sender, Entity entity)
 {
     if (!(entity == null))
     {
         entity.CurrentBlip.Alpha = _vehicle.Driver.Exists() ? 255 : 0;
     }
 }
Esempio n. 7
0
        public override void SpawnEntities()
        {
            int     rand  = Database.Random.Next(3, 6);
            Vector3 spawn = GetSpawnPoint();

            if (IsValidSpawn(spawn))
            {
                for (int i = 0; i <= rand; i++)
                {
                    Ped ped = World.CreateRandomPed(spawn.Around(5f));
                    if (!(ped == null))
                    {
                        Blip blip = ped.AddBlip();
                        blip.Color            = GTA.BlipColor.Blue;
                        blip.Name             = "Friendly";
                        ped.RelationshipGroup = Relationships.FriendlyRelationship;
                        ped.Task.FightAgainstHatedTargets(9000f);
                        ped.SetAlertness(Alertness.FullyAlert);
                        ped.SetCombatAttributes(CombatAttributes.AlwaysFight, true);
                        ped.Weapons.Give(Database.WeaponHashes[Database.Random.Next(Database.WeaponHashes.Length)], 25, true, true);
                        _pedGroup.Add(ped, i == 0);
                        _pedGroup.FormationType = 0;
                        _peds.Add(ped);
                        EntityEventWrapper eventWrapper = new EntityEventWrapper(ped);
                        eventWrapper.Died     += EventWrapperOnDied;
                        eventWrapper.Disposed += EventWrapperOnDisposed;
                    }
                }
                UI.Notify("~b~Friendly~s~ survivors nearby.", true);
            }
        }
 private void WrapperOnDied(EntityEventWrapper sender, Entity entity)
 {
     UI.Notify("Your vehicle was ~r~destroyed~s~!");
     this._vehicleCollection.Remove(this._vehicleCollection.ToList <VehicleData>().Find((Predicate <VehicleData>)(v => v.Handle == entity.get_Handle())));
     entity.get_CurrentBlip()?.Remove();
     sender.Dispose();
 }
Esempio n. 9
0
 private void EventWrapperOnDisposed(EntityEventWrapper sender, Entity entity)
 {
     if (!this._peds.Contains(entity as Ped))
     {
         return;
     }
     this._peds.Remove(entity as Ped);
 }
 private void VehicleWrapperOnUpdated(EntityEventWrapper sender, Entity entity)
 {
     if (Entity.op_Equality(entity, (Entity)null))
     {
         return;
     }
     entity.get_CurrentBlip().set_Alpha(((Entity)this._vehicle.get_Driver()).Exists() ? (int)byte.MaxValue : 0);
 }
Esempio n. 11
0
 public override void CleanUp()
 {
     this._peds.ForEach((Action <Ped>)(ped =>
     {
         ((Entity)ped).get_CurrentBlip()?.Remove();
         ((Entity)ped).MarkAsNoLongerNeeded();
         EntityEventWrapper.Dispose((Entity)ped);
     }));
 }
Esempio n. 12
0
 private void OnDied(EntityEventWrapper sender, Entity entity)
 {
     this.get_CurrentBlip()?.Remove();
     if (!ZombieVehicleSpawner.Instance.IsInvalidZone(entity.get_Position()) || !ZombieVehicleSpawner.Instance.IsValidSpawn(entity.get_Position()))
     {
         return;
     }
     ZombieVehicleSpawner.Instance.SpawnBlocker.Add(entity.get_Position());
 }
Esempio n. 13
0
        private void OnDied(EntityEventWrapper sender, Entity entity)
        {
            Blip currentBlip = _ped.CurrentBlip;

            if (currentBlip.Type != 0)
            {
                currentBlip.Remove();
            }
        }
        public override void SpawnEntities()
        {
            Vector3 spawn = GetSpawnPoint();

            if (IsValidSpawn(spawn))
            {
                DropType[] dropTypes = (DropType[])Enum.GetValues(typeof(DropType));
                DropType   randDrop  = _dropType = dropTypes[Database.Random.Next(dropTypes.Length)];
                string     model     = (_dropType == DropType.Weapons) ? "prop_mil_crate_01" : "ex_prop_crate_closed_bc";
                _prop = World.CreateProp(model, spawn, Vector3.Zero, false, false);
                if (_prop == null)
                {
                    Complete();
                }
                else
                {
                    Vector3 position = _prop.Position;
                    _blip       = World.CreateBlip(position.Around(45f), 145f);
                    _blip.Color = GTA.BlipColor.Yellow;
                    _blip.Alpha = 150;
                    _dropZone   = _blip.Position;
                    position    = _prop.Position;
                    Vector3 particlePos = position.Around(5f);
                    _particle       = WorldExtended.CreateParticleEffectAtCoord(particlePos, "exp_grd_flare");
                    _particle.Color = Color.LightGoldenrodYellow;
                    int rand = Database.Random.Next(3, 6);
                    for (int i = 0; i <= rand; i++)
                    {
                        Vector3 pedSpawn = spawn.Around(10f);
                        PedHash pedHash  = _pedHashes[Database.Random.Next(_pedHashes.Length)];
                        Ped     ped      = World.CreatePed(pedHash, pedSpawn);
                        if (!(ped == null))
                        {
                            if (i > 0)
                            {
                                ped.Weapons.Give(_weapons[Database.Random.Next(_weapons.Length)], 45, true, true);
                            }
                            else
                            {
                                ped.Weapons.Give(GTA.Native.WeaponHash.SniperRifle, 15, true, true);
                            }
                            ped.Accuracy = 100;
                            ped.Task.GuardCurrentPosition();
                            ped.RelationshipGroup = Relationships.MilitiaRelationship;
                            _pedGroup.Add(ped, i == 0);
                            _peds.Add(ped);
                            EntityEventWrapper pedWrapper = new EntityEventWrapper(ped);
                            pedWrapper.Died += PedWrapperOnDied;
                        }
                    }
                    Model val = "mesa3";
                    position = _prop.Position;
                    World.CreateVehicle(val, World.GetNextPositionOnStreet(position.Around(25f)));
                    UI.Notify(string.Format("~y~Merryweather~s~ {0} drop nearby.", (_dropType == DropType.Loot) ? "loot" : "weapons"));
                }
            }
        }
Esempio n. 15
0
        private void PedWrapperOnDied(EntityEventWrapper sender, Entity entity)
        {
            Blip currentBlip = entity.CurrentBlip;

            if (currentBlip.Handle != 0)
            {
                currentBlip.Remove();
            }
            _peds.Remove(entity as Ped);
        }
Esempio n. 16
0
 public void RemovePed(Ped item)
 {
     if (!this._peds.Contains(item))
     {
         return;
     }
     this._peds.Remove(item);
     item.LeaveGroup();
     ((Entity)item).get_CurrentBlip()?.Remove();
     EntityEventWrapper.Dispose((Entity)item);
 }
Esempio n. 17
0
 protected ZombiePed(int handle)
 {
     _ped                       = new Ped(handle);
     _eventWrapper              = new EntityEventWrapper(_ped);
     _eventWrapper.Died        += OnDied;
     _eventWrapper.Updated     += Update;
     _eventWrapper.Aborted     += Abort;
     _currentMovementUpdateTime = DateTime.UtcNow;
     GoToTarget                += OnGoToTarget;
     AttackTarget              += OnAttackTarget;
 }
        private void PedWrapperOnDied(EntityEventWrapper sender, Entity entity)
        {
            _peds.Remove(entity as Ped);
            entity.MarkAsNoLongerNeeded();
            Blip currentBlip = entity.CurrentBlip;

            if (currentBlip.Handle != 0)
            {
                currentBlip.Remove();
            }
            sender.Dispose();
        }
Esempio n. 19
0
        private void VehicleWrapperOnDied(EntityEventWrapper sender, Entity entity)
        {
            Blip currentBlip = entity.CurrentBlip;

            if (currentBlip.Handle != 0)
            {
                currentBlip.Remove();
            }
            sender.Dispose();
            _vehicle.MarkAsNoLongerNeeded();
            _vehicle = null;
        }
Esempio n. 20
0
 public void InfectTarget(Ped target)
 {
     if (!target.IsPlayer && target.Health <= target.MaxHealth / 4)
     {
         target.SetToRagdoll(3000);
         ZombieCreator.InfectPed(target, _ped.MaxHealth, true);
         ForgetTarget();
         target.LeaveGroup();
         target.Weapons.Drop();
         EntityEventWrapper.Dispose(target);
     }
 }
Esempio n. 21
0
 protected ZombiePed(int handle)
 {
     base.\u002Ector(handle);
     this._ped                       = new Ped(handle);
     this._eventWrapper              = new EntityEventWrapper((Entity)this._ped);
     this._eventWrapper.Died        += new EntityEventWrapper.OnDeathEvent(this.OnDied);
     this._eventWrapper.Updated     += new EntityEventWrapper.OnWrapperUpdateEvent(this.Update);
     this._eventWrapper.Aborted     += new EntityEventWrapper.OnWrapperAbortedEvent(this.Abort);
     this._currentMovementUpdateTime = DateTime.UtcNow;
     this.GoToTarget                += new ZombiePed.OnGoingToTargetEvent(this.OnGoToTarget);
     this.AttackTarget              += new ZombiePed.OnAttackingTargetEvent(this.OnAttackTarget);
 }
Esempio n. 22
0
        private void WrapperOnDied(EntityEventWrapper sender, Entity entity)
        {
            UI.Notify("Your vehicle was ~r~destroyed~s~!");
            _vehicleCollection.Remove(_vehicleCollection.ToList().Find((VehicleData v) => v.Handle == entity.Handle));
            Blip currentBlip = entity.CurrentBlip;

            if (currentBlip.Handle != 0)
            {
                currentBlip.Remove();
            }
            sender.Dispose();
        }
Esempio n. 23
0
 public void InfectTarget(Ped target)
 {
     if (target.get_IsPlayer() || ((Entity)target).get_Health() > ((Entity)target).get_MaxHealth() / 4)
     {
         return;
     }
     target.SetToRagdoll(3000);
     ZombieCreator.InfectPed(target, this.get_MaxHealth(), true);
     this.ForgetTarget();
     target.LeaveGroup();
     target.get_Weapons().Drop();
     EntityEventWrapper.Dispose((Entity)target);
 }
Esempio n. 24
0
 public override void CleanUp()
 {
     _peds.ForEach(delegate(Ped ped)
     {
         Blip currentBlip = ped.CurrentBlip;
         if (currentBlip.Handle != 0)
         {
             currentBlip.Remove();
         }
         ped.MarkAsNoLongerNeeded();
         EntityEventWrapper.Dispose(ped);
     });
 }
Esempio n. 25
0
        public void SaveVehicle(Vehicle vehicle)
        {
            if (_vehicleCollection == null)
            {
                Deserialize();
            }
            VehicleData saved = _vehicleCollection.ToList().Find((VehicleData v) => v.Handle == vehicle.Handle);

            if (saved != null)
            {
                UpdateDataSpecific(saved, vehicle);
                Serialize(true);
            }
            else
            {
                VehicleNeonLight[] neonHashes2 = (VehicleNeonLight[])Enum.GetValues(typeof(VehicleNeonLight));
                neonHashes2 = ((IEnumerable <VehicleNeonLight>)neonHashes2).Where((Func <VehicleNeonLight, bool>)vehicle.IsNeonLightsOn).ToArray();
                VehicleMod[] modHashes = (VehicleMod[])Enum.GetValues(typeof(VehicleMod));
                List <Tuple <VehicleMod, int> > mods = new List <Tuple <VehicleMod, int> >();
                modHashes.ToList().ForEach(delegate(VehicleMod h)
                {
                    int mod = vehicle.GetMod(h);
                    if (mod != -1)
                    {
                        mods.Add(new Tuple <VehicleMod, int>(h, mod));
                    }
                });
                VehicleToggleMod[] toggleModHashes2 = (VehicleToggleMod[])Enum.GetValues(typeof(VehicleToggleMod));
                toggleModHashes2 = ((IEnumerable <VehicleToggleMod>)toggleModHashes2).Where((Func <VehicleToggleMod, bool>)vehicle.IsToggleModOn).ToArray();
                int         handle = vehicle.Handle;
                Model       model  = vehicle.Model;
                VehicleData item   = new VehicleData(handle, model.Hash, vehicle.Rotation, vehicle.Position, vehicle.PrimaryColor, vehicle.SecondaryColor, vehicle.Health, vehicle.EngineHealth, vehicle.Heading, neonHashes2, mods, toggleModHashes2, vehicle.WindowTint, vehicle.WheelType, vehicle.NeonLightsColor, Function.Call <int>(GTA.Native.Hash.GET_VEHICLE_LIVERY, (InputArgument[])new InputArgument[1]
                {
                    vehicle.Handle
                }), Function.Call <bool>(GTA.Native.Hash.GET_VEHICLE_MOD_VARIATION, (InputArgument[])new InputArgument[2]
                {
                    vehicle.Handle,
                    23
                }), Function.Call <bool>(GTA.Native.Hash.GET_VEHICLE_MOD_VARIATION, (InputArgument[])new InputArgument[2]
                {
                    vehicle.Handle,
                    24
                }));
                _vehicleCollection.Add(item);
                _vehicles.Add(vehicle);
                vehicle.IsPersistent = true;
                EntityEventWrapper wrapper = new EntityEventWrapper(vehicle);
                wrapper.Died += WrapperOnDied;
                AddBlipToVehicle(vehicle);
            }
        }
Esempio n. 26
0
 public void RemovePed(Ped item)
 {
     if (_peds.Contains(item))
     {
         _peds.Remove(item);
         item.LeaveGroup();
         Blip currentBlip = item.CurrentBlip;
         if (currentBlip.Handle != 0)
         {
             currentBlip.Remove();
         }
         EntityEventWrapper.Dispose(item);
     }
 }
Esempio n. 27
0
        public override void CleanUp()
        {
            Vehicle vehicle = _vehicle;

            if (vehicle != null)
            {
                Blip currentBlip = vehicle.CurrentBlip;
                if (currentBlip.Handle != 0)
                {
                    currentBlip.Remove();
                }
            }
            EntityEventWrapper.Dispose(_vehicle);
        }
        public override void SpawnEntities()
        {
            Vector3 spawnPoint = this.GetSpawnPoint();

            if (!this.IsValidSpawn(spawnPoint))
            {
                return;
            }
            Vehicle vehicle = World.CreateVehicle(Database.GetRandomVehicleModel(), spawnPoint, (float)Database.Random.Next(1, 360));

            if (Entity.op_Equality((Entity)vehicle, (Entity)null))
            {
                this.Complete();
            }
            else
            {
                this._vehicle = vehicle;
                Blip blip = ((Entity)this._vehicle).AddBlip();
                blip.set_Name("Enemy Vehicle");
                blip.set_Sprite((BlipSprite)225);
                blip.set_Color((BlipColor)1);
                EntityEventWrapper entityEventWrapper1 = new EntityEventWrapper((Entity)this._vehicle);
                entityEventWrapper1.Died    += new EntityEventWrapper.OnDeathEvent(this.VehicleWrapperOnDied);
                entityEventWrapper1.Updated += new EntityEventWrapper.OnWrapperUpdateEvent(this.VehicleWrapperOnUpdated);
                for (int index = 0; index < vehicle.get_PassengerSeats() + 1; ++index)
                {
                    if (this._group.get_MemberCount() < 6 && vehicle.IsSeatFree((VehicleSeat) - 2))
                    {
                        Ped randomPedOnSeat = vehicle.CreateRandomPedOnSeat(index == 0 ? (VehicleSeat) - 1 : (VehicleSeat) - 2);
                        if (!Entity.op_Equality((Entity)randomPedOnSeat, (Entity)null))
                        {
                            randomPedOnSeat.get_Weapons().Give((WeaponHash)(int)(uint)Database.WeaponHashes[Database.Random.Next(Database.WeaponHashes.Length)], 25, true, true);
                            randomPedOnSeat.SetCombatAttributes(CombatAttributes.AlwaysFight, true);
                            randomPedOnSeat.SetAlertness(Alertness.FullyAlert);
                            randomPedOnSeat.set_RelationshipGroup(Relationships.HostileRelationship);
                            this._group.Add(randomPedOnSeat, index == 0);
                            ((Entity)randomPedOnSeat).AddBlip().set_Name("Enemy");
                            this._peds.Add(randomPedOnSeat);
                            EntityEventWrapper entityEventWrapper2 = new EntityEventWrapper((Entity)randomPedOnSeat);
                            entityEventWrapper2.Died     += new EntityEventWrapper.OnDeathEvent(this.PedWrapperOnDied);
                            entityEventWrapper2.Updated  += new EntityEventWrapper.OnWrapperUpdateEvent(this.PedWrapperOnUpdated);
                            entityEventWrapper2.Disposed += new EntityEventWrapper.OnWrapperDisposedEvent(this.PedWrapperOnDisposed);
                        }
                    }
                }
                UI.Notify("~r~Hostiles~s~ nearby!");
            }
        }
        private static void AddBlip(Ped ped)
        {
            if (((Entity)ped).get_CurrentBlip().Exists())
            {
                return;
            }
            ((Entity)ped).AddBlip().set_Name("Enemy Ped");
            EntityEventWrapper entityEventWrapper = new EntityEventWrapper((Entity)ped);

            entityEventWrapper.Died += (EntityEventWrapper.OnDeathEvent)((sender, entity) =>
            {
                entity.get_CurrentBlip()?.Remove();
                sender.Dispose();
            });
            entityEventWrapper.Aborted += (EntityEventWrapper.OnWrapperAbortedEvent)((sender, entity) => entity.get_CurrentBlip()?.Remove());
        }
Esempio n. 30
0
        public override void SpawnEntities()
        {
            Vector3 spawn = GetSpawnPoint();

            if (IsValidSpawn(spawn))
            {
                Vehicle vehicle = World.CreateVehicle(Database.GetRandomVehicleModel(), spawn, (float)Database.Random.Next(1, 360));
                if (vehicle == null)
                {
                    Complete();
                }
                else
                {
                    _vehicle = vehicle;
                    Blip vehicleBlip = _vehicle.AddBlip();
                    vehicleBlip.Name   = "Enemy Vehicle";
                    vehicleBlip.Sprite = GTA.BlipSprite.PersonalVehicleCar;
                    vehicleBlip.Color  = GTA.BlipColor.Red;
                    EntityEventWrapper vehicleWrapper = new EntityEventWrapper(_vehicle);
                    vehicleWrapper.Died    += VehicleWrapperOnDied;
                    vehicleWrapper.Updated += VehicleWrapperOnUpdated;
                    for (int i = 0; i < vehicle.PassengerSeats + 1; i++)
                    {
                        if (_group.MemberCount < 6 && vehicle.IsSeatFree(GTA.VehicleSeat.Any))
                        {
                            Ped ped = vehicle.CreateRandomPedOnSeat((i == 0) ? GTA.VehicleSeat.Driver : GTA.VehicleSeat.Any);
                            if (!(ped == null))
                            {
                                ped.Weapons.Give(Database.WeaponHashes[Database.Random.Next(Database.WeaponHashes.Length)], 25, true, true);
                                ped.SetCombatAttributes(CombatAttributes.AlwaysFight, true);
                                ped.SetAlertness(Alertness.FullyAlert);
                                ped.RelationshipGroup = Relationships.HostileRelationship;
                                _group.Add(ped, i == 0);
                                Blip blip = ped.AddBlip();
                                blip.Name = "Enemy";
                                _peds.Add(ped);
                                EntityEventWrapper pedWrapper = new EntityEventWrapper(ped);
                                pedWrapper.Died     += PedWrapperOnDied;
                                pedWrapper.Updated  += PedWrapperOnUpdated;
                                pedWrapper.Disposed += PedWrapperOnDisposed;
                            }
                        }
                    }
                    UI.Notify("~r~Hostiles~s~ nearby!");
                }
            }
        }