# Intro

Looking to push your players' social experience one step forward? \
Give them the opportunity to express themselves via time-limited video sharing!

{% embed url="<https://www.youtube.com/watch?v=Sa3z25PAUr8>" %}
Promotional Video
{% endembed %}

#### About CS-STORIES

**The resource is using** [**Asset Escrow**](https://forum.cfx.re/t/introducing-asset-escrow-for-your-resources/4777151) **system.**\
**Your server needs to be in an artifacts version that supports it.**

The resource comes with an **extensive configuration**, events, exports and **some client / server source files** to allow you to customize it to your liking.

It is a **standalone resource** and **works with any framework** and **can be hooked to any Lua NUI-based phone given you can develop the hook for it**.&#x20;

Out of the box we provide you hooks for **gcphone, qb-phone, high-phone and qs-smartphone** which cover those phones and also mainstream versions that are based on them like **gksphone** and **xenknight**. The **hooks** can be adjusted to your liking for element or style changes. **There may be more available hooks shared** [**in our Discord**](https://criticalscripts.shop/discord) by our community. **You may also find some more public hooks** [**here**](https://github.com/criticalscripts-shop/extra-hac/tree/main/cs-stories)**.**

*If you are a phone developer and a hook covers your phone but you don't want it to, or if you want us to make a hook that does cover your phone, please* [*contact us*](https://criticalscripts.shop/contact-us)*.*

The stories are shown temporarily (default 24 hours) in the stories feed. This value can be changed in the configuration alongside with how long to keep the stories in storage (default 24 hours). The default maximum length of a story is 30 seconds (which results in \~5MB per maximum-length story video excluding the thumbnail). This value can be changed in the configuration and there is also a configurable rate limit in place to ensure your server does not run out of storage.

If you want to post the stories from the game to your Discord server for moderation and or logging purposes, you can [download here](https://d.criticalscripts.shop/z/cs-stories-dw.zip) the companion resource **cs-stories-dw** to do so. Check its ***config.js*** for more information and make sure to use it in accordance with Discord's webhook policies.

A hosting server is included that is **mandatory**, with **yarn** resource required as a dependency. The hosting server stores the stories' videos, thumbnails and some metadata, therefore it imposes **network, bandwidth and storage requirements** as well as **requiring an extra TCP port to be open**. Besides the integrated solution, the hosting server is also offered as an external **node.js** application to be hosted in the same or in a different machine **allowing you to offset the network, bandwidth or and storage requirements**.

If your phone is of **fx\_version** *"cerulean",* then you will have to route the stories' hosting server via **HTTPS**. You can do this by using a domain and Cloudflare. Alternatively, you can change the **fx\_version** of your phone to *"bodacious".*

#### FEATURES

* Short and temporary video stories featuring uploader in-game location and uploader in-game name.
* Ability to self-delete uploaded stories and integration for authorized players to delete anyone's stories.
* Simplistic stories feed with full mouse and keyboard navigation support.
* Ability to switch between the back and the front camera.
* Dynamic adjustment to center properly in various resolutions.
* Plug-and-play integration with phones that we offer out-of-the-box hooks for.
* Color filters (grayscale, sepia, invert, saturate, etc.).
* Image filters with real-time player ped face-tracking (dog, cat, etc.).
* Optimized for a balance between quality and performance.
* An experimental camera mode that allows the player to move while recording a story.
* A wide array of events and exports to check and control the resource.


---

# Agent Instructions: 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:

```
GET https://fivem-docs.gitbook.io/critical-scripts/cs-stories/intro.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
