# Installation

## 1. Log in to your keymaster account

Connect via this site: <https://keymaster.fivem.net/> with your CFX account to which your purchase was made on the store <https://www.var-fivem.com/>

## 2. Download resource

<figure><img src="https://4276650587-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FVpsT0CEZ6FFjUJ4WIhHY%2Fuploads%2F9VLJQrER0vR95r1E5YVB%2Fimage.png?alt=media&#x26;token=a96d3707-655a-41ce-901a-016a4e1feb5d" alt=""><figcaption><p>Go to the Granted Assets category and download the most recent version of the Creator </p></figcaption></figure>

## 3. Edit the scripts to align with the standard core resources

{% tabs %}
{% tab title="ESX" %}

## @esx\_skin &#x20;

If you not using multicharacter and using esx\_skin you need change this

* Open **@esx\_skin/client/main.lua**
* Replace `TriggerEvent("skinchanger:loadSkin", { sex = 0 }, OpenSaveableMenu)` with `TriggerEvent('Creator:Init')`

## @esx\_identity&#x20;

* Perform the same modification in **@esx\_identity/server/main.lua**
* Locate the lines `TriggerClientEvent("esx_identity:showRegisterIdentity", xPlayer.source)`  and replace it with `TriggerClientEvent('Creator:Init', xPlayer.source)`&#x20;

## @esx\_multicharacter

*<mark style="color:green;">If you using multicharacter you need to change only this</mark>*

1. Open **@esx\_multicharacter/client/main.lua**
2. Search `esx:playerLoaded` event and replace it with the code below
3. Search all trigger `TriggerEvent("esx_identity:showRegisterIdentity")`
4. Replace it by `TriggerEvent("Creator:Init")`

```lua
RegisterNetEvent('esx:playerLoaded')
AddEventHandler('esx:playerLoaded', function(playerData, isNew, skin)
	local spawn = playerData.coords or Config.Spawn
	if isNew or not skin or #skin == 1 then
		skin = Config.Default[playerData.sex]
		skin.sex = playerData.sex == "m" and 0 or 1
		local model = skin.sex == 0 and mp_m_freemode_01 or mp_f_freemode_01
		RequestModel(model)
		while not HasModelLoaded(model) do
			RequestModel(model)
			Wait(0)
		end
		SetPlayerModel(PlayerId(), model)
		ResetEntityAlpha(PlayerPedId())
		SetModelAsNoLongerNeeded(model)
		TriggerEvent('skinchanger:loadSkin', skin, function()
			ResetEntityAlpha(PlayerPedId())
			SetPedAoBlobRendering(PlayerPedId(), true)
			TriggerEvent("Creator:Init")
		end)
	end
	if not isNew then
		DoScreenFadeOut(100)
	end
	SetCamActive(cam, false)
	RenderScriptCams(false, false, 0, true, true)
	cam = nil
	SetEntityCoordsNoOffset(PlayerPedId(), spawn.x, spawn.y, spawn.z, false, false, false, true)
	SetEntityHeading(PlayerPedId(), spawn.heading)
	if not isNew then 
		TriggerEvent('skinchanger:loadSkin', skin or Characters[spawned].skin) 
		Wait(400)
		DoScreenFadeIn(400)
		repeat Wait(200) until not IsScreenFadedOut()
	end
	TriggerServerEvent('esx:onPlayerSpawn')
	TriggerEvent('esx:onPlayerSpawn')
	TriggerEvent('playerSpawned')
	TriggerEvent('esx:restoreLoadout')
	Characters, hidePlayers = {}, false
end)
```

{% endtab %}

{% tab title="QB-Core" %}

## @qb-multicharacter

If you using qb-multicharacter you need change this

1. Open **@qb-multicharacter/client/main.lua**
2. Add this `NuiCallback` with the other

```lua
-- NUI Callbacks

RegisterNUICallback('Creator:SendToInit', function(data, cb)
    DeleteEntity(charPed)
    SetNuiFocus(false, false)
    DoScreenFadeOut(500)
    TriggerServerEvent('qb-multicharacter:server:createCharacter', data)
    Wait(500)
    TriggerServerEvent('QBCore:Server:OnPlayerLoaded')
    TriggerEvent('QBCore:Client:OnPlayerLoaded')
    Wait(500)
    SetNuiFocus(false, false)
    ShutdownLoadingScreenNui()
    SetEntityVisible(PlayerPedId(), true)
    Wait(500)
    DoScreenFadeIn(250)
    TriggerEvent('qb-weathersync:client:EnableSync')
    TriggerEvent("Creator:Init", data.cid)

    cb("ok")
end)
```

3. Open **@qb-multicharacter/server/main.lua**
4. **Edit** `qb-multicharacter:server:createCharacter` event by

```lua
RegisterNetEvent('qb-multicharacter:server:createCharacter', function(data)
    local src = source
    local newData = {}
    newData.cid = data.cid
    newData.charinfo = data
    if QBCore.Player.Login(src, false, newData) then
        repeat
            Wait(10)
        until hasDonePreloading[src]
        if GetResourceState('qb-apartments') == 'started' and Apartments.Starting then
            local randbucket = (GetPlayerPed(src) .. math.random(1,999))
            SetPlayerRoutingBucket(src, randbucket)
            print('^2[qb-core]^7 '..GetPlayerName(src)..' has successfully loaded!')
            QBCore.Commands.Refresh(src)
            loadHouseData(src)
            TriggerClientEvent("qb-multicharacter:client:closeNUI", src)
            TriggerClientEvent('apartments:client:setupSpawnUI', src, newData)
            GiveStarterItems(src)
        else
            print('^2[qb-core]^7 '..GetPlayerName(src)..' has successfully loaded!')
            QBCore.Commands.Refresh(src)
            loadHouseData(src)
            TriggerClientEvent("qb-multicharacter:client:closeNUIdefault", src)
            QBCore.Player.DeleteCharacter(src, QBCore.Functions.GetPlayer(src).PlayerData.citizenid)
            GiveStarterItems(src)
        end
    end
end)
```

3. Open **@qb-multicharacter/html/index.html**
4. At line **333**, remove this code and replace it with the code below:

```javascript
this.registerData.firstname = undefined
this.registerData.lastname = undefined
this.registerData.nationality = undefined
this.registerData.gender = undefined
this.registerData.date = (new Date(Date.now() - (new Date()).getTimezoneOffset() * 60000)).toISOString().substr(0, 10)

this.show.characters = false
this.show.register = true
```

```javascript
axios.post('https://qb-multicharacter/Creator:SendToInit', { cid: this.selectedCharacter });

this.show.characters = false
```

## @qb-apartaments

* If you have qb-apartments, open the configuration file of this script and set the following

```lua
Apartments.Starting = false
```

{% endtab %}
{% endtabs %}

## 4. Launch your resource

Once the download is complete, unzip the file and drag it into the resources folder of your server.

{% hint style="warning" %}
If you added the resource while your server was already running, remember to do the refresh command and then ensure the resource.
{% endhint %}

```powershell
refresh
```

```
ensure Var-Creator
```

{% hint style="danger" %}
If you have any problem with your player's skin replace your skinchanger if you are on esx with this one
{% endhint %}

{% file src="<https://4276650587-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FVpsT0CEZ6FFjUJ4WIhHY%2Fuploads%2FHX5Wmx8Ziq8lb7LjRImN%2Fskinchanger.zip?alt=media&token=45270ced-9db6-4ef0-8879-aa0feeb93764>" %}
