Modding Crowd Control

Code:
    <Name>crowd_su</Name>
        <Max_Cash>5000</Max_Cash>
        <Max_Props>5000</Max_Props>
        <Levels>
            <Level>
                <Cash_Award>100</Cash_Award>
                <Props_Award>5000</Props_Award>
                <Vehicle_Start>crowd_ht_limo_start</Vehicle_Start>
                <Vehicle_Type>sp_limosuv01</Vehicle_Type>
                <Celeb_Type>athlete</Celeb_Type>
                <Event_Name>Ultor Dome</Event_Name>
                <Celebrities>
                    <Celebrity>
                        <Celeb_Persona>WM_COW</Celeb_Persona>
                        <Celeb_NPC_Type>npc_cowboy</Celeb_NPC_Type>
                        <Loop_Path>True</Loop_Path>
                        <Celeb_Variant>strong beard</Celeb_Variant>
                        </Celebrity>
                    </Celebrities>
                <Crazed_Fan_Spawn_Levels>
                    <Crazed_Fan_Spawn_Level>
                        <Start>0</Start>
                        <Spawn_Interval>10</Spawn_Interval>
                        <Max_Crazed_Fans>1</Max_Crazed_Fans>
                        <Spawn_Dist_Min>5</Spawn_Dist_Min>
                        <Spawn_Dist_Max>15</Spawn_Dist_Max>
                        <Health_Modifier>0.2</Health_Modifier>
                        <Spawn_Interval_Coop>5</Spawn_Interval_Coop>
                        <Max_Crazed_Fans_Coop>2</Max_Crazed_Fans_Coop>
                        <Spawn_Chances>
                            <Spawn_Chance>
                                <Crazed_Fans_Spawned>1</Crazed_Fans_Spawned>
                                <Chance>0.9</Chance>
                                </Spawn_Chance>
                            <Spawn_Chance>
                                <Crazed_Fans_Spawned>2</Crazed_Fans_Spawned>
                                <Chance>0.1</Chance>
                                </Spawn_Chance>
                            </Spawn_Chances>
                        <Fan_Type_Chances>
                            <Fan_Type_Chance>
                                <Chance>0.25</Chance>
                                <Type>
                                    <Normal>
                                        <Annoyance>4</Annoyance>
                                        <Lose_Interest_Delay>15</Lose_Interest_Delay>
                                        <Max_Annoyance>20</Max_Annoyance>
                                        </Normal>
                                    </Type>
                                </Fan_Type_Chance>
                            <Fan_Type_Chance>
                                <Chance>0.25</Chance>
                                <Type>
                                    <Drunk>
                                        <Annoyance>4</Annoyance>
                                        <Lose_Interest_Delay>15</Lose_Interest_Delay>
                                        <Max_Annoyance>20</Max_Annoyance>
                                        </Drunk>
                                    </Type>
                                </Fan_Type_Chance>
                            <Fan_Type_Chance>
                                <Chance>0.5</Chance>
                                <Type>
                                    <Crowd_Jerk>
                                        <Annoyance>10</Annoyance>
                                        <Max_Annoyance>50</Max_Annoyance>
                                        <Lose_Interest_Delay>0.0</Lose_Interest_Delay>
                                        <Weapon>baseball_bat</Weapon>
                                        </Crowd_Jerk>
                                    </Type>
                                </Fan_Type_Chance>
                            </Fan_Type_Chances>
                        </Crazed_Fan_Spawn_Level>
                    </Crazed_Fan_Spawn_Levels>
                <Duration>180</Duration>
                <Next_Celebrity_Delay>9999</Next_Celebrity_Delay>
                <Spawnable_Fans>
                    <Spawnable_Fan>
                        <Character_Preset>npc_cowboy</Character_Preset>
                        </Spawnable_Fan>
                    <Spawnable_Fan>
                        <Character_Preset>npc_young_female_generic</Character_Preset>
                        </Spawnable_Fan>
                    </Spawnable_Fans>
                <Throw_Damage_Mult>0.01</Throw_Damage_Mult>
                <Celebrity_Annoyance_Tolerance>100</Celebrity_Annoyance_Tolerance>
                <Cash_Goal>5000</Cash_Goal>
                <Base_Annoyance_Refund>2</Base_Annoyance_Refund>
                <Eligible_Events>
                    <Eligible_Event>
                        <Event_Name>Ultor Dome</Event_Name>
                        <Disabled_In_Coop>False</Disabled_In_Coop>
                        </Eligible_Event>
                    <Eligible_Event>
                        <Event_Name>Hapton Rooftop</Event_Name>
                        <Disabled_In_Coop>False</Disabled_In_Coop>
                        </Eligible_Event>
                    <Eligible_Event>
                        <Event_Name>Graveyard</Event_Name>
                        <Disabled_In_Coop>False</Disabled_In_Coop>
                        </Eligible_Event>
                    <Eligible_Event>
                        <Event_Name>Train Station</Event_Name>
                        <Disabled_In_Coop>True</Disabled_In_Coop>
                        </Eligible_Event>
                    </Eligible_Events>
                <Level>1</Level>
                <Cash_Goal_Coop>7500</Cash_Goal_Coop>
                </Level>

Name = The Name Of This Activity Instance
Max Cash = The Max Amount Of Cash That You Can Gain In The Last Level Of The Activity
Max Props = The Max Amount Of Respect That You Can Gain In The Last Level Of The Activity
Cash Award = The Amount Of Cash Awarded For Passing The Level
Props Award = The Amount Of Respect That You Get For Passing The Level
Vehicle Start = The Starting Point For The Celebrity's Vehicle
Vehicle Type = What Type Of Vehicle Is It
Celeb Type = What Is The Type Of Character Is Being Used
Level Name = The Name Of The Level
Celeb Persona = What Is The Personality Of The Celebrity
Celeb NPC Type = What Is The NPC Model
Loop Path = The Path That The Celebrity Follows
Celeb Variant = Which Variant Of The Celebrity Will You Use
Crazed Fan Spawn Level = The Section That Handles How To Crazed Fans Behave
Start (Crazed Fan Spawn Level) = What Level The Crazed Fans Start At.
Spawn Interval = How Much Time Between Spawns
Max Crazed Fans = The Maximum Amount Of Crazed Fans
Spawn Dist Min = How Close To The Celebrity Will The Crazed Fan Spawn
Spawn Dist Max = How Far Away From The Celebrity Will The Crazed Fan Spawn
Health Modifier = The Amount Of A Percentage Is The Crazed Fan's Health Modified
Spawn Interval Coop = How Long Between Crazed Fan Spawns In Coop Mode
Max Crazed Fans Coop = What Is The Max Amount Of Crazed Fans In Coop
Crazed Fan Spawn = The Number Of The Crazed Fan That Spawns
Spawn Chance (Crazed Fans) = What Is The Percentage Of A Chance That This Crazed Fan Will Spawn
Fan Type Spawn Chance = The Section That Handles What Type Of Fan Spawns
Chance (Fan Type) = The Amount Of A Percentage That A Certain Type Of Fan Will Spawn
Type (Fan Type) = Which Variant Of Fan Will Spawn
Annoyance = How Annoying Is The Crazed Fan
Lost Interest Delay = How Long Before The Crazed Fan Loses Interest
Max Annoyance = What Is The Annoyance Cap For This Crazed Fan
Weapon (Fab Type) = Which Weapon Is This Fan Type Carrying.
Duration = The Time Limit Of The Level
Next Celebrity Delay = How Long Between Celebrity Spawns
Spawnable Fan = The Section That Handles The Spawnable Fans
Character Preset = The NPC Model For The Crowd Fans
Throw Damage Mult = The Multiplier For The Amount Of Damage Resulting From The Throwing Action
Celebrity Annoyance Tolerance = How Much Annoyance Can The Celebrity Handle
Cash Goal = The Amount Of Points You Need To Reach To Pass The Level
Base Annoyance Refund = How Fast The Celebrity's Annoyance Bar Decreases After Removing Crazed Fan(s)
Eligible Event = The Section That Covers Where The Activity Instance Occurs
Disabled In Coop = Is This Event Playable In Coop
Level = The Level Number For This Activity Instance
Cash Goal Coop = How Many Points Do You Need To Reach To Pass The Level In Coop
The Activity Name
Can Be Changed. Measured In Dollars
Can Be Changed Measured In Points
Must Be Set Per Level. Can Be Changed. Measured In Dollars.
Can Exceed The Amount Set In Max Cash.
Must Be Set Per Level. Can Be Changed. Measured In Points. Can
Exceed The Number Defined In Max Props.
Where The Celebrity Vehicle Begins It's Journey From. Example:
The Helicopter In The Hapton Rooftop Level.
The Vehicle That The Celebrity "Arrives" In. Can Be Changed. Controlled By
Vehicles.xtbl.

