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

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

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

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

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

DAYZ-Expansion - как заменить NPC на модовых?

Доброго времени суток!

Подскажите, как заменить NPC из экспеншиона на модовых (типа Сидора)?

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


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

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

  • 1

Итак, решение для тех, кто хочет заменить дефолтных квестовых NPC на своих из любого мода. На примере NPC из мода TalkingNPC.

 

1. Создаем папку своего мода. К примеру, MyNPC. 

2. В папке мода создаем файл config.cpp:

class CfgPatches
{
	class NPC_Quests_NPCEntities
	{
		units[]={};
		weapons[]={};
		requiredVersion=0.1;
		requiredAddons[]=
		{
			"DayZExpansion_Quests_Dta_Core"
		};
	};
};
class CfgMods
{
	class NPC_Quests_NPCEntities
	{
		dir="MyNPC";
		picture="";
		action="";
		hideName=1;
		hidePicture=1;
		name="NPC_Quest";
		credits="";
		author="";
		authorID="0";
		version="1.0";
		extra=0;
		type="mod";
		dependencies[]=
		{
			"World"
		};
		class defs
		{
			class worldScriptModule
			{
				value="";
				files[]=
				{
					"MyNPC/scripts/4_World"
				};
			};

		};
	};
};
class CfgVehicles
{
	class TNPC_Doctor;
    
	class ExpansionQuestNPCDoktor: TNPC_Doctor
    {
		displayName = "Doctor";
		vehicleClass = "Expansion_Trader";
    };
}

3. Далее создаем в корне папки мода папку Scripts и в ней папку 4_World.

4. В папке 4_World создаем файл ExpansionQuestNPC.c:

class ExpansionQuestNPCDoktor: ExpansionQuestNPCBase {};

5. Запаковываем наш мод в .pbo и через настройку квестовых NPC добавляем новый созданный нами класс ExpansionQuestNPCDoktor:

"ClassName": "ExpansionQuestNPCDoktor"

6. После чего проверяем в игре.

 

P.S. На данном примере мы добавляем анимированных NPC. Но иногда могут попасться в модах статичные NPC. В этом случае в ExpansionQuestNPC.c добавляем класс статичного NPC:

class ExpansionQuestNPCLesnik: ExpansionQuestStaticObject  {};

P.P.S. Анимацию с жестами я еще не проверял, да оно и не к чему особо. Меньше будет нагрузки на сервер.

 

Отдельное спасибо за помощь в решении выражаю dchuba#5378.

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

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


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





  • 0

Если речь идёт о НПС от Фидова то тебе нужно скриптово обозначать их для экспеншена как статичный объект. Типа того:
 

class CfgPatches
{
	class testonemore
	{
		units[]=
		{
			"Land_SeaConteinerRed",
			"StaticObj_Furniture_tac_board"
		};
		magazines[]={};
		weapons[]={};
		requiredVersion=0.1;
		requiredAddons[]=
		{
			"DZ_Data",
			"DZ_Characters_Vests",
			"DZ_Structures",
			"DZ_Characters_Backpacks",
			"DZ_Structures_Wrecks",
			"DZ_Gear_Drinks",
			"DZ_Gear_Medical",
			"DZ_Gear_Consumables",
			"DZ_Gear_Tools",
			"DZ_Gear_Containers",
			"DZ_Weapons_Magazines",
			"DZ_Weapons_Muzzles",
			"DZ_Weapons_Firearms",
			"DZ_Scripts",
			"JM_CF_Scripts",
			"RPC_Scripts",
			"DayZExpansion_Core_Scripts",
			"DayZExpansion_Quests_Scripts",
		};
	};
};
class CfgVehicles
{
	class HouseNoDestruct;
	
