Перейти к публикации
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...
  • Нужна помощь?

    Создайте тему в соответствующем разделе
    Не нужно писать всё в чат!
  • Загляните на торговую площадку

    Там вы можете купить
    всё что касается игровых серверов
  • Не хотите бан?

    Пожалуйста, ознакомьтесь с нашими правилами
    Не нарушайте порядок!
  • Продаёте или покупаете?

    Пользуйтесь услугами гаранта
    Мы сделаем вашу сделку безопасной

Рекомендованные сообщения

Немного сыроват, но работает уже на неск серверах и вроде все норм

 

Вариант конечно не окончательный

Эксперементировал с кодом и тд итп

Потом лишнее уберу

Упрощу и тд итп

Хочу сделать универсальный

Как для вайтлиста так и для блэк

 

Конфиг простой

Подключаем в init.c

у меня лежит в корне миссии в папке _MOD\WhiteList

 

#include "$CurrentDir:\\mpmissions\\dayzOffline.chernarusplus\\_MOD\\WhiteList\\Server_WhiteList_Class.c"

 

обявляем там же

ref Server_WhiteList  WhiteList = new Server_WhiteList();

 

сам список UID (в столбик) кладем в папку _CONF в текстовый файл whiteList.lst

 

далее используем

 

у меня в init.c в 2х местах

 

в  классе CustomMission : MissonServer переопределил пару функций и добавил вызов в него

 

и следом

 

	override void InvokeOnConnect(PlayerBase player, PlayerIdentity identity)
	{
		super.InvokeOnConnect(player, identity);

      //Если игрок в черном списке или игрока нет в белом списке или ник игрока в черном списке игрока кикнет и функция вернет false
		if (!Server_WhiteList.CheckWBListConnectAllow(player, identity))
		{
			return; //IF KICK
		}
	}

Файл whiteList.lst можно править на горячую, если в папке с whiteList.lst положить whitelistautoreload - то при каждом вызове проверки игрока по вайтлисту он будет перезагружаться из whiteList.lst - по задумке что бы не перзапускать каждый раз сервер

но иногда если чел хотел войти, не пустило, потом внесли UID может не пустить с ошибкой Character Locked in database.

Придется ждать минут 5

Либо перезапускать сервер

 

+ Читайте каменты в файлах

 

+ подтягивайтесь для доработок

в первую очередь хотелось бы разобарться с залочиванием перса в базе

 

Вобщем буду переделывать под обработку эвентов + добавлю управление белым/черным списком из админки с автокиком в случае внесения УИДа
ручками вроде получилось

Буду автоматизировать

 

 

 

Обновленный вариант

 

Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.

Изменено пользователем BorizzK (история изменений)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах





Обновил файлик и вызов

Работает на неск серверах

на одном в вайте 600 рыл

Вроде все норм

Иногда лочит в базе персов которых нет в вайте (которых кикнуло при первом подключении)
Но потом может и разлочить

 

Теперь в файле с UID' ами после UID через пробел можно оставлять любые комментарии, что удобно

Изменено пользователем BorizzK (история изменений)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Выкладываю доработанную версию

Полный гайд завтра

 

Кратко

1. Кладем куда надо

2. Подключаем через include в init.c или другом включенном в init.c файле

Обязательно! вне класса!

 

Пример

#include "$CurrentDir:\\mpmissions\\dayzOffline.chernarusplus\\_MOD\\WhiteList\\Server_WhiteList_Class.c" //Server_WhiteList
ref Server_WhiteList WhiteList = new Server_WhiteList();

3. При старте сервера выполняем его инициализацию сделав вызов функции init из класса вайтлиста

 

находим в init.c в классе миссии или если класс миссии вынесен из init.c функцию OnInit

 

И вставляем туда вызов

 

	override void OnInit()
	{

		WhiteList.Init();

 

Добавляем в тело класса миссии переопределенную функцию override void InvokeOnConnect

вот так

 

	override void InvokeOnConnect(PlayerBase player, PlayerIdentity identity)
	{
		super.InvokeOnConnect(player, identity);
		//Если игрок в черном списке или игрока нет в белом списке будет кик и функция вернет false
		if (!WhiteList.CheckWBListConnectAllow(player, identity))
		{
			return; //IF KICK - RETURN
		}
	}

 

Важно!

 

Вызов super.InvokeOnConnect(player, identity); разместить до вызова функции вайтлиста иначе перс может лочится в базе

 

Файлы вайтлиста whiteList.lst и блэклиста blackList.lst сохраняем в корне миссии в папке _CONF, но Вы можете изменить путь в самом скрипте вайт листа

 

Формат - Steam UID (17цифр) вида 76561198156927001 в столбик

если уид кривой-неверный он будет игнорится

 

76561198156927001 тут может быть комментарий

76561198156927001

76561198156927001

76561198156927001

 

те что в вайтлисте могут входить

остальных кикнет

те кого добавили в черный будут кикаться независимо от того есть ли они в вайтлисте

 

если в папке _CONF лежит файл whitelistautoreload

файл вайтлиста проверяется/перезагружается при каждом входе пользователя и можно не перегружая сервер изменять лист

то же касается и блэклиста ( blacklistautoreload )

 

если файлы удалить будет использоваться список/параметры загруженные при старте сервера

но автоперезагрузку всегда можно включить на лету создав эти файлы в папке

 

отключить вайтлист ? удалите переименуйте whiteList.lst

то же и блэклист

включить обратно можно на лету, как и отключить

создать whitelistautoreload и/или blacklistautoreload скрипт попытается прочитать вайтл/блэклист из файла, их не найдет и глобально отключит листы если листов нет и включит обратно если есть

 

кроме прочего есть и дополнительные параметры, которые можно помещать в конфиг сервера и файлы вайт/блэклиста

 

P.S. работа проверена - персы в 99%  случаев не лочатся в базе

понятно что вайтлист и блэклист можно использовать раздельно

 

По доппараметрам расскажу завтра или чуть позже

 

Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.

Изменено пользователем BorizzK (история изменений)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

После обновы отвалился скриптик 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Поправил под новую версию

 

Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Поскольку в новом патче стандартная нативная функция дисконнекта игрока крашит сервер, если networkid игрока не попал в очередь рассылки (другим игрокам)

используйте отложенный кик в вайтлисте

см параметры

m_delayedKick = true;

m_kickTime = 2;

 

если m_kickTime мало, увеличте значение

 

так же эти параметры можно указать в файле вайтлиста и блэклиста

в таком виде - через пробел

при загрузке/перезагрузке вайт/блэк листа эти параметры подхватятся наряду со списком УИДов

delayedKick true

kickTime 2

 

 

P.S.

у параметров из файлов приоритет выше чем у параметров в файле скрипта

у блэклиста приоритет выше чем у вайт листа

 

Изменено пользователем BorizzK (история изменений)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Внес несколько полезных изменений с учетом работы крайнего патча

 

Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Чуть что-то изменил

 

Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Не совсем допер что это и для чего, да где задается

GetGame().GetProfileStringList("adminsList",m_AdminsListArray); //Load in my Admin Tool
		GetGame().GetProfileStringList("arbitratorsList",m_ArbitratorsListArray); //Load in my Admin Tool

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

123new Забей

В моей админтулзе из файла грузятся арбитры и админы

используется если включен режим отправки сообщений о киках, подключениях/отключениях и тп только им

потому и передаю через профиль что бы не было крашей - моя админтулза же ток у меня

в другом случае я бы напрямую в класс писал

ну это уже другая история... ик ))))

 

