Exemple #1
0
 public void Update()
 {
     for (int i = 0; i < zombieList.Count; i++)
     {
         if (zombieList[i].pedEntity.IsAlive != true || (Extensions.DistanceBetween(zombieList[i].pedEntity, Game.Player.Character) > maxSpawnDistance) || zombieList[i].pedEntity == null)
         {
             zombieList.RemoveAt(i);
             continue;
         }
         else
         {
             zombieList[i].ticksSinceLastUpdate++;
             if (zombieList[i].ticksSinceLastUpdate >= zombieList[i].ticksBetweenUpdates)
             {
                 zombieList[i].Update();
                 zombieList[i].ticksSinceLastUpdate = 0;
             }
         }
     }
 }
 public override void Update()
 {
     if (pedEntity.IsOnFire == true)
     {
         pedEntity.Kill();
     }
     if (pedEntity.IsAlive != true || Extensions.DistanceBetween(pedEntity, Game.Player.Character) > 100)
     {
         if (pedEntity.CurrentBlip.Exists())
         {
             pedEntity.CurrentBlip.Remove();
         }
     }
     if (Population.zombieRunners && pedEntity.IsRunning)
     {
         Function.Call(Hash.STOP_PED_SPEAKING, pedEntity.Handle, 0);
         Function.Call(Hash.DISABLE_PED_PAIN_AUDIO, pedEntity.Handle, false);
         Function.Call(Hash.PLAY_PAIN, pedEntity.Handle, 8, 0, 0);
         Function.Call(Hash.PLAY_FACIAL_ANIM, pedEntity.Handle, "burning_1", "facials@gen_male@base");
     }
     else
     {
         Function.Call(Hash.STOP_PED_SPEAKING, pedEntity.Handle, 1);
         Function.Call(Hash.DISABLE_PED_PAIN_AUDIO, pedEntity.Handle, true);
     }
     if (Function.Call <bool>(Hash.IS_AMBIENT_SPEECH_PLAYING, pedEntity.Handle))
     {
         Function.Call(Hash.STOP_CURRENT_PLAYING_AMBIENT_SPEECH, pedEntity.Handle);
     }
     if (isRunner == true)
     {
         if (!Function.Call <bool>(Hash.HAS_ANIM_SET_LOADED, "move_m@injured"))
         {
             Function.Call(Hash.REQUEST_ANIM_SET, "move_m@injured");
         }
         Function.Call(Hash.SET_PED_MOVEMENT_CLIPSET, pedEntity.Handle, "move_m@injured", 0x3E800000);
     }
     else
     {
         if (!Function.Call <bool>(Hash.HAS_ANIM_SET_LOADED, "move_m@drunk@verydrunk"))
         {
             Function.Call(Hash.REQUEST_ANIM_SET, "move_m@drunk@verydrunk");
         }
         Function.Call(Hash.SET_PED_MOVEMENT_CLIPSET, pedEntity.Handle, "move_m@drunk@verydrunk", 0x3E800000);
     }
     if (target == null)
     {
         target = FindTarget();
         if (target == null && newSearch == true)
         {
             pedEntity.Task.WanderAround();
             newSearch = false;
             return;
         }
     }
     else
     {
         if (target.IsAlive != true || Extensions.DistanceBetween(pedEntity, target) >= 80 || target.RelationshipGroup == Relationships.ZombieGroup)
         {
             target    = null;
             newSearch = true;
             target    = FindTarget();
             if (target == null && newSearch == true)
             {
                 pedEntity.Task.WanderAround();
                 newSearch = false;
                 return;
             }
         }
         if (target != null && (Extensions.DistanceBetween(pedEntity, target) <= 1.2) && !target.IsInVehicle())
         {
             if (target.IsDead == true)
             {
                 if (!Function.Call <bool>(Hash.IS_ENTITY_PLAYING_ANIM, pedEntity, "amb@world_human_bum_wash@male@high@idle_a", "idle_b", 3))
                 {
                     pedEntity.Task.PlayAnimation("amb@world_human_bum_wash@male@high@idle_a", "idle_b", 8f, -1, GTA.AnimationFlags.Loop);
                     Task.Delay(8);
                 }
             }
             if (!Function.Call <bool>(Hash.IS_ENTITY_PLAYING_ANIM, pedEntity, "rcmbarry", "bar_1_teleport_aln", 3))
             {
                 Vector3 rotationTarget = pedEntity.Rotation - Game.Player.Character.Rotation;
                 pedEntity.Rotation = rotationTarget;
                 pedEntity.Task.PlayAnimation("rcmbarry", "bar_1_teleport_aln", 8f, 1000, (AnimationFlags)16);
                 Task.Delay(8);
                 if (target == Game.Player.Character)
                 {
                     target.ApplyDamage(50);
                     target.Kill();
                 }
                 else
                 {
                     target.ApplyDamage(50);
                     int rnd = RandoMath.CachedRandom.Next(0, 2);
                     if (rnd == 0)
                     {
                         Function.Call(Hash.SET_PED_TO_RAGDOLL, target.Handle, 3000, 0, 0, false, false, false);
                         target.Weapons.Drop();
                         if (target.CurrentBlip.Exists())
                         {
                             target.CurrentBlip.Remove();
                         }
                         Population.Infect(target);
                         target.LeaveGroup();
                         target.Weapons.Drop();
                         target    = null;
                         newSearch = true;
                         target    = FindTarget();
                         if (target == null && newSearch == true)
                         {
                             pedEntity.Task.WanderAround();
                             newSearch = false;
                             return;
                         }
                     }
                     else
                     {
                         target.Weapons.Drop();
                         target.Kill();
                         if (target.CurrentBlip.Exists())
                         {
                             target.CurrentBlip.Remove();
                         }
                     }
                 }
             }
         }
         else
         {
             if (isRunner == true)
             {
                 if (!Function.Call <bool>(Hash.HAS_ANIM_SET_LOADED, "move_m@injured"))
                 {
                     Function.Call(Hash.REQUEST_ANIM_SET, "move_m@injured");
                 }
                 Function.Call(Hash.SET_PED_MOVEMENT_CLIPSET, pedEntity.Handle, "move_m@injured", 0x3E800000);
                 pedEntity.Task.Climb();
                 Function.Call(Hash.TASK_GO_TO_ENTITY, pedEntity.Handle, target.Handle, -1, 0f, 5f, 1073741824, 0);
             }
             else
             {
                 pedEntity.Task.Climb();
                 pedEntity.Task.GoTo(target.Position);
             }
         }
     }
 }
 public void Update()
 {
     Game.DisableControlThisFrame(85, GTA.Control.VehicleRadioWheel);
     Game.DisableControlThisFrame(81, GTA.Control.VehicleNextRadio);
     Game.DisableControlThisFrame(82, GTA.Control.VehiclePrevRadio);
     Game.DisableControlThisFrame(333, GTA.Control.RadioWheelLeftRight);
     Game.DisableControlThisFrame(332, GTA.Control.RadioWheelUpDown);
     Function.Call(Hash.DISABLE_CONTROL_ACTION, 2, 19, true);
     Function.Call(Hash.DESTROY_MOBILE_PHONE);
     Function.Call(Hash.SET_VEHICLE_POPULATION_BUDGET, 0);
     Function.Call(Hash.SET_PED_POPULATION_BUDGET, 0);
     Function.Call(Hash.SET_SCENARIO_PED_DENSITY_MULTIPLIER_THIS_FRAME, 0f);
     Function.Call(Hash.SET_VEHICLE_DENSITY_MULTIPLIER_THIS_FRAME, 0f);
     Function.Call(Hash.SET_RANDOM_VEHICLE_DENSITY_MULTIPLIER_THIS_FRAME, 0f);
     Function.Call(Hash.SET_PARKED_VEHICLE_DENSITY_MULTIPLIER_THIS_FRAME, 0f);
     Function.Call(Hash.STOP_ALARM, "PRISON_ALARMS", true);
     Function.Call(Hash.SET_AUDIO_FLAG, "PoliceScannerDisabled", true);
     Function.Call(Hash.TERMINATE_ALL_SCRIPTS_WITH_THIS_NAME, "re_prison");
     Function.Call(Hash.TERMINATE_ALL_SCRIPTS_WITH_THIS_NAME, "am_prison");
     Function.Call(Hash.TERMINATE_ALL_SCRIPTS_WITH_THIS_NAME, "gb_biker_free_prisoner");
     Function.Call(Hash.TERMINATE_ALL_SCRIPTS_WITH_THIS_NAME, "re_prisonvanbreak");
     Function.Call(Hash.TERMINATE_ALL_SCRIPTS_WITH_THIS_NAME, "am_vehicle_spawn");
     Function.Call(Hash.TERMINATE_ALL_SCRIPTS_WITH_THIS_NAME, "am_taxi");
     Function.Call(Hash.TERMINATE_ALL_SCRIPTS_WITH_THIS_NAME, "audiotest");
     Function.Call(Hash.TERMINATE_ALL_SCRIPTS_WITH_THIS_NAME, "freemode");
     Function.Call(Hash.TERMINATE_ALL_SCRIPTS_WITH_THIS_NAME, "re_prisonerlift");
     Function.Call(Hash.TERMINATE_ALL_SCRIPTS_WITH_THIS_NAME, "am_prison");
     Function.Call(Hash.TERMINATE_ALL_SCRIPTS_WITH_THIS_NAME, "re_lossantosintl");
     Function.Call(Hash.TERMINATE_ALL_SCRIPTS_WITH_THIS_NAME, "re_armybase");
     Function.Call(Hash.TERMINATE_ALL_SCRIPTS_WITH_THIS_NAME, "restrictedareas");
     Function.Call(Hash.TERMINATE_ALL_SCRIPTS_WITH_THIS_NAME, "stripclub");
     Function.Call(Hash.TERMINATE_ALL_SCRIPTS_WITH_THIS_NAME, "re_gangfight");
     Function.Call(Hash.TERMINATE_ALL_SCRIPTS_WITH_THIS_NAME, "re_gang_intimidation");
     Function.Call(Hash.TERMINATE_ALL_SCRIPTS_WITH_THIS_NAME, "spawn_activities");
     Function.Call(Hash.TERMINATE_ALL_SCRIPTS_WITH_THIS_NAME, "am_vehiclespawn");
     Function.Call(Hash.TERMINATE_ALL_SCRIPTS_WITH_THIS_NAME, "traffick_air");
     Function.Call(Hash.TERMINATE_ALL_SCRIPTS_WITH_THIS_NAME, "traffick_ground");
     Function.Call(Hash.TERMINATE_ALL_SCRIPTS_WITH_THIS_NAME, "emergencycall");
     Function.Call(Hash.TERMINATE_ALL_SCRIPTS_WITH_THIS_NAME, "emergencycalllauncher");
     Function.Call(Hash.TERMINATE_ALL_SCRIPTS_WITH_THIS_NAME, "clothes_shop_sp");
     Function.Call(Hash.TERMINATE_ALL_SCRIPTS_WITH_THIS_NAME, "gb_rob_shop");
     Function.Call(Hash.TERMINATE_ALL_SCRIPTS_WITH_THIS_NAME, "gunclub_shop");
     Function.Call(Hash.TERMINATE_ALL_SCRIPTS_WITH_THIS_NAME, "hairdo_shop_sp");
     Function.Call(Hash.TERMINATE_ALL_SCRIPTS_WITH_THIS_NAME, "re_shoprobbery");
     Function.Call(Hash.TERMINATE_ALL_SCRIPTS_WITH_THIS_NAME, "shop_controller");
     Function.Call(Hash.TERMINATE_ALL_SCRIPTS_WITH_THIS_NAME, "re_crashrescue");
     Function.Call(Hash.TERMINATE_ALL_SCRIPTS_WITH_THIS_NAME, "re_rescuehostage");
     Function.Call(Hash.TERMINATE_ALL_SCRIPTS_WITH_THIS_NAME, "fm_mission_controller");
     Function.Call(Hash.TERMINATE_ALL_SCRIPTS_WITH_THIS_NAME, "player_scene_m_shopping");
     Function.Call(Hash.TERMINATE_ALL_SCRIPTS_WITH_THIS_NAME, "shoprobberies");
     Function.Call(Hash.TERMINATE_ALL_SCRIPTS_WITH_THIS_NAME, "re_atmrobbery");
     Function.Call(Hash.TERMINATE_ALL_SCRIPTS_WITH_THIS_NAME, "ob_vend1");
     Function.Call(Hash.TERMINATE_ALL_SCRIPTS_WITH_THIS_NAME, "ob_vend2");
     Function.Call(Hash.TERMINATE_ALL_SCRIPTS_WITH_THIS_NAME, "cellphone_controller");
     Function.Call(Hash.TERMINATE_ALL_SCRIPTS_WITH_THIS_NAME, "blip_controller");
     Function.Call(Hash.TERMINATE_ALL_SCRIPTS_WITH_THIS_NAME, "ambientblimp");
     Function.Call(Hash.TERMINATE_ALL_SCRIPTS_WITH_THIS_NAME, "blimptest");
     Function.Call(Hash.TERMINATE_ALL_SCRIPTS_WITH_THIS_NAME, "re_abandonedcar");
     Function.Call(Hash.TERMINATE_ALL_SCRIPTS_WITH_THIS_NAME, "director_mode");
     Function.Call(Hash.TERMINATE_ALL_SCRIPTS_WITH_THIS_NAME, "replay_controller");
     Function.Call(Hash.TERMINATE_ALL_SCRIPTS_WITH_THIS_NAME, "rerecord_recording");
     Function.Call(Hash.START_AUDIO_SCENE, "FBI_HEIST_H5_MUTE_AMBIENCE_SCENE");
     Function.Call(Hash.START_AUDIO_SCENE, "MIC1_RADIO_DISABLE");
     Function.Call((Hash)0x808519373FD336A3, true);
     Function.Call(Hash.CLEAR_AMBIENT_ZONE_LIST_STATE, "AZ_AFB_ALARM_SPEECH", 0, 0);
     Function.Call(Hash.CLEAR_AMBIENT_ZONE_LIST_STATE, "AZ_COUNTRYSIDE_CHILEAD_CABLE_CAR_LINE", 0, 0);
     Function.Call(Hash.CLEAR_AMBIENT_ZONE_LIST_STATE, "AZ_COUNTRYSIDE_DISTANT_CARS_ZONE_01", 0, 0);
     Function.Call(Hash.CLEAR_AMBIENT_ZONE_LIST_STATE, "AZ_COUNTRYSIDE_DISTANT_CARS_ZONE_02", 0, 0);
     Function.Call(Hash.CLEAR_AMBIENT_ZONE_LIST_STATE, "AZ_COUNTRYSIDE_DISTANT_CARS_ZONE_03", 0, 0);
     Function.Call(Hash.CLEAR_AMBIENT_ZONE_LIST_STATE, "AZ_COUNTRYSIDE_PRISON_01_ANNOUNCER_ALARM", 0, 0);
     Function.Call(Hash.CLEAR_AMBIENT_ZONE_LIST_STATE, "AZ_COUNTRYSIDE_PRISON_01_ANNOUNCER_GENERAL", 0, 0);
     Function.Call(Hash.CLEAR_AMBIENT_ZONE_LIST_STATE, "AZ_COUNTRYSIDE_PRISON_01_ANNOUNCER_WARNING", 0, 0);
     Function.Call(Hash.CLEAR_AMBIENT_ZONE_LIST_STATE, "AZ_COUNTRY_SAWMILL", 0, 0);
     Function.Call(Hash.CLEAR_AMBIENT_ZONE_LIST_STATE, "AZ_DISTANT_SASQUATCH", 0, 0);
     Function.Call(Hash.CLEAR_AMBIENT_ZONE_LIST_STATE, "AZ_DISTANT_VEHICLES_CITY_CENTRE", 0, 0);
     Function.Call(Hash.CLEAR_AMBIENT_ZONE_LIST_STATE, "AZ_DLC_HEISTS_BIOLAB", 0, 0);
     Function.Call(Hash.CLEAR_AMBIENT_ZONE_LIST_STATE, "AZ_DLC_HEIST_BIOLAB_GARAGE", 0, 0);
     Function.Call(Hash.CLEAR_AMBIENT_ZONE_LIST_STATE, "AZ_DLC_HEIST_POLICE_STATION_BOOST", 0, 0);
     Function.Call(Hash.CLEAR_AMBIENT_ZONE_LIST_STATE, "AZ_DMOD_TRAILER_01", 0, 0);
     Function.Call(Hash.CLEAR_AMBIENT_ZONE_LIST_STATE, "AZ_EPSILONISM_01_HILLS", 0, 0);
     Function.Call(Hash.CLEAR_AMBIENT_ZONE_LIST_STATE, "AZ_FBI_HEIST_SPRINKLER_FIRES_A_01", 0, 0);
     Function.Call(Hash.CLEAR_AMBIENT_ZONE_LIST_STATE, "AZ_FIB_HEIST_JANITOR_WALKIE_TALKIE", 0, 0);
     Function.Call(Hash.CLEAR_AMBIENT_ZONE_LIST_STATE, "AZ_PAPARAZZO_02_AMBIENCE", 0, 0);
     Function.Call(Hash.CLEAR_AMBIENT_ZONE_LIST_STATE, "AZ_PORT_OF_LS_UNDERWATER_CREAKS", 0, 0);
     Function.Call(Hash.CLEAR_AMBIENT_ZONE_LIST_STATE, "AZ_SAWMILL_CONVEYOR_01", 0, 0);
     Function.Call(Hash.CLEAR_AMBIENT_ZONE_LIST_STATE, "AZ_SOL_1_FACTORY_AREA_CONSTRUCTIONS", 0, 0);
     Function.Call(Hash.CLEAR_AMBIENT_ZONE_LIST_STATE, "AZ_SPECIAL_UFO_01", 0, 0);
     Function.Call(Hash.CLEAR_AMBIENT_ZONE_LIST_STATE, "AZ_SPECIAL_UFO_02", 0, 0);
     Function.Call(Hash.CLEAR_AMBIENT_ZONE_LIST_STATE, "AZ_SPECIAL_UFO_03", 0, 0);
     Function.Call(Hash.CLEAR_AMBIENT_ZONE_LIST_STATE, "AZ_UNDERWATER_EXILE_01_PLANE_WRECK", 0, 0);
     Function.Call(Hash.CLEAR_AMBIENT_ZONE_LIST_STATE, "AZ_YANKTON_CEMETARY", 0, 0);
     Function.Call(Hash.CLEAR_AMBIENT_ZONE_LIST_STATE, "AZ_strp3stge_SP", 0, 0);
     Function.Call(Hash.SUPPRESS_SHOCKING_EVENTS_NEXT_FRAME);
     Function.Call(Hash.SUPPRESS_AGITATION_EVENTS_NEXT_FRAME);
     Prop[] GetProps = World.GetNearbyProps(Game.Player.Character.Position, 10000f);
     for (int i = 0; i < GetProps.Length; i++)
     {
         Function.Call(Hash.SET_STATE_OF_CLOSEST_DOOR_OF_TYPE, GetProps[i].Model.Hash, GetProps[i].Position.X, GetProps[i].Position.Y, GetProps[i].Position.Z, false, 0, 0);
     }
     Ped[] all_ped = World.GetAllPeds();
     if (all_ped.Length > 0)
     {
         foreach (Ped ped in all_ped)
         {
             if (ped.IsAlive != true)
             {
                 if (ped.CurrentBlip.Exists())
                 {
                     ped.CurrentBlip.Remove();
                 }
             }
             if (Extensions.DistanceBetween(ped, Game.Player.Character) > (Population.maxSpawnDistance + 30) && ped.RelationshipGroup == Relationships.ZombieGroup)
             {
                 if (ped.CurrentBlip.Exists())
                 {
                     ped.CurrentBlip.Remove();
                 }
                 ped.Delete();
             }
             if (Extensions.DistanceBetween(ped, Game.Player.Character) > 1000 && ped.RelationshipGroup != Relationships.PlayerGroup)
             {
                 if (ped.CurrentBlip.Exists())
                 {
                     ped.CurrentBlip.Remove();
                 }
                 ped.Delete();
             }
         }
     }
     Vehicle[] all_vecs = World.GetAllVehicles();
     if (all_vecs.Length > 0)
     {
         foreach (Vehicle vehicle in all_vecs)
         {
             if (vehicle != Character.playerVehicle)
             {
                 if (Extensions.DistanceBetween(vehicle, Game.Player.Character) > (Population.maxSpawnDistance + 30))
                 {
                     if (vehicle.CurrentBlip.Exists())
                     {
                         vehicle.CurrentBlip.Remove();
                     }
                     vehicle.Delete();
                 }
             }
         }
     }
 }