Xonyne88
Members-
Posts
36 -
Joined
-
Last visited
Content Type
Forums
Gallery
Downloads
Tutorials
News Stories
Wiki
Community Guidelines
LSPDFR BOLO Series
GTA5 Native Database
GTA5 Native Parameters
Release Highlights
LSPDFR Mod Showcase
LML User Contributions
Everything posted by Xonyne88
-
I will try to add these callouts in my callouts pack!
-
DisplayNotification Loop - Distanceto2D (PlayAudio)
Xonyne88 replied to CableDog19's topic in API Development
Yes, I know, but I always like to set them first, it's just my preference. -
I don't think there are Detective plugins in the downloads section, but a quick search might help. It is possible that some developers will add this features to theirl plugins or callouts pack.
-
What about Plugin Merging with new LSPDFR update?
Xonyne88 replied to bannerlordfive's topic in Discussion & Suggestions
To be honest, I agree with @Reddington's opinion. First of all, some of the plugins you specified might broke in future updates so it will possible break the game. Second, Reddington is right, in my opinion it's better for users to have the option to customize the game. This is my personal opinion. -
Any mods that add progression to LCPDFR?
Xonyne88 replied to EverlastingMilk's topic in Discussion & Suggestions
I am currently developing a callouts pack. After I finish it, I will add these features to my list for a future plugin! -
DisplayNotification Loop - Distanceto2D (PlayAudio)
Xonyne88 replied to CableDog19's topic in API Development
I always make a bool first and set it as false. Then I check if it is false and I set it to true in the if statement so it doesn't repeat, it works pretty okay for me. bool notificationDisplayed = false; // do this at the beginning (in your class, not in any method) public override void Process() { if(condition && !notificationDisplayed) { //do your thing notificatioDisplayed = true; } } -
Coastal Callout doesn't open with " ] "
Xonyne88 replied to jojo359's topic in Script, Ped & File Modifications Showroom
Can you show us your log? -
Random ped: Ped ped = new Ped(); Random vehicle: Vehicle vehicle = new Vehicle();
-
[WIP] MIXED CALLOUTS Description Today I'm starting the development of a new Callouts Pack called Mixed Callouts. The idea of this callout pack is to add callouts for everyone to play. Mixed Callouts will have callouts for every type of police officer: shootouts, chases and normal everyday callouts. My goal is to create realistic and some crazy callouts so you officers can have fun! Planned Callouts Casual Callouts All of these callouts have different outcomes! [WIP] Domestic Dispute between Family In this callout you will receive a 911 call regarding a Domestic Dispute. You are sent to investigate. [PLANNED] Injured Biker We received a 911 call regarding an injured biker in the middle of the street. [PLANNED] Car Crash Two cars crashed in traffic and the drivers called 911. Resolve the situation. [PLANNED] Missing pet Someone lost their pet, get to the scene and search for the missing animal. [PLANNED] Suspicious Activity In this callout you will receive a 911 call from a person who thought they heard/saw something weird happened. [PLANNED] 911 Hangup This callout features a high variety of outcomes, so is hard to explain here. Shootouts and chases All of these callouts have different outcomes! [PLANNED] Gang attack against an officer An officer is attacked by a well known gang. Go to the scene and resolve the situation. [PLANNED] Pursuit in Progress A criminal is resisting arrest. Pursue them and catch them. Read this Please note that I'm still developing this callouts pack so there might be more callouts. I was initially planning to add a train callout, but I didn't decide yet. So I am asking you, the reader, to give me callouts suggestions in this topic and ping me too. Special thanks to @Reddington for giving me ideas for callouts. I will update this post as progress continues.
-
@Felix1212 put it instead of mySuspect.Tasks.FightAgainstClosestHatedTarget(200f, 1);
-
First of all, we can't give you the full code. Second, you need a basic understanding of C#. I would love to help you, but you have to do something too. I recommend watching Albo's tutorials, I'm sure they will help ( also thanks @Albo1125 you made me start developing for Rage Plugin Hook and LSPDFR). If you have this knowledge, you can send me a PM or ping me here and I will see what I can do. @ktrain
-
Guide to Creating a Callouts Plugin [LSPDFR+RPH]
Xonyne88 replied to ToastinYou's topic in API Development
For people who can't find the class library in later versions of Visual Studio, it is called Class Library(.NET Framework) and it is under Visual C#. -
Now I have this problem. I have this code. First, I can only hear CITIZENS_REPORT IN, without the actual name of the crime. When I try to speak with the agent(press Y), nothing happens, even if I am close to him. This is my code: using System; using System.Drawing; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Rage; using Rage.Native; using LSPD_First_Response.Mod.API; using LSPD_First_Response.Mod.Callouts; using LSPD_First_Response.Engine.Scripting.Entities; using System.Windows.Forms; namespace Advanced_Policer.Callouts { [CalloutInfo("GangActivity", CalloutProbability.Medium)] public class GangActivity : Callout { public List<string> dialogWithCop = new List<string> { "~b~You~w~: Hello Agent! What's the situation? (1/10)", "~b~Agent James~w~: Hello Officer! A well known gang has been spotted. (2/10)", "~b~You~w~: Are they doing something illegal? (3/10)", "~b~Agent James~w~: We have reasons to believe that they are going to attend to a drug deal. (4/10)", "~b~You~w~: That's serious. Are they armed? (5/10)", "~b~Agent James~w~: We have been informed that the gang leader is armed with a ~r~Carbine Rifle~w~. (6/10)", "~b~You~w~: What's the plan? (7/10)", "~b~Agent James~w~: Try to arrest the suspects. (8/10)", "~b~You~w~: Alright! (9/10)", "~b~Agent James~w~: Let's get this done. (10/10)", }; public int dialogWithCopIndex; public LHandle pursuit; public Vector3 SpawnPoint; public Vector3 gangLeaderSpawnPoint; public Blip myBlip; public Ped FBIAgent; public Ped gangLeader; public Ped suspect1; public Ped suspect2; public Ped suspect3; public Ped suspect4; public Ped suspect5; public Ped suspect6; public Ped suspect7; public Blip gangLeaderBlip; public ECalloutState state; public override bool OnBeforeCalloutDisplayed() { gangLeaderSpawnPoint = World.GetNextPositionOnStreet(Game.LocalPlayer.Character.Position.Around(350f)); SpawnPoint = World.GetNextPositionOnStreet(Game.LocalPlayer.Character.Position.Around(200f)); FBIAgent = new Ped("s_m_m_fiboffice_02", SpawnPoint, Game.LocalPlayer.Character.Heading + 180); FBIAgent.BlockPermanentEvents = true; FBIAgent.IsPersistent = true; gangLeader = new Ped(gangLeaderSpawnPoint); gangLeader.IsPersistent = true; gangLeader.BlockPermanentEvents = true; if (!FBIAgent.Exists()) return false; this.ShowCalloutAreaBlipBeforeAccepting(SpawnPoint, 15f); this.AddMinimumDistanceCheck(5f, SpawnPoint); this.CalloutMessage = "Gang Activity"; this.CalloutPosition = SpawnPoint; Functions.PlayScannerAudioUsingPosition("CITIZENS_REPORT GANG_TRANSIT IN_OR_ON_POSITION", this.SpawnPoint); return base.OnBeforeCalloutDisplayed(); } public override bool OnCalloutAccepted() { GameFiber.StartNew(delegate { myBlip = new Blip(FBIAgent); myBlip.Color = Color.LightBlue; myBlip.EnableRoute(Color.Yellow); state = ECalloutState.EnRoute; Game.DisplayNotification("3dtextures", "mpgroundlogo_cops", "Officer", "", "Dispatch, I'm on my way."); GameFiber.Sleep(2500); Game.DisplayNotification("3dtextures", "mpgroundlogo_cops", "Dispatch", "", "Copy that officer, report to ~b~Agent James~w~ for briefing."); GameFiber.Sleep(2500); Game.DisplayNotification("3dtextures", "mpgroundlogo_cops", "Officer", "", "10-4. Responding Code ~r~3~w~."); }); Game.DisplaySubtitle("Speak with ~b~Agent James~w~.", 7500); return base.OnCalloutAccepted(); } public override void OnCalloutNotAccepted() { base.OnCalloutNotAccepted(); if (gangLeader.Exists()) gangLeader.Delete(); if (FBIAgent.Exists()) FBIAgent.Delete(); myBlip.Delete(); } public override void Process() { base.Process(); if (Game.IsKeyDownRightNow(Keys.End)) { EndCallout(); } if (gangLeader.IsDead || gangLeader.IsCuffed) { if (suspect1.IsDead || suspect1.IsCuffed) { if (suspect2.IsDead || suspect2.IsCuffed) { if (suspect3.IsDead || suspect3.IsCuffed) { if (suspect4.IsDead || suspect4.IsCuffed) { if (suspect5.IsDead || suspect5.IsCuffed) { if (suspect6.IsDead || suspect6.IsCuffed) { if (suspect7.IsDead || suspect7.IsCuffed) { EndCallout(); } } } } } } } } switch (state) { case ECalloutState.Talking: if (FBIAgent) { if (FBIAgent.IsAlive) { if (Game.LocalPlayer.Character.IsOnFoot) { if (Game.LocalPlayer.Character.DistanceTo2D(FBIAgent) <= 2) { if (Game.IsKeyDown(Keys.Y)) { Game.HideHelp(); if (dialogWithCopIndex < dialogWithCop.Count) { Game.DisplaySubtitle(dialogWithCop[dialogWithCopIndex]); dialogWithCopIndex++; } if (dialogWithCopIndex == dialogWithCop.Count) { suspect1 = new Ped(gangLeader.Position); suspect2 = new Ped(gangLeader.Position); suspect3 = new Ped(gangLeader.Position); suspect4 = new Ped(gangLeader.Position); suspect5 = new Ped(gangLeader.Position); suspect6 = new Ped(gangLeader.Position); suspect7 = new Ped(gangLeader.Position); suspect1.IsPersistent = true; suspect2.IsPersistent = true; suspect3.IsPersistent = true; suspect4.IsPersistent = true; suspect5.IsPersistent = true; suspect6.IsPersistent = true; suspect7.IsPersistent = true; suspect1.BlockPermanentEvents = true; suspect2.BlockPermanentEvents = true; suspect3.BlockPermanentEvents = true; suspect4.BlockPermanentEvents = true; suspect5.BlockPermanentEvents = true; suspect6.BlockPermanentEvents = true; suspect7.BlockPermanentEvents = true; gangLeader.Inventory.GiveNewWeapon("WEAPON_CARBINERIFLE", 9999, true); myBlip.Delete(); gangLeaderBlip = new Blip(gangLeader); gangLeaderBlip.EnableRoute(Color.Yellow); suspect1.RelationshipGroup = "RelSuspect"; suspect2.RelationshipGroup = "RelSuspect"; suspect3.RelationshipGroup = "RelSuspect"; suspect4.RelationshipGroup = "RelSuspect"; suspect5.RelationshipGroup = "RelSuspect"; suspect6.RelationshipGroup = "RelSuspect"; suspect7.RelationshipGroup = "RelSuspect"; Game.SetRelationshipBetweenRelationshipGroups("RelSuspect", "COP", Relationship.Hate); suspect1.Inventory.GiveNewWeapon("WEAPON_PISTOL", 9999, true); suspect2.Inventory.GiveNewWeapon("WEAPON_PISTOL", 9999, true); suspect3.Inventory.GiveNewWeapon("WEAPON_PISTOL", 9999, true); suspect4.Inventory.GiveNewWeapon("WEAPON_PISTOL", 9999, true); suspect5.Inventory.GiveNewWeapon("WEAPON_PISTOL", 9999, true); suspect6.Inventory.GiveNewWeapon("WEAPON_PISTOL", 9999, true); suspect7.Inventory.GiveNewWeapon("WEAPON_PISTOL", 9999, true); state = ECalloutState.OnScene; switch (state) { case ECalloutState.OnScene: if(Game.LocalPlayer.Character.DistanceTo2D(gangLeader) <=10) { gangLeader.Tasks.FightAgainstClosestHatedTarget(1000f); suspect1.Tasks.FightAgainstClosestHatedTarget(1000f); suspect2.Tasks.FightAgainstClosestHatedTarget(1000f); suspect3.Tasks.FightAgainstClosestHatedTarget(1000f); suspect4.Tasks.FightAgainstClosestHatedTarget(1000f); suspect5.Tasks.FightAgainstClosestHatedTarget(1000f); suspect6.Tasks.FightAgainstClosestHatedTarget(1000f); suspect7.Tasks.FightAgainstClosestHatedTarget(1000f); Game.DisplayNotification("3dtextures", "mpgroundlogo_cops", "Officer", "", "I'm under fire. Requesting S.W.A.T Team Alpha!"); Game.DisplayNotification("3dtextures", "mpgroundlogo_cops", "S.W.A.T Leader", "Alpha Team", "Copy that. S.W.A.T Team Alpha is en route."); Functions.RequestBackup(Game.LocalPlayer.Character.Position, LSPD_First_Response.EBackupResponseType.Code3, LSPD_First_Response.EBackupUnitType.SwatTeam); Functions.RequestBackup(Game.LocalPlayer.Character.Position, LSPD_First_Response.EBackupResponseType.Code3, LSPD_First_Response.EBackupUnitType.LocalUnit); Functions.RequestBackup(Game.LocalPlayer.Character.Position, LSPD_First_Response.EBackupResponseType.Code3, LSPD_First_Response.EBackupUnitType.LocalUnit); } break; } } } } } } } break; } } private void EndCallout() { Functions.PlayScannerAudio("ATTENTION_ALL_UNITS WE_ARE_CODE FOUR NO_FURTHER_UNITS_REQUIRED"); gangLeaderBlip.Delete(); gangLeader.Dismiss(); suspect1.Dismiss(); suspect2.Dismiss(); suspect3.Dismiss(); suspect4.Dismiss(); suspect5.Dismiss(); suspect6.Dismiss(); suspect7.Dismiss(); FBIAgent.Dismiss(); Game.DisplayNotification("3dtextures", "mpgroundlogo_cops", "Dispatch", "", "We are ~g~CODE 4~s~, good job officer!"); End(); } public override void End() { base.End(); } } public enum ECalloutState { EnRoute, Talking, OnScene, Code4 } }
-
Also @PNWParksFan and you @LukeD, do I need to make a new gamefiber to use gamefiber.sleep in a callout?
-
@PNWParksFan the blip still remains on the map.
-
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Rage; using Rage.Native; using LSPD_First_Response.Mod.API; using LSPD_First_Response.Mod.Callouts; using LSPD_First_Response.Engine.Scripting.Entities; namespace Advanced_Policer.Callouts { [CalloutInfo("PursuitinProgress", CalloutProbability.Medium)] public class PursuitinProgress : Callout { public LHandle pursuit; public Vector3 SpawnPoint; public Blip myBlip; public Ped mySuspect; public Vehicle myVehicle; public override bool OnBeforeCalloutDisplayed() { SpawnPoint = World.GetNextPositionOnStreet(Game.LocalPlayer.Character.Position.Around(300f)); myVehicle = new Vehicle("ZENTORNO", SpawnPoint); mySuspect = new Ped(SpawnPoint); mySuspect.WarpIntoVehicle(myVehicle, -1); mySuspect.IsPersistent = true; mySuspect.BlockPermanentEvents = true; myVehicle.IsPersistent = true; if (!mySuspect.Exists()) return false; this.ShowCalloutAreaBlipBeforeAccepting(SpawnPoint, 15f); this.AddMinimumDistanceCheck(5f, SpawnPoint); this.CalloutMessage = "Pursuit in Progress"; this.CalloutPosition = SpawnPoint; Functions.PlayScannerAudioUsingPosition("OFFICERS_REPORT CRIME_RESIST_ARREST IN_OR_ON_POSITION", this.SpawnPoint); return base.OnBeforeCalloutDisplayed(); } public override bool OnCalloutAccepted() { myBlip = mySuspect.AttachBlip(); this.pursuit = Functions.CreatePursuit(); Functions.AddPedToPursuit(this.pursuit, this.mySuspect); Functions.SetPursuitIsActiveForPlayer(this.pursuit, true); Functions.RequestBackup(Game.LocalPlayer.Character.Position, LSPD_First_Response.EBackupResponseType.Pursuit, LSPD_First_Response.EBackupUnitType.LocalUnit); Functions.RequestBackup(Game.LocalPlayer.Character.Position, LSPD_First_Response.EBackupResponseType.Pursuit, LSPD_First_Response.EBackupUnitType.LocalUnit); Functions.RequestBackup(Game.LocalPlayer.Character.Position, LSPD_First_Response.EBackupResponseType.Pursuit, LSPD_First_Response.EBackupUnitType.LocalUnit); Game.DisplaySubtitle("Catch the ~r~suspect~w~.", 7500); return base.OnCalloutAccepted(); } public override void OnCalloutNotAccepted() { base.OnCalloutNotAccepted(); if (mySuspect.Exists()) mySuspect.Delete(); myBlip.Delete(); if (myVehicle.Exists()) myVehicle.Delete(); } public override void Process() { base.Process(); if (Game.IsKeyDownRightNow(System.Windows.Forms.Keys.End)) { EndCallout(); } if (mySuspect.IsDead || mySuspect.IsCuffed) { EndCallout(); } if (!Functions.IsPursuitStillRunning(pursuit)) { EndCallout(); } } private void EndCallout() { Functions.PlayScannerAudio("ATTENTION_ALL_UNITS WE_ARE_CODE FOUR NO_FURTHER_UNITS_REQUIRED"); Game.DisplayNotification("3dtextures", "mpgroundlogo_cops", "Dispatch", "", "We are ~g~CODE 4~s~, good job officer!"); End(); } public override void End() { if (myBlip.Exists()) myBlip.Delete(); if (mySuspect.Exists()) mySuspect.Dismiss(); if (myVehicle.Exists()) myVehicle.Dismiss(); base.End(); } } }
-
So I created a callout, but when I try to use the code below, the suspect blip still remains on the map. public override void Process() { base.Process(); if (Game.IsKeyDownRightNow(System.Windows.Forms.Keys.End)) { EndCallout(); } if (mySuspect.IsDead || mySuspect.IsCuffed) { EndCallout(); } if (!Functions.IsPursuitStillRunning(pursuit)) { EndCallout(); } } private void EndCallout() { Functions.PlayScannerAudio("ATTENTION_ALL_UNITS WE_ARE_CODE FOUR NO_FURTHER_UNITS_REQUIRED"); Game.DisplayNotification("3dtextures", "mpgroundlogo_cops", "Dispatch", "", "We are ~g~CODE 4~s~, good job officer!"); End(); } public override void End() { if (myBlip.Exists()) myBlip.Delete(); if (mySuspect.Exists()) mySuspect.Dismiss(); if (myVehicle.Exists()) myVehicle.Dismiss(); base.End(); }
-
LSDPFR 0.4.6 Gets to Loading Screen then Continues to Crash
Xonyne88 replied to brandonBigB96's topic in LSPDFR 0.4 Support
You gave us your crash log, not the rage plugin hook log. In the GTA V main folder you will find a file called RagePluginHook.log. That is the file we need. -
LSDPFR 0.4.6 Gets to Loading Screen then Continues to Crash
Xonyne88 replied to brandonBigB96's topic in LSPDFR 0.4 Support
Can you show us the actual log? -
LSDPFR 0.4.6 Gets to Loading Screen then Continues to Crash
Xonyne88 replied to brandonBigB96's topic in LSPDFR 0.4 Support
Can you show us your log? -
Alright, I will try to give you the code, but keep in mind, this code is for GTA V. @LMS can you move this topic to gta v support? So to check if an entity is still alive you can do: if (Entityobject.IsAlive) { // do this } Keep in mind that you have to define Entityobject as a Rage.Entity.
-
@LMS may I provide him the code snippet?
-
Suggestion for searching civilians
Xonyne88 replied to trocapalot's topic in Discussion & Suggestions
I can try recreate that in my next plugin, as I found a way to do it! Would you like to see the last called number of the cellphone? -
As I asked myself this question too and others helped me, it's the time I help. I recommend Albo1125's plugins, they are well coded, also if you want some realism I recommend VocalDispatch.
-
I am creating a plugin for LSPDFR which will have new callouts and interaction menus ( maybe new vehicles and agencies?). What would you like to see in it? What callouts would you like to see in my future plugin?

