Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
  • Need help?

    Create a topic in the appropriate section
    Don't write everything in the chat!
  • Take a look at the marketplace

    There you can buy
    everything related to game servers
  • Don't want a ban?

    Please read our rules
    Don't disturb the order!
  • Sell or buy?

    Use services of the guarantor
    We will make your deal safe
  • 0
MONK

Крашит сервер

Ребят проблема такая крашит сервер переодически! 
В логах в файле краша вот такая ошибка

 

---------------------------------------------
Log C:\DayZServer\Instance_1\crash_2019-12-08_16-46-56.log started at 08.12. 16:59:49



------------------------------------
WIN-T2JUNH63TS8, 08.12 2019 16:59:49

LocalDestroyEntity: No inventory location
Class:      'DayZPlayerInventory'
Function: 'Error'
Stack trace:
scripts/1_Core/proto\endebug.c:44
scripts/3_Game/systems\inventory\humaninventory.c:393
scripts/4_World/entities\manbase\playerbase.c:864
$CurrentDir:mpmissions/dayzOffline.chernarusplus/CustomSpawnPlayerConfig/Sets.c:497
$CurrentDir:mpmissions/dayzOffline.chernarusplus/CustomSpawnPlayerConfig/Sets.c:335
$CurrentDir:mpmissions/dayzOffline.chernarusplus/CustomSpawnPlayerConfig/Script.c:389
$CurrentDir:mpmissions\dayzOffline.chernarusplus\init.c:282
scripts/5_Mission/mission\missionserver.c:357
scripts/5_Mission/mission\missionserver.c:392
scripts/5_Mission/mission\missionserver.c:164
scripts/3_Game/dayzgame.c:1292

стоит кастомный скрипт на спавн игроков... но не могу понять из за чего происходит такое !? Может кто подскажет как лечить!?

Share this post


Link to post
Share on other sites

18 answers to this question

Recommended Posts

  • 0
6 часов назад, MONK сказал:

стоит кастомный скрипт на спавн игроков

 

Share this post


Link to post
Share on other sites









  • 0
47 минут назад, NoNameUltima сказал:

 

Ульт да. CustomSpawnPlayerConfig

Не подскажешь как убрать полностью стандартный спавн шмота из init  !???
Что бы он цеплял только из My_Custom_Spawn_Parameters.Load_And_Check_StartLoadout(player)
Мне протсо надо что бы стандартный рандомный комплект шмоток не спавнился на персонажах. Тупо голые что бы были.
Заранее благодарю.

class CustomMission: MissionServer
{
	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)
	{
		pos = My_Custom_Spawn_Parameters.Load_And_Check_Spawnpoints(identity, pos);
        characterName = My_Custom_Spawn_Parameters.Load_And_Check_SpawnSkin_Player(identity, 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);

			string chemlightArray[] = { "Chemlight_White", "Chemlight_Yellow", "Chemlight_Green", "Chemlight_Red" };
			int rndIndex = Math.RandomInt(0, 4);
			itemEnt = itemTop.GetInventory().CreateInInventory(chemlightArray[rndIndex]);
			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);
		}
		My_Custom_Spawn_Parameters.Load_And_Check_StartLoadout(player);
	}
};

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

 

Edited by MONK (see edit history)

Share this post


Link to post
Share on other sites
  • 0
8 часов назад, MONK сказал:

Ульт да. CustomSpawnPlayerConfig

Не подскажешь как убрать полностью стандартный спавн шмота из init  !???
Что бы он цеплял только из My_Custom_Spawn_Parameters.Load_And_Check_StartLoadout(player)
Мне протсо надо что бы стандартный рандомный комплект шмоток не спавнился на персонажах. Тупо голые что бы были.
Заранее благодарю.


class CustomMission: MissionServer
{
	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)
	{
		pos = My_Custom_Spawn_Parameters.Load_And_Check_Spawnpoints(identity, pos);
        characterName = My_Custom_Spawn_Parameters.Load_And_Check_SpawnSkin_Player(identity, 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);

			string chemlightArray[] = { "Chemlight_White", "Chemlight_Yellow", "Chemlight_Green", "Chemlight_Red" };
			int rndIndex = Math.RandomInt(0, 4);
			itemEnt = itemTop.GetInventory().CreateInInventory(chemlightArray[rndIndex]);
			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);
		}
		My_Custom_Spawn_Parameters.Load_And_Check_StartLoadout(player);
	}
};

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

 

Попробуй так вставить. У меня тоже с файла экипировка идёт. Прописано так:

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

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

 

Edited by zamorochilo (see edit history)

Share this post


Link to post
Share on other sites
  • 0
4 часа назад, zamorochilo сказал:

Попробуй так вставить. У меня тоже с файла экипировка идёт. Прописано так:


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

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

 

Ок вечером попробую спасибо тебе .

Share this post


Link to post
Share on other sites
  • 0
5 минут назад, MONK сказал:

Ок вечером попробую спасибо тебе .

Советую простой вариант без удаления самой функции выбора снаряги:

override void StartingEquipSetup(PlayerBase player, bool clothesChosen)
{
	player.RemoveAllItems(); // Удаляет к х**м инвентарь игрока, только "голое" тело
}

 

Share this post


Link to post
Share on other sites
  • 0
2 часа назад, griha41 сказал:

Советую простой вариант без удаления самой функции выбора снаряги:


