329 lines
11 KiB
Markdown
329 lines
11 KiB
Markdown
# ![Editing profiles](./assets/img/headers/tutorials_profiles.png)
|
|
|
|
**Summary :**
|
|
|
|
* [Legend](#legend)
|
|
* [Requirements](#requirements)
|
|
* [Edit character level](#edit-character-level)
|
|
* [Edit skill level](#edit-skill-level)
|
|
* [Edit quest status](#edit-quest-status)
|
|
* [Edit hideout area status](#edit-hideout-area-status)
|
|
* [Edit traders loyalty level](#edit-traders-loyalty-level)
|
|
* [Add money to the stash](#add-money-to-the-stash)
|
|
|
|
## Legend
|
|
|
|
Expression | What | Example
|
|
------------|-----------------------------|--------
|
|
%server% | Server folder. | `C:\Games\SPT-AKI\Server\`
|
|
%profileID% | File containing a profile. | `C:\Games\SPT-AKI\Server\user\profiles\9dbfcbf0d3be487b9ac20cd8.json`
|
|
|
|
## Requirements & Notes
|
|
|
|
* [VSCodium](https://github.com/VSCodium/vscodium/releases/download/1.51.1/VSCodiumSetup-x64-1.49.1.exe)
|
|
|
|
Before doing any changes, the game and the server need to be closed. It's also recommended to create a backup of the profile you're about to edit. For this, heads to `%server%\user\%profileID%` and create a copy of the profile.
|
|
|
|
## Edit character level
|
|
|
|
* Open the wanted character profile with VSCodium (`%server%\user\%profileId%`).
|
|
* Search for the line with the property `Experience`.
|
|
* Go to [this](https://escapefromtarkov.gamepedia.com/Character_skills) EFT Wiki page and copy the `Cumulative Total` value of desired level.
|
|
* Paste the value instead of the existing one.
|
|
* Save the file.
|
|
|
|
On the next server startup the character will be at the desired level.
|
|
|
|
**Example:**
|
|
|
|
* Before:
|
|
|
|
```json
|
|
[...]
|
|
"characters": {
|
|
"pmc": {
|
|
"_id": "pmc9dbfcbf0d3be487b9ac20cd8",
|
|
"aid": "9dbfcbf0d3be487b9ac20cd8",
|
|
"savage": "scav9dbfcbf0d3be487b9ac20cd8",
|
|
"Info": {
|
|
"Nickname": "Atomos",
|
|
"LowerNickname": "atomos",
|
|
"Side": "Bear",
|
|
"Voice": "Bear_3",
|
|
"Level": 1,
|
|
"Experience": 27, // <== What needs to be edited.
|
|
"RegistrationDate": 1605806909,
|
|
"GameVersion": "standard",
|
|
[...]
|
|
```
|
|
|
|
* After:
|
|
|
|
```json
|
|
[...]
|
|
"characters": {
|
|
"pmc": {
|
|
"_id": "pmc9dbfcbf0d3be487b9ac20cd8",
|
|
"aid": "9dbfcbf0d3be487b9ac20cd8",
|
|
"savage": "scav9dbfcbf0d3be487b9ac20cd8",
|
|
"Info": {
|
|
"Nickname": "Atomos",
|
|
"LowerNickname": "atomos",
|
|
"Side": "Bear",
|
|
"Voice": "Bear_3",
|
|
"Level": 1,
|
|
"Experience": 781760, // To reach level 30.
|
|
"RegistrationDate": 1605806909,
|
|
"GameVersion": "standard",
|
|
[...]
|
|
```
|
|
|
|
> **Understanding why :** A character's level, in Escape From Tarkov, is not tied to the `"Level"` property. Instead, it's derived from the amount of experience it has. As such, a character with `781760` experience points will be level 30.
|
|
|
|
## Edit skill level
|
|
|
|
* Open the wanted character profile with VSCodium (`%server%\user\%profileId%`).
|
|
* Search for the line with the property `Skills`.
|
|
* *You should now have a long list of all the character skills:*
|
|
|
|
```json
|
|
"Common": [
|
|
{
|
|
"Id": "BotReload",
|
|
"Progress": 0,
|
|
"PointsEarnedDuringSession": 0,
|
|
"LastAccess": -2147483648
|
|
},
|
|
{
|
|
"Id": "Endurance",
|
|
"Progress": 0,
|
|
"PointsEarnedDuringSession": 0,
|
|
"LastAccess": 0
|
|
},
|
|
{
|
|
"Id": "Strength",
|
|
"Progress": 0,
|
|
"PointsEarnedDuringSession": 0,
|
|
"LastAccess": 0
|
|
},
|
|
|
|
[...]
|
|
```
|
|
|
|
* Edit the `Progress` property value of any wanted skill except for `BotReload`.
|
|
* Save the file.
|
|
|
|
On the next server startup the character's skills will be at the desired level.
|
|
|
|
Skill properties details :
|
|
|
|
Property | Purpose
|
|
----------------------------|---------
|
|
`Id` | Name of the skill.
|
|
`Progress` | Number of points learned for this skill.
|
|
`PointsEarnedDuringSession` | How many points were acquired during the last session.
|
|
`LastAccess` | Last time a point was earned for this skill *(it's a timestamp)*.
|
|
|
|
> Each level correspond to 100 points.
|
|
>
|
|
> * Level 1 : `100`.
|
|
> * Level 10 : `1000`.
|
|
> * Level 15 : `1500`.
|
|
> * Level 51 : `5100`.
|
|
|
|
For `Strengh` to reach level 51, you need to write `5100` for the skill's `Progress` property.
|
|
|
|
```json
|
|
{
|
|
"Id": "Strength",
|
|
"Progress": 5100,
|
|
"PointsEarnedDuringSession": 0,
|
|
"LastAccess": 0
|
|
},
|
|
```
|
|
|
|
## Edit quest status
|
|
|
|
Well, in this part you will learn how to change your quest status, that means, make it finished without having done the requirements for it (you mainly need to do this when a specific quest is bugged).
|
|
|
|
For doing this heads to `ServerFolder/user/profiles/accountID/character.json` and search for this in the file : **"Quests":**.
|
|
|
|
You're going to face something like this when found :
|
|
|
|
```json
|
|
"Quests": [
|
|
{
|
|
"qid": "5936d90786f7742b1420ba5b",
|
|
"startTime": 0,
|
|
"completedConditions": [],
|
|
"statusTimers": {
|
|
"1": 1585993679.6069999
|
|
},
|
|
"status": "AvailableForStart"
|
|
},
|
|
{
|
|
"qid": "5936da9e86f7742d65037edf",
|
|
"startTime": 0,
|
|
"completedConditions": ["59a9269486f7747aab09a77c"],
|
|
"statusTimers": {},
|
|
"status": "Locked"
|
|
},
|
|
```
|
|
|
|
Let me explain you these :
|
|
|
|
* **"qid"**
|
|
* This is the quest ID wich will give you the name of the quest.
|
|
* **"startTime"**
|
|
* This is the timestamp when you started the quest.
|
|
* **"CompletedConditions"**
|
|
* This is where the requirements for completing the quests are stored. These are ID's.
|
|
* **"statusTimers"**
|
|
* This is the timestamp since when the quest is available.
|
|
* **"status"**
|
|
* This define the status of the quest, decide if it's locked, completed, not started etc.
|
|
|
|
*How do i find the correct quest ID for the quest i look for ?* You can find all quests ID here : [Quest list](/docs/resources/quests_resources).
|
|
|
|
I think you guessed what we are gonna change ~~or maybe you didn't~~ wich is kinda self explanatory. This is **"status"** part.
|
|
|
|
Here are all available status for quests :
|
|
|
|
* Locked
|
|
* AvailableForStart
|
|
* Started
|
|
* AvailableForFinish
|
|
* Success
|
|
* Fail
|
|
* FailRestartable
|
|
* MarkedAsFailed
|
|
|
|
So, if you want to finish the quest you will need to change the status to : **"AvailableForFinish"**, but if you want to re-do a quest you already did, you will need to change the status to : **"AvailableForStart"**.
|
|
|
|
Don't forget to save your changes !
|
|
|
|
## Edit hideout area status
|
|
|
|
Well, in this part you will learn how to change anything related to the hideout areas, that means, make it max level without having done the requirements for it.
|
|
|
|
For doing this heads to `ServerFolder/user/profiles/accountID/character.json` and search for this in the file : **"Hideout":**.
|
|
|
|
When found, you will see something like this, don't be scared ! :
|
|
|
|
```json
|
|
"Production": {},
|
|
"Areas": [
|
|
{
|
|
"type": 3,
|
|
"level": 4,
|
|
"active": true,
|
|
"passiveBonusesEnabled": true,
|
|
"completeTime": 0,
|
|
"constructing": false,
|
|
"slots": []
|
|
},
|
|
|
|
[...]
|
|
```
|
|
|
|
Let's explain what all this mean :
|
|
|
|
* **"Production":**
|
|
* This is the list of all current productions in your hideout, scav cases, crafting meds etc...
|
|
* **"Areas":**
|
|
* This is the list of all area of the hideout.
|
|
* **"type":**
|
|
* This is the area ID for each specific thing in the hideout like *Scav case*, *Christmas tree*, *Stash*, *Workbench* etc...
|
|
* **"level":**
|
|
* This is the level of the selected area.
|
|
* **"active":**
|
|
* It define if the actual area is active or not.
|
|
* **"passiveBonusesEnabled":**
|
|
* This define if the bonuses that the area should apply to the player are active or not.
|
|
* **"completeTime":**
|
|
* The timestamp of when the constructions should be completed.
|
|
* **"constructing":**
|
|
* Define if the area is actually under construction or not.
|
|
* **"slots":**
|
|
* This list all objects stored by the area, mainly used for generators and bitcoin farm.
|
|
|
|
The two things that are important for us is : **"type":** and **"level":**. **Type** for knowning wich area we are editing and **Level** for setting it's level. You can find all area types and their max level here : [Hideout Areas list](/docs/resources/locations_resources)
|
|
|
|
The only thing you will have to do is changing the level to the max level number for selected area type and save your changes ! After that you can start your server and check your hideout !
|
|
|
|
## Editing traders
|
|
|
|
Well, in this part you will learn how to change your quest status, that means, make it finished without having done the requirements for it (you mainly need to do this when a specific quest is bugged)..
|
|
|
|
For doing this heads to `ServerFolder/user/profiles/accountID/character.json` and search for this in the file : **"TraderStandings":**.
|
|
|
|
You're going to face something like this when found :
|
|
|
|
```json
|
|
"54cb50c76803fa8b248b4571": {
|
|
"currentLevel": 1,
|
|
"currentSalesSum": 368974,
|
|
"currentStanding": 0.2,
|
|
"NextLoyalty": null,
|
|
"loyaltyLevels": {
|
|
"0": {
|
|
"minLevel": 1,
|
|
"minSalesSum": 0,
|
|
"minStanding": 0
|
|
},
|
|
"1": {
|
|
"minLevel": 15,
|
|
"minSalesSum": 1000000,
|
|
"minStanding": 0.2
|
|
},
|
|
"2": {
|
|
"minLevel": 22,
|
|
"minSalesSum": 1500000,
|
|
"minStanding": 0.35
|
|
},
|
|
"3": {
|
|
"minLevel": 33,
|
|
"minSalesSum": 2300000,
|
|
"minStanding": 0.5
|
|
}
|
|
}
|
|
},
|
|
|
|
[...]
|
|
```
|
|
|
|
Time to explain you everything !
|
|
|
|
* **"54cb50c76803fa8b248b4571":**
|
|
* That's the trader ID.
|
|
* **"currentLevel":**
|
|
* This is the current the trader is (yes it's kinda self explanatory).
|
|
* **"currentSalesSum":**
|
|
* This is the total money you got for selling and buying to the trader.
|
|
* **"currentStanding":**
|
|
* This is the total Standing points you got from quests for the trader.
|
|
* **"NextLoyalty":**
|
|
* Don't pay attention to this.
|
|
* **"loyaltyLevels":**
|
|
* This is all the Loyalty levels for the trader and their requirements.
|
|
|
|
So, for making all traders at their max loyalty level, we are going to take values from the Loyalty Level list, and take the last number values, and you will replace :
|
|
|
|
* **currentStanding** value by **minStanding** value.
|
|
* **currentSalesSum** value by **minSalesSum** value.
|
|
* Set **currentLevel** to **4**.
|
|
|
|
Only last thing is to save the changes ! And you're done, the trader is LL4 now. You can find the list of all traders ID here : [Traders ID List](/docs/resources/other_resources).
|
|
|
|
## Adding money to your character
|
|
|
|
In this part, we are going to add some cash in your inventory. For doing this we are going to make edits in the following file : `ServerFolder/user/profiles/accountID/character.json`.
|
|
|
|
First of all, make a stack of rouble, with a defined number, for an easier way, put it at **25666**, you now have a 25.666 stack of any money you choosed (can be lower number too, just make it a obvious number like 666 or 222 etc...). Now close the game **and** the server.
|
|
|
|
Open the file with VSCodium or Notepad++ and find the following line : **"StackObjectsCount": 25666** (for our exemple, but change the number with the stack you made).
|
|
|
|
This line is defining how much money the stack contain, and this is this line we are going to change. Now change the number **25666* by any number, like **99999999**. This will give you 99.999.999 $/€/Roubles
|
|
|
|
Save your changes and start the server, you now have a stack of 99.999.999 money !
|