Изменено пользователем BorizzK (история изменений)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Усовершеноствованный вайтлист

все работает так же как раньше

но

теперь если в файл NICKBLACKLIST.lst положить строчка за строчкой запрещенные ники то игроков с такими никами так же будет кикать

Вроде нигде не накасячил (хотя дорабатывал уставший после работы и после 250 когняку 10 летнего)

в одном месте закостылил - там прям это каментом описано

 

пустые строки комментарии // /* */ допускаются

 

проверяйте

 

Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.

Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.

Изменено пользователем BorizzK (история изменений)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

BorizzK Не задрался я чёт и не выходит, А можно init.c в студию пожалуйста?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

AntonZavodskih 

 

ну init у меня пустой

все подключено отдельными файлами

 

но на примере вот

 

init.c

//Version 26.03.2019.2113

//==============================================================================================================================
//CUSTOM SPAWN BUILDINGS
#include "$CurrentDir:\\mpmissions\\dayzOffline.chernarusplus\\_MOD\\SpawnBuildings\\SpawnMyBuildings.c"
//==============================================================================================================================

//==============================================================================================================================
//Include CustomMission : MissionServer
#include "$CurrentDir:\\mpmissions\\dayzOffline.chernarusplus\\_MOD\\MissionAD.c"
//==============================================================================================================================

//GLOBAL SERVER INIT ON START (FINAL STAGE)
void main()
{
	Weather weather = g_Game.GetWeather();
	weather.MissionWeather(false);
	weather.GetOvercast().Set( Math.RandomFloatInclusive(0.4, 0.6), 1, 0);
	weather.GetRain().Set( 0, 0, 1);
	weather.GetFog().Set( Math.RandomFloatInclusive(0.05, 0.1), 1, 0);

	//Отличная погода для ПэВэПэ
	/*
    weather.GetOvercast().Set( 0, 0, 0);
    weather.GetRain().Set( 0, 0, 0);
    weather.GetFog().Set( 0, 0, 0);
	weather.GetOvercast().SetForecastChangeLimits(0, 0);
	weather.GetRain().SetLimits( 0, 0 );
	weather.SetWindSpeed(0.1);
	*/
	
	Hive ce = CreateHive();
	if ( ce )
		ce.InitOffline();
	
  	//Set time 08:00 at server start
	int year, month, day, hour, minute;
  	GetGame().GetWorld().GetDate(year, month, day, hour, minute);
  	hour = 8;
  	minute = 0;
    GetGame().GetWorld().SetDate(year, month, day, hour, minute);
	
	SpawnBuildings();
	
	Print("::: init.c ::: Server initialized and ready to connect players :::");
	Debug.Log("::: init.c ::: Server initialized and ready to connect players :::");
}

Mission CreateCustomMission(string path)
{
	return new CustomMission();
}

Класс миссии вынесен в отдельный файл

 

Сам класс миссии

 

//Version 26.03.2019.2221

//WHITELIST
#include "$CurrentDir:\\mpmissions\\dayzOffline.chernarusplus\\_MOD\\WhiteList\\Server_WhiteList_Class.c" //Server_WhiteList
ref Server_WhiteList_Class Server_WhiteList = new Server_WhiteList_Class();

class CustomMission : MissionServer
{	

	override void OnInit()
	{
		Print("::: CustomMission : MissionServer ::: OnInit() ::: Begin.");
		super.OnInit(); //First time call native functions

		Server_WhiteList.Init();
		
		Print("::: CustomMission : MissionServer ::: OnInit() ::: End.");
	}
	
	void SetRandomHealth(EntityAI itemEnt)
	{
		if ( itemEnt )
		{
			int rndHlt = Math.RandomInt(55,100);
			itemEnt.SetHealth("","",rndHlt);
		}
	}
	
	override PlayerBase CreateCharacter(PlayerIdentity identity, vector pos, ParamsReadContext ctx, string characterName)
	{
		Entity playerEnt;
		playerEnt = GetGame().CreatePlayer(identity, characterName, pos, 0, "NONE");//Creates random player
		Class.CastTo(m_player, playerEnt);
		
		GetGame().SelectPlayer(identity, m_player);
		
		return m_player;
	}
	
	override void StartingEquipSetup(PlayerBase player, bool clothesChosen)
	{
		EntityAI itemTop;
		EntityAI itemEnt;
		ItemBase itemBs;
		float rand;
		
		itemTop = player.FindAttachmentBySlotName("Body");
		
		if ( itemTop )
		{
			itemEnt = itemTop.GetInventory().CreateInInventory("Rag");
			if ( Class.CastTo(itemBs, itemEnt ) )
				itemBs.SetQuantity(4);

			SetRandomHealth(itemEnt);
			
			itemEnt = itemTop.GetInventory().CreateInInventory("RoadFlare");
			SetRandomHealth(itemEnt);
			
			rand = Math.RandomFloatInclusive(0.0, 1.0);
			if ( rand < 0.35 )
				itemEnt = player.GetInventory().CreateInInventory("Apple");
			else if ( rand > 0.65 )
				itemEnt = player.GetInventory().CreateInInventory("Pear");
			else
				itemEnt = player.GetInventory().CreateInInventory("Plum");
		
			SetRandomHealth(itemEnt);
		}
	}

	//Connect players
	override void InvokeOnConnect(PlayerBase player, PlayerIdentity identity)
	{
		super.InvokeOnConnect(player, identity);

		//Если игрок в черном списке или игрока нет в белом списке будет кик и функция вернет false
		if (!Server_WhiteList.CheckWBListConnectAllow(player, identity))
		{
			return; //IF KICK
		}
	}
}

 

Тут основное

1 Подключение файла с классом вайтлиста

 

#include "$CurrentDir:\\mpmissions\\dayzOffline.chernarusplus\\_MOD\\WhiteList\\Server_WhiteList_Class.c" //Server_WhiteList
ref Server_WhiteList_Class Server_WhiteList = new Server_WhiteList_Class();

 

2 Вызов его инициализации в функции OnInit

Server_WhiteList.Init();

 

3 Переопределение серверной функции и в  ней вызов проверки игрока (вайтлист кикает сам)

 

	override void InvokeOnConnect(PlayerBase player, PlayerIdentity identity)
	{
		super.InvokeOnConnect(player, identity);

		//Если игрок в черном списке или игрока нет в белом списке будет кик и функция вернет false
		if (!Server_WhiteList.CheckWBListConnectAllow(player, identity))
		{
			return; //IF KICK
		}
	}

 

Изменено пользователем BorizzK (история изменений)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

BorizzK Ну ошибок уже нет, сервер запускается, но вот на сервер все равно пускает, хотя файл whiteList.lst пуст

вот сам init.c

 