In Certain Locations Like The Saints Row Foreign Power Parking Lot
There Are A Number Of Vehicle Spawns. All Of The Vehicles That Are Not Used As Weapons Can Be Changed.

Note: Not All Vehicles Should Be Changed. For Instance The Helicopter In The Hapton Level.
If You Change It Then The Celebrity Will Not Reach The Roof And The Activity Can Not Complete.
Can Be Changed. Controlled By Character Presets.xtbl.
The Level Name Corresponds With The Names Of The Locations Mentioned In The
Events Name Sections. Not Sure If They Can Be Changed Or Not. But if You Try Then Be Aware That You Will
Almost Certainly Have To Change The Names In The CTS File and Possible Crowd_Common.cts as well.
Can Be Changed. See Persona.Xtbl.
Can Be Changed See Character_Presets.xtbl.
Can Be Changed. Contained in Crowd_Common.xtbl.
Can Be Changed And Can Be Removed If The NPC You Are Using Doesn't Require It.
Can Be Changed.
Can Be Changed, Measured In Seconds.
Can Be Changed
Can Be Changed. Measured In Meters.
Can Be Changed. Measured In Meters.
Can Be Changed. Default = 1.0 MinValue = 0.1.
Can Be Changed. Measure In Seconds.
Can Be Changed.
Code:
    <Spawn_Chances>
                            <Spawn_Chance>
                                <Crazed_Fans_Spawned>1</Crazed_Fans_Spawned>
                                <Chance>0.9</Chance>
                                </Spawn_Chance>
                            <Spawn_Chance>
                                <Crazed_Fans_Spawned>2</Crazed_Fans_Spawned>
                                <Chance>0.1</Chance>
                                </Spawn_Chance>
                            </Spawn_Chances>

The chance that a certain set or number of crazed fans will spawn. In this case either 1 or 2.
Can be changed.
Code:
<Fan_Type_Chances>
                            <Fan_Type_Chance>
                                <Chance>0.25</Chance>
                                <Type>
                                    <Normal>
                                        <Annoyance>4</Annoyance>
                                        <Lose_Interest_Delay>15</Lose_Interest_Delay>
                                        <Max_Annoyance>20</Max_Annoyance>
                                        </Normal>
                                    </Type>
                                </Fan_Type_Chance>

The type of fan can be changed for instance normal can be changed to drunk or crowd-jerk.
Can be changed. see weapons.xtbl.
Can be changed.
Can Be Changed. Measured In Seconds.
Can Be Changed Measured In Seconds.
The time between celebrity spawns, It is set super high
so that there will only be one celebrity per level. Can be changed but might cause issues
if you do.
Code:
<Spawnable_Fans>
                    <Spawnable_Fan>
                        <Character_Preset>npc_cowboy</Character_Preset>
                        </Spawnable_Fan>
                    <Spawnable_Fan>
                        <Character_Preset>npc_young_female_generic</Character_Preset>
                        </Spawnable_Fan>
                    </Spawnable_Fans>

Can be changed.
Can be changed. Default = 1.0 MinValue = 0 MaxValue = 1.
Can Be Changed 1 - 100.
Can Be Changed. To make the level easier lower the value. To make it harder increase it.
Can Be Changed, Larger Level Means Quicker Annoyance Meter Drain.
Can Be Changed to any one of the events in the provided list.
Can Be Changed but probably shouldn't be.
Can Be Changed. The smaller the amount the less points you need to pass the level.
Can Be Changed. True Or False.
I know that you could just change the points required in the crowd_ht
and crowd_su xtbls to beat the missions easier but I thought it might
be a little more interesting to try a different approach. So what I did
was change the amount of points you receive instead.

When you perform certain actions in crowd control you receive
a set amount of points. That amount of points can be changed.

We are working on the crowd_common.xtbl for this one. You can find
in the common.vpp_pc file. Just use ThomasJepp tools to unpack it
and then copy all the crowd* files into a separate directory.

(crowd_common.cts, crowd_common.xtbl, crowd_ht.cts, crowd_ht.xtbl
crowd_su.cts and crowd_su.xtbl) The crowd_control files are
CTS: crowd and item selection and placement
XTBL: Points and actions
Crowd_HT is the Charred Hard Burgers location
Crowd_SU is the location near your Mall adjacent safe house.
(We will only use crowd_common.xtbl for this mod but the other
files might be useful if you decide to work with the code yourself.)

Here is a section from Crowd_Common.xtbl (This is for level 1):

