public void Questioning() { pCar = LPlayer.LocalPlayer.Ped.IsInVehicle() ? LPlayer.LocalPlayer.Ped.CurrentVehicle : LPlayer.LocalPlayer.LastVehicle; //sCar = m.pulloverCar;//LVehicle.FromGTAVehicle(World.GetClosestVehicle(LPlayer.LocalPlayer.LastVehicle.GetOffsetPosition(new Vector3(0, pCar.Model.GetDimensions().Y / 2 + 4, 0)), 5f)); //sCar.AttachBlip(); suspect = LPlayer.LocalPlayer.LastVehicle.GetPedOnSeat(LPlayer.LocalPlayer.LastVehicle.IsSeatFree(VehicleSeat.LeftRear) ? VehicleSeat.RightRear : VehicleSeat.LeftRear); if (suspect.Exists()) // If the suspect does exist we can go ahead and question them { if (sCar != null && sCar.Exists()) // Check for the suspect's vehicle, if it doesn't exist then this isn't a traffic stop. { IsTrafficStop = true; Functions.PrintHelp("~KEY_DIALOG_1~ Conduct Breathtest~n~~KEY_DIALOG_2~ Seize Car~n~~KEY_DIALOG_3~ Release Ped~n~~KEY_DIALOG_4~ Cancel"); qTimer = new GTA.Timer(10); qTimer.Start(); qTimer.Tick += qTimer_Tick; } else { IsTrafficStop = false; Functions.PrintHelp("You can only question a suspect from a pullover at this time."); m.HasQuestioningFired = false; //Functions.PrintHelp("~KEY_DIALOG_1~ Option 2~n~~KEY_DIALOG_2~ Option 2~n~~KEY_DIALOG_3~ Release Ped~n~~KEY_DIALOG_4~ Cancel"); } } else { m.HasQuestioningFired = false; } }
public CGrenade(Vector3 startPos, Vector3 startDirection, EBombType bombType, EExplosionType exType, int bombTickInterval, int grenadeTickInterval) { this.startDir = startDirection; this.bomb = new CBomb( startPos, "CJ_PROP_GRENADE", EBombType.payload, exType, bombTickInterval); this.timer = new GTA.Timer(); this.timer.Interval = grenadeTickInterval; this.timer.Start(); this.timer.Tick += new EventHandler(timer_Tick); this.bomb.Obj.Collision = true; this.bomb.Obj.SetRecordCollisions(true); this.ptfxHandle = GTA.Native.Function.Call<int>("START_PTFX_ON_OBJ", "weap_molotov_smoke", this.bomb.Obj, 0.125, -0.02, 0.01, 0.0, 0.0, 0.0, 1.1); this.bomb.Obj.FreezePosition = false; this.bomb.Obj.Rotation = GTA.Helper.DirectionToRotation(startDirection, 0f); }
/// <summary> /// Initializes a new instance of the <see cref="CRocket"/> class. /// </summary> /// <param name="startPos">The start position.</param> /// <param name="startDirection">The start direction.</param> /// <param name="bombType">Type of payload.</param> /// <param name="exType">Type of explosion.</param> /// <param name="bombTickInterval">The bomb tick interval.</param> /// <param name="rocketTickInterval">The rocket tick interval.</param> public CRocket(Vector3 startPos, Vector3 startDirection, EBombType bombType, EExplosionType exType, int bombTickInterval, int rocketTickInterval) { this.bomb = new CBomb( startPos, "cj_rpg_rocket", EBombType.payload, exType, bombTickInterval); this.timer = new GTA.Timer(); this.timer.Interval = rocketTickInterval; this.timer.Start(); this.timer.Tick += new EventHandler(this.timer_Tick); this.vel = GParams.RocketVel; // Example... //START_PTFX_ON_OBJ("ambient_cig_smoke", c.a, 0.125, -0.02, 0.01, 0.0, 0.0, 0.0, 1.1) --+z-y+x this.ptfxHandle = GTA.Native.Function.Call<int>("START_PTFX_ON_OBJ", "weap_rocket_player", this.bomb.Obj, 0.125, -0.02, 0.01, 0.0, 0.0, 0.0, 1.1); this.light = new GTA.Light(System.Drawing.Color.Orange, 15.0f, 80f); this.light.Position = this.bomb.Obj.GetOffsetPosition(new Vector3(0f, -2f, 0f)); this.light.Enabled = true; }
/// <summary> /// Initializes a new instance of the <see cref="CBomb"/> class. /// </summary> /// <param name="position">The spawn position.</param> /// <param name="model">The model.</param> /// <param name="bombType">The bomb type.</param> /// <param name="explosionType">The explosion type.</param> /// <param name="tickInterval">The tick interval.</param> public CBomb(Vector3 position, Model model, EBombType bombType, EExplosionType explosionType, int tickInterval) { this.model = model; this.bombType = bombType; this.obj = World.CreateObject(model, position); this.timer = new GTA.Timer(tickInterval, true); this.timer.Tick += new EventHandler(this.timer_Tick); this.creationTime = System.DateTime.Now.Ticks; this.state = EBombState.Armed; this.exType = explosionType; // We wait until the object has been created while (this.obj == null) { } GTA.Native.Function.Call("SET_OBJECT_AS_STEALABLE", this.obj, 1); //START_PTFX_ON_OBJ("ambient_cig_smoke", c.a, 0.125, -0.02, 0.01, 0.0, 0.0, 0.0, 1.1) --+z-y+x //ptfxHandle = GTA.Native.Function.Call<int>("START_PTFX_ON_OBJ", "shot_directed_flame", this.obj, 0, 0, 0.3, 45.0, -90.0, 45.0, 0.0); // // START_PTFX_ON_OBJ(string ptfxName, int objId, float xOffset, float yOffset, float zOffset, float yaw, float pitch, float roll, float scale) }
public FPSmod() { gameMode = GTA.Native.Function.Call<int>("NETWORK_GET_GAME_MODE"); if (gameMode != -1) { Game.Console.Print("[FPSmod]: not in singleplayer, thus disabled!"); } currentEpisode = Game.CurrentEpisode; if (currentEpisode != GameEpisode.GTAIV) { Game.Console.Print("[FPSmod]: not in standard GTA:IV!"); Game.DisplayText("Be advised: Kill-Icons is untested for EFLC!"); } multiKillTimer = new GTA.Timer(MULTIKILL_TIMELIMIT, false); killEventArray = new killEvent[50]; ownageSound = new SoundPlayer(); ownageSound.Stream = new System.IO.MemoryStream(loadFile("./scripts/sounds/ownage.wav")); comboWhoreSound = new SoundPlayer(); comboWhoreSound.Stream = new System.IO.MemoryStream(loadFile("./scripts/sounds/combowhore.wav")); headshotSoundPlayer = new SoundPlayer(); headshotSoundPlayer.Stream = new System.IO.MemoryStream(loadFile("./scripts/sounds/headshot.wav")); firstBloodSound = new SoundPlayer(); firstBloodSound.Stream = new System.IO.MemoryStream(loadFile("./scripts/sounds/firstblood.wav")); multiKillSound = new SoundPlayer(); multiKillSound.Stream = new System.IO.MemoryStream(loadFile("./scripts/sounds/multikill.wav")); killingSpreeSound = new SoundPlayer(); killingSpreeSound.Stream = new System.IO.MemoryStream(loadFile("./scripts/sounds/killingspree.wav")); dominatingSound = new SoundPlayer(); dominatingSound.Stream = new System.IO.MemoryStream(loadFile("./scripts/sounds/dominating.wav")); humiliationSound = new SoundPlayer(); humiliationSound.Stream = new System.IO.MemoryStream(loadFile("./scripts/sounds/humiliation.wav")); megaKillSound = new SoundPlayer(); megaKillSound.Stream = new System.IO.MemoryStream(loadFile("./scripts/sounds/megakill.wav")); unstoppableSound = new SoundPlayer(); unstoppableSound.Stream = new System.IO.MemoryStream(loadFile("./scripts/sounds/unstoppable.wav")); wickedSickSound = new SoundPlayer(); wickedSickSound.Stream = new System.IO.MemoryStream(loadFile("./scripts/sounds/wickedsick.wav")); holyShitSound = new SoundPlayer(); holyShitSound.Stream = new System.IO.MemoryStream(loadFile("./scripts/sounds/holyshit.wav")); godlikeSound = new SoundPlayer(); godlikeSound.Stream = new System.IO.MemoryStream(loadFile("./scripts/sounds/godlike.wav")); rampageSound = new SoundPlayer(); rampageSound.Stream = new System.IO.MemoryStream(loadFile("./scripts/sounds/rampage.wav")); GeneralInfo = "kill announcer by thaCURSEDpie"; Interval = 100; // Interval is the time between two Ticks (in milliseconds) this.Tick += new EventHandler(this.TickEvent); this.PerFrameDrawing += new GraphicsEventHandler(this.OnPerFrameDrawing); BindConsoleCommand("fpsmod_mute", new ConsoleCommandDelegate(mute_console), "- disable killsounds"); BindConsoleCommand("fpsmod_unmute", new ConsoleCommandDelegate(unmute_console), "- disable killsounds"); BindConsoleCommand("fpsmod_on", new ConsoleCommandDelegate(modOnConsole), "- Enable FPSmod."); BindConsoleCommand("fpsmod_off", new ConsoleCommandDelegate(modOffConsole), "- Disable FPSmod."); BindConsoleCommand("fpsmod_hidedebugtexts", new ConsoleCommandDelegate(hidedbgtexts_Console), "- Dont show debug texts."); BindConsoleCommand("fpsmod_showdebugtexts", new ConsoleCommandDelegate(showdbgtexts_Console), "- Do show debug texts."); BindConsoleCommand("fpsmod_reload", new ConsoleCommandDelegate(reloadSettingsConsole), "- Reload FPSmod settings."); BindConsoleCommand("fpsmod_hideicons", new ConsoleCommandDelegate(hideicons_console), "- Dont show kill icons"); BindConsoleCommand("fpsmod_showicons", new ConsoleCommandDelegate(showicons_console), "- Do show kill icons"); startUp(); }
//Function for requesting a tow truck public void RequestTowTruck() { Functions.AddTextToTextwall("Can I get a removal truck at my location please", "OFFICER " + LPlayer.LocalPlayer.Username); towedCar = World.GetClosestVehicle(LPlayer.LocalPlayer.Ped.Position, 3f); if (towedCar != null && towedCar.Exists()) { if (CalloutsPlusMain.QuickSpawnMethod == true) // if quick spawn method is set to true, the vehicle will spawn much closer { truck = new LVehicle(LPlayer.LocalPlayer.Ped.Position.Around(Common.GetRandomValue(30, 60)), "PACKER"); } else { truck = new LVehicle(LPlayer.LocalPlayer.Ped.Position.Around(Common.GetRandomValue(100, 150)), "PACKER"); } if (truck != null && truck.Exists()) { truckDriver = new LPed(truck.Position.Around(2f), "m_y_mechanic_02"); } if (towedCar.Model.isBoat) { Functions.PrintText("[TOW TRUCK] We can't tow a boat!", 4000); truck.NoLongerNeeded(); truckDriver.NoLongerNeeded(); towTruckCalledOut = false; } else if (towedCar.Model.isHelicopter) { Functions.PrintText("[TOW TRUCK] We can't tow a helicopter!", 4000); truck.NoLongerNeeded(); truckDriver.NoLongerNeeded(); towTruckCalledOut = false; } else if (towedCar.Model.Hash == 2053223216 || towedCar.Model.Hash == 850991848 || towedCar.Model.Hash == 2307837162 || towedCar.Model.Hash == 3581397346 || towedCar.Model.Hash == 1938952078 || towedCar.Model.Hash == 1353720154 || towedCar.Model.Hash == 904750859 || towedCar.Model.Hash == 569305213) { Functions.PrintText( "[TOW TRUCK] We can't tow that, it's too big. Send an impound cop instead.", 4000); truck.NoLongerNeeded(); truckDriver.NoLongerNeeded(); towTruckCalledOut = false; } else { if (truck != null && truck.Exists()) { if (truckDriver != null && truckDriver.Exists()) { truck.PlaceOnNextStreetProperly(); if (World.GetClosestVehicle(truck.Position, 5f).Exists() && World.GetClosestVehicle(truck.Position, 5f) != truck) { truck.Heading = World.GetClosestVehicle(truck.Position, 5f).Heading; } truck.Extras(1).Enabled = false; truck.Extras(2).Enabled = false; truck.Extras(3).Enabled = false; truck.Extras(4).Enabled = false; truckDriver.WarpIntoVehicle(truck, VehicleSeat.Driver); truck.AttachBlip().Color = BlipColor.Yellow; DelayedCaller.Call(delegate { Functions.AddTextToTextwall("Affirmative, a removal truck has been dispatched", "CONTROL"); towTruckCanCancel = true; truckDriver.Task.DriveTo(LPlayer.LocalPlayer.Ped.Position, 20f, true, false); GTA.Native.Function.Call("ADD_STUCK_CAR_CHECK", new GTA.Native.Parameter[] { (Vehicle)truck, 2f, 12000 }); truckDriver.MakeProofTo(false, true, true, true, false); TTStatus = State.Responding; towTruckTimer = new GTA.Timer(1000); towTruckTimer.Tick += TowTruck_Tick; towTruckTimer.Start(); }, this, 100); } else { Functions.AddTextToTextwall("Negative we have no drivers available right now.", "CONTROL"); truck.Delete(); towTruckCalledOut = false; } } else { Functions.AddTextToTextwall("Negative at this time, we have no available trucks.", "CONTROL"); driver.Delete(); towTruckCalledOut = false; } } } else { Functions.PrintText("There is no vehicle here, tow truck will not be sent", 4000); towTruckCalledOut = false; } }
//Function for requesting an ambulance for a single ped public void RequestMedic() { //Functions.AddTextToTextwall("I need a paramedic ASAP", "Officer " + LPlayer.LocalPlayer.Username); //LPlayer.LocalPlayer.Ped.PlayWalkieTalkieAnimation(""); if (CalloutsPlusMain.QuickSpawnMethod) { ambulance = new LVehicle(LPlayer.LocalPlayer.Ped.Position.Around(Common.GetRandomValue(30, 60)), "AMBULANCE"); } else { var ambulances = World.GetAllVehicles("AMBULANCE"); var selectedAmbulance = ambulances.FirstOrDefault(); if (selectedAmbulance != null && selectedAmbulance.Exists()) { ambulance = LVehicle.FromGTAVehicle(selectedAmbulance); //Functions.PrintText("Found an ambulance in the game already, using", 4000); para1 = ambulance.GetPedOnSeat(VehicleSeat.Driver); if (para1.Exists()) { para1.Task.ClearAllImmediately(); Functions.SetPedIsOwnedByScript(para1, this, true); para1.IsRequiredForMission = true; ambulance.IsRequiredForMission = true; para1.Task.WarpIntoVehicle(ambulance, VehicleSeat.Driver); DelayedCaller.Call(delegate { para1.Task.DriveTo(LPlayer.LocalPlayer.Ped.Position, 20f, false, false); para1.Task.AlwaysKeepTask = true; para1.BlockPermanentEvents = true; ambulance.SirenActive = true; ambulance.AttachBlip().Color = BlipColor.Green; Functions.AddTextToTextwall("A paramedic has been dispatched to your location, stand-by", "CONTROL"); //Functions.PlaySoundUsingPosition("INS_I_NEED_A_MEDICAL_TEAM_FOR_ERRR", LPlayer.LocalPlayer.Ped.Position); GTA.Native.Function.Call("ADD_STUCK_CAR_CHECK", new GTA.Native.Parameter[] { (Vehicle)ambulance, 2f, 12000 }); paramedicCanCancel = true; EMSStatus = State.Responding; medic = new AnimationSet("medic"); paramedicTimer = new GTA.Timer(1000); paramedicTimer.Start(); paramedicTimer.Tick += (paramedic_Tick); }, this, 2000); } else { para1 = ambulance.CreatePedOnSeat(VehicleSeat.Driver, "M_Y_PMEDIC"); para1.Task.ClearAllImmediately(); Functions.SetPedIsOwnedByScript(para1, this, true); para1.Task.WarpIntoVehicle(ambulance, VehicleSeat.Driver); DelayedCaller.Call(delegate { para1.Task.DriveTo(LPlayer.LocalPlayer.Ped.Position, 20f, false, false); para1.Task.AlwaysKeepTask = true; para1.BlockPermanentEvents = true; ambulance.SirenActive = true; ambulance.AttachBlip().Color = BlipColor.Green; Functions.AddTextToTextwall("A paramedic has been dispatched to your location, stand-by", "CONTROL"); //Functions.PlaySoundUsingPosition("INS_I_NEED_A_MEDICAL_TEAM_FOR_ERRR", LPlayer.LocalPlayer.Ped.Position); GTA.Native.Function.Call("ADD_STUCK_CAR_CHECK", new GTA.Native.Parameter[] { (Vehicle)ambulance, 2f, 12000 }); paramedicCanCancel = true; EMSStatus = State.Responding; medic = new AnimationSet("medic"); paramedicTimer = new GTA.Timer(1000); paramedicTimer.Start(); paramedicTimer.Tick += (paramedic_Tick); }, this, 2000); } if (ambulance.GetPedOnSeat(VehicleSeat.RightFront).Exists()) { ambulance.GetPedOnSeat(VehicleSeat.RightFront).Delete(); } } else { ambulance = new LVehicle( World.GetNextPositionOnStreet( LPlayer.LocalPlayer.Ped.Position.Around(Common.GetRandomValue(100, 150))), "AMBULANCE"); if (ambulance.Exists()) { ambulance.PlaceOnNextStreetProperly(); if (World.GetClosestVehicle(ambulance.Position, 5f).Exists() && World.GetClosestVehicle(ambulance.Position, 5f) != ambulance) { ambulance.Heading = World.GetClosestVehicle(ambulance.Position, 5f).Heading; } if (!para1.Exists()) { para1 = new LPed(ambulance.Position.Around(5f), "M_Y_PMEDIC"); para1.Task.ClearAllImmediately(); Functions.SetPedIsOwnedByScript(para1, this, true); para1.Task.WarpIntoVehicle(ambulance, VehicleSeat.Driver); DelayedCaller.Call(delegate { para1.Task.DriveTo(LPlayer.LocalPlayer.Ped.Position, 20f, false, false); para1.Task.AlwaysKeepTask = true; para1.BlockPermanentEvents = true; ambulance.SirenActive = true; ambulance.AttachBlip().Color = BlipColor.Green; Functions.AddTextToTextwall( "A paramedic has been dispatched to your location, stand-by", "CONTROL"); //Functions.PlaySoundUsingPosition("INS_I_NEED_A_MEDICAL_TEAM_FOR_ERRR", LPlayer.LocalPlayer.Ped.Position); GTA.Native.Function.Call("ADD_STUCK_CAR_CHECK", new GTA.Native.Parameter[] { (Vehicle)ambulance, 2f, 12000 }); paramedicCanCancel = true; EMSStatus = State.Responding; medic = new AnimationSet("medic"); paramedicTimer = new GTA.Timer(1000); paramedicTimer.Start(); paramedicTimer.Tick += (paramedic_Tick); }, this, 2000); } } } } }
//Function for requesting a removal cop team public void RequestRemoval() { Functions.AddTextToTextwall("Control, I need a unit to remove a vehicle for me.", "Officer " + LPlayer.LocalPlayer.Username); LPlayer.LocalPlayer.Ped.PlayWalkieTalkieAnimation(""); removalCar = World.GetClosestVehicle(LPlayer.LocalPlayer.Ped.Position, 3.0f); if (removalCar != null && removalCar.Exists()) { if (CalloutsPlusMain.QuickSpawnMethod) { copCar = new LVehicle(LPlayer.LocalPlayer.Ped.Position.Around(Common.GetRandomValue(30, 60)), "POLICE"); } else { var copcars = World.GetAllVehicles("POLICE"); var selectedCop = copcars.FirstOrDefault(); if (selectedCop != null && selectedCop.Exists()) { dropOffDriver = LPed.FromGTAPed(selectedCop.GetPedOnSeat(VehicleSeat.Driver)); if (dropOffDriver.Exists()) { if (!Functions.DoesPedHaveAnOwner(dropOffDriver)) { Functions.SetPedIsOwnedByScript(dropOffDriver, this, true); driver = LPed.FromGTAPed(selectedCop.GetPedOnSeat(VehicleSeat.RightFront)); if (!driver.Exists()) { driver = LPed.FromGTAPed(selectedCop.CreatePedOnSeat(VehicleSeat.RightFront, "M_Y_COP")); } Functions.SetPedIsOwnedByScript(driver, this, true); copCar = LVehicle.FromGTAVehicle(selectedCop); copCar.AttachBlip().Color = BlipColor.Green; //Functions.PrintHelp("Selected a cop car already in existance~n~Distance: " + copCar.Position.DistanceTo2D(LPlayer.LocalPlayer.Ped.Position)); } dropOffDriver.Task.DriveTo(LPlayer.LocalPlayer.Ped.Position, 20f, true, true); removalTimer = new GTA.Timer(1000); removalTimer.Start(); removalTimer.Tick += (removal_Tick); RTStatus = State.Responding; GTA.Native.Function.Call("ADD_STUCK_CAR_CHECK", new GTA.Native.Parameter[] { (Vehicle)copCar, 2f, 12000 }); Functions.AddTextToTextwall("Affirmative, a unit is on it's way stand by.", "CONTROL"); removalCanCancel = true; } else { Functions.AddTextToTextwall("We were unable to locate a unit available, please try again later.", "CONTROL"); removalCalledOut = false; removalCanCancel = false; } } else { copCar = new LVehicle( World.GetNextPositionOnStreet( LPlayer.LocalPlayer.Ped.Position.Around(Common.GetRandomValue(100, 150))), "POLICE"); copCar.PlaceOnNextStreetProperly(); if (World.GetClosestVehicle(copCar.Position, 5f).Exists() && World.GetClosestVehicle(copCar.Position, 5f) != copCar) { copCar.Heading = World.GetClosestVehicle(copCar.Position, 5f).Heading; } dropOffDriver = new LPed(copCar.Position.Around(5f), "M_Y_COP"); driver = new LPed(copCar.Position.Around(5f), "M_Y_COP"); if (dropOffDriver.Exists() && driver.Exists()) { dropOffDriver.WarpIntoVehicle(copCar, VehicleSeat.Driver); driver.WarpIntoVehicle(copCar, VehicleSeat.RightFront); copCar.AttachBlip().Color = BlipColor.Green; dropOffDriver.Task.DriveTo(LPlayer.LocalPlayer.Ped.Position, 20f, true, true); removalTimer = new GTA.Timer(1000); removalTimer.Start(); removalTimer.Tick += (removal_Tick); RTStatus = State.Responding; GTA.Native.Function.Call("ADD_STUCK_CAR_CHECK", new GTA.Native.Parameter[] { (Vehicle)copCar, 2f, 12000 }); Functions.AddTextToTextwall("Affirmative, a unit is on it's way stand by.", "CONTROL"); removalCanCancel = true; } else { Functions.AddTextToTextwall("We lost contact with the unit, sorry", "CONTROL"); if (copCar.Exists()) { copCar.AttachBlip().Delete(); copCar.Delete(); } removalCalledOut = false; } } } } else { Functions.PrintText("There is no vehicle here!", 4000); removalCalledOut = false; } }