.NET Library helps read NFK map and demo
C#
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
demowebapi
nfklib
packages
test
.gitattributes
.gitignore
LICENSE-MIT
Packages.dgml
README.md
nfklib.sln

README.md

NFK Helper Library

Извлекает информацию из демки и из карты игры 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);

demowebapi

Дополнительная программа-пример, предоставляет REST WebAPI с единственным методом для загрузки демок, который возвращает статистику игроков в формате JSON.

Можно установить как службу Windows с параметром командной строки demowebapi.exe /install, или удалить через demowebapi.exe /uninstall.

Работает по адресу http://servers.needforkill.com:8080


Разбор формата NFKDEMO