Code:
<Event>
                <Event_Name>Ultor Dome</Event_Name>
                <Vehicle_Stop>crowd_common_dome_limo_stop</Vehicle_Stop>
                <Celebrity_Start>crowd_common_dome_celebrity_start</Celebrity_Start>
                <Player_Start_1>crowd_common_dome_player_start_1</Player_Start_1>
                <Player_Start_2>crowd_common_dome_player_start_2</Player_Start_2>
                <Event_Group>crowd_common_dome_group</Event_Group>
                <Celebrity_Stops>
                    <Celebrity_Stop>
                        <Stop_Navpoint>crowd_common_$n032</Stop_Navpoint>
                        <Stop_Type>wave<Celebrity_Action>
                                <Possible_Actions>
                                    <Possible_Action>
                                        <Action>Wave Left</Action>
                                        </Possible_Action>
                                    <Possible_Action>
                                        <Action>Wave Right</Action>
                                        </Possible_Action>
                                    </Possible_Actions>
                                </Celebrity_Action>
                            </Stop_Type>
                        </Celebrity_Stop>
                    <Celebrity_Stop>
                        <Stop_Navpoint>crowd_common_$n033</Stop_Navpoint>
                        <Stop_Type>wave<Interaction>
                                <Interaction_NPC>crowd_common_dome_interact_fan01</Interaction_NPC>
                                <Possible_Animations>
                                    <Possible_Animation>
                                        <Animation_Pair>Give Autograph</Animation_Pair>
                                        </Possible_Animation>
                                    </Possible_Animations>
                                </Interaction>
                            </Stop_Type>
                        </Celebrity_Stop>
                    <Celebrity_Stop>
                        <Stop_Navpoint>crowd_common_$n034</Stop_Navpoint>
                        <Stop_Type>wave<Interaction>
                                <Interaction_NPC>crowd_common_dome_interact_fan02</Interaction_NPC>
                                <Possible_Animations>
                                    <Possible_Animation>
                                        <Animation_Pair>Shake Hands</Animation_Pair>
                                        </Possible_Animation>
                                    </Possible_Animations>
                                </Interaction>
                            </Stop_Type>
                        </Celebrity_Stop>
                    <Celebrity_Stop>
                        <Stop_Navpoint>crowd_common_$n035</Stop_Navpoint>
                        <Stop_Type>wave<Celebrity_Action>
                                <Possible_Actions>
                                    <Possible_Action>
                                        <Action>Special</Action>
                                        </Possible_Action>
                                    </Possible_Actions>
                                </Celebrity_Action>
                            </Stop_Type>
                        </Celebrity_Stop>
                    <Celebrity_Stop>
                        <Stop_Navpoint>crowd_common_$n036</Stop_Navpoint>
                        <Stop_Type>wave<Interaction>
                                <Interaction_NPC>crowd_common_dome_interact_fan03</Interaction_NPC>
                                <Possible_Animations>
                                    <Possible_Animation>
                                        <Animation_Pair>Give Autograph</Animation_Pair>
                                        </Possible_Animation>
                                    </Possible_Animations>
                                </Interaction>
                            </Stop_Type>
                        </Celebrity_Stop>
                    <Celebrity_Stop>
                        <Stop_Navpoint>crowd_common_$n037</Stop_Navpoint>
                        <Stop_Type>wave<Interaction>
                                <Interaction_NPC>crowd_common_dome_interact_fan04</Interaction_NPC>
                                <Possible_Animations>
                                    <Possible_Animation>
                                        <Animation_Pair>Shake Hands</Animation_Pair>
                                        </Possible_Animation>
                                    </Possible_Animations>
                                </Interaction>
                            </Stop_Type>
                        </Celebrity_Stop>
                    <Celebrity_Stop>
                        <Stop_Navpoint>crowd_common_$n038</Stop_Navpoint>
                        <Stop_Type>wave<Celebrity_Action>
                                <Possible_Actions>
                                    <Possible_Action>
                                        <Action>Special</Action>
                                        </Possible_Action>
                                    </Possible_Actions>
                                </Celebrity_Action>
                            </Stop_Type>
                        </Celebrity_Stop>
                    <Celebrity_Stop>
                        <Stop_Navpoint>crowd_common_$n039</Stop_Navpoint>
                        <Stop_Type>wave<Interaction>
                                <Interaction_NPC>crowd_common_dome_interact_fan05</Interaction_NPC>
                                <Possible_Animations>
                                    <Possible_Animation>
                                        <Animation_Pair>Shake Hands</Animation_Pair>
                                        </Possible_Animation>
                                    <Possible_Animation>
                                        <Animation_Pair>Give Autograph</Animation_Pair>
                                        </Possible_Animation>
                                    </Possible_Animations>
                                </Interaction>
                            </Stop_Type>
                        </Celebrity_Stop>
                    </Celebrity_Stops>
                <Capture_Triggers>
                    <Capture_Trigger>
                        <Trigger_Name>crowd_common_dome_swat_van_capture_trigger</Trigger_Name>
                        <Annoyance_Refund>0</Annoyance_Refund>
                        <Cash>750</Cash>
                        <Actions></Actions>
                        <Disable_Capture>False</Disable_Capture>
                        <Parent_Object>crowd_common_dome_capture01</Parent_Object>
                        <Arrow_Location>crowd_common_dome_paddywagon_arrow</Arrow_Location>
                        </Capture_Trigger>
                    <Capture_Trigger>
                        <Trigger_Name>crowd_common_dome_apc_capture_trigger</Trigger_Name>
                        <Annoyance_Refund>0</Annoyance_Refund>
                        <Cash>1000</Cash>
                        <Actions>
                            <Action>
                                <Type>
                                    <Trigger_APC_Attack>
                                        <APC>crowd_common_dome_capture02</APC>
                                        <Firing_Time>2</Firing_Time>
                                        <Reward>1000</Reward>
                                        </Trigger_APC_Attack>
                                    </Type>
                                </Action>
                            <Action>
                                <Type>
                                    <Trigger_APC_Attack>
                                        <APC>crowd_common_dome_capture03</APC>
                                        <Firing_Time>2</Firing_Time>
                                        <Reward>1000</Reward>
                                        </Trigger_APC_Attack>
                                    </Type>
                                </Action>
                            <Action>
                                <Type>
                                    <Play_Crowd_Gasp></Play_Crowd_Gasp>
                                    </Type>
                                </Action>
                            </Actions>
                        <Disable_Capture>True</Disable_Capture>
                        <Arrow_Location>crowd_common_dome_apc_arrow</Arrow_Location>
                        </Capture_Trigger>
                    <Capture_Trigger>
                        <Trigger_Name>crowd_common_dome_conveyor_kill_trigger</Trigger_Name>
                        <Disable_Capture>False</Disable_Capture>
                        <Annoyance_Refund>0</Annoyance_Refund>
                        <Cash>1000</Cash>
                        <Actions>
                            <Action>
                                <Type>
                                    <Play_Crowd_Gasp></Play_Crowd_Gasp>
                                    </Type>
                                </Action>
                            <Action>
                                <Type>
                                    <Play_Effect>
                                        <Name>cc_gib_enter</Name>
                                        <Navpoint>crowd_common_dome_conveyor_entry_death_effect</Navpoint>
                                        <Position_Type>Absolute</Position_Type>
                                        <Orient_Type>Absolute</Orient_Type>
                                        </Play_Effect>
                                    </Type>
                                </Action>
                            <Action>
                                <Type>
                                    <Play_Effect>
                                        <Name>cc_gib_directional</Name>
                                        <Navpoint>crowd_common_dome_conveyor_exit_death_effect</Navpoint>
                                        <Position_Type>Absolute</Position_Type>
                                        <Orient_Type>Absolute</Orient_Type>
                                        </Play_Effect>
                                    </Type>
                                </Action>
                            <Action>
                                <Type>
                                    <Play_Sound_At_Victim>
                                        <Sound>SFX_CROWDCONTROL_XRAY</Sound>
                                        </Play_Sound_At_Victim>
                                    </Type>
                                </Action>
                            <Action>
                                <Type>
                                    <Kill></Kill>
                                    </Type>
                                </Action>
                            </Actions>
                        <Arrow_Location>crowd_common_dome_conveyor_arrow</Arrow_Location>
                        </Capture_Trigger>
                    </Capture_Triggers>
                <Fan_Spawn_Areas>
                    <Fan_Spawn_Area>
                        <Fans_Count>30</Fans_Count>
                        <Spawn_Edge_Vertices>
                            <Spawn_Edge_Vertex>
                                <Navpoint>crowd_common_dome_spawn_01_01</Navpoint>
                                </Spawn_Edge_Vertex>
                            <Spawn_Edge_Vertex>
                                <Navpoint>crowd_common_dome_spawn_01_02</Navpoint>
                                </Spawn_Edge_Vertex>
                            <Spawn_Edge_Vertex>
                                <Navpoint>crowd_common_dome_spawn_01_03</Navpoint>
                                </Spawn_Edge_Vertex>
                            <Spawn_Edge_Vertex>
                                <Navpoint>crowd_common_dome_spawn_01_04</Navpoint>
                                </Spawn_Edge_Vertex>
                            </Spawn_Edge_Vertices>
                        </Fan_Spawn_Area>
                    <Fan_Spawn_Area>
                        <Fans_Count>15</Fans_Count>
                        <Spawn_Edge_Vertices>
                            <Spawn_Edge_Vertex>
                                <Navpoint>crowd_common_dome_spawn_02_01</Navpoint>
                                </Spawn_Edge_Vertex>
                            <Spawn_Edge_Vertex>
                                <Navpoint>crowd_common_dome_spawn_02_02</Navpoint>
                                </Spawn_Edge_Vertex>
                            <Spawn_Edge_Vertex>
                                <Navpoint>crowd_common_dome_spawn_02_03</Navpoint>
                                </Spawn_Edge_Vertex>
                            <Spawn_Edge_Vertex>
                                <Navpoint>crowd_common_dome_spawn_02_04</Navpoint>
                                </Spawn_Edge_Vertex>
                            </Spawn_Edge_Vertices>
                        </Fan_Spawn_Area>
                    <Fan_Spawn_Area>
                        <Fans_Count>15</Fans_Count>
                        <Spawn_Edge_Vertices>
                            <Spawn_Edge_Vertex>
                                <Navpoint>crowd_common_dome_spawn_03_01</Navpoint>
                                </Spawn_Edge_Vertex>
                            <Spawn_Edge_Vertex>
                                <Navpoint>crowd_common_dome_spawn_03_02</Navpoint>
                                </Spawn_Edge_Vertex>
                            <Spawn_Edge_Vertex>
                                <Navpoint>crowd_common_dome_spawn_03_03</Navpoint>
                                </Spawn_Edge_Vertex>
                            <Spawn_Edge_Vertex>
                                <Navpoint>crowd_common_dome_spawn_03_04</Navpoint>
                                </Spawn_Edge_Vertex>
                            </Spawn_Edge_Vertices>
                        </Fan_Spawn_Area>
                    </Fan_Spawn_Areas>
                <Hour>12</Hour>
                <Crowd_Ambience_Origin>crowd_common_dome_ambience_origin</Crowd_Ambience_Origin>
                <Capture_Throws>
                    <Capture_Throw>
                        <Throw_Navpoint>crowd_common_dome_capture_throw01</Throw_Navpoint>
                        </Capture_Throw>
                    </Capture_Throws>
                <Base_Melee_Annoyance_Refund>0</Base_Melee_Annoyance_Refund>
                <Base_Mover_Annoyance_Refund>0</Base_Mover_Annoyance_Refund>
                <Base_Melee_Cash>100</Base_Melee_Cash>
                <Base_Mover_Cash>750</Base_Mover_Cash>
                <Base_Weapon_Cash>250</Base_Weapon_Cash>
                <Critical_Objects>
                    <Critical_Object>
                        <Chunk_Name>sr2_chunk117</Chunk_Name>
                        <Object_Name>ATInt_metaldetector01</Object_Name>
                        <Visible_For_Activity>True</Visible_For_Activity>
                        </Critical_Object>
                    <Critical_Object>
                        <Chunk_Name>sr2_chunk117</Chunk_Name>
                        <Object_Name>ATInt_securitybelt01</Object_Name>
                        <Visible_For_Activity>True</Visible_For_Activity>
                        </Critical_Object>
                    <Critical_Object>
                        <Chunk_Name>sr2_chunk117</Chunk_Name>
                        <Object_Name>ATInt_phoneA64</Object_Name>
                        <Visible_For_Activity>True</Visible_For_Activity>
                        </Critical_Object>
                    <Critical_Object>
                        <Chunk_Name>sr2_chunk117</Chunk_Name>
                        <Object_Name>ATInt_Flatscreen_A13</Object_Name>
                        <Visible_For_Activity>True</Visible_For_Activity>
                        </Critical_Object>
                    <Critical_Object>
                        <Chunk_Name>sr2_chunk117</Chunk_Name>
                        <Object_Name>ATInt_mousepad_A13</Object_Name>
                        <Visible_For_Activity>True</Visible_For_Activity>
                        </Critical_Object>
                    <Critical_Object>
                        <Chunk_Name>sr2_chunk117</Chunk_Name>
                        <Object_Name>ATInt_computermouse_A13</Object_Name>
                        <Visible_For_Activity>True</Visible_For_Activity>
                        </Critical_Object>
                    <Critical_Object>
                        <Chunk_Name>sr2_chunk117</Chunk_Name>
                        <Object_Name>ATInt_phonehandA64</Object_Name>
                        <Visible_For_Activity>True</Visible_For_Activity>
                        </Critical_Object>
                    <Critical_Object>
                        <Chunk_Name>sr2_chunk117</Chunk_Name>
                        <Object_Name>ATInt_Keyboard18</Object_Name>
                        <Visible_For_Activity>True</Visible_For_Activity>
                        </Critical_Object>
                    <Critical_Object>
                        <Chunk_Name>sr2_chunk117</Chunk_Name>
                        <Object_Name>ATInt_Ticketcounter_B18</Object_Name>
                        <Visible_For_Activity>True</Visible_For_Activity>
                        </Critical_Object>
                    <Critical_Object>
                        <Chunk_Name>sr2_chunk117</Chunk_Name>
                        <Object_Name>ATInt_weigher_A07</Object_Name>
                        <Visible_For_Activity>True</Visible_For_Activity>
                        </Critical_Object>
                    <Critical_Object>
                        <Chunk_Name>sr2_chunk117</Chunk_Name>
                        <Object_Name>ChairOfficeRA07</Object_Name>
                        <Visible_For_Activity>True</Visible_For_Activity>
                        </Critical_Object>
                    <Critical_Object>
                        <Chunk_Name>sr2_chunk117</Chunk_Name>
                        <Object_Name>PosDummy13</Object_Name>
                        <Visible_For_Activity>True</Visible_For_Activity>
                        </Critical_Object>
                    <Critical_Object>
                        <Chunk_Name>sr2_chunk117</Chunk_Name>
                        <Object_Name>ChairOfficeLA07</Object_Name>
                        <Visible_For_Activity>True</Visible_For_Activity>
                        </Critical_Object>
                    <Critical_Object>
                        <Chunk_Name>sr2_chunk117</Chunk_Name>
                        <Object_Name>LightAlarmA01</Object_Name>
                        <Visible_For_Activity>True</Visible_For_Activity>
                        </Critical_Object>
                    <Critical_Object>
                        <Chunk_Name>sr2_chunk117</Chunk_Name>
                        <Object_Name>AlarmA01</Object_Name>
                        <Visible_For_Activity>True</Visible_For_Activity>
                        </Critical_Object>
                    <Critical_Object>
                        <Chunk_Name>sr2_chunk117</Chunk_Name>
                        <Object_Name>AlarmLightA01</Object_Name>
                        <Visible_For_Activity>True</Visible_For_Activity>
                        </Critical_Object>
                    <Critical_Object>
                        <Chunk_Name>sr2_chunk117</Chunk_Name>
                        <Object_Name>AlarmGlareB01</Object_Name>
                        <Visible_For_Activity>True</Visible_For_Activity>
                        </Critical_Object>
                    <Critical_Object>
                        <Chunk_Name>sr2_chunk117</Chunk_Name>
                        <Object_Name>AlarmLightB01</Object_Name>
                        <Visible_For_Activity>True</Visible_For_Activity>
                        </Critical_Object>
                    <Critical_Object>
                        <Chunk_Name>sr2_chunk117</Chunk_Name>
                        <Object_Name>AlarmGlareA01</Object_Name>
                        <Visible_For_Activity>True</Visible_For_Activity>
                        </Critical_Object>
                    <Critical_Object>
                        <Chunk_Name>sr2_chunk117</Chunk_Name>
                        <Object_Name>ATInt_Flatscreen_A14</Object_Name>
                        <Visible_For_Activity>True</Visible_For_Activity>
                        </Critical_Object>
                    <Critical_Object>
                        <Chunk_Name>sr2_chunk117</Chunk_Name>
                        <Object_Name>red_carpet01</Object_Name>
                        <Visible_For_Activity>True</Visible_For_Activity>
                        </Critical_Object>
                    <Critical_Object>
                        <Chunk_Name>sr2_chunk117</Chunk_Name>
                        <Object_Name>AlarmMMoverA01</Object_Name>
                        <Visible_For_Activity>True</Visible_For_Activity>
                        </Critical_Object>
                    <Critical_Object>
                        <Chunk_Name>sr2_chunk117</Chunk_Name>
                        <Object_Name>LightAlarmA02</Object_Name>
                        <Visible_For_Activity>True</Visible_For_Activity>
                        </Critical_Object>
                    <Critical_Object>
                        <Chunk_Name>sr2_chunk117</Chunk_Name>
                        <Object_Name>AlarmA02</Object_Name>
                        <Visible_For_Activity>True</Visible_For_Activity>
                        </Critical_Object>
                    <Critical_Object>
                        <Chunk_Name>sr2_chunk117</Chunk_Name>
                        <Object_Name>AlarmLightA02</Object_Name>
                        <Visible_For_Activity>True</Visible_For_Activity>
                        </Critical_Object>
                    <Critical_Object>
                        <Chunk_Name>sr2_chunk117</Chunk_Name>
                        <Object_Name>AlarmGlareB02</Object_Name>
                        <Visible_For_Activity>True</Visible_For_Activity>
                        </Critical_Object>
                    <Critical_Object>
                        <Chunk_Name>sr2_chunk117</Chunk_Name>
                        <Object_Name>AlarmLightB02</Object_Name>
                        <Visible_For_Activity>True</Visible_For_Activity>
                        </Critical_Object>
                    <Critical_Object>
                        <Chunk_Name>sr2_chunk117</Chunk_Name>
                        <Object_Name>AlarmGlareA02</Object_Name>
                        <Visible_For_Activity>True</Visible_For_Activity>
                        </Critical_Object>
                    <Critical_Object>
                        <Chunk_Name>sr2_chunk117</Chunk_Name>
                        <Object_Name>security_prox01</Object_Name>
                        <Visible_For_Activity>True</Visible_For_Activity>
                        </Critical_Object>
                    <Critical_Object>
                        <Chunk_Name>sr2_chunk117</Chunk_Name>
                        <Object_Name>security_col07</Object_Name>
                        <Visible_For_Activity>True</Visible_For_Activity>
                        </Critical_Object>
                    <Critical_Object>
                        <Chunk_Name>sr2_chunk117</Chunk_Name>
                        <Object_Name>security_col06</Object_Name>
                        <Visible_For_Activity>True</Visible_For_Activity>
                        </Critical_Object>
                    <Critical_Object>
                        <Chunk_Name>sr2_chunk117</Chunk_Name>
                        <Object_Name>security_col05</Object_Name>
                        <Visible_For_Activity>True</Visible_For_Activity>
                        </Critical_Object>
                    <Critical_Object>
                        <Chunk_Name>sr2_chunk117</Chunk_Name>
                        <Object_Name>security_prox02</Object_Name>
                        <Visible_For_Activity>True</Visible_For_Activity>
                        </Critical_Object>
                    <Critical_Object>
                        <Chunk_Name>sr2_chunk117</Chunk_Name>
                        <Object_Name>security_col03</Object_Name>
                        <Visible_For_Activity>True</Visible_For_Activity>
                        </Critical_Object>
                    <Critical_Object>
                        <Chunk_Name>sr2_chunk117</Chunk_Name>
                        <Object_Name>security_col04</Object_Name>
                        <Visible_For_Activity>True</Visible_For_Activity>
                        </Critical_Object>
                    <Critical_Object>
                        <Chunk_Name>sr2_chunk117</Chunk_Name>
                        <Object_Name>security_prox03</Object_Name>
                        <Visible_For_Activity>True</Visible_For_Activity>
                        </Critical_Object>
                    <Critical_Object>
                        <Chunk_Name>sr2_chunk117</Chunk_Name>
                        <Object_Name>security_col02</Object_Name>
                        <Visible_For_Activity>True</Visible_For_Activity>
                        </Critical_Object>
                    <Critical_Object>
                        <Chunk_Name>sr2_chunk117</Chunk_Name>
                        <Object_Name>security_col01</Object_Name>
                        <Visible_For_Activity>True</Visible_For_Activity>
                        </Critical_Object>
                    <Critical_Object>
                        <Chunk_Name>sr2_chunk117</Chunk_Name>
                        <Object_Name>ARGround04_ARc9_trafficbarAB05</Object_Name>
                        <Visible_For_Activity>True</Visible_For_Activity>
                        </Critical_Object>
                    <Critical_Object>
                        <Chunk_Name>sr2_chunk117</Chunk_Name>
                        <Object_Name>ARGround04_ARc9_trafficbarCB05</Object_Name>
                        <Visible_For_Activity>True</Visible_For_Activity>
                        </Critical_Object>
                    <Critical_Object>
                        <Chunk_Name>sr2_chunk117</Chunk_Name>
                        <Object_Name>ARGround04_ARc9_trafficbarHngBB05</Object_Name>
                        <Visible_For_Activity>True</Visible_For_Activity>
                        </Critical_Object>
                    <Critical_Object>
                        <Chunk_Name>sr2_chunk117</Chunk_Name>
                        <Object_Name>ARGround04_ARc9_trafficbarHngAB05</Object_Name>
                        <Visible_For_Activity>True</Visible_For_Activity>
                        </Critical_Object>
                    <Critical_Object>
                        <Chunk_Name>sr2_chunk117</Chunk_Name>
                        <Object_Name>ARGround04_ARc9_trafficbarBB05</Object_Name>
                        <Visible_For_Activity>True</Visible_For_Activity>
                        </Critical_Object>
                    <Critical_Object>
                        <Chunk_Name>sr2_chunk117</Chunk_Name>
                        <Object_Name>trafficBarrierLBB04</Object_Name>
                        <Visible_For_Activity>True</Visible_For_Activity>
                        </Critical_Object>
                    <Critical_Object>
                        <Chunk_Name>sr2_chunk117</Chunk_Name>
                        <Object_Name>trafficBarrierRBB04</Object_Name>
                        <Visible_For_Activity>True</Visible_For_Activity>
                        </Critical_Object>
                    <Critical_Object>
                        <Chunk_Name>sr2_chunk117</Chunk_Name>
                        <Object_Name>ARGround04_ARc9_trafficbarAB06</Object_Name>
                        <Visible_For_Activity>True</Visible_For_Activity>
                        </Critical_Object>
                    <Critical_Object>
                        <Chunk_Name>sr2_chunk117</Chunk_Name>
                        <Object_Name>ARGround04_ARc9_trafficbarCB06</Object_Name>
                        <Visible_For_Activity>True</Visible_For_Activity>
                        </Critical_Object>
                    <Critical_Object>
                        <Chunk_Name>sr2_chunk117</Chunk_Name>
                        <Object_Name>ARGround04_ARc9_trafficbarHngBB06</Object_Name>
                        <Visible_For_Activity>True</Visible_For_Activity>
                        </Critical_Object>
                    <Critical_Object>
                        <Chunk_Name>sr2_chunk117</Chunk_Name>
                        <Object_Name>ARGround04_ARc9_trafficbarHngAB06</Object_Name>
                        <Visible_For_Activity>True</Visible_For_Activity>
                        </Critical_Object>
                    <Critical_Object>
                        <Chunk_Name>sr2_chunk117</Chunk_Name>
                        <Object_Name>ARGround04_ARc9_trafficbarBB06</Object_Name>
                        <Visible_For_Activity>True</Visible_For_Activity>
                        </Critical_Object>
                    <Critical_Object>
                        <Chunk_Name>sr2_chunk117</Chunk_Name>
                        <Object_Name>trafficBarrierLBB05</Object_Name>
                        <Visible_For_Activity>True</Visible_For_Activity>
                        </Critical_Object>
                    <Critical_Object>
                        <Chunk_Name>sr2_chunk117</Chunk_Name>
                        <Object_Name>trafficBarrierRBB05</Object_Name>
                        <Visible_For_Activity>True</Visible_For_Activity>
                        </Critical_Object>
                    <Critical_Object>
                        <Chunk_Name>sr2_chunk117</Chunk_Name>
                        <Object_Name>ARGround04_ARc9_trafficbarAB07</Object_Name>
                        <Visible_For_Activity>True</Visible_For_Activity>
                        </Critical_Object>
                    <Critical_Object>
                        <Chunk_Name>sr2_chunk117</Chunk_Name>
                        <Object_Name>ARGround04_ARc9_trafficbarCB07</Object_Name>
                        <Visible_For_Activity>True</Visible_For_Activity>
                        </Critical_Object>
                    <Critical_Object>
                        <Chunk_Name>sr2_chunk117</Chunk_Name>
                        <Object_Name>ARGround04_ARc9_trafficbarHngBB07</Object_Name>
                        <Visible_For_Activity>True</Visible_For_Activity>
                        </Critical_Object>
                    <Critical_Object>
                        <Chunk_Name>sr2_chunk117</Chunk_Name>
                        <Object_Name>ARGround04_ARc9_trafficbarHngAB07</Object_Name>
                        <Visible_For_Activity>True</Visible_For_Activity>
                        </Critical_Object>
                    <Critical_Object>
                        <Chunk_Name>sr2_chunk117</Chunk_Name>
                        <Object_Name>ARGround04_ARc9_trafficbarBB07</Object_Name>
                        <Visible_For_Activity>True</Visible_For_Activity>
                        </Critical_Object>
                    <Critical_Object>
                        <Chunk_Name>sr2_chunk117</Chunk_Name>
                        <Object_Name>trafficBarrierLBB06</Object_Name>
                        <Visible_For_Activity>True</Visible_For_Activity>
                        </Critical_Object>
                    <Critical_Object>
                        <Chunk_Name>sr2_chunk117</Chunk_Name>
                        <Object_Name>trafficBarrierRBB06</Object_Name>
                        <Visible_For_Activity>True</Visible_For_Activity>
                        </Critical_Object>
                    <Critical_Object>
                        <Chunk_Name>sr2_chunk117</Chunk_Name>
                        <Object_Name>ARGround04_ARc9_trafficbarAB08</Object_Name>
                        <Visible_For_Activity>True</Visible_For_Activity>
                        </Critical_Object>
                    <Critical_Object>
                        <Chunk_Name>sr2_chunk117</Chunk_Name>
                        <Object_Name>ARGround04_ARc9_trafficbarCB08</Object_Name>
                        <Visible_For_Activity>True</Visible_For_Activity>
                        </Critical_Object>
                    <Critical_Object>
                        <Chunk_Name>sr2_chunk117</Chunk_Name>
                        <Object_Name>ARGround04_ARc9_trafficbarHngBB08</Object_Name>
                        <Visible_For_Activity>True</Visible_For_Activity>
                        </Critical_Object>
                    <Critical_Object>
                        <Chunk_Name>sr2_chunk117</Chunk_Name>
                        <Object_Name>ARGround04_ARc9_trafficbarHngAB08</Object_Name>
                        <Visible_For_Activity>True</Visible_For_Activity>
                        </Critical_Object>
                    <Critical_Object>
                        <Chunk_Name>sr2_chunk117</Chunk_Name>
                        <Object_Name>ARGround04_ARc9_trafficbarBB08</Object_Name>
                        <Visible_For_Activity>True</Visible_For_Activity>
                        </Critical_Object>
                    <Critical_Object>
                        <Chunk_Name>sr2_chunk117</Chunk_Name>
                        <Object_Name>trafficBarrierLBB07</Object_Name>
                        <Visible_For_Activity>True</Visible_For_Activity>
                        </Critical_Object>
                    <Critical_Object>
                        <Chunk_Name>sr2_chunk117</Chunk_Name>
                        <Object_Name>trafficBarrierRBB07</Object_Name>
                        <Visible_For_Activity>True</Visible_For_Activity>
                        </Critical_Object>
                    </Critical_Objects>
                <Leash_To_Celeb_Dist>50</Leash_To_Celeb_Dist>
                <Ally_Groups>
                    <Ally_Group>
                        <NPCs>
                            <NPC>
                                <Name>crowd_common_dome_ally_group1_cop1</Name>
                                </NPC>
                            <NPC>
                                <Name>crowd_common_dome_ally_group1_cop2</Name>
                                </NPC>
                            <NPC>
                                <Name>crowd_common_dome_ally_group1_cop3</Name>
                                </NPC>
                            </NPCs>
                        <Arrow_Location>crowd_common_dome_securitygroup_arrow</Arrow_Location>
                        <Type>Assault</Type>
                        <Beatdown_Reward>1000</Beatdown_Reward>
                        <Equipped_When_Idle>False</Equipped_When_Idle>
                        </Ally_Group>
                    </Ally_Groups>
                <Suck_Triggers>
                    <Suck_Trigger>
                        <Trigger_Name>crowd_common_dome_conveyor_suction_trigger</Trigger_Name>
                        <Points>
                            <Point>
                                <Navpoint>crowd_common_dome_conveyor_suction_trigger_point</Navpoint>
                                <Acceleration>100</Acceleration>
                                </Point>
                            </Points>
                        </Suck_Trigger>
                    </Suck_Triggers>
                <Special_Movers>
                    <Special_Mover>
                        <Mover_Prefix>ATInt_metaldetector01</Mover_Prefix>
                        <Type>Preserve<Preserve_Without_Capture></Preserve_Without_Capture>
                            </Type>
                        </Special_Mover>
                    <Special_Mover>
                        <Mover_Prefix>ATInt_securitybelt01</Mover_Prefix>
                        <Type>Preserve<Preserve_Without_Capture></Preserve_Without_Capture>
                            </Type>
                        </Special_Mover>
                    </Special_Movers>
                </Event>