void main()
{
	//INIT WEATHER BEFORE ECONOMY INIT------------------------
	Weather weather = g_Game.GetWeather();

	weather.MissionWeather(false);    // false = use weather controller from Weather.c

	weather.GetOvercast().Set( Math.RandomFloatInclusive(0.4, 0.6), 1, 0);
	weather.GetRain().Set( 0, 0, 1);
	weather.GetFog().Set( Math.RandomFloatInclusive(0.05, 0.1), 1, 0);

	//INIT ECONOMY--------------------------------------
	Hive ce = CreateHive();
	if ( ce )
		ce.InitOffline();

	//DATE RESET AFTER ECONOMY INIT-------------------------
	int year, month, day, hour, minute;
	int reset_month = 9, reset_day = 20;
	GetGame().GetWorld().GetDate(year, month, day, hour, minute);

    if ((month == reset_month) && (day < reset_day))
    {
        GetGame().GetWorld().SetDate(year, reset_month, reset_day, hour, minute);
    }
    else
    {
        if ((month == reset_month + 1) && (day > reset_day))
        {
            GetGame().GetWorld().SetDate(year, reset_month, reset_day, hour, minute);
        }
        else
        {
            if ((month < reset_month) || (month > reset_month + 1))
            {
                GetGame().GetWorld().SetDate(year, reset_month, reset_day, hour, minute);
            }
        }
    }
}

#include "$CurrentDir:\\mpmissions\\dayzOffline.chernarusplus\\_MOD\\WhiteList\\Server_WhiteList_Class.c" //Server_WhiteList
ref Server_WhiteList_Class Server_WhiteList = new Server_WhiteList_Class();

class CustomMission: MissionServer
{	
    override void OnInit()
	{
		Print("::: CustomMission : MissionServer ::: OnInit() ::: Begin.");
		super.OnInit(); //First time call native functions

		Server_WhiteList.Init();
		
		Print("::: CustomMission : MissionServer ::: OnInit() ::: End.");
	}
	
    void SetRandomHealth(EntityAI itemEnt)
	{
		if ( itemEnt )
		{
			int rndHlt = Math.RandomInt(55,100);
			itemEnt.SetHealth("","",rndHlt);
		}
	}

	override PlayerBase CreateCharacter(PlayerIdentity identity, vector pos, ParamsReadContext ctx, string characterName)
	{
		Entity playerEnt;
		playerEnt = GetGame().CreatePlayer(identity, characterName, pos, 0, "NONE");//Creates random player
		Class.CastTo(m_player, playerEnt);
		
		GetGame().SelectPlayer(identity, m_player);
		
		return m_player;
	}
	
	override void StartingEquipSetup(PlayerBase player, bool clothesChosen)
	{
		EntityAI itemTop;
		EntityAI itemEnt;
		ItemBase itemBs;
		float rand;
		
		itemTop = player.FindAttachmentBySlotName("Body");
		
		if ( itemTop )
		{
			itemEnt = itemTop.GetInventory().CreateInInventory("Rag");
			if ( Class.CastTo(itemBs, itemEnt ) )
				itemBs.SetQuantity(4);

			SetRandomHealth(itemEnt);
			
			itemEnt = itemTop.GetInventory().CreateInInventory("RoadFlare");
			SetRandomHealth(itemEnt);
			
			rand = Math.RandomFloatInclusive(0.0, 1.0);
			if ( rand < 0.35 )
				itemEnt = player.GetInventory().CreateInInventory("Apple");
			else if ( rand > 0.65 )
				itemEnt = player.GetInventory().CreateInInventory("Pear");
			else
				itemEnt = player.GetInventory().CreateInInventory("Plum");
		
			SetRandomHealth(itemEnt);
		}
	}
	
	override void InvokeOnConnect(PlayerBase player, PlayerIdentity identity)
	{
		super.InvokeOnConnect(player, identity);

		//Если игрок в черном списке или игрока нет в белом списке будет кик и функция вернет false
		if (!Server_WhiteList.CheckWBListConnectAllow(player, identity))
		{
			return; //IF KICK
		}
	}
};
  
Mission CreateCustomMission(string path)
{
	
	return new CustomMission();
}

 

Изменено пользователем AntonZavodskih (история изменений)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

AntonZavodskih помещаем в папку миссии сервера файлы и папку с архива в корень активной миссии сервера

Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.

дописываем в инит в самом верху файла 1 строкой

#include "$CurrentDir:mpmissions\dayzOffline.chernarusplus\AddonsServerMission.c"

И все будет работать.
В архиве версия скрипта с данной темы предпоследняя, рабочая. В скрипте лишь путь до папки с конфигами скрипта скорректирован. Рассчитано на стандартное имя активной папки миссии сервера dayzOffline.chernarusplus

Изменено пользователем 123new (история изменений)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

123new Ты бы посвежей версию взял )))) ту которую я 20го марта выложил

 

AntonZavodskih  пустой вайтлист отключает вайтлист

пропишите - например нулевой UID - 00000000000000000 и он заработает

Изменено пользователем BorizzK (история изменений)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

BorizzK да я знакомому делал, ему и той версии хватает))

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

123new скопировал в корень миссии, подключил. Тоже самое) ошибок нет, сервак грузится, файл со списком UID не менял, там уже были UID BorizzK . 
Свой UID не добавлял, 5 сек отсчет и спокойно зашёл. М да чё делать фиг знает)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

BorizzK 