override void StartingEquipSetup(PlayerBase player, bool clothesChosen)
{
	player.RemoveAllItems(); // Удаляет к х**м инвентарь игрока, только "голое" тело
}

 

Это в инит прописывать да я?

Share this post


Link to post
Share on other sites
  • 0
1 минуту назад, MONK сказал:

Это в инит прописывать да я?

Вот пример твоего 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.01, 0.1), 0.1, 0);
    weather.GetRain().Set( 0, 0.01, 0.01);
    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 = 8, reset_day = 10;
	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);
			}
		}
	}
}

class CustomMission: MissionServer
{
	override PlayerBase CreateCharacter(PlayerIdentity identity, vector pos, ParamsReadContext ctx, string characterName)
	{	
		Entity playerEnt = null;
		Class.CastTo(m_player, playerEnt);
		GetGame().SelectPlayer(identity, m_player);

		return m_player;
	}

	override void StartingEquipSetup(PlayerBase player, bool clothesChosen)
	{
		player.RemoveAllItems();
	}

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

 

Share this post


Link to post
Share on other sites
  • 0
2 часа назад, griha41 сказал:

Советую простой вариант без удаления самой функции выбора снаряги:


override void StartingEquipSetup(PlayerBase player, bool clothesChosen)
{
	player.RemoveAllItems(); // Удаляет к х**м инвентарь игрока, только "голое" тело
}

 

А да сори , пробовал так всеровно крашит , а ещё перс который прописан по uid если прицелится игра крашится ... этот вариант не идёт ((

Share this post


Link to post
Share on other sites
  • 0
1 минуту назад, griha41 сказал:

Вот пример твоего 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.01, 0.1), 0.1, 0);
    weather.GetRain().Set( 0, 0.01, 0.01);
    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 = 8, reset_day = 10;
	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);
			}
		}
	}
}

class CustomMission: MissionServer
{
	override PlayerBase CreateCharacter(PlayerIdentity identity, vector pos, ParamsReadContext ctx, string characterName)
	{	
		Entity playerEnt = null;
		Class.CastTo(m_player, playerEnt);
		GetGame().SelectPlayer(identity, m_player);

		return m_player;
	}

	override void StartingEquipSetup(PlayerBase player, bool clothesChosen)
	{
		player.RemoveAllItems();
	}

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

 

Ладно буду пробовать все варианты спасибо вам парни ! Если заработает с меня на пивко 

Share this post


Link to post
Share on other sites
  • 0
2 минуты назад, MONK сказал:

А да сори , пробовал так всеровно крашит , а ещё перс который прописан по uid если прицелится игра крашится ... этот вариант не идёт ((

Ам... Ты спросил как раздеть? - я тебе отписал.

если крошит значит ты что-то сломал или удалил функцию.

LocalDestroyEntity: No inventory location Class: 'DayZPlayerInventory' -> Нет инвентаря вот твой краш. Чтоб что-то разместить на челе надо создать ему инвентарь или спаунить в руки.

Share this post


Link to post
Share on other sites
  • 0
2 минуты назад, griha41 сказал:

Ам... Ты спросил как раздеть? - я тебе отписал.

если крошит значит ты что-то сломал или удалил функцию.

LocalDestroyEntity: No inventory location Class: 'DayZPlayerInventory' -> Нет инвентаря вот твой краш. Чтоб что-то разместить на челе надо создать ему инвентарь или спаунить в руки.

Так а поподробней ? Что не так я вроде добавлял все по гайду.. можно пример хотя бы одного комплекта. ??? Дабы был как шаблон мне , заранее спасибо 

Edited by MONK (see edit history)

Share this post


Link to post
Share on other sites
  • 0
Только что, MONK сказал:

Так а поподробней ? Что не так я вроде добавлял все по гайду.. модно пример хотя бы одного комплекта. ??? Дабы был как шаблон мне , заранее спасибо 

Ты мне дай сам скрипт, а лучше миссию. Я не могу лечить удалённо...

Share this post


Link to post
Share on other sites
  • 0

Ладно перезалью составлю сеты по новой видать я что то накосяпорил ...  хорошо хоть понимать буду из за чего ...

Share this post


Link to post
Share on other sites
  • 0
1 минуту назад, griha41 сказал:

Ты мне дай сам скрипт, а лучше миссию. Я не могу лечить удалённо...

Чуть позже залью я в метро просто ( 

 

Share this post


Link to post
Share on other sites
  • 0
Только что, MONK сказал:

Ладно перезалью составлю сеты по новой видать я что то накосяпорил ...  хорошо хоть понимать буду из за чего ...

Так, ладненько, я сейчас тульну тебе из стоковой миссии результат, а там посмотришь и разберёшься. ок?

Share this post


Link to post
Share on other sites
  • 0
1 минуту назад, griha41 сказал:

Так, ладненько, я сейчас тульну тебе из стоковой миссии результат, а там посмотришь и разберёшься. ок?

Ок нет проблем ! Спасибо 🙏 

Share this post


Link to post
Share on other sites
  • 0
14 минут назад, MONK сказал:

Ок нет проблем ! Спасибо 🙏 

Пока у меня стартует тестовый сервак, напиши, когда у тебя падает серв, при подключении или при запуске?

Share this post


Link to post
Share on other sites
  • 0
17 часов назад, griha41 сказал:

Пока у меня стартует тестовый сервак, напиши, когда у тебя падает серв, при подключении или при запуске?

Я в лс тебе написал.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site, you automaticly agree to our Guidelines and Privacy Policy.
We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.