In the capture triggers and capture throw sections are the values 750 and 1000. If you have played the activity
then you already know what these are, but if you haven't then:

*Possible Spoilers Ahead*

You get 750 points for throwing the crazed fans into certain objects like a treadmill or a car
and you get 1000 points for throwing one into a group of police or into the rotor blades of a
helicopter. There are also a couple of other values. You get 250 points for dispatching them with a weapon
or 100 points for using your hands. All of these values can be changed.

Note that in the code they are not called points they are referred to as cash. Also you need to change the
values on every level individually.

Unmodded Example:
Code:
<Capture_Triggers>
                    <Capture_Trigger>
                        <Trigger_Name>crowd_common_dome_swat_van_capture_trigger</Trigger_Name>
                        <Annoyance_Refund>0</Annoyance_Refund>
                        <Cash>750</Cash>
                        <Actions></Actions>
                        <Disable_Capture>False</Disable_Capture>
                        <Parent_Object>crowd_common_dome_capture01</Parent_Object>
                        <Arrow_Location>crowd_common_dome_paddywagon_arrow</Arrow_Location>
                        </Capture_Trigger>
                    <Capture_Trigger>
                        <Trigger_Name>crowd_common_dome_apc_capture_trigger</Trigger_Name>
                        <Annoyance_Refund>0</Annoyance_Refund>
                        <Cash>1000</Cash>
                        <Actions>