0:46:24 BattlEye Server: Initialized (v1.217)
 0:46:24 SUCCESS: SteamGameServer_Init(0,27015,2312,27016,3,1.02.151010)
 0:46:24 Идентификатор сервера создан
 0:46:24 Роли назначены.
 0:46:24 Чтение задания...
 0:48:01 [CE][Hive] :: Initializing OFFLINE
 0:48:01 [CE][Hive] :: Loading core data ... 
 0:48:01 [CE][CoreData] :: 7 root classes, 0 defaults, 0 updaters...
 0:48:01 [CE][Hive] :: Loading map data ... 
 0:48:01 [CE][LoadPrototype] :: loaded 227 prototypes
 0:48:01   488 containers, 7156 points
 0:48:01   0 dispatches, 0 proxies
 0:48:01 !!! [CE][LoadPrototype] 5 groups have no points...
 0:48:01 [CE][LoadPrototype] :: last group name: Land_Wreck_Volha_Police...
 0:48:01 [CE][LoadPrototype] :: loaded 0 prototypes
 0:48:01   0 containers, 0 points
 0:48:01   0 dispatches, 0 proxies
 0:48:01 [CE][LoadPrototype] :: last group name: Rail9...
 0:48:02 [CE][LoadMap] "Group" :: loaded 11402 groups, largest group range: 34.2
 0:48:02 !!! File "mpmissions\dayzOffline.chernarusplus\mapgroupdirt.xml" does not exist...
 0:48:02 !!! [CE][LoadMap] "Dirt" :: Failed to read group instances ($CurrentDir:mpmissions\dayzOffline.chernarusplus\mapgroupdirt.xml)
 0:48:03 [CE][LoadClusters] "Cluster" :: Loading files...
 0:48:03 [CE][LoadClusters] :: file: "mapgroupcluster.xml", 9 types, 50000 instances
 0:48:04 [CE][LoadClusters] :: file: "mapgroupcluster01", 9 types, 50000 instances
 0:48:04 [CE][LoadClusters] :: file: "mapgroupcluster02", 9 types, 50000 instances
 0:48:05 [CE][LoadClusters] :: file: "mapgroupcluster03", 9 types, 50000 instances
 0:48:05 [CE][LoadClusters] :: file: "mapgroupcluster04", 9 types, 17188 instances
 0:48:09 [CE][TypeSetup] :: 374 classes setuped...
 0:48:09 [CE][RegisterBind] :: 0 classes binded...
 0:48:09 [CE][RegisterConfig] :: 2696 config classes registered, 1 sub-counters...
 0:48:09 [CE][Storage] ver:0 stamp:0, valid:NO, name:"mpmissions\dayzOffline.chernarusplus\storage_1\data\types.bin"
 0:48:09 [CE][Storage] ver:0 stamp:0, valid:NO, name:"mpmissions\dayzOffline.chernarusplus\storage_1\data\types.001"
 0:48:09 [CE][Storage] ver:0 stamp:0, valid:NO, name:"mpmissions\dayzOffline.chernarusplus\storage_1\data\types.002"
 0:48:09 !!! File "mpmissions\dayzOffline.chernarusplus\db\messages.xml" does not exist...
 0:48:09 [CE][offlineDB] :: Loaded 34 dynamic events 203 total types 0 total positions.
 0:48:09 [CE][Storage] ver:0 stamp:0, valid:NO, name:"mpmissions\dayzOffline.chernarusplus\storage_1\data\events.bin"
 0:48:09 [CE][Storage] ver:0 stamp:0, valid:NO, name:"mpmissions\dayzOffline.chernarusplus\storage_1\data\events.001"
 0:48:09 [CE][Storage] ver:0 stamp:0, valid:NO, name:"mpmissions\dayzOffline.chernarusplus\storage_1\data\events.002"
 0:48:09 [CE][Storage] ver:0 stamp:0, valid:NO, name:"mpmissions\dayzOffline.chernarusplus\storage_1\data\vehicles.bin"
 0:48:09 [CE][Storage] ver:0 stamp:0, valid:NO, name:"mpmissions\dayzOffline.chernarusplus\storage_1\data\vehicles.001"
 0:48:09 [CE][Storage] ver:0 stamp:0, valid:NO, name:"mpmissions\dayzOffline.chernarusplus\storage_1\data\vehicles.002"
 0:48:09 [CE][Storage] ver:0 stamp:0, valid:NO, name:"mpmissions\dayzOffline.chernarusplus\storage_1\data\dynamic_000.bin"
 0:48:09 [CE][Storage] ver:0 stamp:0, valid:NO, name:"mpmissions\dayzOffline.chernarusplus\storage_1\data\dynamic_000.001"
 0:48:09 [CE][Storage] ver:0 stamp:0, valid:NO, name:"mpmissions\dayzOffline.chernarusplus\storage_1\data\dynamic_000.002"
 0:48:09 [CE][Storage] ver:0 stamp:0, valid:NO, name:"mpmissions\dayzOffline.chernarusplus\storage_1\data\dynamic_001.bin"
 0:48:09 [CE][Storage] ver:0 stamp:0, valid:NO, name:"mpmissions\dayzOffline.chernarusplus\storage_1\data\dynamic_001.001"
 0:48:09 [CE][Storage] ver:0 stamp:0, valid:NO, name:"mpmissions\dayzOffline.chernarusplus\storage_1\data\dynamic_001.002"
 0:48:09 [CE][Storage] ver:0 stamp:0, valid:NO, name:"mpmissions\dayzOffline.chernarusplus\storage_1\data\dynamic_002.bin"
 0:48:09 [CE][Storage] ver:0 stamp:0, valid:NO, name:"mpmissions\dayzOffline.chernarusplus\storage_1\data\dynamic_002.001"
 0:48:09 [CE][Storage] ver:0 stamp:0, valid:NO, name:"mpmissions\dayzOffline.chernarusplus\storage_1\data\dynamic_002.002"
 0:48:09 [CE][Storage] ver:0 stamp:0, valid:NO, name:"mpmissions\dayzOffline.chernarusplus\storage_1\data\dynamic_003.bin"
 0:48:09 [CE][Storage] ver:0 stamp:0, valid:NO, name:"mpmissions\dayzOffline.chernarusplus\storage_1\data\dynamic_003.001"
 0:48:09 [CE][Storage] ver:0 stamp:0, valid:NO, name:"mpmissions\dayzOffline.chernarusplus\storage_1\data\dynamic_003.002"
 0:48:09 [CE][Storage] ver:0 stamp:0, valid:NO, name:"mpmissions\dayzOffline.chernarusplus\storage_1\data\dynamic_004.bin"
 0:48:09 [CE][Storage] ver:0 stamp:0, valid:NO, name:"mpmissions\dayzOffline.chernarusplus\storage_1\data\dynamic_004.001"
 0:48:09 [CE][Storage] ver:0 stamp:0, valid:NO, name:"mpmissions\dayzOffline.chernarusplus\storage_1\data\dynamic_004.002"
 0:48:09 [CE][Storage] ver:0 stamp:0, valid:NO, name:"mpmissions\dayzOffline.chernarusplus\storage_1\data\dynamic_005.bin"
 0:48:09 [CE][Storage] ver:0 stamp:0, valid:NO, name:"mpmissions\dayzOffline.chernarusplus\storage_1\data\dynamic_005.001"
 0:48:09 [CE][Storage] ver:0 stamp:0, valid:NO, name:"mpmissions\dayzOffline.chernarusplus\storage_1\data\dynamic_005.002"
 0:48:09 [CE][Storage] ver:0 stamp:0, valid:NO, name:"mpmissions\dayzOffline.chernarusplus\storage_1\data\dynamic_006.bin"
 0:48:09 [CE][Storage] ver:0 stamp:0, valid:NO, name:"mpmissions\dayzOffline.chernarusplus\storage_1\data\dynamic_006.001"
 0:48:09 [CE][Storage] ver:0 stamp:0, valid:NO, name:"mpmissions\dayzOffline.chernarusplus\storage_1\data\dynamic_006.002"
 0:48:09 [CE][Storage] ver:0 stamp:0, valid:NO, name:"mpmissions\dayzOffline.chernarusplus\storage_1\data\dynamic_007.bin"
 0:48:09 [CE][Storage] ver:0 stamp:0, valid:NO, name:"mpmissions\dayzOffline.chernarusplus\storage_1\data\dynamic_007.001"
 0:48:09 [CE][Storage] ver:0 stamp:0, valid:NO, name:"mpmissions\dayzOffline.chernarusplus\storage_1\data\dynamic_007.002"
 0:48:09 [CE][Storage] ver:0 stamp:0, valid:NO, name:"mpmissions\dayzOffline.chernarusplus\storage_1\data\dynamic_008.bin"
 0:48:09 [CE][Storage] ver:0 stamp:0, valid:NO, name:"mpmissions\dayzOffline.chernarusplus\storage_1\data\dynamic_008.001"
 0:48:09 [CE][Storage] ver:0 stamp:0, valid:NO, name:"mpmissions\dayzOffline.chernarusplus\storage_1\data\dynamic_008.002"
 0:48:09 [CE][Storage] ver:0 stamp:0, valid:NO, name:"mpmissions\dayzOffline.chernarusplus\storage_1\data\dynamic_009.bin"
 0:48:09 [CE][Storage] ver:0 stamp:0, valid:NO, name:"mpmissions\dayzOffline.chernarusplus\storage_1\data\dynamic_009.001"
 0:48:09 [CE][Storage] ver:0 stamp:0, valid:NO, name:"mpmissions\dayzOffline.chernarusplus\storage_1\data\dynamic_009.002"
 0:48:09 [CE][Storage] ver:0 stamp:0, valid:NO, name:"mpmissions\dayzOffline.chernarusplus\storage_1\data\dynamic_010.bin"
 0:48:09 [CE][Storage] ver:0 stamp:0, valid:NO, name:"mpmissions\dayzOffline.chernarusplus\storage_1\data\dynamic_010.001"
 0:48:09 [CE][Storage] ver:0 stamp:0, valid:NO, name:"mpmissions\dayzOffline.chernarusplus\storage_1\data\dynamic_010.002"
 0:48:09 [CE][Storage] ver:0 stamp:0, valid:NO, name:"mpmissions\dayzOffline.chernarusplus\storage_1\data\dynamic_011.bin"
 0:48:09 [CE][Storage] ver:0 stamp:0, valid:NO, name:"mpmissions\dayzOffline.chernarusplus\storage_1\data\dynamic_011.001"
 0:48:09 [CE][Storage] ver:0 stamp:0, valid:NO, name:"mpmissions\dayzOffline.chernarusplus\storage_1\data\dynamic_011.002"
 0:48:09 [CE][Hive] :: Empty storage folder, reinitializing ... 
 0:48:09 [CE][Hive] :: Initializing ... 
 0:48:09 [CE][Hive] :: Initializing spawners ... 
 0:48:10 !!! [CE][Point] Removing 1428.756104, 9296.132813 from Land_Castle_Gate
 0:48:21 [CE][LootRespawner] (PRIDummy) :: Item [0] causing search overtime: "SalineBag"
 0:48:24 [CE][LootRespawner] (PRIDummy) :: Item [0] is hard to place, performance drops: "M4A1"
 0:48:24 [CE][LootRespawner] (PRIDummy) :: Item [1] is hard to place, performance drops: "M4A1"
 0:48:25 [CE][LootRespawner] (PRIDummy) :: Item [2] is hard to place, performance drops: "ParamedicJacket_Crimson"
 0:48:25 [CE][LootRespawner] (PRIDummy) :: Item [3] is hard to place, performance drops: "GorkaPants_Summer"
 0:48:25 [CE][LootRespawner] (PRIDummy) :: Item [4] is hard to place, performance drops: "GorkaPants_Summer"
 0:48:26 [CE][LootRespawner] (PRIDummy) :: Item [5] is hard to place, performance drops: "UKAssVest_Black"
 0:48:26 [CE][LootRespawner] (PRIDummy) :: Item [6] is hard to place, performance drops: "ParamedicJacket_Green"
 0:48:26 [CE][LootRespawner] (PRIDummy) :: Item [7] is hard to place, performance drops: "ParamedicJacket_Green"
 0:48:26 [CE][LootRespawner] (PRIDummy) :: Item [8] is hard to place, performance drops: "ParamedicJacket_Green"
 0:48:26 [CE][LootRespawner] (PRIDummy) :: Item [9] is hard to place, performance drops: "ParamedicJacket_Green"
 0:48:26 [CE][LootRespawner] (PRIDummy) :: Item [10] is hard to place, performance drops: "ParamedicJacket_Green"
 0:48:26 [CE][LootRespawner] (PRIDummy) :: Item [11] is hard to place, performance drops: "ParamedicJacket_Green"
 0:48:28 [CE][LootRespawner] (PRIDummy) :: Item [12] is hard to place, performance drops: "UKAssVest_Khaki"
 0:48:28 [CE][LootRespawner] (PRIDummy) :: Item [13] is hard to place, performance drops: "UKAssVest_Khaki"
 0:48:28 [CE][LootRespawner] (PRIDummy) :: Item [14] is hard to place, performance drops: "UKAssVest_Khaki"
 0:48:28 [CE][LootRespawner] (PRIDummy) :: Item [15] is hard to place, performance drops: "UKAssVest_Olive"
 0:48:28 [CE][LootRespawner] (PRIDummy) :: Item [16] is hard to place, performance drops: "UKAssVest_Olive"
 0:48:28 [CE][LootRespawner] (PRIDummy) :: Item [17] is hard to place, performance drops: "UKAssVest_Olive"
 0:48:28 [CE][LootRespawner] (PRIDummy) :: Item [18] is hard to place, performance drops: "Rope"
 0:48:29 [CE][LootRespawner] (PRIDummy) :: Item [19] is hard to place, performance drops: "HunterPants_Winter"
 0:48:29 [CE][LootRespawner] (PRIDummy) :: Item [1] causing search overtime: "CharcoalTablets"
 0:48:31 [CE][LootRespawner] (PRIDummy) :: Item [2] causing search overtime: "MP5K"
 0:48:31 [CE][LootRespawner] (PRIDummy) :: Item [3] causing search overtime: "MP5K"
 0:48:31 [CE][LootRespawner] (PRIDummy) :: Item [4] causing search overtime: "Mag_SVD_10Rnd"
 0:48:31 !!! [CE][Point] Removing 8274.823242, 2463.851074 from Land_Boat_Small2
 0:48:31 [CE][LootRespawner] (PRIDummy) :: Item [5] causing search overtime: "TTsKOJacket_Camo"
 0:48:31 [CE][LootRespawner] (PRIDummy) :: Item [6] causing search overtime: "JungleBoots_Olive"
 0:48:31 [CE][LootRespawner] (PRIDummy) :: Item [7] causing search overtime: "JungleBoots_Olive"
 0:48:31 [CE][LootRespawner] (PRIDummy) :: Item [8] causing search overtime: "JungleBoots_Olive"
 0:48:31 [CE][LootRespawner] (PRIDummy) :: Item [9] causing search overtime: "JungleBoots_Olive"
 0:48:32 [CE][LootRespawner] (PRIDummy) :: Item [10] causing search overtime: "GorkaEJacket_Autumn"
 0:48:32 [CE][LootRespawner] (PRIDummy) :: Item [11] causing search overtime: "GorkaEJacket_Autumn"
 0:48:32 [CE][LootRespawner] (PRIDummy) :: Item [12] causing search overtime: "GorkaEJacket_Autumn"
 0:48:32 [CE][LootRespawner] (PRIDummy) :: Item [13] causing search overtime: "GorkaEJacket_Autumn"
 0:48:32 [CE][LootRespawner] (PRIDummy) :: Item [14] causing search overtime: "GorkaEJacket_Autumn"
 0:48:32 [CE][LootRespawner] (PRIDummy) :: Item [15] causing search overtime: "JungleBoots_Beige"
 0:48:32 [CE][LootRespawner] (PRIDummy) :: Item [16] causing search overtime: "JungleBoots_Beige"
 0:48:32 [CE][LootRespawner] (PRIDummy) :: Item [17] causing search overtime: "JungleBoots_Beige"
 0:48:32 [CE][LootRespawner] (PRIDummy) :: Item [18] causing search overtime: "JungleBoots_Beige"
 0:48:32 [CE][LootRespawner] (PRIDummy) :: Item [19] causing search overtime: "JungleBoots_Beige"
 0:48:33 [CE][LootRespawner] (PRIDummy) :: Initially (re)spawned:21158, Nominal:21183, Total in Map: 21216 at 23 (sec)
 0:48:33   tests:21559, repeats:122 fails:279, overtime:25
 0:48:33 [CE][SpawnRandomLoot] (StaticHeliCrash) :: ChildType: Wreck_Mi8, lootmin: 10, lootmax: 20, wanted: 18
 0:48:33 [CE][SpawnRandomLoot] (StaticHeliCrash) :: ChildType: Wreck_Mi8, lootmin: 10, lootmax: 20, wanted: 14
 0:48:33 [CE][SpawnRandomLoot] (StaticHeliCrash) :: ChildType: Wreck_UH1Y, lootmin: 10, lootmax: 20, wanted: 10
 0:48:33 [CE][SpawnRandomLoot] (StaticPoliceCar) :: ChildType: Land_Wreck_Volha_Police, lootmin: 3, lootmax: 5, wanted: 3
 0:48:33 [CE][SpawnRandomLoot] (StaticPoliceCar) :: ChildType: Land_Wreck_Volha_Police, lootmin: 3, lootmax: 5, wanted: 3
 0:48:33 [CE][SpawnRandomLoot] (StaticPoliceCar) :: ChildType: Land_Wreck_Volha_Police, lootmin: 3, lootmax: 5, wanted: 3
 0:48:33 [CE][SpawnRandomLoot] (StaticPoliceCar) :: ChildType: Land_Wreck_Volha_Police, lootmin: 3, lootmax: 5, wanted: 4
 0:48:33 [CE][SpawnRandomLoot] (StaticPoliceCar) :: ChildType: Land_Wreck_Volha_Police, lootmin: 3, lootmax: 5, wanted: 3
 0:48:33 [CE][SpawnRandomLoot] (StaticPoliceCar) :: ChildType: Land_Wreck_Volha_Police, lootmin: 3, lootmax: 5, wanted: 3
 0:48:33 [CE][SpawnRandomLoot] (StaticPoliceCar) :: ChildType: Land_Wreck_Volha_Police, lootmin: 3, lootmax: 5, wanted: 3
 0:48:33 [CE][SpawnRandomLoot] (StaticPoliceCar) :: ChildType: Land_Wreck_Volha_Police, lootmin: 3, lootmax: 5, wanted: 4
 0:48:33 [CE][SpawnRandomLoot] (StaticPoliceCar) :: ChildType: Land_Wreck_Volha_Police, lootmin: 3, lootmax: 5, wanted: 3
 0:48:33 [CE][SpawnRandomLoot] (StaticPoliceCar) :: ChildType: Land_Wreck_Volha_Police, lootmin: 3, lootmax: 5, wanted: 4
 0:48:34 [CE][DynEvent] :: 34 types
 0:48:34 [00] AmbientHen
 0:48:34   Primary Spawner: "Ambient", active: yes, repeat: 1
 0:48:34 [01] AnimalCow
 0:48:34   Primary Spawner: "Animal", active: yes, repeat: 1
 0:48:34 [02] AnimalDeer
 0:48:34   Primary Spawner: "Animal", active: yes, repeat: 1
 0:48:34 [03] AnimalGoat
 0:48:34   Primary Spawner: "Animal", active: yes, repeat: 1
 0:48:34 [04] AnimalPig
 0:48:34   Primary Spawner: "Animal", active: yes, repeat: 1
 0:48:34 [05] AnimalRoeDeer
 0:48:34   Primary Spawner: "Animal", active: yes, repeat: 1
 0:48:34 [06] AnimalSheep
 0:48:34   Primary Spawner: "Animal", active: yes, repeat: 1
 0:48:34 [07] AnimalWildBoar
 0:48:34   Primary Spawner: "Animal", active: yes, repeat: 1
 0:48:34 [08] AnimalWolf
 0:48:34   Primary Spawner: "Animal", active: yes, repeat: 1
 0:48:34 [09] InfectedArmy
 0:48:34   Primary Spawner: "Infected", active: yes, repeat: 1
 0:48:34 [10] InfectedCity
 0:48:34   Primary Spawner: "Infected", active: yes, repeat: 1
 0:48:34 [11] InfectedFirefighter
 0:48:34   Primary Spawner: "Infected", active: yes, repeat: 1
 0:48:34 [12] InfectedIndustrial
 0:48:34   Primary Spawner: "Infected", active: yes, repeat: 1
 0:48:34 [13] InfectedMedic
 0:48:34   Primary Spawner: "Infected", active: yes, repeat: 1
 0:48:34 [14] InfectedPolice
 0:48:34   Primary Spawner: "Infected", active: yes, repeat: 1
 0:48:34 [15] InfectedPrisoner
 0:48:34   Primary Spawner: "Infected", active: yes, repeat: 1
 0:48:34 [16] InfectedReligious
 0:48:34   Primary Spawner: "Infected", active: yes, repeat: 1
 0:48:34 [17] InfectedSolitude
 0:48:34   Primary Spawner: "Infected", active: yes, repeat: 1
 0:48:34 [18] InfectedVillage
 0:48:34   Primary Spawner: "Infected", active: yes, repeat: 1
 0:48:34 [19] ItemPlanks
 0:48:34   Primary Spawner: "Item", active: yes, repeat: 1
 0:48:34 [20] Loot
 0:48:34   Primary Spawner: "Loot", active: yes, repeat: 2
 0:48:34 [21] StaticHeliCrash
 0:48:34   Primary Spawner: "Vehicle", active: yes, repeat: 1
 0:48:34 [22] StaticPoliceCar
 0:48:34   Primary Spawner: "Vehicle", active: yes, repeat: 1
 0:48:34 [23] TrajectoryApple
 0:48:34   Primary Spawner: "Trajectory", active: yes, repeat: 1
 0:48:34 [24] TrajectoryCanina
 0:48:34   Primary Spawner: "Trajectory", active: yes, repeat: 1
 0:48:34 [25] TrajectoryConiferous
 0:48:34   Primary Spawner: "Trajectory", active: yes, repeat: 1
 0:48:34 [26] TrajectoryDeciduous
 0:48:34   Primary Spawner: "Trajectory", active: yes, repeat: 1
 0:48:34 [27] TrajectoryHumus
 0:48:34   Primary Spawner: "Trajectory", active: yes, repeat: 1
 0:48:34 [28] TrajectoryPear
 0:48:34   Primary Spawner: "Trajectory", active: yes, repeat: 1
 0:48:34 [29] TrajectoryPlum
 0:48:34   Primary Spawner: "Trajectory", active: yes, repeat: 1
 0:48:34 [30] TrajectorySambucus
 0:48:34   Primary Spawner: "Trajectory", active: yes, repeat: 1
 0:48:34 [31] TrajectoryStones
 0:48:34   Primary Spawner: "Trajectory", active: yes, repeat: 1
 0:48:34 [32] VehicleCivilianSedan
 0:48:34   Primary Spawner: "Vehicle", active: yes, repeat: 1
 0:48:34 [33] VehicleOffroadHatchback
 0:48:34   Primary Spawner: "Vehicle", active: yes, repeat: 1
 0:48:34 [CE][Hive] :: Initializing of spawners done.
 0:48:34 [CE][Hive] :: Init sequence finished.
 0:49:13 [Login]: Adding player TOXA (162205490) to login queue at position 1
 0:49:13 [LoginMachine]: Add player TOXA (162205490)
 0:49:13 [StateMachine]: Player TOXA (dpnid 162205490 uid ) Entering AuthPlayerLoginState
 0:49:13 BattlEye Server: Player #0 TOXA (90.188.236.171:2304) connected
 0:49:13 Игрок TOXA соединяется.
 0:49:13 [StateMachine]: Player TOXA (dpnid 162205490 uid ) Entering WaitAuthPlayerLoginState
 0:49:13 BattlEye Server: Player #0 TOXA - BE GUID: 2887ac19a790663e07e4c0ca75db9a90
 0:49:14 BattlEye Server: Verified GUID (2887ac19a790663e07e4c0ca75db9a90) of player #0 TOXA
 0:49:14 Игрок TOXA присоединился (id=0IViMlMc0tYHvT7vR3P2LIy6TVh5cqjnQiGgNESCOKk=).
 0:49:15 [StateMachine]: Player TOXA (dpnid 162205490 uid 0IViMlMc0tYHvT7vR3P2LIy6TVh5cqjnQiGgNESCOKk=) Entering GetCharacterLoginState
 0:49:15 [StateMachine]: Player TOXA (dpnid 162205490 uid 0IViMlMc0tYHvT7vR3P2LIy6TVh5cqjnQiGgNESCOKk=) Entering CreateNetObjectsLoginState
 0:49:16 Player TOXA dpid=162205490 at pos (13112.7, 0.0, 8142.3) 
 0:49:16 [StateMachine]: Player TOXA (dpnid 162205490 uid 0IViMlMc0tYHvT7vR3P2LIy6TVh5cqjnQiGgNESCOKk=) Entering PreloadCamLoginState
 0:49:16 [StateMachine]: Player TOXA (dpnid 162205490 uid 0IViMlMc0tYHvT7vR3P2LIy6TVh5cqjnQiGgNESCOKk=) Entering WaitPreloadCamLoginState
 0:49:18 BattlEye Server: RCon admin #0 (127.0.0.1:61402) logged in
 0:49:34 [StateMachine]: Player TOXA (dpnid 162205490 uid 0IViMlMc0tYHvT7vR3P2LIy6TVh5cqjnQiGgNESCOKk=) Entering GetNewCharLoginState
 0:49:34 <CREATE NEW CHAR>:
    charID 1
    playerID 1
    dpnid 162205490
    uid 0IViMlMc0tYHvT7vR3P2LIy6TVh5cqjnQiGgNESCOKk=
 0:49:53 [Disconnect]: Start script disconnect 162205490 (dbCharacterId 1 dbPlayerId 1) logoutTime 5
 0:49:58 [Disconnect]: Finish script disconnect 162205490
 0:49:58 [Disconnect]: DisconnectPlayerFinish 162205490
 0:49:58 [Disconnect]: Remove player info 162205490
 0:49:58 [Disconnect]: Player destroy 162205490 
 0:49:58 Игрок TOXA отсоединился.
 0:49:58 BattlEye Server: Player #0 TOXA disconnected

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.

Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.

Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.