		class GMSidor_Static: HouseNoDestruct
	{
		scope = public;
		model = "\SFP2\1_AI\sidor\sidor_completed.p3d";
		forceFarBubble="true";
	};

 

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


Ссылка на сообщение
Поделиться на других сайтах
  • 0
3 часа назад, FreonFIve сказал:

Если речь идёт о НПС от Фидова то тебе нужно скриптово обозначать их для экспеншена как статичный объект. Типа того:
 

class CfgPatches { class testonemore { units[]= { "Land_SeaConteinerRed", "StaticObj_Furniture_tac_board" }; magazines[]={}; weapons[]={}; requiredVersion=0.1; requiredAddons[]= { "DZ_Data", "DZ_Characters_Vests", "DZ_Structures", "DZ_Characters_Backpacks", "DZ_Structures_Wrecks", "DZ_Gear_Drinks", "DZ_Gear_Medical", "DZ_Gear_Consumables", "DZ_Gear_Tools", "DZ_Gear_Containers", "DZ_Weapons_Magazines", "DZ_Weapons_Muzzles", "DZ_Weapons_Firearms", "DZ_Scripts", "JM_CF_Scripts", "RPC_Scripts", "DayZExpansion_Core_Scripts", "DayZExpansion_Quests_Scripts", }; }; }; class CfgVehicles { class HouseNoDestruct; class GMSidor_Static: HouseNoDestruct { scope = public; model = "\SFP2\1_AI\sidor\sidor_completed.p3d"; forceFarBubble="true"; };


class CfgPatches
{
	class testonemore
	{
		units[]=
		{
			"Land_SeaConteinerRed",
			"StaticObj_Furniture_tac_board"
		};
		magazines[]={};
		weapons[]={};
		requiredVersion=0.1;
		requiredAddons[]=
		{
			"DZ_Data",
			"DZ_Characters_Vests",
			"DZ_Structures",
			"DZ_Characters_Backpacks",
			"DZ_Structures_Wrecks",
			"DZ_Gear_Drinks",
			"DZ_Gear_Medical",
			"DZ_Gear_Consumables",
			"DZ_Gear_Tools",
			"DZ_Gear_Containers",
			"DZ_Weapons_Magazines",
			"DZ_Weapons_Muzzles",
			"DZ_Weapons_Firearms",
			"DZ_Scripts",
			"JM_CF_Scripts",
			"RPC_Scripts",
			"DayZExpansion_Core_Scripts",
			"DayZExpansion_Quests_Scripts",
		};
	};
};
class CfgVehicles
{
	class HouseNoDestruct;
	
		class GMSidor_Static: HouseNoDestruct
	{
		scope = public;
		model = "\SFP2\1_AI\sidor\sidor_completed.p3d";
		forceFarBubble="true";
	};

 

 

Не получилось.

 

ExpansionQuestNPCDataBase::SpawnNPC - Used unsupported object GMSidor_Static as quest NPC in config. Only objects based on ExpansionQuestNPCBase class are allowed!
Class:      'ExpansionQuestNPCData'
Function: 'Error'

 

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


Ссылка на сообщение
Поделиться на других сайтах
  • 0
2 часа назад, NEMESIS-TLM сказал:

 

Не получилось.

 

ExpansionQuestNPCDataBase::SpawnNPC - Used unsupported object GMSidor_Static as quest NPC in config. Only objects based on ExpansionQuestNPCBase class are allowed! Class:      'ExpansionQuestNPCData' Function: 'Error'


ExpansionQuestNPCDataBase::SpawnNPC - Used unsupported object GMSidor_Static as quest NPC in config. Only objects based on ExpansionQuestNPCBase class are allowed!
Class:      'ExpansionQuestNPCData'
Function: 'Error'

 

скинь кфг

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


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

В общем я сделал скрипт на добавление модового NPC. Скрипт работает без ошибок. Но он добавляется только в виде eAI (бегает и дерется зараза 😁).

 

class CfgPatches
{
	class TLM_NPC
	{
		units[]={};
		magazines[]={};
		weapons[]={};
		requiredVersion=0.1;
		requiredAddons[]=
		{
			"DZ_Data",
			"DZ_Structures",
			"DZ_Sounds_Effects",
			"DZ_Scripts",
			"JM_CF_Scripts",
			"TalkingNPC",
			"RPC_Scripts",
			"DayZExpansion_Quests_Dta_Core",
			"DayZExpansion_Market_Objects",
            "DayZExpansion_Market_Scripts",
			"DayZExpansion_Core_Scripts",
			"DayZExpansion_Quests_Scripts"
		};
	};
};
class CfgVehicles
{
	class SurvivorF_Eva;
	class ExpansionTraderDenis;
	class ExpansionQuestNPCBase;
	class ExpansionTraderStaticBase;
	class HouseNoDestruct;
	class SurvivorM_Mirek; //! Normal NPC
    class eAI_SurvivorM_Mirek: SurvivorM_Mirek {}; //! AI NPC
			
