# 🚧 UNEXIS Community Service Framework (QBCore + QBox)
Modern, reliable community service for QBCore | QBox built around configurable “activities” with animations, scenarios, and props. Officers sentence players to tasks; players work at guided worksites with clear prompts, optional skill checks, and stable world markers.
## ✨ Highlights
- 🧰 Task-driven service with activity catalog (`animationlist.lua`)
- 🎭 Animations, props, or native scenarios (e.g., `WORLD_HUMAN_CONST_DRILL`, `WORLD_HUMAN_WELDING`)
- 🎯 Optional ox_lib skillcheck before each task (configurable sequence/difficulty)
- 🎯 Stable checkpoint ring marker that follows the active worksite and hides during work
- 🗺️ Map blip routing to worksites
- 🛡️ Multiple police jobs with rank gating
- 🔔 No locale files; direct, clean notifications
- 💾 Database persistence using `oxmysql`
- 🔗 Discord webhooks (no images) for sentence/complete/end events
- ♻️ Legacy command compatibility (`/comserv`, `/endcomserv`)
## 🧭 Player Flow
1) 👮 Officer assigns tasks via `/comserv`.
2) 🗺️ Player travels to a worksite via the map blip/route.
3) 🔘 At the site, hold near the ring; press `E` to start.
4) 🎯 Marker hides while working. If `SkillCheck.enabled`, an ox_lib skillcheck (A,S,D,W) gates the task.
- ❌ On fail: animation/scenario stops; marker reappears; retry.
- ✅ On success: progress bar runs for the activity’s `workTime`.
5) 🔁 On completion, the ring moves to the next task.
6) 🏁 Finish all tasks to complete service; optional auto-return is configurable.
## 🧩 Requirements
- QBCore | QBox framework
- ox_lib
VIDEO : https://youtu.be/Z-NA2FtjZQI