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; }
private void EventWrapperOnDisposed(EntityEventWrapper sender, Entity entity) { if (_peds.Contains(entity as Ped)) { _peds.Remove(entity as Ped); } }
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(); } }; } }
private void PedWrapperOnDied(EntityEventWrapper sender, Entity entity) { this._peds.Remove(entity as Ped); entity.MarkAsNoLongerNeeded(); entity.get_CurrentBlip()?.Remove(); sender.Dispose(); }
private void VehicleWrapperOnUpdated(EntityEventWrapper sender, Entity entity) { if (!(entity == null)) { entity.CurrentBlip.Alpha = _vehicle.Driver.Exists() ? 255 : 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(); }
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); }
public override void CleanUp() { this._peds.ForEach((Action <Ped>)(ped => { ((Entity)ped).get_CurrentBlip()?.Remove(); ((Entity)ped).MarkAsNoLongerNeeded(); EntityEventWrapper.Dispose((Entity)ped); })); }
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()); }
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")); } } }
private void PedWrapperOnDied(EntityEventWrapper sender, Entity entity) { Blip currentBlip = entity.CurrentBlip; if (currentBlip.Handle != 0) { currentBlip.Remove(); } _peds.Remove(entity as Ped); }
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); }
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(); }
private void VehicleWrapperOnDied(EntityEventWrapper sender, Entity entity) { Blip currentBlip = entity.CurrentBlip; if (currentBlip.Handle != 0) { currentBlip.Remove(); } sender.Dispose(); _vehicle.MarkAsNoLongerNeeded(); _vehicle = null; }
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); } }
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); }
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(); }
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); }
public override void CleanUp() { _peds.ForEach(delegate(Ped ped) { Blip currentBlip = ped.CurrentBlip; if (currentBlip.Handle != 0) { currentBlip.Remove(); } ped.MarkAsNoLongerNeeded(); EntityEventWrapper.Dispose(ped); }); }
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); } }
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); } }
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()); }
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!"); } } }