About this script
🎯 cS-Hitman | Player Contract System
Turn your city into a hunting ground. cS-Hitman adds a fully immersive contract-killing loop to your server — a shady NPC broker, a real player as the target, a countdown, and a head you have to bring back as proof.
🗣️ Custom NPC Dialog
- Fully custom NUI conversation — no ox_lib menus, no boring text boxes
- Cinematic over-the-shoulder camera on the NPC while talking
- Typewriter text with clickable choices (mouse or number keys)
- Branching conversation — every line and answer is editable in the config
- Live required items check shown directly inside the dialog
💀 The Contract
- The broker takes your payment items and picks a random online player as your target
- 35 minutes to plan and execute (configurable)
- After 20 minutes the target's area is marked on the map with a moving radius blip
- The target gets a "someone paid for your head" warning HUD with a countdown
- Kill must be done with an allowed weapon (60+ weapons configurable, or allow anything)
- Take the head from the body with an animated progress bar — only within a time window after the kill
- Deliver the head back to the broker to collect the payout
- Police targets pay a bonus 👮
- Fail = penalty — a % of the hitman's bank account is taken
- Cooldown per player, stored persistently (survives restarts)
- Full contract history saved to JSON
🛡️ Anti-Exploit
- Server-side kill validation — killer and weapon are verified by the server, not the client
- Atomic contract start — items, cooldown and player count are checked in one server call. No way to trigger a contract without paying
- Every head carries a unique contract ID in its metadata — old heads can't be reused
- Rate limiting on every server event
- Distance checks on head pickup and delivery
⚙️ Compatibility
| Framework | ESX, QBCore |
| Inventory | ox_inventory, qb-inventory |
| Target | ox_target, qb-target |
| Progress bar | ox_lib, qb progressbar, esx_progressbar, none |
| Notifications | ESX, QBCore, ox_lib, okokNotify, custom |
All framework calls live in cl_edit.lua / sv_edit.lua — open source, escrow-ignored. Swap anything in minutes.
🌍 Languages
English • Croatian • German — fully translated locale files, add your own in seconds.
⚡ Performance
- Event-driven, no per-frame loops while idle
- One server loop for all active contracts — shuts itself down when there are none
- Target position syncs only when the target actually moves
- Blips and target zones are created on demand and cleaned up automatically
🔧 Admin Commands
/hitmanmark [id]— mark the target immediately/hitmanstatus— list all active contracts/hitmanreset [id]— reset a player's cooldown / cancel their contract
📦 Requirements
- ESX or QBCore
- ox_inventory or qb-inventory
- ox_target or qb-target
- OneSync
💬 Support
Discord: discord.gg/cscripts — setup help, updates and future features.
Editable: config.lua, cl_edit.lua, sv_edit.lua, locales/ — everything else is escrow-protected.
