Извлекает информацию из демки и из карты игры Need For Kill
В тестовой программе показан пример вывода статистики игроков:
Можно извлечь и сохранить карту .mapa
из демки:
var fileName = "demo.ndm";
var ndm = new nfklib.NDemo.NFKDemo();
var demo = ndm.Read(fileName);
// сохранить файл карты
ndm.Map.Write("mapfromdemo.mapa");
Можно создать свою карту, или изменить существующую:
var nmap = new NFKMap();
var map = nfkmap.NewMap(15, 8);
// следующий код заполнит бриками границу карты
for (int x = 0; x < map.Header.MapSizeX; x++)
for (int y = 0; y < map.Header.MapSizeY; y++)
if (x == 0 || x == map.Header.MapSizeX - 1 || y == 0 || y == map.Header.MapSizeY - 1)
map.Bricks[x][y] = 228;
// респавн в левом нижнем углу
map.Bricks[1][map.Header.MapSizeY - 2] = SimpleObject.Respawn();
// установим в правом нижнем углу портал, с телепортом в левый нижний угол
var obj = SpecialObject.Teleport
(
(short)(map.Header.MapSizeX - 2), // x
(short)(map.Header.MapSizeY - 2), // y
2, // goto x
(short)(map.Header.MapSizeY - 2) // goto y
);
map.Objects = new TMapObj[] { obj }; // добавить портал в массив объектов
nmap.Write("test.mapa");
Можно получить информацию из отдельной карты:
var fileName = "map.mapa";
var nmap = new NFKMap();
var map = nmap.Read();
// извлечь картинку палитры
map.Palette.Save("palette.png", ImageFormat.Png);
Показывает общую статистику по игрокам в конце игры
Заменяет палитру карты в файле демки или всю карту
Заменяет цвет луча рейлгана в файле демки у всех игроков (или у определенного игрока)
Конвертирует NFK карту в web формат карты для nfk-web
Дополнительная программа-пример, предоставляет REST WebAPI с единственным методом для загрузки демок, который возвращает статистику игроков и массив всех игровых действий в формате JSON.
Можно установить как службу Windows с параметром командной строки demowebapi.exe /install
, или удалить через demowebapi.exe /uninstall
.
Работает по адресу https://nfk.harpywar.com/demoparser