FL (Файл персонажа)
🔐
FL (Файл персонажа)

🔭 .fl - Формат файла символов Freelancer

Freelancer хранит файлы персонажей в стандартном формате ini. Они могут быть зашифрованы или в виде обычного текста. Freelancer читает оба формата.

⚡ .fl - Алгоритм шифрования

Первые четыре байта зашифрованного файла — это FLS1. Алгоритм шифрования показан здесь:

private static byte[] gene = { (byte)'G', (byte)'e', (byte)'n', (byte)'e' }; byte[] decrypt(byte[] buf) {

 if (buf.Length >= 4 && buf[0] == 'F' && buf[1] == 'L' && buf[2] == 'S' && buf[3] == '1')
 {
   byte[] dbuf = new byte[buf.Length - 4];
   for (int i = 4; i < buf.Length; i++)
   {
     int k = (gene[i % 4] + (i - 4)) % 256;
     dbuf[i - 4] = (byte)(buf[i] ^ (k | 0x80));
   }
   return dbuf;
 }
 return buf;
}

🔭 [Player]

[Player] 
tstamp = INTEGER, INTEGER 
house = FLOAT, NICKNAME 
visit = HASHCODE, INTEGER
Параметр Информация
visit Первый параметр — хеш-код объекта. Второй параметр — битовое поле:

0x01 bit 0 - показать объект на навигационной карте без описания
0x02 bit 1 - показать объект на навигационной карте и показать внутреннее описание
0x04 bit 2
0x08 bit 3
0x10 bit 0 - если объект разрушен, то он был разграблен
0x02 bit 1 - показать объект на навигационной карте и показать внешнее описание
0x04 bit 2 - показать торговую информацию, если база
0x08 bit 3 - никогда не показывать объект на навигационной карте

⚡ [mPlayer]

[mPlayer] 
locked_gate = HASHCODE 
ship_type_killed = HASHCODE 
sys_visited = HASHCODE 
base_visited = HASHCODE 
holes_visited = HASHCODE 
vnpc = HASHCODE, HASHCODE 
total_cash_earned = INTEGER 
total_time_played = FLOAT 
rumor = INTEGER
Параметр Информация
locked_gate Хеш-код прыжкового портала. Стыковка с этим порталом запрещена.
ship_type_killed Хеш-код корабля. Используется для отображения количества посещенных кораблей на экране статистики игрока в игре.
sys_visited Хеш-код системы. Используется для отображения количества посещенных систем на экране статистики игрока в игре.
base_visited Хеш-код базы. Используется для отображения количества посещенных баз на экране статистики игрока в игре.
holes_visited Хеш-код прыжкового отверстия. Используется для отображения количества посещенных прыжковых отверстий на экране статистики игрока в игре.
vnpc Хеш-код персонажа NPC, хеш-код базы/комнаты. Используется для указания, разговаривал ли игрок с конкретным персонажем NPC на базе.
total_cash_earned Не используется. Всегда равен нулю.
total_time_played Время в секундах, в течение которого этот персонаж был онлайн.
rumor Номер IDS из записи о слухе в mBases.ini. Запись в этой строке указывает, что этот игрок просматривал слух.