Modded
Code:
<Capture_Triggers>
                    <Capture_Trigger>
                        <Trigger_Name>crowd_common_dome_swat_van_capture_trigger</Trigger_Name>
                        <Annoyance_Refund>0</Annoyance_Refund>
                        <Cash>1500</Cash>
                        <Actions></Actions>
                        <Disable_Capture>False</Disable_Capture>
                        <Parent_Object>crowd_common_dome_capture01</Parent_Object>
                        <Arrow_Location>crowd_common_dome_paddywagon_arrow</Arrow_Location>
                        </Capture_Trigger>
                    <Capture_Trigger>
                        <Trigger_Name>crowd_common_dome_apc_capture_trigger</Trigger_Name>
                        <Annoyance_Refund>0</Annoyance_Refund>
                        <Cash>2000</Cash>
                        <Actions>

I recommend using the replace command here instead of searching each individual occurrence.

If you were feeling creative you might like to change the npcs defined in the Humans section of the
crowd_common.cts with some of your gang members or some of the rabid fans with people
like Jessica or Maero or Donnie, etc.. (Personally I'd love to throw Donnie off a roof but I digress...)
You could also change some of the vehicles as well. They are in the crowd_common.cts as well.

Note: If you change vehicles remember, some of them are activity specific.

I am including all of the crowd control files for you to study or use if you wish.

If you do choose to use this mod the only file you need is crowd_common.xtbl
Just drop it in your GOTR mods folder and recompile. Then drop compiled files
in your Saints Row 2 directory.

This mod will change the crowd control missions even if you have already finished
them. As far as I know it shouldn't mess with anything else in game, but as ever
if concerned start a new save.
Part 2: Changing Vehicles Within The Activity

Down in the Vehicles Section of crowd_common.cts
you will see some entries that look like this:

Code:
$Vehicle:        "crowd_common_$v001"
$Vehicle type:    "car_2dr_exoticsports01"
$Start nav:        "crowd_common_$v001"
$Group:            "crowd_common_fpcar_group"
$Stream Distance:            50.000
+Invulnerable
+ImmuneToFlatTires
+Locked

* Possible Spoiler Alert*

The car in question 'car_2dr_exoticsports01'
is part of the crowd control level that
takes place at the Saint's Row Foreign Power location.

During this mission you protect a celebrity while they
tour the parking lot greeting fans. While the activity
is in progress the lot is filled with expensive automobiles
all there for you to demolish.

This mission is the perfect place to try out vehicle substitution
code.

Note: There are plenty of vehicles in the activity levels that
shouldn't be touched as they are needed like the APC
or the Swat Van or the Helicopter, etc. My advice is don't
attempt to swap vehicles unless you have played the activity before
and know what should and should not be substituted.

So let's take one of those foreign cars and substitute it for an SUV.
An Alaskan I think.

All you need to do is pick a vehicle entry (like the above
example) and change the vehicle in quotes. in our case we'll change
"car_2dr_exoticsports01" to "suv_4dr_06" then recompile your code.

(-SeaboundSaint- has created a very handy guide that can help you
find the vehicle you want.) https://www.saintsrowmods.com/forum/threads/vehicle-internal-names.21232/

Code:
$Vehicle:        "crowd_common_$v001"
$Vehicle type:    "suv_4dr_06"
$Start nav:        "crowd_common_$v001"
$Group:            "crowd_common_fpcar_group"
$Stream Distance:            50.000
+Invulnerable
+ImmuneToFlatTires
+Locked

This will change the vehicle at this particular set of coordinates
to another vehicle. In this case an Alaskan. Unless you manually change
them the rest of the vehicles will remain the same.

For the sake of testing purposes I suggest changing several of the cars
to an Alaskan, that way you can be sure to see if the code works properly,
because just changing one car on the lot that we don't know
the location of may mean that in the heat of battle we might not see it.

The only down side to this is messing up a nice truck by throwing an idiot into it.
Part 3: Changing Activity Peds

Changing An NPC
===============

For this part we will trade the Pimp Dj at the Hapton for Shaundi.

In the crowd_common.cts search for pimp and find:

Code:
$Human:                    "crowd_common_hapton_pimp_dj"
$Char type:                "npc_pimp"
$Start nav:                "crowd_common_hapton_pimp_dj"
+Item:                    "pimpcane"
+Group:                    "crowd_common_hapton_group"

Just change it to:

Code:
$Human:                    "crowd_common_hapton_pimp_dj"
$Char type:                "npc_Shaundi"
$Start nav:                "crowd_common_hapton_pimp_dj"
+Item:                    "pimpcane"
+Group:                    "crowd_common_hapton_group"

Now let's change the cops at the Hapton:

Code:
$Human:                    "crowd_common_hapton_cop01"
$Char type:                "npc_bouncer"
$Start nav:                "crowd_common_hapton_cop01"
+Team:                    "Police"
+Group:                    "crowd_common_hapton_group"

$Human:                    "crowd_common_hapton_cop02"
$Char type:                "npc_bouncer"
$Start nav:                "crowd_common_hapton_cop02"
+Team:                    "Police"
+Group:                    "crowd_common_hapton_group"

change to:

Code:
$Human:                    "crowd_common_hapton_cop01"
$Char type:                "npc_gat"
$Start nav:                "crowd_common_hapton_cop01"
+Team:                    "Police"
+Group:                    "crowd_common_hapton_group"

$Human:                    "crowd_common_hapton_cop02"
$Char type:                "npc_pierce"
$Start nav:                "crowd_common_hapton_cop02"
+Team:                    "Police"
+Group:                    "crowd_common_hapton_group"

This sets them as Police for the mission, but they will
return to normal after.

You can also change the "crazed fans" but in doing so you change the crowd as well.
Here is a small piece of modded code. (The following changes need to be made in the
Crowd_HT.xtbl or the Crowd_SU.xtbl depending on which level you want to change.

Note: Each level within the Xtbl will have to be changed individually.

Code:
<Spawnable_Fan>
                        <Character_Preset>npc_Donnie</Character_Preset>
                        </Spawnable_Fan>
                    <Spawnable_Fan>
                        <Character_Preset>npc_Maero</Character_Preset>
                        </Spawnable_Fan>
                    </Spawnable_Fans>

Using this your whole crowd will be Donnie and Maero, not just the crazed fans.

Proof.png

Maero And Donnie.png
Crowd Weapons
To remove the crowd weapons
Just remove the proper lines from the code:

(original)
Code:
<Crowd_Jerk>
                                        <Annoyance>10</Annoyance>
                                        <Max_Annoyance>50</Max_Annoyance>
                                        <Lose_Interest_Delay>0.0</Lose_Interest_Delay>
                                        <Weapon>baseball_bat</Weapon>
                                        </Crowd_Jerk>

(modded)
Code:
<Crowd_Jerk>
                                        <Annoyance>10</Annoyance>
                                        <Max_Annoyance>50</Max_Annoyance>
                                        <Lose_Interest_Delay>0.0</Lose_Interest_Delay>
                                        </Crowd_Jerk>

To change weapons you just change the content of the line
IE:
<Weapon>m16</Weapon>
Adding More NPCs To The Crowd

There are only two NPCs that spawn. It just looks like more because you're not paying
close attention to the crowd, plus some of them spawn in their different outfits.

Here is the original spawnable fans info for the
Airport level: (From Crowd_HT.xtbl)

Code:
<Spawnable_Fans>
                    <Spawnable_Fan>
                        <Character_Preset>npc_young_male_generic</Character_Preset>
                        </Spawnable_Fan>
                    <Spawnable_Fan>
                        <Character_Preset>npc_young_female_generic</Character_Preset>
                        </Spawnable_Fan>
                    </Spawnable_Fans>

Here is the modded code: (I changed all of them to Saints so that I could see all the
different characters at a glance instead of having to study the crowd for too long.)

Code:
<Spawnable_Fans>
                    <Spawnable_Fan>
                        <Character_Preset>npc_Gat</Character_Preset>
                        </Spawnable_Fan>
                    <Spawnable_Fan>
                        <Character_Preset>npc_Shaundi</Character_Preset>
                        </Spawnable_Fan>
                                        <Spawnable_Fan>
                        <Character_Preset>npc_Pierce</Character_Preset>
                        </Spawnable_Fan>
                                        <Spawnable_Fan>
                        <Character_Preset>npc_Carlos</Character_Preset>
                        </Spawnable_Fan>
                                       </Spawnable_Fans>

Four seems to be the limit that will spawn right now. Testing if this can be
added to will require modding the crowd_common.cts file.

Note: Gat and Shaundi replaced the two NPCs originally in the mission
with Pierce and Carlos being added.

Five.png
amb_suburbs.cts contains the music file for
the Hapton Crowd Control Level.

The coordinates are in the Navpoints section
Code:
#========
#Navpoints
#========

$Navpoint:    "amb_suburbs_crowd_hapton_music"
$Type:        "floating"
$Pos:            <1004.052429 90.494102 -196.889145>
$Orient:        [0.681670]

The triggers are in the Ambient section

Code:
#========
#Ambients
#========

    $Ambient:    "amb_suburbs_crowd_hapton_music"
    $Navpoint:    "amb_suburbs_crowd_hapton_music"
    $Shape:    "Box"
        $Inner Dimensions:    <28 20 82.375000>
        $Outer Dimensions:    <60 60 100>
    $Inner Offset:    <0 0 0>
    $Attachment Type:    "Mission"
    $Mission:    "crowd_su"
    $Emitter:    "list_0"
        $Volume:    0.2750
        $Priority:    0.0000
        $Radio:    "95.4 KRhyme FM"
        $Min ToD:    0
        $Max ToD:    0
        $ToD Fade In:    0
        $ToD Fade Out:    0
    +Masked

The DJ's music during the Hapton Hotel level is controlled by the 'amb_suburbs.cts' file
(located in common.vpp_pc). It gives the location where the music "originates' from
as well as the distance that it can be heard. It also informs us that this will only happen
during this activity "mission" and it sets the volume as well as the sound source "95.4 KRhyme FM".

In order to change it we will have to know the name of another radio station. Just open the
Radio.xtbl and search for the name of the station that you want to use. IE '107.77 The Mix FM'

Note: If you have created your own radio station, you can use that one as well. Let's say I created
a radio station called 'City Sound' if I wanted to use that one I would just type it in.

Code:
$Ambient:    "amb_suburbs_crowd_hapton_music"
    $Navpoint:    "amb_suburbs_crowd_hapton_music"
    $Shape:    "Box"
        $Inner Dimensions:    <28 20 82.375000>
        $Outer Dimensions:    <60 60 100>
    $Inner Offset:    <0 0 0>
    $Attachment Type:    "Mission"
    $Mission:    "crowd_su"
    $Emitter:    "list_0"
        $Volume:    0.2750
        $Priority:    0.0000
        $Radio:    "107.77 The Mix FM"
        $Min ToD:    0
        $Max ToD:    0
        $ToD Fade In:    0
        $ToD Fade Out:    0
    +Masked
or
Code:
$Ambient:    "amb_suburbs_crowd_hapton_music"
    $Navpoint:    "amb_suburbs_crowd_hapton_music"
    $Shape:    "Box"
        $Inner Dimensions:    <28 20 82.375000>
        $Outer Dimensions:    <60 60 100>
    $Inner Offset:    <0 0 0>
    $Attachment Type:    "Mission"
    $Mission:    "crowd_su"
    $Emitter:    "list_0"
        $Volume:    0.2750
        $Priority:    0.0000
        $Radio:    "City Sound"
        $Min ToD:    0
        $Max ToD:    0
        $ToD Fade In:    0
        $ToD Fade Out:    0
    +Masked

Then just save your cts file. Drop in your mods folder and create your new patch.

For more info on creating your own radio station see Part 4 of:
Aisha in Crowd Control.png


)Original)
Code:
    <Activity>
        <Name>crowd_su</Name>
        <Max_Cash>5000</Max_Cash>
        <Max_Props>5000</Max_Props>
        <Levels>
            <Level>
                <Cash_Award>100</Cash_Award>
                <Props_Award>5000</Props_Award>
                <Vehicle_Start>crowd_ht_limo_start</Vehicle_Start>
                <Vehicle_Type>sp_limosuv01</Vehicle_Type>
                <Celeb_Type>athlete</Celeb_Type>
                <Event_Name>Ultor Dome</Event_Name>
                <Celebrities>
                    <Celebrity>
                        <Celeb_Persona>WM_COW</Celeb_Persona>
                        <Celeb_NPC_Type>npc_cowboy</Celeb_NPC_Type>
                        <Loop_Path>True</Loop_Path>
                        <Celeb_Variant>strong beard</Celeb_Variant>
                        </Celebrity>
                    </Celebrities>
