private void FxHighlight_OnItemSelect(UIMenu sender, UIMenuItem selectedItem, int index, UIMenuItem itemToControl, FxName fxName, string asset, bool useEvolutionArg = false) { if (selectedItem == itemToControl) { PTFXHelper.RemovePTFX(fxHandle); if (itemToControl.Text == "REMOVED") { return; } Ped player = Game.Player.Character; PlayLoopOrNonLoopedFX(player.IsInVehicle() ? player.CurrentVehicle : (Entity)player, asset, fxName, useEvolutionArg); lastAsset = asset; lastFXName = fxName; if (Game.IsKeyPressed(Keys.ShiftKey)) { if (sender == FavouritesMenu || (sender.ParentMenu != null && sender.ParentMenu == FavouritesMenu)) //Remove from favourites { try { FavouritesList.Remove(FavouritesList.Find(d => d.FxName == fxName && d.AssetName == asset)); ForceDecimal(); XMLHelper.SaveObjectToXML(FavouritesList, @"scripts\ParticleFxFavourites.xml"); if (sender == FavouritesMenu) { itemToControl.Text = "REMOVED"; itemToControl.Value = null; itemToControl.Description = null; } else if (sender.ParentMenu != null && sender.ParentMenu == FavouritesMenu) { sender.Title = "REMOVED"; sender.ParentItem.Text = "REMOVED"; sender.ParentItem.Description = null; } UI.ShowSubtitle("Removed from Favourites!"); } catch { } } else //Add to favourites { DetailedFx newFav = new DetailedFx(asset, fxName); FavouritesList.Add(newFav); ForceDecimal(); XMLHelper.SaveObjectToXML(FavouritesList, @"scripts\ParticleFxFavourites.xml"); UI.ShowSubtitle("Saved to Favourites!"); favLastIndex = FavouritesMenu.SelectedIndex; rebuildFavourites = true; allowMenuDraw = false; } } } }
void ForceRemoveSurroundingFX(Entity e) { PTFXHelper.RemovePTFX(fxHandle); PTFXHelper.RemovePTFXInRange(e.Position, 10f); }
private void FXMenu_OnItemSelect(UIMenu sender, UIMenuItem selectedItem, int index) { if (selectedItem == ItemRemoveNearbyFx) { ForceRemoveSurroundingFX(Game.Player.Character); } if (selectedItem == ItemSearch) { searchString = Game.GetUserInput(25); if (searchString == null || searchString == "") { FXMenu.IsVisible = false; SearchMenu.IsVisible = true; return; } SearchMenu.ResetIndexPosition(); SearchMenu.SelectedItem = null; if (SearchMenu.UIMenuItemList.Count > 0) { SearchMenu.UIMenuItemList.Clear(); } FXMenu.IsVisible = false; SearchMenu.IsVisible = true; doSearch = true; allowMenuDraw = false; } if (selectedItem == ItemMoveTask) { if (PlayerIsTaskedToMove) { Game.Player.Character.Task.ClearAll(); PlayerIsTaskedToMove = false; } else { if (Game.Player.Character.IsInVehicle()) { Game.Player.Character.Task.CruiseWithVehicle(Game.Player.Character.CurrentVehicle, 50f, 6); //gtaforums.com/topic/822314-guide-driving-styles/ } else { Game.Player.Character.Task.WanderAround(); } PlayerIsTaskedToMove = true; } } if (selectedItem == ItemColourR || selectedItem == ItemColourG || selectedItem == ItemColourB || selectedItem == ItemFxSize || selectedItem == ItemRange) { if (lastAsset != null && lastFXName != null) { PTFXHelper.RemovePTFX(fxHandle); Ped player = Game.Player.Character; PlayLoopOrNonLoopedFX(player.IsInVehicle() ? player.CurrentVehicle : (Entity)player, lastAsset, lastFXName, lastFXName.EvolutionList.Count > 0 ? true : false); if (PTFXHelper.DoesPTFXLoopedExist(fxHandle)) { if (selectedItem == ItemColourR || selectedItem == ItemColourG || selectedItem == ItemColourB) { PTFXHelper.SetColour(fxHandle, colourR, colourG, colourB); } else if (selectedItem == ItemRange) { PTFXHelper.SetColour(fxHandle, colourR, colourG, colourB); PTFXHelper.SetRange(fxHandle, rangeFx); } } } } }
private void OnAbort(object sender, EventArgs e) { PTFXHelper.RemovePTFX(fxHandle); ForceRemoveSurroundingFX(Game.Player.Character); }