What Are Contracts?
Contracts are optional side tasks that players can accept from NPCs located around the map. These contracts add variety to house robberies by giving players specific objectives like breaking objects, stealing items, or littering. Contracts spawn randomly inside houses and reward players upon completion.Contracts are configured in
config/contracts.lua and provide an additional layer of gameplay beyond standard house robberies.Global Configuration
Basic Settings
Enable or disable the entire contracts system. When disabled, contract NPCs won’t spawn and contracts won’t appear in houses.
If
true, reward amounts are hidden in the contract acceptance dialog. Players won’t see the exact payout until they complete the contract.Required Items
Configure which items players need to complete different contract types:Item required to break objects. Use
"melee" to allow any melee weapon, a specific item name, or false for no requirement.Item required to steal objects. Set to a specific item name or
false for no requirement.Item required for littering contracts. Set to a specific item name or
false for no requirement.Item required to take pictures of completed contracts. Using
"x_burner" is recommended for immersion with the messaging system.Contract NPCs
NPCs are the characters players interact with to accept and turn in contracts. You can set up multiple npc coords which allows the npc to spawn randomly at one of the locations instead of always spawning in one spot.NPC Configuration
The ped model to use for the contract NPC. Example:
"g_m_y_korean_01"Position and heading where the NPC spawns
Scenario animation for the NPC (standing, sitting, etc.). Example:
"WORLD_HUMAN_STAND_IMPATIENT_UPRIGHT"Use this OR Animation, not both.Custom animation for the NPC with
Dict and Anim propertiesUse this OR Scenario, not both.You can use either
Scenario (simpler, just a scenario name) or Animation (more control with dict/anim), but not both at the same time.Dialog Configuration
Customize the text that appears when players interact with contract NPCs.Initial Dialog
The first message shown when approaching the NPC
Text for the accept button
Text for the decline button
Accepting Contracts
Message shown when viewing available contracts
Text for the accept contracts button
Text for the decline button
End Conversation
Final message after accepting contracts
Text for the goodbye button
Contract Types
There are three types of contracts, each with unique mechanics and configuration options.1. Steal Objects Contracts
Players must steal specific items from houses and return them to the NPC.Contract title shown in the UI
Contract description shown in the UI
Font Awesome icon for the contract. Example:
"fas fa-briefcase"Prop model that spawns in the house
Animation configuration with
Dict and Anim properties OR Scenario property (use one or the other)Seconds before the animation stops
If
true, player turns to face the prop before interactingOptional prop attached to player during animation with
Model, Bone, Offset, and RotationReward configuration including
Exp, Type (money/item), Item, Amount (min/max), and MetaData2. Break Objects Contracts
Players must break specific objects and take a picture as proof.Prop model for the intact object
Prop model that replaces the intact object after breaking
Sound effect when breaking:
"glass", "electronics", "thud", or false for no soundAnimation configuration for breaking the object including
Animation (with Dict and Anim) OR Scenario, DelayUntilCancelled, TurnToFaceProp, and optional AnimationPropAnimation configuration for taking the picture including
Animation (with Dict and Anim) OR Scenario, DelayUntilCancelled, TurnToFaceProp, and optional AnimationProp3. Littering Contracts
Players must pick up an object, scatter litter, and take a picture as proof.Prop model for the initial item to pick up
Prop model that spawns as scattered litter
Sound effect when littering:
"poop", "spill", "trash", or false for no soundAnimation for picking up the initial object (can use
Animation with Dict/Anim OR Scenario)Animation for scattering the litter (can use
Animation with Dict/Anim OR Scenario)Animation for taking the picture proof (can use
Animation with Dict/Anim OR Scenario)Reward Configuration
All contracts share the same reward structure:Experience points awarded upon completion (if using an XP system)
Type of reward:
"money" for direct cash or "item" for inventory itemsItem name if
Type = "item". Leave empty if Type = "money"Reward amount with
min and max values for randomizationIf
true, adds metadata to the reward item (used for marked money or item info)Animation Props
Animation props are optional attachments that appear on the player during animations, making interactions more immersive.Prop model to attach to the player
Bone ID where the prop attaches. Common bones:
57005- Head18905- Left hand60309- Right hand24817- Weapon slot
Position offset from the bone attachment point
Rotation angles for the prop in degrees
Remove the entire
AnimationProp table if you don’t want a prop to appear during the animation.Adding Contracts to Presets
Contracts are linked to house presets. In your preset configuration, specify which contracts can spawn:Complete Configuration Example
View Complete Contracts Configuration
View Complete Contracts Configuration
Tips for Creating Contracts
Balance Rewards
- Steal Objects: Higher rewards as they require carrying items out
- Break Objects: Medium-high rewards requiring breaking and photo proof
- Littering: Lower rewards as they’re simpler tasks
- Scale rewards based on contract difficulty and time investment
Choose Appropriate Props
- Check the GTA V Props Database for prop names
- Use recognizable models that fit the contract theme
- Ensure broken models clearly show damage
- Consider prop size for littering contracts (smaller = more realistic)
Animation Selection
- Match animations to the action (punching for breaking, bending for picking up)
- Keep
DelayUntilCancelledvalues reasonable (1-4 seconds) - Use scenarios for simple standing animations
- Test animations with different character models
"WORLD_HUMAN_STAND_MOBILE"- Standing with phone"WORLD_HUMAN_BINOCULARS"- Looking through binoculars"WORLD_HUMAN_GUARD_STAND"- Standing guard"WORLD_HUMAN_CLIPBOARD"- Writing on clipboard
["Animation"] = {Dict = "...", Anim = "..."} with ["Scenario"] = "SCENARIO_NAME"
Sound Effects
- Glass: Picture frames, windows, glass items
- Electronics: Phones, laptops, tablets, TVs
- Thud: Heavy objects, furniture
- Trash: Cans, garbage, paper
- Spill: Liquids, drinks
- Poop: Organic materials (use sparingly)
Required Items
- Set
"melee"for break contracts to encourage weapon use - Require a bag for steal contracts to create more immersion
- Use
"x_burner"for pictures to integrate with burner phone system - Set to
falseif you want contracts accessible to everyone
Dialog Text
- Keep initial dialog friendly and inviting
- Make confirmation buttons clear (“Accept” vs “Decline”)
- Provide instructions in the end conversation
- Consider your server’s roleplay style and lore