Изменено пользователем AntonZavodskih (история изменений)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Нашел выше

 

Не работает ВАШ Init.c должным образом

 

если бы работал

 

отрабатывал OnInt и в лог бы писалось

 

::: CustomMission : MissionServer ::: OnInit() ::: Begin.

 

 

::: CustomMission : MissionServer ::: OnInit() ::: End

 

Изменено пользователем BorizzK (история изменений)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

BorizzK123new  Спасибо, за помощь! Вроде пошло)
 

Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

AntonZavodskih 123new 

 

ААаа - у меня там ошибка - в выводе в лог про вайтлист пишет про блэклист (((

 

исправил

 

выкладываю

 

 

Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.

Изменено пользователем BorizzK (история изменений)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
2 часа назад, 123new сказал:

AntonZavodskih помещаем в папку миссии сервера файлы и папку с архива в корень активной миссии сервера

Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.

 2

дописываем в инит в самом верху файла 1 строкой


#include "$CurrentDir:mpmissions\dayzOffline.chernarusplus\AddonsServerMission.c"

И все будет работать.
В архиве версия скрипта с данной темы предпоследняя, рабочая. В скрипте лишь путь до папки с конфигами скрипта скорректирован. Рассчитано на стандартное имя активной папки миссии сервера dayzOffline.chernarusplus

обновил до актуальной версии архив, не проверял

Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

  • Похожие публикации

    • Автор: BR0wi
      Подскажите где найти людей, которые делаю моды на заказ. К кому вообще обращаться? Или что бы реализовать свои идеи нужно самому "год" сидеть и изучать все механики модинга?
    • Автор: CubeIn
      Приветствую господа, хочу создать новый проект, уникальный, но для этого нужен маппер.
      Я оставлю здесь свой дискрод, напишите в лс, кто готов взяться за крупный проект.
      4me#4542
    • Автор: 6agu
      Поставил
      Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.
    • Автор: 123new
      Много вопросов на данную тему наблюдаю от новичков, попробую прояснить немного сей вопрос.
       
      Предположим. что вы уже знаете на каких координатах вам надо спавнить определенное здание или объект\животное\бота, с каким углом поворота. И так. эта тема для вас.
       
      Сразу делаю пометку, метод, который добавили нам разработчики игры в патче 1.15, очень хорошо описал наш товарищ в сообщении форума:
      Рекоммендую вам использовать именно его!
      Ниже опубликованы старые методы.
       
      Если вы с расставили их с модифицированной версии Offline (Offline by Arksenor это называется), то вы получили и нашли код вида:
      GetGame().CreateObject("Land_CementWorks_ExpeditionB", "13251.875000 0.0 3748.525879").SetOrientation("-96.000000 0.000000 0.000000"); GetGame().CreateObject("Land_CementWorks_ExpeditionB", "13254.599609 0.0 3722.703613").SetOrientation("-96.000000 0.000000 0.000000"); GetGame().CreateObject("Land_CementWorks_ExpeditionB", "13257.344727 0.0 3696.718750").SetOrientation("-96.000000 0.000000 0.000000"); GetGame().CreateObject("Land_CementWorks_ExpeditionB", "13260.040039 0.0 3670.984131").SetOrientation("-96.000000 0.000000 0.000000"); GetGame().CreateObject("Land_CementWorks_ExpeditionB", "13262.756836 0.0 3645.180176").SetOrientation("-96.000000 0.000000 0.000000"); GetGame().CreateObject("Land_CementWorks_ExpeditionB", "13265.441406 0.0 3619.531982").SetOrientation("-96.000000 0.000000 0.000000"); GetGame().CreateObject("Land_CementWorks_ExpeditionB", "13268.124023 0.0 3593.995361").SetOrientation("-96.000000 0.000000 0.000000"); GetGame().CreateObject("Land_CementWorks_ExpeditionB", "13270.844727 0.0 3568.186523").SetOrientation("-96.000000 0.000000 0.000000"); GetGame().CreateObject("Land_CementWorks_ExpeditionB", "13273.514648 0.0 3542.561279").SetOrientation("-96.000000 0.000000 0.000000"); GetGame().CreateObject("Land_CementWorks_ExpeditionB", "13276.195313 0.0 3517.048828").SetOrientation("-96.000000 0.000000 0.000000"); GetGame().CreateObject("Land_CementWorks_ExpeditionB", "13278.399414 0.0 3496.097900").SetOrientation("-96.000000 0.000000 0.000000"); Здесь (по примеру первой строки) 1 значение в скобках - id постройки/объекта, 2 значение - координаты в формате X Y Z, разделенные пробелом, 3 - значение поворота примерно в том же формате.
      Как это делать в Offline - статья от автора Offine:
      https://github.com/Arkensor/DayZCommunityOfflineMode/wiki/Add-custom-objects-to-your-server-or-mission
       
      И так, инструкция:
      1. Добавляем в начало init.c файла в вашей mpmissions следующий код:
      #include "$CurrentDir:mpmissions\dayzOffline.chernarusplus\spawn_buildings.c" 2. Создаем в папке вашей активной mpmissions файлик spawn_buildings.c и заполняем его следующей информацией.
      void SpawnObject( string type, vector position, vector orientation ) { private string NameBlockLog = "[CreateObject] "; private string InfoLog = ""; if(type != "") { auto obj = GetGame().CreateObject( type, "0 0 0" ); if(obj) { if ((position[0] != 0) && (position[1] != 0) && (position[2] != 0)) { obj.SetPosition( position ); obj.SetOrientation( orientation ); obj.Update(); if (obj.CanAffectPathgraph()) { obj.SetAffectPathgraph(true, false); GetGame().GetCallQueue(CALL_CATEGORY_SYSTEM).CallLater(GetGame().UpdatePathgraphRegionByObject, 100, false, obj); } InfoLog = "[Type: '" + obj.GetType() + "' Position: '" + obj.GetPosition().ToString() + "' Orientation: '" + obj.GetOrientation().ToString() + "']"; Write_Log(NameBlockLog + " Object has been created successfully! Info " + InfoLog); } else { InfoLog = "[Type: '" + type + "' Position: '" + position + "' Orientation: '" + orientation + "']"; Write_Log(NameBlockLog + " Object can't be created! Incorrect writed position. Info " + InfoLog); } } else { InfoLog = "[Type: '" + type + "' Position: '" + position + "' Orientation: '" + orientation + "']"; Write_Log(NameBlockLog + " Object can't be created! Info " + InfoLog); } } else { InfoLog = "[Type: '" + type + "' Position: '" + position + "' Orientation: '" + orientation + "']"; Write_Log(NameBlockLog + " Object can't be created! Incorrect writed type. Info " + InfoLog); } } void Write_Log(string message) { Print(String(message)); } 3. Открываем созданный нами файл,  и в конце файла дописываем следующее:
      void SpawnAirfeeldBuildings() { SpawnObject( "Land_CementWorks_ExpeditionB", "13251.875000 0.0 3748.525879", "-96.000000 0.000000 0.000000"); SpawnObject( "Land_CementWorks_ExpeditionB", "13254.599609 0.0 3722.703613", "-96.000000 0.000000 0.000000"); SpawnObject( "Land_CementWorks_ExpeditionB", "13257.344727 0.0 3696.718750", "-96.000000 0.000000 0.000000"); } void SpawnKrasnoBuildings() { SpawnObject( "Land_CementWorks_ExpeditionB", "13251.875000 0.0 3748.525879", "-96.000000 0.000000 0.000000"); SpawnObject( "Land_CementWorks_ExpeditionB", "13254.599609 0.0 3722.703613", "-96.000000 0.000000 0.000000"); SpawnObject( "Land_CementWorks_ExpeditionB", "13257.344727 0.0 3696.718750", "-96.000000 0.000000 0.000000"); } Где после void - название функции идет, а между открытыми скобками вызов спавна самих зданий на указанных координатах.
      На примере 1 строки:
      Land_CementWorks_ExpeditionB - id постройки (type)
      13251.875000 0.0 3748.525879 - координаты в формате X Y Z
      -96.000000 0.000000 0.000000 - значение поворота в формате X Y Z
      Внимание: id постройки и координаты в примере указаны не верные и требуют подключения дополнительной модификации для корректной работы!!! Координаты не соответствуют названию функции!!!
      4. открываем в MpMissions в папке с вашей активной миссией init.c и перед ЗАКРЫВАЮЩЕЙ скобкой '}' дописываем нужную нам функцию (это будет активация спавна на карте):
      SpawnAirfeeldBuildings(); 5. Готово, Запускайте сервер, и в scripts.log вы увидите процедуру спавна ваших зданий и увидите, спавнятся ли они на карте или нет.
      Можно написать конечно и более готовую, универсальную систему спавна на карте со считыванием конфигурации из файла, но я считаю это лишним.
       
      Как заполнить добавленные здания лутом на карте:
      вариант 1:
      https://github.com/Arkensor/DayZCommunityOfflineMode/wiki/Enable-loot-for-custom-placed-objects
      вариант 2: вручную заполнить xml-файл  mapgrouppos.xml в mpmssions данными о местоположении зданий, где rpy - значение поворота здания в формате Z Y X
       
      С помощью данной статьи вы можете разместить любой элемент игры(постройку, животное, зомби, бота), доступный к спавну через любую модификацию-админ. панель. Очень полезный мод в этом смысле BuilderItems, с его помощью можно творить поистину интересные локации!
    • Автор: Venom21
      Появилась такая проблема, нужно закрыть некоторые слоты под одежду, когда на определённый слот одет предмет…
      пример: возьмём экзоскелет от Фидова, там есть две версии которая одеваеться как на тело и ноги, и есть которая одеваться на разгрузку и пояс, так вот, нужно например чтобы при одетом экзаче на тело и ноги слоты под пояс и разгрузку блокировались, либо только под определенные предметы, если есть интерес то цену можем в личке обсудить…
      P.S. Разрешение от Фидова на переделку и переупаковку есть)
  • Наш выбор

×
×
  • Создать...

Важная информация

Используя этот сайт, вы автоматически обязуетесь соблюдать наши Правила и Политика конфиденциальности.
Чтобы сделать этот веб-сайт лучше, мы разместили cookies на вашем устройстве. Вы можете изменить свои настройки cookies, в противном случае мы будем считать, что вы согласны с этим.