# Installation

## 1. Installation des Scripts

1. Script aus dem Keymaster herunterladen.
2. Das Script auf den Server ziehen.
3. Das Script in der server.cfg eintragen.
4. Die SQL in der Datenbank einfügen.
5. [Den 2. Schritt der gesamten Installation durchführen(Integration).](#2.-integration-in-die-scripts)
6. Den Server neu starten.

## 2. Integration in die Scripts

Manche Missionen erfordern, dass die entsprechenden Scripts angepasst werden, wie zum Beispiel: "Hebe 10.000 ab" - hierfür muss das Banking-Script angepasst werden. Andere Missionen, wie zum Beispiel "Fahre 10 km", werden automatisch von unserem System verarbeitet. Eine Anleitung zur Bearbeitung der jeweiligen Skripte findest du hier:

### Zusatz:

Du kannst in der Config bei einer Mission finishOnEvent in die table einfügen(Beispiel: "Beginnen einen Ladenraub") sodass die Mission abgeschlossen wird, wenn das gewählte Event getriggert wird. Das ist hilfreich bei verschlüsselten Scripts.

Beispiel:

```lua
    {
        label = "Beginnen einen Ladenraub",
        finishOnEvent = 'esx_holdup:currentlyRobbing', --[[<< esx_holdup event 
                                                        wenn du ein Laden ausraubst]]
        name = "startRobbery"
    },
```

### Wie man eine Mission als abgeschlossen abhaken kann via Script

```lua
TriggerEvent("rs_missions:finishMission", "rentVehicle", source) --[[rentVehicle muss 
    durch den entsprechenden Missions-Namen ersetzt werden]]
```

**Es ist ganz wichtig zu erwähnen, das das ganze Server-Seitig geschehen muss!**

### Wo finde ich Missions-Namen?

In der config.lua kannst du die verschiedenen Missions-Namen sehen, hier ein Beispiel:

```lua
Config.Missions = {
    {
        label = "Leihe dir ein Fahrzeug bei unserem Fahrzeug verleih",
        name = "rentVehicle", --<< Das ist der Missions name
        reward = {
            type = "item",
            amount = 1,
            name = "bread"
        }
    },
}
```

### Beispiel der Integration

In diesem Beispiel gucken wir uns [**esx\_banking**](https://github.com/esx-framework/esx_banking) an, um die Mission "Zahle dir Geld aus"("withdrawMoney") abzuschließen.

Dafür gehen wir in die Server scripts, in diesem Beispiel: "[server](https://github.com/esx-framework/esx_banking/tree/main/server)/[main.lua](https://github.com/esx-framework/esx_banking/blob/main/server/main.lua)", da suchen wir jetzt nach einem Event/ einer Funktion, bei der das Geld ausgezahlt wird. Das ist jetzt [Zeile 193 mit der Funktion "Withdraw"](https://github.com/esx-framework/esx_banking/blob/main/server/main.lua#L193) in diesem Beispiel. Da müssen wir jetzt einfach unser Event reinpacken

Vorher:

```
Withdraw = function(amount, xPlayer)
    xPlayer.addAccountMoney('money', amount)
    xPlayer.removeAccountMoney('bank', amount)
end,
```

Nachher(bearbeitet mit unserem Event)

```
Withdraw = function(amount, xPlayer)
    xPlayer.addAccountMoney('money', amount)
    xPlayer.removeAccountMoney('bank', amount)
    
    TriggerEvent("rs_missions:finishMission", "withdrawMoney", xPlayer.source)
end,
```
