# Quest Creator

## 📖 Presentation

**Mic Quest Creator** is an advanced, all-in-one content creation suite for FiveM servers. It empowers administrators and developers to build immersive storylines, complex missions, and dynamic events without writing a single line of code.

Using a state-of-the-art **Visual Node Editor**, you can drag, drop, and connect actions to create intricate flows. Whether it's a simple "Fetch" quest or a multi-stage heist with cutscenes and NPCs, Mic Quest Creator makes it possible.

***

### ✨ Key Features

#### 🎨 Visual Flow Editor

* **Drag & Drop Interface**: Intuitive design for building quest logic.
* **Real-time Connections**: Link nodes together to define the path of execution.
* **Multi-Selection**: Easily move, copy, and paste groups of nodes.
* **Zoom & Pan**: Navigate large and complex quest flows with ease.

#### 🗣️ Advanced Dialog System

* **Interactive NPCs**: Create realistic conversations with Pedestrians.
* **Branching Choices**: Offer players multiple responses that lead to different outcomes.
* **Conditions**: Lock dialog options behind requirements (e.g., *Requires Police Job*, *Requires $500*).
* **Cooldowns**: Control how often players can interact (Once, Daily, Weekly).

#### 🌍 World Management

* **Spawning**: Place Peds and Vehicles with precise control over models, colors, and loadouts.
* **Environment**: Change weather and time for the player to set the mood.
* **Buckets**: Isolate players in their own dimension for uninterrupted storytelling.

#### 💾 Persistence & Progress

* **Database Integration**: All progress is saved automatically.
* **Quest Logs**: Players can track their active and completed quests.

***

### 🧩 Available Nodes

Here is a complete list of the actions and logic blocks you can use:

#### 🎬 Start & End

* 🟢 **Start**: The entry point for every event or quest.
* 🏁 **End**: Marks the successful completion of a flow.
* 🔴 **Fail Quest**: immediately ends the quest with a failure message.

#### 👤 Peds & Interaction

* 👮 **Spawn Ped**: Spawns an NPC with specific behavior (Static/Hostile), weapons, and animations.
* 💀 **Kill Ped**: Waiting for the player to eliminate a specific target.
* 🦴 **Attach Prop**: Attaches an object to a Ped's bone (e.g., holding a coffee cup).
* ❌ **Detach Prop**: Removes an attached object.
* 🗣️ **Dialog**: Triggers a conversation block.

#### 🚗 Vehicles

* 🚘 **Spawn Vehicle**: Spawns a vehicle with custom colors and plates.
* 📍 **Teleport Vehicle**: Moves a vehicle to new coordinates.
* 🔧 **Vehicle State Check**: Checks if a vehicle is destroyed, or if the player is inside.
* 🗑️ **Delete Vehicle**: Removes a specific vehicle from the world.

#### 📦 Inventory & Economy

* ➕ **Give Item**: Adds an item to the player's inventory.
* ➖ **Remove Item**: Removes an item (useful for "Deliver" quests).
* 💰 **Give Money**: Adds Cash, Bank, or Black Money.
* 💸 **Remove Money**: Deducts money/payment from the player.
* 🎒 **Condition Item**: Checks if player has X amount of an item.
* 💵 **Condition Money**: Checks if player has X amount of money.

#### 📍 Location & Navigation

* 📍 **Teleport**: Moves the player to specific coordinates.
* 🗺️ **Mark GPS**: Sets a waypoint on the player's map.
* 🚧 **Stay in Area**: Ensures the player stays within a zone for X seconds.
* 🏃 **Leave Area**: Waits for the player to leave a specific zone.
* 🔘 **Interact Area**: Creates a marker the player must press 'E' on.
* 🔍 **Check Coords**: Verifies if the player is at a specific location.

#### ⚡ Actions & Effects

* 🔔 **Notification**: Sends a standard notification (Success, Error, Info).
* 🔊 **Play Sound**: Plays a frontend sound effect.
* 🎥 **Screen Effect**: Triggers visual filters (Nightvision, Thermal, etc.).
* ✨ **Particle FX**: Plays 3D particle effects in the world.
* 🎬 **Play Animation**: Forces the player to play an emote/animation.
* 🛑 **Stop Animation**: Stops the current animation.
* 🌌 **Set Bucket**: Moves player to a specific routing bucket (dimension).
* 🌤️ **Set Environment**: Changes client-side Weather and Time.

#### ⚙️ Logic & Utility

* 🎲 **Random Branch**: Splits the flow based on a percentage chance (e.g., 50/50).
* ⏳ **Wait**: Pauses the flow for X seconds.
* ⏱️ **Timer Objective**: Starts a countdown; fails if time runs out.
* 👮 **Has Job**: Checks the player's job and grade.
* 💻 **Execute Command**: Forces the player to execute a command (e.g., `/e dance`).
* 📡 **Send Webhook**: Sends a log to Discord (optional Screenshot).
* 🔧 **Trigger Event**: Triggers a client-side or server-side event.
