updated to beta 1.1.0
i need to do a changelog and other stuff to document the progression of this project but the most significant new feature is there are over 600 effects to choose from i have found a fair number to not work in standard gameplay conditions perhaps they just need to be used correctly
ok let me start by saying you can do whatever you want with this mod (help me work on it if you want to), all i ask is that you don't just rename it and say you coded it, this thing consists of code borrowed from three-socks for text displaying and the rest i coded.
this is basically a particle effects manager, its not fully fleshed out yet but i do intend to include all the particle effects i know of and tweak the management features in future so that it can be used to test all particle effects but for now its just one fire effect and management for the player and the vehicle the player is using.
the player and any vehicle the player enters will automatically have a particle effect placed on them, if you get out of the vehicle all particle effects will be removed from it, this may cause the smoke and/or fire from damage to disappear aswell, i can confirm that effects (smoke/fire) arising from damage do disappear, this is not a major problem so its not a priority to fix atm.
for a start go to Scocl\inc\natives.h then open it up and change the following:to:Code:extern uint START_PTFX(char *name, float x, float y, float z, float, float, float, uint flags); extern uint START_PTFX_ON_PED(char *name, Ped ped, float x, float y, float z, float, float, float, uint flags); extern uint START_PTFX_ON_PED_BONE(char *name, Ped ped, float x, float y, float z, float, float, float, int pedbone, uint flags); extern uint START_PTFX_ON_VEH(char *name, Vehicle veh, float x, float y, float z, float, float, float, float);and also if you don't have three-socks natives.h fix then change:Code:extern uint START_PTFX(char *name, float x, float y, float z, float yaw, float pitch, float roll, float scale); extern uint START_PTFX_ON_PED(char *name, Ped ped, float x, float y, float z, float yaw, float pitch, float roll, float scale); extern uint START_PTFX_ON_PED_BONE(char *name, Ped ped, float x, float y, float z, float yaw, float pitch, float roll, int pedbone, float scale); extern uint START_PTFX_ON_VEH(char *name, Vehicle veh, float x, float y, float z, float yaw, float pitch, float roll, float scale);to:Code:extern int GET_STRING_WIDTH_WITH_STRING(char *gxtName, char *literalString);Code:extern float GET_STRING_WIDTH_WITH_STRING(char *gxtName, char *literalString);
you need a copy of functions.c from three-socks xyzh_coords example mod. (this is the text display library)
save the following code as effects.c:the effects manager code (save this as main.c or "whatever you want".c just make sure its in the same directory as effects.c and Functions.c):Code:/* ** if you want to regroup these in your own way thats fine but remember there are 683 entries it would probably take a long time to do so */ char* effectsList[50]; void init(int set) { if (set<0) { set = 0; } else if (set>13) { set = 13; } if (set==0) { // ambient set 0 0-49 & set 1 0-20 effectsList[0] = "ambient_ashtray_smoke"; effectsList[1] = "ambient_butterflies"; effectsList[2] = "ambient_butterflies_b"; effectsList[3] = "ambient_ceiling_dust"; effectsList[4] = "ambient_ceiling_spawned"; effectsList[5] = "ambient_chemical_drips"; effectsList[6] = "ambient_cig_clouds"; effectsList[7] = "ambient_cig_smoke"; effectsList[8] = "ambient_****roaches"; effectsList[9] = "ambient_dry_ice"; effectsList[10] = "ambient_dust_lit_windows"; effectsList[11] = "ambient_dust_windy"; effectsList[12] = "ambient_electrical_sparks"; effectsList[13] = "ambient_fire_flames"; effectsList[14] = "ambient_fire_generic"; effectsList[15] = "ambient_fire_glow"; effectsList[16] = "ambient_fire_smoke"; effectsList[17] = "ambient_flies_circling"; effectsList[18] = "ambient_flies_glow"; effectsList[19] = "ambient_flies_smoke"; effectsList[20] = "ambient_flies_sparked"; effectsList[21] = "ambient_flies_sparks"; effectsList[22] = "ambient_flies_spawner"; effectsList[23] = "ambient_flies_zapped"; effectsList[24] = "ambient_horn_blast"; effectsList[25] = "ambient_horn_steam"; effectsList[26] = "ambient_hotdogstand"; effectsList[27] = "ambient_hot_tub"; effectsList[28] = "ambient_leaves_windy"; effectsList[29] = "ambient_oil_drips"; effectsList[30] = "ambient_overpass_debris"; effectsList[31] = "ambient_overpass_spawned"; effectsList[32] = "ambient_receipts_windy"; effectsList[33] = "ambient_receipts_windy_3d"; effectsList[34] = "ambient_respray_can"; effectsList[35] = "ambient_rubbish_windy"; effectsList[36] = "ambient_sand_windy"; effectsList[37] = "ambient_sewerage_flows"; effectsList[38] = "ambient_sewerage_sinks"; effectsList[39] = "ambient_steam_chimney"; effectsList[40] = "ambient_steam_cold"; effectsList[41] = "ambient_steam_cooking"; effectsList[42] = "ambient_steam_exhaust"; effectsList[43] = "ambient_steam_manhole"; effectsList[44] = "ambient_steam_vent"; effectsList[45] = "ambient_steam_vent_oblong"; effectsList[46] = "ambient_tower_plume_large"; effectsList[47] = "ambient_tower_plume_small"; effectsList[48] = "ambient_water_drips"; effectsList[49] = "ambient_water_drips_int"; } else if (set==1) { // ambient (cont.) effectsList[0] = "ambient_water_pipe_drips"; effectsList[1] = "amb_ceiling_area_spawn"; effectsList[2] = "amb_ceiling_chunks"; effectsList[3] = "amb_ceiling_dust"; effectsList[4] = "amb_ceiling_silt"; effectsList[5] = "amb_leaves_windy"; effectsList[6] = "amb_overpass_area_spawns"; effectsList[7] = "amb_overpass_chunks"; effectsList[8] = "amb_overpass_dust"; effectsList[9] = "amb_overpass_silt"; effectsList[10] = "amb_plane_engines"; effectsList[11] = "amb_receipts_windy"; effectsList[12] = "amb_rubbish_windy"; effectsList[13] = "amb_ship_plume"; effectsList[14] = "amb_ship_whitesmoke"; effectsList[15] = "amb_steam_chimney"; effectsList[16] = "amb_steam_cooking"; effectsList[17] = "amb_steam_exhaust"; effectsList[18] = "amb_steam_manhole"; effectsList[19] = "amb_tower_plume_lg"; effectsList[20] = "amb_tower_plume_sm"; // anim set 1 21-30 effectsList[21] = "anim_hammer_debris"; effectsList[22] = "anim_hammer_dirt"; effectsList[23] = "anim_hammer_dust"; effectsList[24] = "anim_hammer_specks"; effectsList[25] = "anim_pneumatic"; effectsList[26] = "anim_pneumatic_dust"; effectsList[27] = "anim_pneumatic_specks"; effectsList[28] = "anim_rake_leaves"; effectsList[29] = "anim_sweep_dust"; effectsList[30] = "anim_watering_can"; // bang set 1 31-46 effectsList[31] = "bang_blood"; effectsList[32] = "bang_carmetal"; effectsList[33] = "bang_carmetal_dust"; effectsList[34] = "bang_concrete"; effectsList[35] = "bang_concrete_dust"; effectsList[36] = "bang_dusty"; effectsList[37] = "bang_glass"; effectsList[38] = "bang_grass"; effectsList[39] = "bang_gravel"; effectsList[40] = "bang_gravel_dust"; effectsList[41] = "bang_leaves"; effectsList[42] = "bang_mud_soft"; effectsList[43] = "bang_mud_splashes"; effectsList[44] = "bang_sand"; effectsList[45] = "bang_wood"; effectsList[46] = "bark_chunks_sheet"; // blood set 1 47-49 & set 2 0-21 effectsList[47] = "blood_artery_mist"; effectsList[48] = "blood_bang_chunks"; effectsList[49] = "blood_fall_chunks"; } else if (set==2) { // blood (cont.) effectsList[0] = "blood_gun_chunks"; effectsList[1] = "blood_gun_entry"; effectsList[2] = "blood_gun_entry_arterial"; effectsList[3] = "blood_gun_exit"; effectsList[4] = "blood_gun_exit_arterial"; effectsList[5] = "blood_melee_blunt"; effectsList[6] = "blood_melee_fluid"; effectsList[7] = "blood_melee_sharp"; effectsList[8] = "blood_melee_sharp_ig"; effectsList[9] = "blood_mouth_chunks"; effectsList[10] = "blood_mouth_mist"; effectsList[11] = "blood_scrape_mist"; effectsList[12] = "blood_sharp_cloud"; effectsList[13] = "blood_sharp_fluid"; effectsList[14] = "blood_shotgun_entry"; effectsList[15] = "blood_shotgun_exit"; effectsList[16] = "blood_shotgun_mist"; effectsList[17] = "blood_sniper_entry"; effectsList[18] = "blood_sniper_exit"; effectsList[19] = "blood_sniper_mist"; effectsList[20] = "blood_stun_punch"; effectsList[21] = "blood_wheel_squash"; // break set 2 22-49 & set 3 0-14 effectsList[22] = "break_cardboard"; effectsList[23] = "break_card_flaps"; effectsList[24] = "break_card_small_chunks"; effectsList[25] = "break_card_small_slivers"; effectsList[26] = "break_ceramic"; effectsList[27] = "break_ceramic_bits"; effectsList[28] = "break_ceramic_dots"; effectsList[29] = "break_ceramic_dust"; effectsList[30] = "break_ceramic_slabs"; effectsList[31] = "break_dino_bones"; effectsList[32] = "break_drugs_cloud"; effectsList[33] = "break_drugs_jar_dots"; effectsList[34] = "break_electrical"; effectsList[35] = "break_electrical_dust"; effectsList[36] = "break_electrical_fire_lg"; effectsList[37] = "break_electrical_fire_sm"; effectsList[38] = "break_electrical_glow"; effectsList[39] = "break_electrical_sparks"; effectsList[40] = "break_laundry_basket"; effectsList[41] = "break_laundry_socks_1"; effectsList[42] = "break_metal"; effectsList[43] = "break_metal_dust"; effectsList[44] = "break_metal_shards"; effectsList[45] = "break_metal_slivers"; effectsList[46] = "break_metal_sparks"; effectsList[47] = "break_plasterboard"; effectsList[48] = "break_sparks"; effectsList[49] = "break_sparks_dust"; } else if (set==3) { // break (cont.) effectsList[0] = "break_sparks_fast"; effectsList[1] = "break_sparks_glow"; effectsList[2] = "break_SPAWN_fire"; effectsList[3] = "break_stone"; effectsList[4] = "break_stone_bits"; effectsList[5] = "break_stone_dots"; effectsList[6] = "break_stone_dust"; effectsList[7] = "break_stone_slabs"; effectsList[8] = "break_water_barrel"; effectsList[9] = "break_water_barrel_core"; effectsList[10] = "break_water_barrel_splash"; effectsList[11] = "break_wood"; effectsList[12] = "break_wood_chunks"; effectsList[13] = "break_wood_planks"; effectsList[14] = "break_wood_shards"; // col set 3 15-49 & set 4 0-3 effectsList[15] = "col_bin_bits_max10"; effectsList[16] = "col_bin_bits_max25"; effectsList[17] = "col_bin_bits_max5"; effectsList[18] = "col_bin_bits_max50"; effectsList[19] = "col_bin_fastfood_chips"; effectsList[20] = "col_bin_fastfood_cups"; effectsList[21] = "col_bin_fastfood_lids"; effectsList[22] = "col_bin_fastfood_napkins"; effectsList[23] = "col_bin_gunk_splash"; effectsList[24] = "col_bin_household_apple3"; effectsList[25] = "col_bin_household_banana8"; effectsList[26] = "col_bin_household_fagp2"; effectsList[27] = "col_bin_household_paper"; effectsList[28] = "col_bin_street_banana8"; effectsList[29] = "col_dumpsters_cardboard"; effectsList[30] = "col_dumpsters_paint"; effectsList[31] = "col_dumpsters_paper"; effectsList[32] = "col_dumpsters_slabs"; effectsList[33] = "col_dumpsters_wood"; effectsList[34] = "col_electrical"; effectsList[35] = "col_electrical_arcexp_arc"; effectsList[36] = "col_electrical_arcexp_dust"; effectsList[37] = "col_electrical_arcexp_glow"; effectsList[38] = "col_electrical_arcing"; effectsList[39] = "col_fastfood_nuts"; effectsList[40] = "col_fruitpile_apples"; effectsList[41] = "col_fruitpile_bananas"; effectsList[42] = "col_fruitpile_mix"; effectsList[43] = "col_fruitpile_oranges"; effectsList[44] = "col_leaves_autumnal"; effectsList[45] = "col_leaves_pale"; effectsList[46] = "col_mail_bundle"; effectsList[47] = "col_napkins"; effectsList[48] = "col_newspaper_bundle"; effectsList[49] = "col_soda_cans_ecola"; } else if (set==4) { // col (cont.) effectsList[0] = "col_soda_cans_ginger"; effectsList[1] = "col_soda_cans_lemon"; effectsList[2] = "col_soda_cans_mix"; effectsList[3] = "col_soda_cans_sprunk"; // CS set 4 4-44 effectsList[4] = "CS_blood_saw_mist"; effectsList[5] = "CS_blowtorch_core"; effectsList[6] = "CS_blowtorch_glow"; effectsList[7] = "CS_burn_box_flames"; effectsList[8] = "CS_burn_box_smoke"; effectsList[9] = "CS_cabaret_dry_ice"; effectsList[10] = "CS_cabbit_chunks_B"; effectsList[11] = "CS_cabbit_chunks_F"; effectsList[12] = "CS_cabbit_mist_B"; effectsList[13] = "CS_cabbit_mist_F"; effectsList[14] = "CS_chest_chunks_B"; effectsList[15] = "CS_chest_chunks_F"; effectsList[16] = "CS_chin_chunks_B"; effectsList[17] = "CS_chin_chunks_F"; effectsList[18] = "CS_clarence_mist_B"; effectsList[19] = "CS_clarence_mist_F"; effectsList[20] = "CS_dimitri_brain_B"; effectsList[21] = "CS_dimitri_mist_B"; effectsList[22] = "CS_dimitri_mist_F"; effectsList[23] = "CS_end_blood_drool"; effectsList[24] = "CS_execution_blood"; effectsList[25] = "CS_execution_chest"; effectsList[26] = "CS_execution_chin"; effectsList[27] = "CS_execution_eye"; effectsList[28] = "CS_execution_incar"; effectsList[29] = "CS_Fau7a_cigar_smoke"; effectsList[30] = "CS_Fau7a_lingering_smoke"; effectsList[31] = "CS_faustin_mist_B"; effectsList[32] = "CS_faustin_mist_F"; effectsList[33] = "CS_food_splatter"; effectsList[34] = "CS_GT02_dry_ice"; effectsList[35] = "CS_incar_brain_B"; effectsList[36] = "CS_incar_chunks_B"; effectsList[37] = "CS_incar_chunks_F"; effectsList[38] = "CS_interior_smoke"; effectsList[39] = "CS_kneecaps_mist_B"; effectsList[40] = "CS_kneecaps_mist_F"; effectsList[41] = "CS_lighter_flame"; effectsList[42] = "CS_lighter_flames"; effectsList[43] = "CS_peg_blood_loop"; effectsList[44] = "CS_peg_blood_nose"; // Destruction set 4 45-49, set-5 0-49 & set 6 0-28 effectsList[45] = "dest_banknote_pile"; effectsList[46] = "dest_bin_fastfood"; effectsList[47] = "dest_bin_household"; effectsList[48] = "dest_bin_street"; effectsList[49] = "dest_bin_street"; } else if (set==5) { // Destruction (cont.) effectsList[0] = "dest_ceramic"; effectsList[1] = "dest_ceramic_plate"; effectsList[2] = "dest_ceramic_plates"; effectsList[3] = "dest_chips"; effectsList[4] = "dest_chip_packet"; effectsList[5] = "dest_coin_pile"; effectsList[6] = "dest_crispbag_full"; effectsList[7] = "dest_dumpsters"; effectsList[8] = "dest_dumpsters"; effectsList[9] = "dest_electrical"; effectsList[10] = "dest_electrical_plastic"; effectsList[11] = "dest_flower_leaves"; effectsList[12] = "dest_flower_petals"; effectsList[13] = "dest_food_debris"; effectsList[14] = "dest_fruitpile_apples"; effectsList[15] = "dest_fruitpile_bananas"; effectsList[16] = "dest_fruitpile_mix"; effectsList[17] = "dest_fruitpile_oranges"; effectsList[18] = "dest_fuel_dump"; effectsList[19] = "dest_glass_brown_empty"; effectsList[20] = "dest_glass_clear_dots"; effectsList[21] = "dest_glass_clear_dust"; effectsList[22] = "dest_glass_clear_empty"; effectsList[23] = "dest_glass_clear_lager"; effectsList[24] = "dest_glass_clear_redwine"; effectsList[25] = "dest_glass_clear_shards"; effectsList[26] = "dest_glass_green_empty"; effectsList[27] = "dest_glass_lager"; effectsList[28] = "dest_glass_panes"; effectsList[29] = "dest_glass_redwine"; effectsList[30] = "dest_glass_water"; effectsList[31] = "dest_juice_cups"; effectsList[32] = "dest_juice_splash"; effectsList[33] = "dest_lightbulb_dots"; effectsList[34] = "dest_lightbulb_dust"; effectsList[35] = "dest_lightbulb_glass"; effectsList[36] = "dest_lightbulb_glow"; effectsList[37] = "dest_lightbulb_off"; effectsList[38] = "dest_lightbulb_on"; effectsList[39] = "dest_lightbulb_sparks"; effectsList[40] = "dest_mail_bundle"; effectsList[41] = "dest_metal_objects"; effectsList[42] = "dest_metal_shards"; effectsList[43] = "dest_metal_slivers"; effectsList[44] = "dest_metal_sparks"; effectsList[45] = "dest_money_mixed"; effectsList[46] = "dest_napkin_pieces"; effectsList[47] = "dest_newspaper_bundle"; effectsList[48] = "dest_paint_pot"; effectsList[49] = "dest_paint_pot_goop"; } else if (set==6) { // Destruction (cont.) effectsList[0] = "dest_paint_pot_metal"; effectsList[1] = "dest_pigeon_blood"; effectsList[2] = "dest_pigeon_fluff"; effectsList[3] = "dest_pigeon_mist"; effectsList[4] = "dest_plasterboard"; effectsList[5] = "dest_plastic"; effectsList[6] = "dest_plastic_brown_cider"; effectsList[7] = "dest_plastic_chunks"; effectsList[8] = "dest_plastic_clear_empty"; effectsList[9] = "dest_plastic_clear_water"; effectsList[10] = "dest_plastic_dust"; effectsList[11] = "dest_plastic_specks"; effectsList[12] = "dest_sauce_bottle"; effectsList[13] = "dest_sodapile_ecola"; effectsList[14] = "dest_sodapile_ginger"; effectsList[15] = "dest_sodapile_lemon"; effectsList[16] = "dest_sodapile_mix"; effectsList[17] = "dest_sodapile_sprunk"; effectsList[18] = "dest_sparking_SPAWN_sparks"; effectsList[19] = "dest_sparking_wires"; effectsList[20] = "dest_sparks_fast"; effectsList[21] = "dest_stone_objects"; effectsList[22] = "dest_stone_pillars"; effectsList[23] = "dest_stone_slabs"; effectsList[24] = "dest_sweeties"; effectsList[25] = "dest_wood"; effectsList[26] = "dest_wood_crate"; effectsList[27] = "dest_wood_planks"; effectsList[28] = "dest_wood_shards"; // Explosion set 6 30-49 & set 7 0-32 effectsList[29] = "explosion_a_anim"; effectsList[30] = "exp_air_car_chunks"; effectsList[31] = "exp_bridge_explosion"; effectsList[32] = "exp_chopper_chase"; effectsList[33] = "exp_fireball"; effectsList[34] = "exp_fireball_air"; effectsList[35] = "exp_fireball_explosion"; effectsList[36] = "exp_fireball_lingeringsmoke"; effectsList[37] = "exp_fireball_simpleglow"; effectsList[38] = "exp_fireball_smoke"; effectsList[39] = "exp_fireball_smokeRing"; effectsList[40] = "exp_grenade"; effectsList[41] = "exp_grenade_air"; effectsList[42] = "exp_grenade_core"; effectsList[43] = "exp_grenade_smoke"; effectsList[44] = "exp_grenade_spikes"; effectsList[45] = "exp_missed_chopper"; effectsList[46] = "exp_molotov"; effectsList[47] = "exp_molotov_air"; effectsList[48] = "exp_mol_air_glass"; effectsList[49] = "exp_mol_air_sparks"; } else if (set==7) { // Explosion (cont.) effectsList[0] = "exp_mol_explosion"; effectsList[1] = "exp_mol_simpleglow"; effectsList[2] = "exp_petrol_boom"; effectsList[3] = "exp_petrol_boom_back"; effectsList[4] = "exp_petrol_burst"; effectsList[5] = "exp_petrol_chunks"; effectsList[6] = "exp_petrol_flaming_debris"; effectsList[7] = "exp_petrol_pump"; effectsList[8] = "exp_petrol_slivers"; effectsList[9] = "exp_petrol_smoke"; effectsList[10] = "exp_petrol_sparks"; effectsList[11] = "exp_petrol_spike"; effectsList[12] = "exp_rigged_boom_up"; effectsList[13] = "exp_rigged_chunks"; effectsList[14] = "exp_rigged_smoke"; effectsList[15] = "exp_rigged_spikes"; effectsList[16] = "exp_rocket"; effectsList[17] = "exp_rocket_air"; effectsList[18] = "exp_ship_destroy"; effectsList[19] = "exp_trespass_boom"; effectsList[20] = "exp_trespass_boom2"; effectsList[21] = "exp_trespass_core"; effectsList[22] = "exp_trespass_core2"; effectsList[23] = "exp_trespass_huge"; effectsList[24] = "exp_trespass_mid"; effectsList[25] = "exp_trespass_upper"; effectsList[26] = "exp_upper1_SPAWN"; effectsList[27] = "exp_upper2_SPAWN"; effectsList[28] = "exp_upper3_SPAWN"; effectsList[29] = "exp_upper4_SPAWN"; effectsList[30] = "exp_upper5_SPAWN"; effectsList[31] = "exp_vehicle"; effectsList[32] = "exp_vehicle_air"; // Fire set 7 33-49 & set 8 0-4 effectsList[33] = "fire_blast_spawned"; effectsList[34] = "fire_blocks_flames"; effectsList[35] = "fire_blocks_road"; effectsList[36] = "fire_blocks_smoke"; effectsList[37] = "fire_chopper_tail"; effectsList[38] = "fire_gas_blast_flames"; effectsList[39] = "fire_gas_blast_glow"; effectsList[40] = "fire_gas_burner"; effectsList[41] = "fire_gas_burner_flames"; effectsList[42] = "fire_gas_burner_glow"; effectsList[43] = "fire_gas_burn_blast"; effectsList[44] = "fire_gas_intermittent"; effectsList[45] = "fire_hotdog_blaze"; effectsList[46] = "fire_object_flames"; effectsList[47] = "fire_object_glow"; effectsList[48] = "fire_object_smoke"; effectsList[49] = "fire_ped_body_glow"; } else if (set==8) { // Fire (cont.) effectsList[0] = "fire_ped_limb_glow"; effectsList[1] = "fire_ped_smoking"; effectsList[2] = "fire_plume_large"; effectsList[3] = "fire_tyre_flames"; effectsList[4] = "fire_vehicle_smoke"; // Glass set 8 5-6 effectsList[5] = "glass_chunk_sheet"; effectsList[6] = "glass_dots_sheet"; // Impact set 8 7-37 effectsList[7] = "imp_bullet_armour"; effectsList[8] = "imp_bullet_cardboard"; effectsList[9] = "imp_bullet_carpet"; effectsList[10] = "imp_bullet_concrete"; effectsList[11] = "imp_bullet_default"; effectsList[12] = "imp_bullet_dirt_dry"; effectsList[13] = "imp_bullet_glass"; effectsList[14] = "imp_bullet_gravel"; effectsList[15] = "imp_bullet_leaves"; effectsList[16] = "imp_bullet_mattress_foam"; effectsList[17] = "imp_bullet_metal"; effectsList[18] = "imp_bullet_mud_soft"; effectsList[19] = "imp_bullet_paper"; effectsList[20] = "imp_bullet_pillow_feathers"; effectsList[21] = "imp_bullet_sand"; effectsList[22] = "imp_bullet_tvscreen"; effectsList[23] = "imp_bullet_videowall"; effectsList[24] = "imp_bullet_water"; effectsList[25] = "imp_bullet_wood"; effectsList[26] = "imp_exp_concrete"; effectsList[27] = "imp_exp_metal"; effectsList[28] = "imp_exp_metal_core"; effectsList[29] = "imp_exp_wood"; effectsList[30] = "imp_exp_wood_core"; effectsList[31] = "imp_glass_shards"; effectsList[32] = "imp_leaves_falling"; effectsList[33] = "imp_melee_concrete"; effectsList[34] = "imp_melee_glass"; effectsList[35] = "imp_melee_wood"; effectsList[36] = "imp_shotgun_glass"; effectsList[37] = "imp_shotgun_water"; // Leaves set 8 38-42 effectsList[38] = "leaves_fallinginwind"; effectsList[39] = "leaves_windy_autumnal"; effectsList[40] = "leaves_windy_pale"; effectsList[41] = "leaves_wind_autumnal"; effectsList[42] = "leaves_wind_pale"; // Metal set 8 43-44 effectsList[43] = "metal_chunk_sheet"; effectsList[44] = "metal_shard_spec"; // Misc set 8 45-49 & set 9 0-8 effectsList[45] = "Cardboard_Flap_A"; effectsList[46] = "Cardboard_Flap_B"; effectsList[47] = "cardboard_pieces"; effectsList[48] = "china_chunks_sheet"; effectsList[49] = "****roaches_anim"; } else if (set==9) { // Misc (cont.) effectsList[0] = "disco_ice"; effectsList[1] = "draw_screenspace"; effectsList[2] = "grainy_dirt_sheet"; effectsList[3] = "gravel_chunk_sheet"; effectsList[4] = "gravel_lots_sheet"; effectsList[5] = "interior_gunsmoke"; effectsList[6] = "normal_sphere_128"; effectsList[7] = "player_wasted_cash"; effectsList[8] = "raindrop_blurred"; // Multi set 9 9-11 effectsList[9] = "multi_objects_01"; effectsList[10] = "multi_objects_02"; effectsList[11] = "multi_objects_03"; // Muzzle set 9 12-30 effectsList[12] = "muz_launcher_smoke"; effectsList[13] = "muz_machine"; effectsList[14] = "muz_machine_core"; effectsList[15] = "muz_machine_front"; effectsList[16] = "muz_machine_glow"; effectsList[17] = "muz_minigun"; effectsList[18] = "muz_minigun_smoke"; effectsList[19] = "muz_pistol_large"; effectsList[20] = "muz_pistol_small"; effectsList[21] = "muz_pistol_smoke"; effectsList[22] = "muz_rocket"; effectsList[23] = "muz_rocket_front"; effectsList[24] = "muz_rocket_smoke"; effectsList[25] = "muz_shotgun"; effectsList[26] = "muz_shotgun_core"; effectsList[27] = "muz_shotgun_glow"; effectsList[28] = "muz_shotgun_smoke"; effectsList[29] = "muz_shotgun_sparks"; effectsList[30] = "muz_smg"; // Overhang set 9 31-39 effectsList[31] = "overhang_drips_10m"; effectsList[32] = "overhang_drips_1m"; effectsList[33] = "overhang_drips_2m"; effectsList[34] = "overhang_drips_5m"; effectsList[35] = "overhang_drips_spawner"; effectsList[36] = "overhang_littledrips_10m"; effectsList[37] = "overhang_littledrips_1m"; effectsList[38] = "overhang_littledrips_2m"; effectsList[39] = "overhang_littledrips_5m"; // Ped set 9 40-49 & set 10 0-1 effectsList[40] = "ped_exhale_linger"; effectsList[41] = "ped_exhale_vapour"; effectsList[42] = "ped_foot_dirt_dry"; effectsList[43] = "ped_foot_gravel"; effectsList[44] = "ped_foot_leaves"; effectsList[45] = "ped_foot_mud_dust"; effectsList[46] = "ped_foot_mud_soft"; effectsList[47] = "ped_foot_sand"; effectsList[48] = "ped_foot_water"; effectsList[49] = "ped_foot_water_L"; } else if (set==10) { // Ped (cont.) effectsList[0] = "ped_pissing_mist"; effectsList[1] = "ped_smoke_exhale"; // Qub3d set 10 2-22 effectsList[2] = "qub_explode_dust"; effectsList[3] = "qub_explode_glow"; effectsList[4] = "qub_explode_rings"; effectsList[5] = "qub_explode_sparks"; effectsList[6] = "qub_explode_streaks"; effectsList[7] = "qub_lg_explode_blue"; effectsList[8] = "qub_lg_explode_green"; effectsList[9] = "qub_lg_explode_orange"; effectsList[10] = "qub_lg_explode_purple"; effectsList[11] = "qub_lg_explode_red"; effectsList[12] = "qub_lg_explode_yellow"; effectsList[13] = "qub_merge_orange"; effectsList[14] = "qub_merge_purple"; effectsList[15] = "qub_merge_sparks"; effectsList[16] = "qub_merge_yellow"; effectsList[17] = "qub_sm_explode_blue"; effectsList[18] = "qub_sm_explode_green"; effectsList[19] = "qub_sm_explode_orange"; effectsList[20] = "qub_sm_explode_purple"; effectsList[21] = "qub_sm_explode_red"; effectsList[22] = "qub_sm_explode_yellow"; // Scrape set 10 23-29 effectsList[23] = "scrape_bark_shards"; effectsList[24] = "scrape_carpet"; effectsList[25] = "scrape_carpet_dust"; effectsList[26] = "scrape_dusty"; effectsList[27] = "scrape_leaves_3D"; effectsList[28] = "scrape_mud_specks"; effectsList[29] = "scrape_wood_shards"; // Shot set 10 30-47 effectsList[30] = "shot_chemical_glug"; effectsList[31] = "shot_directed_chem"; effectsList[32] = "shot_directed_chem_core"; effectsList[33] = "shot_directed_flame"; effectsList[34] = "shot_directed_oil"; effectsList[35] = "shot_directed_oil_core"; effectsList[36] = "shot_directed_steam"; effectsList[37] = "shot_directed_steam_core"; effectsList[38] = "shot_directed_steam_linger"; effectsList[39] = "shot_directed_water"; effectsList[40] = "shot_directed_water_core"; effectsList[41] = "shot_gas_canister"; effectsList[42] = "shot_gas_explosion"; effectsList[43] = "shot_oil_glug"; effectsList[44] = "shot_plasterboard"; effectsList[45] = "shot_water_glug"; effectsList[46] = "shot_water_tower"; effectsList[47] = "shot_water_tower_core"; // Smoke set 10 48-49 & set 11 0-8 effectsList[48] = "smoke_chimney_sheet"; effectsList[49] = "smoke_cloud_anim"; } else if (set==11) { // Smoke (cont.) effectsList[0] = "smoke_filled_car"; effectsList[1] = "smoke_new_plumes"; effectsList[2] = "smoke_only_cinders"; effectsList[3] = "smoke_only_flames"; effectsList[4] = "smoke_only_smoke"; effectsList[5] = "smoke_plume_float"; effectsList[6] = "smoke_plume_window"; effectsList[7] = "smoke_vault_lingers"; effectsList[8] = "sparks_arcing_anim"; // Vehicle set 11 9-30 effectsList[9] = "veh_backfire_glow"; effectsList[10] = "veh_exhaust_banger"; effectsList[11] = "veh_exhaust_core"; effectsList[12] = "veh_exhaust_front"; effectsList[13] = "veh_exhaust_truck"; effectsList[14] = "veh_headlight_dots"; effectsList[15] = "veh_headlight_dust"; effectsList[16] = "veh_heli_downwash"; effectsList[17] = "veh_heli_tail_dust"; effectsList[18] = "veh_petroltank_car"; effectsList[19] = "veh_plume_rising"; effectsList[20] = "veh_respray_smoke"; effectsList[21] = "veh_rim_disp_conc"; effectsList[22] = "veh_train_sparks"; effectsList[23] = "veh_tyre_puncture"; effectsList[24] = "veh_wrecked_bike"; effectsList[25] = "veh_wrecked_boat"; effectsList[26] = "veh_wrecked_flames"; effectsList[27] = "veh_wrecked_heli"; effectsList[28] = "veh_wrecked_linger"; effectsList[29] = "veh_wrecked_smoke"; effectsList[30] = "veh_wrecked_truck"; // Water set 11 31-49 & set 12 0-35 effectsList[31] = "water_boat_entry"; effectsList[32] = "water_boat_entry_L"; effectsList[33] = "water_boat_entry_R"; effectsList[34] = "water_carwash_drips"; effectsList[35] = "water_carwash_drips_droplets"; effectsList[36] = "water_carwash_drips_spawnpoints"; effectsList[37] = "water_carwash_jets"; effectsList[38] = "water_carwash_mist"; effectsList[39] = "water_carwash_spawn"; effectsList[40] = "water_carwash_spit"; effectsList[41] = "water_carwash_spray"; effectsList[42] = "water_casino_drop"; effectsList[43] = "water_castle_dir"; effectsList[44] = "water_castle_drop"; effectsList[45] = "water_castle_jet"; effectsList[46] = "water_central_drop"; effectsList[47] = "water_cityhall_dir"; effectsList[48] = "water_corner_jet"; effectsList[49] = "water_drips_sheet"; } else if (set==12) { // Water (cont.) effectsList[0] = "water_fountain_5th"; effectsList[1] = "water_fountain_castle_low"; effectsList[2] = "water_fountain_castle_up"; effectsList[3] = "water_fountain_central"; effectsList[4] = "water_fountain_cityhall"; effectsList[5] = "water_fountain_corners"; effectsList[6] = "water_fountain_directional"; effectsList[7] = "water_fountain_jet"; effectsList[8] = "water_fountain_pour"; effectsList[9] = "water_fountain_rock"; effectsList[10] = "water_fountain_spout"; effectsList[11] = "water_fountain_spray"; effectsList[12] = "water_fountain_tier"; effectsList[13] = "water_fountain_tier_L"; effectsList[14] = "water_generic_dir"; effectsList[15] = "water_generic_jet"; effectsList[16] = "water_heli_blades"; effectsList[17] = "water_hose_spray"; effectsList[18] = "water_hydrant_dir"; effectsList[19] = "water_hydrant_jet"; effectsList[20] = "water_hydrant_side"; effectsList[21] = "water_hydrant_SP"; effectsList[22] = "water_hydrant_top"; effectsList[23] = "water_hydrant_vertical_jet"; effectsList[24] = "water_jets_misty"; effectsList[25] = "water_pipe_bubble"; effectsList[26] = "water_pipe_bubble2"; effectsList[27] = "water_pipe_casino"; effectsList[28] = "water_pipe_flow"; effectsList[29] = "water_rock_bubble"; effectsList[30] = "water_rock_bubble2"; effectsList[31] = "water_splashes_sheet"; effectsList[32] = "water_splash_cam"; effectsList[33] = "water_splash_ped"; effectsList[34] = "water_tier_spray"; effectsList[35] = "water_vehicle_ring"; // Weapon set 12 36-49 effectsList[36] = "weap_ejected_pistol"; effectsList[37] = "weap_ejected_rifle"; effectsList[38] = "weap_ejected_shotgun"; effectsList[39] = "weap_ejected_smg"; effectsList[40] = "weap_glow_spike_L"; effectsList[41] = "weap_molotov_flame"; effectsList[42] = "weap_molotov_glow"; effectsList[43] = "weap_molotov_smoke"; effectsList[44] = "weap_molotov_trail"; effectsList[45] = "weap_rocket_glow"; effectsList[46] = "weap_rocket_player"; effectsList[47] = "weap_rocket_smoke"; effectsList[48] = "wpn_bullet_smoke"; effectsList[49] = "wpn_bullet_trace"; } else if (set==13) { // Wheel set 13 0-29 effectsList[0] = "wheel_burnout_dirt"; effectsList[1] = "wheel_burnout_pool"; effectsList[2] = "wheel_disp_conc_rim"; effectsList[3] = "wheel_disp_grass"; effectsList[4] = "wheel_disp_gravel"; effectsList[5] = "wheel_disp_gravel_w"; effectsList[6] = "wheel_disp_hard_rim"; effectsList[7] = "wheel_disp_hard_w"; effectsList[8] = "wheel_disp_leaves"; effectsList[9] = "wheel_disp_leaves_w"; effectsList[10] = "wheel_disp_mud"; effectsList[11] = "wheel_disp_wood_rim"; effectsList[12] = "wheel_friction_conc_rim"; effectsList[13] = "wheel_friction_dirt_dry"; effectsList[14] = "wheel_friction_dirt_dry_rim"; effectsList[15] = "wheel_friction_grass"; effectsList[16] = "wheel_friction_gravel"; effectsList[17] = "wheel_friction_gravel_rim"; effectsList[18] = "wheel_friction_hard"; effectsList[19] = "wheel_friction_hard_rim"; effectsList[20] = "wheel_friction_hard_w"; effectsList[21] = "wheel_friction_leaves"; effectsList[22] = "wheel_friction_leaves_w"; effectsList[23] = "wheel_friction_mud"; effectsList[24] = "wheel_friction_sand"; effectsList[25] = "wheel_friction_sand_rim"; effectsList[26] = "wheel_friction_water"; effectsList[27] = "wheel_friction_wood_rim"; effectsList[28] = "Wheel_Gravel_Lots"; effectsList[29] = "wheel_sand_burnout"; // Wind set 13 30-32 effectsList[30] = "wind_debris_leaves"; effectsList[31] = "wind_debris_mail"; effectsList[32] = "wind_debris_paper"; } }Code:#include <natives.h> #include <common.h> #include <strings.h> #include <types.h> #include <consts.h> #include "Functions.c" #include "effects.c" /* PS3 CONTROLLER BUTTON MAP */ #define L1 0x4 #define L2 0x5 #define R1 0x6 #define R2 0x7 #define DPAD_UP 0x8 #define DPAD_DOWN 0x9 #define DPAD_LEFT 0xA #define DPAD_RIGHT 0xB #define START 0xC #define SELECT 0xD #define SQUARE 0xE #define TRIANGLE 0xF #define X 0x10 #define CIRCLE 0x11 #define STICK_L 0x12 //L3 #define STICK_R 0x13 //R3 uint rA=200, gA=255, bA=200, aA=255, //text rgb/alpha rB=200, gB=255, bB=200, aB=255, //marker rgb/alpha ptfxmode=1; // 1=tweak variables mode, 2=gameplay mode float pos_xA=0.06000000, pos_xB=0.05000000, pos_xC=0.10000000, width=0.30000000, height=0.30000000, changeby = 0.0, Pxoff = 0.0, Pyoff = 0.0, Pzoff = 0.0, //player ptfx coord offsets Pyaw = 0.0, Ppitch = 0.0, Proll = 0.0, //player ptfx rotational offsets Pscale = 0.5, //player ptfx scale/intensity Vxoff = 0.0, Vyoff = 0.0, Vzoff = 0.0, //vehicle ptfx coord offsets Vyaw = 0.0, Vpitch = 0.0, Vroll = 0.0, //vehicle ptfx rotational offsets Vscale = 1.0, //vehicle ptfx scale/intensity pos_yA=0.22000000, pos_yB=0.24000000, pos_yC=0.26000000, pos_yD=0.28000000, pos_yE=0.30000000, pos_yF=0.32000000, pos_yG=0.34000000, pos_yH=0.38000000, pos_yI=0.40000000, pos_yJ=0.42000000, pos_yK=0.44000000, pos_yL=0.46000000, pos_yM=0.48000000, pos_yN=0.50000000, pos_yO=0.53000000, pos_yP=0.19000000, pos_yQ=0.17000000, markerposY = 0.22000000; int markerpos = 0, effIndex = 0, effSet = 0, Pptfx = 0, Vptfx = 0, //player ptfx and vehicle ptfx pointers carptr = 0; //players car pointer int *chosenEffect = 0; void NumberDisplayLoop(void) { if (ptfxmode==1) { set_up_draw(2, width, height, rB, gB, bB, aB); draw_text("STRING", pos_xB, markerposY, ">"); set_up_draw(2, width, height, rA, gA, bA, aA); draw_text("STRING", pos_xA, pos_yQ, "Set"); set_up_draw(2, width, height, rA, gA, bA, aA); draw_number("NUMBR", pos_xC, pos_yQ, effSet); set_up_draw(2, width, height, rA, gA, bA, aA); draw_number("NUMBR", pos_xA, pos_yP, effIndex); set_up_draw(2, width, height, rA, gA, bA, aA); draw_text("STRING", pos_xC, pos_yP, chosenEffect); set_up_draw(2, width, height, rA, gA, bA, aA); draw_float("NUMBR", pos_xA, pos_yA, Pxoff); set_up_draw(2, width, height, rA, gA, bA, aA); draw_float("NUMBR", pos_xA, pos_yB, Pyoff); set_up_draw(2, width, height, rA, gA, bA, aA); draw_float("NUMBR", pos_xA, pos_yC, Pzoff); set_up_draw(2, width, height, rA, gA, bA, aA); draw_float("NUMBR", pos_xA, pos_yD, Pyaw); set_up_draw(2, width, height, rA, gA, bA, aA); draw_float("NUMBR", pos_xA, pos_yE, Ppitch); set_up_draw(2, width, height, rA, gA, bA, aA); draw_float("NUMBR", pos_xA, pos_yF, Proll); set_up_draw(2, width, height, rA, gA, bA, aA); draw_float("NUMBR", pos_xA, pos_yG, Pscale); set_up_draw(2, width, height, rA, gA, bA, aA); draw_float("NUMBR", pos_xA, pos_yH, Vxoff); set_up_draw(2, width, height, rA, gA, bA, aA); draw_float("NUMBR", pos_xA, pos_yI, Vyoff); set_up_draw(2, width, height, rA, gA, bA, aA); draw_float("NUMBR", pos_xA, pos_yJ, Vzoff); set_up_draw(2, width, height, rA, gA, bA, aA); draw_float("NUMBR", pos_xA, pos_yK, Vyaw); set_up_draw(2, width, height, rA, gA, bA, aA); draw_float("NUMBR", pos_xA, pos_yL, Vpitch); set_up_draw(2, width, height, rA, gA, bA, aA); draw_float("NUMBR", pos_xA, pos_yM, Vroll); set_up_draw(2, width, height, rA, gA, bA, aA); draw_float("NUMBR", pos_xA, pos_yN, Vscale); set_up_draw(2, width, height, rA, gA, bA, aA); draw_text("STRING", pos_xB, pos_yO, "tweak"); } else if (ptfxmode==2) { set_up_draw(2, width, height, rA, gA, bA, aA); draw_text("STRING", pos_xB, pos_yO, "play"); } } void movemarker(void) { if (ptfxmode==1) { if (IS_BUTTON_JUST_PRESSED(0,DPAD_DOWN)) { if (markerpos==15) { markerpos = 0; } else { markerpos = markerpos+1; } } if (IS_BUTTON_JUST_PRESSED(0,DPAD_UP)) { if (markerpos==0) { markerpos = 15; } else { markerpos = markerpos-1; } } if (IS_BUTTON_PRESSED(0,DPAD_DOWN) || IS_BUTTON_PRESSED(0,DPAD_UP)) { if (markerpos==0) { markerposY = pos_yA; } else if (markerpos==1) { markerposY = pos_yB; } else if (markerpos==2) { markerposY = pos_yC; } else if (markerpos==3) { markerposY = pos_yD; } else if (markerpos==4) { markerposY = pos_yE; } else if (markerpos==5) { markerposY = pos_yF; } // will have to substitute all else if (markerpos==6) { markerposY = pos_yG; } else if (markerpos==7) { markerposY = pos_yH; } // this for an array assignment else if (markerpos==8) { markerposY = pos_yI; } else if (markerpos==9) { markerposY = pos_yJ; } // it will remove this bulk of else if (markerpos==10) { markerposY = pos_yK; } else if (markerpos==11) { markerposY = pos_yL; } // code else if (markerpos==12) { markerposY = pos_yM; } else if (markerpos==13) { markerposY = pos_yN; } else if (markerpos==14) { markerposY = pos_yP; } else if (markerpos==15) { markerposY = pos_yQ; } } } } void changeoffsets(void) { /*buttons used: DPAD_UP DPAD_DOWN DPAD_LEFT DPAD_RIGHT markerpos values and relative value types coord offsets: 0,1,2,7,8,9 rotational offsets: 3,4,5,10,11,12 ptfx scale: 6,13 0/7 1/8 2/9 3/10 4/11 5/12 6/13 Pxoff Pyoff Pzoff Pyaw Ppitch Proll Pscale Vxoff Vyoff Vzoff Vyaw Vpitch Vroll Vscale */ if (ptfxmode==1 && markerpos<14) { if (IS_BUTTON_JUST_PRESSED(0,DPAD_RIGHT)) { changeby = 0.1; } // by adding a negative i am effectively subtracting therby if (IS_BUTTON_JUST_PRESSED(0,DPAD_LEFT)) { changeby = -0.1; } // making my code shorter by using just additions while (IS_BUTTON_PRESSED(0,DPAD_RIGHT) || IS_BUTTON_PRESSED(0,DPAD_LEFT)) { if (markerpos==0) { Pxoff = Pxoff+changeby; WAIT(5); } else if (markerpos==1) { Pyoff = Pyoff+changeby; WAIT(5); } else if (markerpos==2) { Pzoff = Pzoff+changeby; WAIT(5); } else if (markerpos==3) { Pyaw = Pyaw+changeby; if (Pyaw > 359.9) { Pyaw = 0.0; } else if (Pyaw < 0.0) { Pyaw = 359.9; } WAIT(5); } else if (markerpos==4) { Ppitch = Ppitch+changeby; if (Ppitch > 359.9) { Ppitch = 0.0; } else if (Ppitch < 0.0) { Ppitch = 359.9; } WAIT(5); } else if (markerpos==5) { Proll = Proll+changeby; if (Proll > 359.9) { Proll = 0.0; } else if (Proll < 0.0) { Proll = 359.9; } WAIT(5); } else if (markerpos==6) { Pscale = Pscale+changeby; if (Pscale > 5.0) { Pscale = 0.1; } else if (Pscale < 0.1) { Pscale = 5.0; } WAIT(5); } else if (markerpos==7) { Vxoff = Vxoff+changeby; WAIT(5); } else if (markerpos==8) { Vyoff = Vyoff+changeby; WAIT(5); } else if (markerpos==9) { Vzoff = Vzoff+changeby; WAIT(5); } else if (markerpos==10) { Vyaw = Vyaw+changeby; if (Vyaw > 359.9) { Vyaw = 0.0; } else if (Vyaw < 0.0) { Vyaw = 359.9; } WAIT(5); } else if (markerpos==11) { Vpitch = Vpitch+changeby; if (Vpitch > 359.9) { Vpitch = 0.0; } else if (Vpitch < 0.0) { Vpitch = 359.9; } WAIT(5); } else if (markerpos==12) { Vroll = Vroll+changeby; if (Vroll > 359.9) { Vroll = 0.0; } else if (Vroll < 0.0) { Vroll = 359.9; } WAIT(5); } else if (markerpos==13) { Vscale = Vscale+changeby; if (Vscale > 5.0) { Vscale = 0.1; } else if (Vscale < 0.1) { Vscale = 5.0; } WAIT(5); } } } } void applyoffsets(void) { if (ptfxmode==1) { if (!IS_BUTTON_JUST_PRESSED(0,STICK_L) && IS_BUTTON_JUST_PRESSED(0,STICK_R)) { /* i don't think these 2 lines work but if you want to try them here they are */ /* if (Vptfx!=0) { UPDATE_PTFX_OFFSETS(Vptfx,Vxoff,Vyoff,Vzoff,Vyaw,Vpitch,Vroll); } if (Pptfx!=0) { UPDATE_PTFX_OFFSETS(Pptfx,Pxoff,Pyoff,Pzoff,Pyaw,Ppitch,Proll); } //*/ Vptfx=0; Pptfx=0; REMOVE_PTFX_FROM_VEHICLE(carptr); REMOVE_PTFX_FROM_PED(GetPlayerPed()); } } } void changeEffect(void) { /* EFFECT GROUP NAMES, SETS AND INDEX RANGES WITHIN SETS (groups are not in this beta it will need a whole series of checks to implement) -------------------------------------------------------------------------------- NAME SET(S) INDEX RANGES NAME SET(S) INDEX RANGES -------------------------------------------------------------------------------- ambient 0-1 0-49 & 0-20 anim 1 21-30 bang 1 31-46 blood 1-2 47-49 & 0-21 break 2-3 22-49 & 0-14 col 3-4 15-49 & 0-3 CS 4 4-44 Destruction 4-6 45-49 & 0-49 & 0-28 Explosion 6-7 30-49 & 0-32 Fire 7-8 33-49 & 0-4 Glass 8 5-6 Impact 8 7-37 Leaves 8 38-42 Metal 8 43-44 Misc 8-9 45-49 & 0-8 Multi 9 9-11 Muzzle 9 12-30 Overhang 9 31-39 Ped 9-10 40-49 & 0-1 Qub3d 10 2-22 Scrape 10 23-29 Shot 10 30-47 Smoke 10-11 48-49 & 0-8 Vehicle 11 9-30 Water 11-12 31-49 & 0-35 Weapon 12 36-49 Wheel set 13 0-29 Wind 13 30-32 */ if (ptfxmode==1 && markerpos==14) { if (IS_BUTTON_JUST_PRESSED(0,DPAD_RIGHT)) { changeby = 1; } // by adding a negative i am effectively subtracting therby if (IS_BUTTON_JUST_PRESSED(0,DPAD_LEFT)) { changeby = -1; } // making my code shorter by using just additions while (IS_BUTTON_PRESSED(0,DPAD_RIGHT) || IS_BUTTON_PRESSED(0,DPAD_LEFT)) { if ((effSet<13 && (effIndex>=0 && effIndex<=49)) || (effSet>12 && (effIndex>=0 && effIndex<=32))) { effIndex = effIndex+changeby; } if (effSet<=0 && effIndex<0) { effIndex = 32; effSet = 13; init(effSet); } if ((effSet>=0 && effSet<13) && effIndex<0) { effIndex = 49; effSet = effSet+changeby; init(effSet); } if ((effSet>=0 && effSet<13) && effIndex>49) { effIndex = 0; effSet = effSet+changeby; init(effSet); } if (effSet>=13 && effIndex>32) { effIndex = 0; effSet = 0; init(effSet); } if (effSet>=13 && effIndex<0) { effIndex = 49; effSet = 12; init(effSet); } if ((effSet<13 && (effIndex>=0 && effIndex<=49)) || (effSet>12 && (effIndex>=0 && effIndex<=32))) { chosenEffect = effectsList[effIndex]; } WAIT(50); } } else if (ptfxmode==1 && markerpos==15) { if (IS_BUTTON_JUST_PRESSED(0,DPAD_RIGHT)) { changeby = 1; } // by adding a negative i am effectively subtracting therby if (IS_BUTTON_JUST_PRESSED(0,DPAD_LEFT)) { changeby = -1; } // making my code shorter by using just additions if (IS_BUTTON_JUST_PRESSED(0,DPAD_RIGHT) || IS_BUTTON_JUST_PRESSED(0,DPAD_LEFT)) { if (effSet>=0 && effSet<=13) { effSet = effSet+changeby; } if ((effSet<0)) { effSet = 13; } if (effSet>13) { effSet = 0; } effIndex = 0; // goto the start of the new set if (((effIndex>-1 && effIndex<50) && effSet<13) || ((effIndex>-1 && effIndex<33) && effSet==13)) { init(effSet); chosenEffect = effectsList[effIndex]; } } } } void changemode(void) { // 1=tweak variables mode, 2=gameplay mode if (IS_BUTTON_PRESSED(0,STICK_L) && IS_BUTTON_PRESSED(0,STICK_R)) { if (ptfxmode==2) { ptfxmode=1; aB=aA; } else { ptfxmode=ptfxmode+1; if (ptfxmode==2) { aB=0; } else { aB=aA; } } WAIT(100); } } void burn(void) { if (!IS_CHAR_SITTING_IN_ANY_CAR(GetPlayerPed())) { if (Vptfx!=0) { REMOVE_PTFX_FROM_VEHICLE(carptr); Vptfx = 0; } } else if (IS_CHAR_SITTING_IN_ANY_CAR(GetPlayerPed())) { GET_CAR_CHAR_IS_USING(GetPlayerPed(), &carptr); if (Vptfx==0) { if (DOES_VEHICLE_EXIST(carptr)) { Vptfx = START_PTFX_ON_VEH(chosenEffect, carptr, Vxoff, Vyoff, Vzoff, Vyaw, Vpitch, Vroll, Vscale); } } } if (Pptfx==0) { //Pptfx = START_PTFX_ON_PED("fire_chopper_tail", GetPlayerPed(), Pxoff, Pyoff, Pzoff, Pyaw, Ppitch, Proll, Pscale); // set the whole of niko on fire Pptfx = START_PTFX_ON_PED_BONE(chosenEffect, GetPlayerPed(), Pxoff, Pyoff, Pzoff, Pyaw, Ppitch, Proll, 1205, Pscale); //set nikos head on fire } } void main(void) { init(0); // the '0' selects effect set 0, without a number from // 0-13 calling this function would be pointless but // calling this function is needed the array this function // manipulates is now a core piece of this script chosenEffect = *(effectsList+0); while(true) { WAIT(0); movemarker(); NumberDisplayLoop(); burn(); changeEffect(); changeoffsets(); changemode(); applyoffsets(); } }
this thing is very simple to use
d-pad up and down scroll up and down the list of numbers
d-pad left and right adjust the number you stop at
R3 (right stick button) applies the changes you have made
L3 (left stick button) changes between play and tweak modes
play mode lets you play the game as usual and tweak mode lets you tweak the effects
the code currently contains a glitch in that when you apply new coordinates on the vehicles particle effect it spawns a new particle effect alongside any already existing on the vehicle
the numbers are as follows
there are two sets of seven numbers the top set is for the players effects and the bottom set is for the vehicle effects and they go as follows:
the first three numbers are: x, y and z relative coords offsets of the effect from the player or vehicle.
the next three number are: yaw, pitch, and roll rotational offsets of the effect.
and the last number is: effect intensity/size.
so far i haven't found yaw, pitch and roll to make a difference but perhaps with fire you can't tell.


21Likes
LinkBack URL
About LinkBacks










you won't have to worry about any of the menu aspect then.