(Modded)
Code:
        <Name>crowd_su</Name>
        <Max_Cash>5000</Max_Cash>
        <Max_Props>5000</Max_Props>
        <Levels>
            <Level>
                <Cash_Award>100</Cash_Award>
                <Props_Award>5000</Props_Award>
                <Vehicle_Start>crowd_ht_limo_start</Vehicle_Start>
                <Vehicle_Type>sp_limosuv01</Vehicle_Type>
                <Celeb_Type>athlete</Celeb_Type>
                <Event_Name>Ultor Dome</Event_Name>
                <Celebrities>
                    <Celebrity>
                        <Celeb_Persona>WM_COW</Celeb_Persona>
                        <Celeb_NPC_Type>npc_Aisha</Celeb_NPC_Type>
                        <Loop_Path>True</Loop_Path>
                        </Celebrity>
                    </Celebrities>
                <Crazed_Fan_Spawn_Levels>
                    <Crazed_Fan_Spawn_Level>
                        <Start>0</Start>

To change the celebrity to Aisha (and certain other NPCs) you need to edit a couple of files
First is the Crowd Control Xtbl file that contains the level that you want the change made in.

In the Crowd Control xtbl you need to change the boc info
between the <Celeb_NPC_Type></Celeb_NPC_Type> brackets.
In our example we changed the npc_cowboy to npc_Aisha.

