# From Creative

This guide helps you migrate your server from the Creative Framework to NOVA.

## Quick Comparison

| Creative                                                    | NOVA                         |
| ----------------------------------------------------------- | ---------------------------- |
| `exports['creative_api']:GetPlayerMoney(source)`            | `player:GetMoney()`          |
| `exports['creative_api']:AddPlayerMoney(source, amount)`    | `player:AddMoney(amount)`    |
| `exports['creative_api']:RemovePlayerMoney(source, amount)` | `player:RemoveMoney(amount)` |
| `exports['creative_api']:GetPlayerJob(source)`              | `player:GetJob()`            |
| `exports['creative_api']:SetPlayerJob(source, job, grade)`  | `player:SetJob(job, grade)`  |

## Step-by-Step

### 1. Replace Creative Exports

```lua
-- Creative
local money = exports['creative_api']:GetPlayerMoney(source)
exports['creative_api']:AddPlayerMoney(source, 500)

-- NOVA
local player = Nova.Functions.GetPlayer(source)
local money = player:GetMoney()
player:AddMoney(500)
```

### 2. Player Data

```lua
-- Creative
local job = exports['creative_api']:GetPlayerJob(source)
local group = exports['creative_api']:GetPlayerGroup(source)

-- NOVA
local player = Nova.Functions.GetPlayer(source)
local job = player:GetJob()
local group = player:GetGroup()
```

### 3. Events

```lua
-- Creative
AddEventHandler('creative:playerLoaded', function(source)
    -- player loaded
end)

-- NOVA
AddEventHandler('Nova:PlayerLoaded', function(source, player)
    -- player loaded with full player object
end)
```

## Using nova\_bridge

Set `Config.Framework = 'creative'` for automatic compatibility:

```cfg
ensure nova_core
ensure nova_bridge  # Creative compatibility
ensure your_creative_script
```

## Benefits of Migrating

* **Better Performance**: O(1) permission cache, optimized queries
* **Modular Design**: Clean module system with dependency resolution
* **Multi-Language**: Built-in PT/EN support
* **Modern API**: OOP player objects with method chaining
* **Security**: Auth-gated exports prevent unauthorized access
