> For the complete documentation index, see [llms.txt](https://sl-scritps.gitbook.io/sl-scripts-documentation/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://sl-scritps.gitbook.io/sl-scripts-documentation/products/sl-civic-pulse.md).

# SL Civic Pulse

## SL Civic Pulse

**Code:** Current Package\
**Resource:** `sl_civic_pulse`\
**Version:** Current Release\
**Category:** Civic RP / City Life / Public Activity System\
**Status:** Stable

**Structured tools for serious roleplay servers.**

***

### Overview

SL Civic Pulse is a civic activity and public zone awareness system for FiveM roleplay servers.

It helps servers make public areas feel more alive by giving players, staff and communities a clearer sense of what is happening around the city.

The resource is designed for civic roleplay, public activity zones, ambient city information, event awareness and social interaction around shared spaces.

***

### What is this script for?

SL Civic Pulse gives servers a way to represent the “pulse” of the city.

It is useful for:

* Public activity zones
* City-life roleplay
* Civic events
* Social gathering points
* Public announcements
* Staff-created activity areas
* Ambient prompts
* City ambience
* Business/event visibility
* Community activity awareness
* Areas that should feel active or important

The main goal is:

```txt
A city zone has activity → players notice the pulse → roleplay gathers around that area
```

***

### Roleplay Experience

SL Civic Pulse is designed around a simple IC idea:

```txt
The city feels alive.
Some areas are more active than others.
Players can notice public activity and respond to it.
```

Instead of relying only on Discord announcements or staff messages, the server can use in-world civic signals to guide players toward active areas.

Examples:

```txt
The plaza feels active today.
A public area has increased movement.
A civic event is happening nearby.
A business district has more activity than usual.
A staff-created public scene is marked as active.
```

This helps players find roleplay without forcing them into a specific action.

***

### Player IC Usage

For players, SL Civic Pulse should feel like noticing what is happening in the city.

The player does not need to understand the technical setup. The normal roleplay flow is:

```txt
Enter public area → notice civic activity → decide how to react → join or continue RP
```

Common player IC uses:

* Discover active public zones
* Notice city events
* Find social gathering points
* React to ambient prompts
* Visit active businesses or public areas
* Use civic information to guide movement
* Feel that the city has changing activity

Example IC lines:

```txt
“The plaza looks busier than usual.”
“There seems to be something happening downtown.”
“This area feels active tonight.”
“Let’s check what’s going on there.”
```

The system should support natural RP discovery, not force players to participate.

***

### Player / IC Flow

#### 1. The player enters or approaches a civic zone

A civic zone may represent:

* Plaza
* Park
* City hall
* Market
* Business district
* Event area
* Social meeting point
* Public service location
* Community activity zone

The player moves near or inside the configured area.

***

#### 2. The player notices activity

Depending on configuration, the player may see:

```txt
ambient prompt
zone status
public activity hint
map blip
textUI prompt
small notification
```

Example:

```txt
The area feels more active than usual.
```

***

#### 3. The player reacts naturally

The player can choose what to do.

Examples:

* Walk toward the activity
* Meet other players there
* Ask what is happening
* Join a public event
* Visit a business
* Ignore the signal and continue RP

The system provides context, but the player keeps freedom.

***

#### 4. The area supports social roleplay

The zone becomes a natural gathering point.

Example:

```txt
Players notice activity in a plaza.
Some walk over to investigate.
A small public scene begins.
```

***

### Civic / Citizen IC Usage

From an IC perspective, players can treat Civic Pulse as public awareness of city life.

Common IC interpretations:

* Word-of-mouth activity
* Public city buzz
* Visible crowd movement
* Event ambience
* Community notice
* Public space activity
* City service information

Example IC lines:

```txt
“I heard people are gathering near the park.”
“The city center has been busy today.”
“There is some kind of public activity happening.”
```

This makes the city feel more connected without needing every event to be manually explained.

***

### Staff / Event IC Usage

For staff, event teams or community managers, SL Civic Pulse can help guide players toward public activity.

Common staff/event IC uses:

* Mark a plaza as active
* Highlight an event zone
* Create public ambience before an event
* Encourage players to gather naturally
* Support city hall events
* Support business openings
* Add context to civic scenes
* Create temporary activity signals

Example staff flow:

```txt
Choose public area → activate civic pulse → players notice activity → event begins
```

Example event scenario:

```txt
Staff prepares a public community meeting.
The city hall area is marked as active.
Players passing nearby notice increased activity.
They gather naturally before the meeting starts.
```

***

### Admin / Owner IC Usage

For admins and owners, SL Civic Pulse can be used as a worldbuilding tool.

Common admin/owner IC uses:

* Make the city feel more alive
* Create recurring active zones
* Guide players toward social areas
* Support public RP without teleporting players
* Highlight server events
* Give businesses/public areas more visibility
* Create ambient city feedback
* Keep players aware of civic activity
* Reduce empty-feeling public spaces

Example admin/owner flow:

```txt
Select key public areas → configure civic zones → test prompts/blips → open for players
```

Example owner use:

```txt
The server owner wants the main plaza to feel like a central social hub.
They configure it as a civic zone with subtle activity prompts.
Players start using the area more naturally.
```

***

### Admin / Owner Technical Flow

Admins and owners should configure zones, permissions and display behavior before public use.

Common admin actions may include:

* Create civic zones
* Configure zone names
* Configure activity levels
* Configure blips
* Configure ambient prompts
* Configure visibility distance
* Configure temporary activity
* Configure persistent activity
* Configure staff-only controls
* Configure cooldowns
* Configure cleanup/expiry
* Test player visibility
* Test restart behavior

Recommended admin checks:

```txt
1. Confirm the resource starts correctly.
2. Configure one test civic zone.
3. Enter the zone as a normal player.
4. Confirm the prompt/status appears.
5. Test blip behavior if enabled.
6. Test activity level changes.
7. Test temporary activity expiry if enabled.
8. Restart the resource.
9. Confirm configured zones still work.
10. Check server console and F8.
```

***

### Example IC Scenarios

#### Public plaza activity

A central plaza becomes more active during the evening.

```txt
“The plaza feels more alive than usual.”
```

#### City hall event

Staff activates Civic Pulse near city hall before a public meeting.

```txt
“People seem to be gathering near city hall.”
```

#### Business district

A business area is marked as active during opening hours.

```txt
“There is more movement around the shops today.”
```

#### Park gathering

Players notice activity at a park and go there to socialize.

```txt
“Let’s check the park. Something is happening there.”
```

#### Staff-created public scene

Staff creates a temporary civic pulse around an event area.

```txt
“The area has a noticeable public presence.”
```

***

### What this resource is not

SL Civic Pulse is not intended to be a full dispatch system, police alert system or mission tracker.

It is focused on:

```txt
public activity awareness
civic zones
ambient prompts
city-life context
social gathering support
public roleplay visibility
```

It should guide roleplay gently, not force players into scripted outcomes.

***

### Main Features

* Civic activity zone system
* Public zone awareness
* Ambient prompts
* Activity status behavior depending on configuration
* Optional blip support
* Temporary activity signals when configured
* Persistent public zones when configured
* Staff/admin activity controls
* Social gathering support
* Public event support
* Configurable zone labels
* Configurable visibility behavior
* Configurable permissions
* Command fallback when enabled
* Clean SL Scripts style
* Designed for city-life RP and serious roleplay servers

***

### Dependencies

#### Required

```txt
FiveM server
```

#### Recommended / Optional

```txt
ox_lib
ox_target
qb-target
oxmysql
QBCore
Qbox
ESX
Standalone mode
```

The exact dependency setup depends on server configuration.

If persistence is enabled, database support may be required.

If target interaction is enabled, make sure your target resource starts before `sl_civic_pulse`.

***

### Installation Notes

1. Place the resource folder inside your server resources folder.

Example:

```txt
resources/[sl_scripts]/sl_civic_pulse
```

2. Make sure the folder name is:

```txt
sl_civic_pulse
```

3. Configure:

```txt
config.lua
custom.lua
locales/
```

4. If SQL is included and database mode is enabled, import:

```txt
sql/install.sql
```

or use automatic migrations if supported by your build.

5. Add the resource to your `server.cfg`.

Example:

```cfg
ensure oxmysql
ensure ox_lib
ensure ox_target

ensure sl_civic_pulse
```

If you are not using database, target or framework integrations, configure fallback behavior in `config.lua`.

***

### Civic Zone Setup

Civic zones define where public activity can appear.

A zone may include:

```txt
label
coords
radius
activity level
prompt text
blip settings
visibility distance
expiry time
permission rules
display behavior
```

Recommended starting setup:

```txt
Start with 2 or 3 public zones.
Test them with normal players.
Adjust prompts and blips.
Add more zones after the base flow feels natural.
```

Good starter zones:

```txt
city hall
main plaza
park
business district
event area
public market
```

***

### Activity Levels

Depending on configuration, zones may have different activity states.

Example states:

```txt
quiet
normal
active
busy
event
```

Example usage:

```txt
quiet  = no special activity
normal = regular civic presence
active = players should notice something happening
busy   = stronger public presence
event  = staff/admin activity or public event
```

The exact names and behavior depend on `config.lua`.

***

### Blips and Map Visibility

SL Civic Pulse may use blips depending on configuration.

Recommended blip behavior:

```txt
Use clean blips.
Avoid showing large debug radius markers to normal players.
Use radius/markers only for admin or debug if needed.
```

Blips can help guide players to active areas, but too many blips may make the map feel cluttered.

Recommended:

```txt
Keep public blips simple and limited.
```

***

### How to Use

#### Basic Player Flow

1. The player moves near a civic zone.
2. The player notices an activity prompt or map indication.
3. The player decides whether to investigate.
4. The player joins, observes or continues RP.
5. The zone remains active or expires depending on configuration.

#### Basic Staff Flow

1. Staff chooses a public area.
2. Staff activates or configures the civic pulse.
3. Players notice the activity.
4. Staff uses the zone to support an event or gathering.
5. Staff disables or lets the activity expire when finished.

#### Basic Admin Flow

1. Admin configures civic zones.
2. Admin tests visibility and prompts.
3. Admin configures blips and permissions.
4. Admin tests persistence/expiry.
5. Admin opens the system for players.

#### IC Summary

```txt
City area becomes active → players notice → roleplay gathers naturally
```

#### OOC / Technical Summary

```txt
Zone configured → player enters radius → client receives activity context → prompt/blip/status displays → activity updates or expires
```

***

### Commands

Command names may depend on configuration.

Common command examples:

```txt
/civicpulse
/pulse
/sl_civic
/sl_civic_pulse
```

Possible admin command examples:

```txt
/sl_civic_admin
/pulseadmin
/civiccleanup
```

Check `config.lua` for the exact command names used by your installed version.

Commands are useful for fallback access, staff activity control and admin testing.

***

### Permissions

Permission setup depends on server configuration.

Common permission levels may include:

```txt
view
use
manage
staff
admin
owner
```

Recommended access logic:

```txt
Players = view public civic activity
Staff = activate temporary public activity if allowed
Admins = create/manage zones and cleanup
Owners = full access
```

Permissions may use:

* Ace permissions
* Framework groups
* Jobs
* Job grades
* Config admin list
* Custom permission bridge

Recommended:

```txt
Normal players should usually view activity.
Zone creation and global activity changes should be staff/admin only.
```

***

### Usage Guidelines

#### Good uses

```txt
public events
community meetings
business openings
market activity
city hall scenes
park gatherings
social RP hotspots
staff-created ambience
```

#### Avoid

```txt
spamming too many active zones
using huge map markers everywhere
forcing players into events
using civic prompts as police alerts
using activity zones to reveal hidden OOC information
creating misleading prompts with no RP behind them
```

Civic Pulse should create atmosphere and direction, not pressure.

***

### Configuration

Open:

```txt
config.lua
```

Common settings may include:

```txt
Product information
Locale
Debug mode
Startup logs
Framework mode
Target mode
Notify mode
Command settings
Zone settings
Activity levels
Prompt settings
Blip settings
Visibility distance
Expiry settings
Permissions
Admin controls
Database settings
Cleanup settings
```

Recommended for production:

```lua
Config.Debug = false
```

Use debug mode only while testing or troubleshooting.

***

### Custom Integrations

Open:

```txt
custom.lua
```

Use this file for server-specific functions such as:

* Custom notifications
* Custom permission checks
* Custom framework integration
* Custom job checks
* Custom admin checks
* Custom logging
* Custom zone restrictions
* Custom activity rules

If your server uses standard systems, you may not need many changes here.

***

### Startup Logs

When the resource starts correctly, you may see logs similar to:

```txt
[sl_civic_pulse][INFO] Server ready: SL Civic Pulse
[sl_civic_pulse][INFO] Client ready: SL Civic Pulse
```

If startup logs are disabled, check `config.lua`.

***

### Best Practices

#### Keep prompts subtle

Civic Pulse should feel like city ambience.

Recommended:

```txt
Use short text.
Avoid loud notifications.
Use subtle activity hints.
```

Good example:

```txt
The area feels more active than usual.
```

***

#### Use zones with purpose

Every active zone should have a reason.

Recommended:

```txt
Create zones where players naturally gather.
Use active states during real events or social scenes.
Disable temporary activity after the scene ends.
```

***

#### Avoid map clutter

Too many blips can make the map confusing.

Recommended:

```txt
Use only important civic blips.
Keep debug radius markers hidden from normal players.
Use admin/debug visuals only while testing.
```

***

#### Use it to support, not replace RP

Civic Pulse should help players find RP. It should not replace actual roleplay.

Recommended:

```txt
Use civic activity to guide players toward scenes.
Let players decide how to respond.
```

***

### Troubleshooting

#### Civic activity does not appear

Check:

```txt
- The resource is started.
- The zone exists in config.lua or database.
- You are inside the configured radius.
- Activity is enabled for that zone.
- Visibility distance is configured correctly.
- F8 console has no errors.
```

***

#### Blip does not show

Check:

```txt
- Blips are enabled in config.lua.
- The zone has blip settings.
- The player has permission to see the blip if restricted.
- The blip is not set to hidden/debug only.
- Client F8 console has no blip errors.
```

***

#### Too many blips appear

Check:

```txt
- Public blip settings.
- Debug mode.
- Admin-only marker settings.
- Number of active zones.
- Temporary activity cleanup.
```

Recommended:

```txt
Disable debug markers for production.
Limit public blips to important locations.
```

***

#### Activity does not expire

Check:

```txt
- Expiry system is enabled.
- The activity has an expiration time.
- Cleanup settings are enabled.
- Database time format is valid if persistence is used.
- Server console has no SQL errors.
```

***

#### Players cannot see prompts

Check:

```txt
- Prompt display is enabled.
- Player is inside the zone radius.
- Prompt cooldown is not blocking display.
- Notify/textUI bridge is configured.
- Visibility/job/permission restrictions are not hiding it.
```

***

#### Normal players can manage zones

Check:

```txt
- Admin permissions are configured correctly.
- Framework group detection is working.
- Ace permissions are not too broad.
- custom.lua permission bridge is not returning true for everyone.
```

***

#### SQL errors

Check:

```txt
- oxmysql is started.
- Database connection is working.
- sql/install.sql was imported if required.
- Automatic migrations completed successfully if enabled.
- Server console has no duplicate column/key errors.
```

***

#### Activity feels too intrusive

Check:

```txt
- Notification style.
- Prompt frequency.
- Text length.
- Blip count.
- Radius size.
- Activity level settings.
```

Recommended:

```txt
Use smaller prompts, longer cooldowns and fewer public blips.
```

***

### Version Notes

#### Current Release

* Civic zone and public activity awareness workflow.
* Supports public activity prompts and city-life context depending on configuration.
* Designed to help players discover active areas naturally.
* Focused on subtle city ambience and public RP support.

***

### Support

When asking for support, include:

```txt
Product: SL Civic Pulse
Resource name: sl_civic_pulse
Version:
Framework:
Target system:
Database:
Issue:
Steps to reproduce:
Zone name:
Server console error:
Client F8 error:
Screenshot/video:
```

Example:

```txt
Product: SL Civic Pulse
Resource name: sl_civic_pulse
Version: Current Release
Framework: Qbox
Target system: ox_target
Database: oxmysql
Issue: Civic zone exists but no prompt appears
Steps to reproduce: Go to configured city hall zone and wait inside radius
Zone name: City Hall
Server console error: none
Client F8 error: attached
Screenshot/video: attached
```

***

### Final Notes

SL Civic Pulse works best as a subtle city-life support system.

For best results, use it to highlight meaningful public areas, guide players toward social roleplay and keep city activity readable without overwhelming the map or forcing participation.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://sl-scritps.gitbook.io/sl-scripts-documentation/products/sl-civic-pulse.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
