Skip to content

NeedForKillTheGame/nfklib

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

50 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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);

demostats

Показывает общую статистику по игрокам в конце игры

ndm_pal_replace

Заменяет палитру карты в файле демки или всю карту

ndm_rail_replace

Заменяет цвет луча рейлгана в файле демки у всех игроков (или у определенного игрока)

nmap2web

Конвертирует NFK карту в web формат карты для nfk-web

demowebapi

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

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

Работает по адресу https://nfk.harpywar.com/demoparser


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