	class ExpansionQuestNPCSidor: eAI_SurvivorM_Mirek
	{
		displayName = "Sidor";
		model = "\TalkingNPC\models\sidor.p3d";
		vehicleClass = "Expansion_Trader";
	};
	
	class ExpansionQuestNPCAISidor: eAI_SurvivorM_Mirek
	{
		displayName = "Sidor";
		model = "\TalkingNPC\models\sidor.p3d";
		vehicleClass = "Expansion_Trader";
	};
	
};	

 

А для того, чтобы добавить его в квесты, надо сделать следующее:

Скрытый текст

 

Script class example for a normal quest NPC in the 4_World script module of your mod:

class ExpansionQuestNPCMirek: ExpansionQuestNPCBase {};

Script class example for an Enfusion AI quest NPC in the 4_World script module of your mod:

class ExpansionQuestNPCAIMirek: ExpansionQuestNPCAIBase {};

 

 

Я так понял надо добавить новый класс своего NPC в 4_World. Вот и вопрос как правильно скрипт написать на добавление нового класса к существующим квестовым NPC?

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

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


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

Я делал НПС (типа Сидора который за столом сидит или лесника что на кровати) через вышескинутый скрипт ставя им HouseNoDestruct и обозначая их для экспеншена как статичный объект.

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


Ссылка на сообщение
Поделиться на других сайтах
  • 0
7 минут назад, FreonFIve сказал:

Я делал НПС (типа Сидора который за столом сидит или лесника что на кровати) через вышескинутый скрипт ставя им HouseNoDestruct и обозначая их для экспеншена как статичный объект.

Если не сложно, сбрось пожалуйста твой полный скрипт и настройку НПС для квестов? Если удобно, то пообщались бы в дискорде...

Я уже сделал даже так, что Сидор у меня в виде eAI, в виде торговца, а вот квестовым НПС ну никак не получается. Постоянная ошибка в краш логе.

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


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

Решение найдено! Спасибо за помощь!

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


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

осталось поделиться им с окружающими, чтобы потом еще 10 человек то же самое не спросили 😄

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


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

https://steamcommunity.com/sharedfiles/filedetails/?id=3046741855

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

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


Ссылка на сообщение
Поделиться на других сайтах
  • 0
30.03.2023 в 22:46, NEMESIS-TLM сказал:

Решение найдено! Спасибо за помощь!

Поделитесь пожалуйста решением

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


Ссылка на сообщение
Поделиться на других сайтах
  • 0
13.02.2024 в 05:04, Makus сказал:

Поделитесь пожалуйста решением

Решение вторым сообщением идет. Но оно не работает. Вроде все добавил.

 

class CfgPatches
{
	class NPC_Quests_NPCEntities
	{
		units[]={};
		weapons[]={};
		requiredVersion=0.1;
		requiredAddons[]=
		{
			"DayZExpansion_Quests_Dta_Core"
		};
	};
};
class CfgMods
{
	class NPC_Quests_NPCEntities
	{
		dir="MyNPC";
		picture="";
		action="";
		hideName=1;
		hidePicture=1;
		name="NPC_Quest";
		credits="";
		author="";
		authorID="0";
		version="1.0";
		extra=0;
		type="mod";
		dependencies[]=
		{
			"World"
		};
		class defs
		{
			class worldScriptModule
			{
				value="";
				files[]=
				{
					"MyNPC/scripts/4_World"
				};
			};

		};
	};
};
class CfgVehicles
{
	class NPC_AoD_Volk;
    
	class R_NPC_Volk: NPC_AoD_Volk
    {
		displayName = "Doctor";
		vehicleClass = "Expansion_Trader";
    };
}
class NPC_AoD_Volk: ExpansionQuestNPCBase {};

 

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

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


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

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

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

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

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

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

Войти

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

Войти сейчас

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

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

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