The second change you need to make (only in certain cases) is the the _des file of the npc that
you want to use.

(Original)
Code:
<root>
  <Table>
    <Character>
        <Name>npc_Aisha</Name>
        <StreamCategory>Non Ambiently Spawnable</StreamCategory>
    </Character>
  </Table>

<TableDescription source="character_design_desc.xml">
</TableDescription>

</root>
(Modded)
Code:
<root>
  <Table>
    <Character>
        <Name>npc_Aisha</Name>
        <StreamCategory>Spawnable Civilian</StreamCategory>
    </Character>
  </Table>

<TableDescription source="character_design_desc.xml">
</TableDescription>

</root>

In certain cases the npc that you want to use may not spawn
so that's when you need to edit their _des file

You will just be changing one line:
<StreamCategory>Non Ambiently Spawnable</StreamCategory> needs to be changed to
<StreamCategory>Spawnable Civilian</StreamCategory>
that's it.

The thank you for this part of the tutorial goes to -SeaBoundSaint- who has been more than
generous in sharing knowledge and allowing me to quote that knowledge,

I am including the ameliorated files for study in the Aisha zip file
(Original)
Code:
<Eligible_Events>
                    <Eligible_Event>
                        <Event_Name>Ultor Dome</Event_Name>
                        <Disabled_In_Coop>False</Disabled_In_Coop>
                        </Eligible_Event>
                    <Eligible_Event>
                        <Event_Name>Hapton Rooftop</Event_Name>
                        <Disabled_In_Coop>False</Disabled_In_Coop>
                        </Eligible_Event>
                    <Eligible_Event>
                        <Event_Name>Graveyard</Event_Name>
                        <Disabled_In_Coop>False</Disabled_In_Coop>
                        </Eligible_Event>
                    <Eligible_Event>
(Modded)
Code:
<Eligible_Events>
                    <Eligible_Event>
                        <Event_Name>Ultor Dome</Event_Name>
                        <Disabled_In_Coop>False</Disabled_In_Coop>
                        </Eligible_Event>
                    <Eligible_Event>

To force a certain spawn location just remove the other locations from the list for that level.

Note:Each level needs to be changed separately.
 

Attachments

Last edited:
Nice overview! However, it would be better if you put the "section from Crowd Control" into a spoiler tag since it's huge (and since .xtbls are missing the tabs (indentation) that would make it easier to read?). You can do that using the three dots in the editor which has the spoiler icon - just highlight and then click that button:
1729873367242.png


Otherwise, keep it up! I like how you tell where to find related stuff regarding the activity as well.
 
New Sections added.

Removing and changing NPC weapons
Adding New NPCs to the crowd.

The More NPCs.zip (link in first post) is for study. It contains the added NPCs as well as removes the NPC weapons.
Also it changes the vehicle from 'The Boss' to the Status Quo in the Airport level.
 
Back
Top