Перейти к содержимому


Фотография

Как создать новый класс бойца


Лучший Ответ SteelRat , 24 October 2014 - 19:29

Простенький пример.
За сложненьким примером добро пожаловать в:
Папка установки Арма 3\addons\characters.pbo
А здесь я постараюсь быть кратким.
 
Создайте в удобном месте на вашем диске папку:
myCharacters

в этой папке создайте текстовый файл без расширения, СОВСЕМ без расширения:

$PREFIX$

этот файл будет содержать в себе путь к содержимому аддона, напишите в него так:

myCharacters
В этой же папке создайте текстовый файл с расширением config.cpp, в этом файле собственно и создаются новые классы объектов.
Классы Vehicles создаются в:
class CfgVehicles {};
/*
	file: config.cpp
*/
#define true	1
#define false	0

#define VSoft		0
#define VArmor		1
#define VAir		2

#define TEast		0
#define TWest		1
#define TGuerrila		2
#define TCivilian		3
#define TSideUnknown		4
#define TEnemy		5
#define TFriendly		6
#define TLogic		7

#define private		0
#define protected		1
#define public		2

enum {
	DESTRUCTENGINE = 2,
	DESTRUCTDEFAULT = 6,
	DESTRUCTWRECK = 7,
	DESTRUCTTREE = 3,
	DESTRUCTTENT = 4,
	STABILIZEDINAXISX = 1,
	STABILIZEDINAXESXYZ = 4,
	STABILIZEDINAXISY = 2,
	STABILIZEDINAXESBOTH = 3,
	DESTRUCTNO = 0,
	STABILIZEDINAXESNONE = 0,
	DESTRUCTMAN = 5,
	DESTRUCTBUILDING = 1,
};

class CfgPatches {
	class A3_MyCharacters_F {
		units[] = {};	//	здесь нужно перечислить все новые, созднанные вами классы, пример: units[] = {"soldier_1", "soldier_2"};
		weapons[] = {};	//	если вы создали новый класс униформы или оружия, об этом желательно упомянуть здесь: weapons[] = {"U_soldier_1", "My_Big_Gun_120mm"};
		requiredVersion = 0.1;
		requiredAddons[] = {"A3_Data_F", "A3_Weapons_F"};	//	Здесь перечисляются аддоны наличие которых обязательно для вашей конфигурации
	};
};

class CfgVehicles {
/*
	Здесь собственно и создаёте новые классы, или переопределяете дефолтные.
	То есть для ваших целей не обязательно создавать новые, вполне можно отредактировать на свой вкус ванильные классы
	
	за примерами идти: Characters_F.pbo\config.bin\class CfgVehicles
	там и увидите как создаются бойцы, и остальное что связано с этим конфигурационным классом
*/

	class Civilian_F;	// Преред тем как создать, или отредактировать существующий класс, нужно определить или объявить, это как кому угодно, родительский или базовый, опять по вкусу, класс

	class C_man_1: Civilian_F {	// В данном случае мы редактируем уже существующий класс C_man_1
		/* 
		- дефолтные параметры -
		weapons[] = {"Throw", "Put", "ItemMap", "ItemCompass", "ItemWatch", "ItemRadio"};
		respawnWeapons[] = {"Throw", "Put", "ItemMap", "ItemCompass", "ItemWatch", "ItemRadio"};
		*/
		
		/* меняем на свои */
		weapons[] = {"Throw", "Put"};
		respawnWeapons[] = {"Throw", "Put"};
		
		// и так далее, переопределяете параметры согласно своим требованиям, и ваши требования должны выражаться корректно
	};

	class C_MyMan_1: Civilian_F {	//	Здесь на базе класса Civilian_F мы создаём новый класс
		author = "SteelRat";
		displayName = "My man 1";
		
		//	И далее определяете каким параметрам должен отвечать данный класс
	};
	
/*
	Здесь же вы можете создать новый класс контейнера - ammoBox - weaponBox - BackPack
	За примерами идёте в weapons_f.pbo
	в class CfgVehicles
*/	
	
};

class cfgWeapons {
/*
	Здесь создаются униформы, разгрузки, головные уборы, невероятно большое кол-во примеров найдёте в characters.pbo в class cfgWeapons
	В этом же классе создаются новые классы пушек, или редактируются параметры уже созданных, за примерами идёте в weapons_f.pbo в class cfgWeapons
*/
};

Далее упакуйте папку myCharacters в:

myCharacters.pbo

В папке установки Арма 3 создайте такой путь

 

папка

@myCharacters

в этой папке создайте папку:

addons

и в эту папку положите готовый аддон

myCharacters.pbo

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

Перейти к сообщению


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 78

#21 OFFLINE   SteelRat

SteelRat

    Полковник

  • Пользователи
  • 3241 сообщений
  • Откуда:РФ

Отправлено 20 January 2015 - 02:07

знатоки армы 3 я весь в растерянности!  скажите пожалуйста  возможно ли!?? в редакторе арма 3 поставить мод зомби чтоб можно было им пользоваться? пробовал по по разному не получается (((( .мод с армы 2 

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

 

А! Ну да! Я на это уже отвечал.


  • 0

#22 OFFLINE   konsul1

konsul1

    Рядовой

  • Пользователи
  • 23 сообщений

Отправлено 23 August 2015 - 20:01

Cогласно вашему примеру прописал новый класс бойца. Т.е я прописал майора, подполковника и полковника. Сделал аддон @myCharacters. ... Значит  какая проблема, может сможет кто помочь. Почему то униформа у всех моих трёх новых бойцов ,а так же иконки не показываются. Может надо как то путь по другому прописать ? Вот пример из скрипта : ( Красным прописал путь к моим текстурам иконок и униформы. ) При наведении на любого бойца пишется как например на скрине : Майор. А погоны у всех лейтенантские т.к почему то моих текстур не видит

 

class LIB_SOV_polkownik : LIB_SOV_lieutenant {
displayName = "$STR_LIB_SOV_polkownik";
portrait = "myCharacters\data\ico\Soviet_polkownik_icon_ca.paa";
magazines[] = {"lib_35rnd_762x25", "lib_8Rnd_762x25", "lib_8Rnd_762x25", "lib_8Rnd_762x25", "lib_8Rnd_762x25", "lib_8Rnd_762x25"};
respawnMagazines[] = {"lib_35rnd_762x25", "lib_8Rnd_762x25", "lib_8Rnd_762x25", "lib_8Rnd_762x25", "lib_8Rnd_762x25", "lib_8Rnd_762x25"};
hiddenSelectionsTextures[] = {"", "lib\lib_sov_characters\data\sov_decal_medal_of_valor_ca.paa", "lib\lib_sov_characters\data\sov_decal_order_red_banner_ca.paa", "lib\lib_sov_characters\data\sov_decal_wound_stripes_ca.paa", "", "myCharacters\data\sov_officer_1_co.paa", "", "", "LIB\LIB_sov_characters\data\sov_eqipment_3_co.paa", "", "", "LIB\LIB_sov_characters\data\sov_eqipment_0_co.paa", "LIB\LIB_sov_characters\data\sov_eqipment_0_co.paa", "LIB\LIB_sov_characters\data\sov_eqipment_3_co.paa", "LIB\lib_sov_characters\data\soviet_furajka_co.paa"};
};

 

2015-08-23_00001.jpg


Сообщение отредактировал konsul1: 23 August 2015 - 20:03

  • 0

#23 OFFLINE   SteelRat

SteelRat

    Полковник

  • Пользователи
  • 3241 сообщений
  • Откуда:РФ

Отправлено 23 August 2015 - 23:47

class CfgPatches {
	class A3_MyCharacters_F {
		units[] = {};	//	здесь нужно перечислить все новые, созднанные вами классы, пример: units[] = {"soldier_1", "soldier_2"};
		weapons[] = {};	//	если вы создали новый класс униформы или оружия, об этом желательно упомянуть здесь: weapons[] = {"U_soldier_1", "My_Big_Gun_120mm"};
		requiredVersion = 0.1;
		requiredAddons[] = {"A3_Data_F", "A3_Weapons_F"};	//	Здесь перечисляются аддоны наличие которых обязательно для вашей конфигурации
	};
};

Изучаем внимательнее эту часть !

 

А так же, распаковываем аддон characters_f.pbo армы, в распакованной папке разбинариваем файл config.bin, и лицезреем около 2 мегабайт сплошных примеров.


  • 0

#24 OFFLINE   konsul1

konsul1

    Рядовой

  • Пользователи
  • 23 сообщений

Отправлено 24 August 2015 - 12:39

class CfgPatches {
	class A3_MyCharacters_F {
		units[] = {};	//	здесь нужно перечислить все новые, созднанные вами классы, пример: units[] = {"soldier_1", "soldier_2"};
		weapons[] = {};	//	если вы создали новый класс униформы или оружия, об этом желательно упомянуть здесь: weapons[] = {"U_soldier_1", "My_Big_Gun_120mm"};
		requiredVersion = 0.1;
		requiredAddons[] = {"A3_Data_F", "A3_Weapons_F"};	//	Здесь перечисляются аддоны наличие которых обязательно для вашей конфигурации
	};
};

Изучаем внимательнее эту часть !

 

А так же, распаковываем аддон characters_f.pbo армы, в распакованной папке разбинариваем файл config.bin, и лицезреем около 2 мегабайт сплошных примеров.

 

Спасибо за ответ. Вот мой пример вашего кода :

 

class CfgPatches {
class myCharacters {
units[] = { "LIB_SOV_major", "LIB_SOV_podpolkownik", "LIB_SOV_polkownik"};
weapons[] = { "sov_officer_1_co", "Soviet_major_icon_ca", "Soviet_podpolkownik_icon_ca", "Soviet_polkownik_icon_ca"};
requiredVersion = 0.1;
requiredAddons[] = {"LIB_core", "LIB_sov_infantry", "lib_weapons"};
};
};
 
Не работает всё равно. Не показывает мои текстуры.  Если в моём примере,что я писал выше, написать в код так :
 
class LIB_SOV_polkownik : LIB_SOV_capitan {
displayName = "$STR_LIB_SOV_polkownik";
 
То тогда все мои новые три солдата будут капитаны.  А мне нужны майор, подполковник и полковник..... Вообще найти пример со званиями невозможно в характере армы. Все делают униформы без погон. Что это за военный,который не имеет погон

Сообщение отредактировал konsul1: 24 August 2015 - 17:37

  • 0

#25 OFFLINE   konsul1

konsul1

    Рядовой

  • Пользователи
  • 23 сообщений

Отправлено 24 August 2015 - 22:42

Вот файл целиком. Может кто подскажет где ошибка ? Возможно я должен как то класс униформы прописать для этих новых юнитов ?

 

#define private 0
#define protected 1
#define public 2
 
#define true 1
#define false 0
 
#define TEast 0
#define TWest 1
#define TGuerrila 2
#define TCivilian 3
#define TSideUnknown 4
#define TEnemy 5
#define TFriendly 6
#define TLogic 7
 
class CfgPatches {
class myCharacters {
units[] = {"LIB_SOV_major", "LIB_SOV_podpolkownik ", "LIB_SOV_polkownik"};
weapons[] = { };
requiredVersion = 0.1;
requiredAddons[] = {"LIB_core", "LIB_sov_infantry", "lib_weapons" };
};
};
 
class CfgVehicles {
class CAManBase; // External class reference
 
class SoldierEB : CAManBase {
class ViewPilot; // External class reference
};
 
class LIB_sov_soldier_base : SoldierEB {
canCarryBackPack = 1;
backpack = "";
languages[] = {LIB_SU};
identityTypes[] = {"LIB_Glasses", "Head_LIB_SOV", "Head_LIB_SOV_CO", "Head_LIB_INS"};
portrait = "LIB\LIB_sov_characters\data\ico\sov_soldier_picture.paa";
 
// internal camera viewing limitations
class ViewPilot : ViewPilot {
initFov = 0.7;
minFov = 0.25;
maxFov = 1.1;
initAngleX = 8;
minAngleX = -85;
maxAngleX = 85;
initAngleY = 0;
minAngleY = -150;
maxAngleY = 150;
};
 
class Wounds {
tex[] = {};
mat[] = {"ca\characters\data\hhl.rvmat", "ca\characters\data\us_hhl_wound1.rvmat", "ca\characters\data\us_hhl_wound2.rvmat", "lib\LIB_sov_characters\sov_soldier_0.rvmat", "lib\LIB_sov_characters\sov_soldier_0_w1.rvmat", "lib\LIB_sov_characters\sov_soldier_0_w2.rvmat"};
};
};
 
    class LIB_SOV_major : LIB_sov_soldier_base {
scope = public;
accuracy = 3.9; // accuracy needed to recognize type of this target
model = "\myCharacters\lib_sov_officer_base.p3d";
displayName = "$STR_LIB_SOV_major";
portrait = "\myCharacters\data\ico\Soviet_major_icon_ca.paa";
weapons[] = {"lib_ppsh41_m", "lib_tt33", "LIB_Binocular_SU", "Throw", "Put", "ItemMap", "ItemCompass", "ItemWatch"};
magazines[] = {"lib_35rnd_762x25", "lib_35rnd_762x25", "lib_35rnd_762x25", "lib_35rnd_762x25", "lib_35rnd_762x25", "lib_35rnd_762x25", "lib_8Rnd_762x25", "lib_8Rnd_762x25", "lib_8Rnd_762x25", "lib_8Rnd_762x25", "lib_8Rnd_762x25"};
respawnWeapons[] = {"lib_ppsh41_m", "lib_tt33", "LIB_Binocular_SU", "Throw", "Put", "ItemMap", "ItemCompass", "ItemWatch"};
respawnMagazines[] = {"lib_35rnd_762x25", "lib_35rnd_762x25", "lib_35rnd_762x25", "lib_35rnd_762x25", "lib_35rnd_762x25", "lib_35rnd_762x25", "lib_8Rnd_762x25", "lib_8Rnd_762x25", "lib_8Rnd_762x25", "lib_8Rnd_762x25", "lib_8Rnd_762x25"};
 
class Wounds {
tex[] = {};
mat[] = {"ca\characters\data\hhl.rvmat", "ca\characters\data\us_hhl_wound1.rvmat", "ca\characters\data\us_hhl_wound2.rvmat", "\myCharacters\sov_officer_0.rvmat", "\myCharacters\sov_officer_0_w1.rvmat", "\myCharacters\sov_officer_0_w2.rvmat"};
};
hiddenSelections[] = {"decal_guards", "decal_medal_of_valor", "decal_order_red_banner", "decal_wound_stripes", "decal_straps_artleit", "decal_straps_capt", "decal_straps_leit", "decal_straps_stleit", "eqip_binocular_case", "eqip_helmet", "eqip_forage_cap", "eqip_holster", "eqip_officer_tablet", "eqip_ppsh_box_mag_right", "eqip_officer_cap"};
hiddenSelectionsTextures[] = {"", "", "", "", "", "", "\myCharacters\data\sov_officer_1_co.paa", "", "\myCharacters\sov_eqipment_3_co.paa", "\myCharacters\sov_eqipment_1_co.paa", "", "\myCharacters\sov_eqipment_0_co.paa", "\myCharacters\sov_eqipment_0_co.paa", "\myCharacters\sov_eqipment_3_co.paa", ""};
};
 
 
class LIB_SOV_podpolkownik : LIB_SOV_major {
displayName = "$STR_LIB_SOV_podpolkownik";
portrait = "myCharacters\data\ico\Soviet_podpolkownik_icon_ca.paa";
hiddenSelectionsTextures[] = {"", "lib\lib_sov_characters\data\sov_decal_medal_of_valor_ca.paa", "", "", "", "", "", "myCharacters\data\sov_officer_1_co.paa", "\myCharacters\sov_eqipment_3_co.paa", "\myCharacters\sov_eqipment_1_co.paa", "", "\myCharacters\sov_eqipment_0_co.paa", "\myCharacters\sov_eqipment_0_co.paa", "\myCharacter\sov_eqipment_3_co.paa", ""};
};
 
class LIB_SOV_polkownik : LIB_SOV_major {
displayName = "$STR_LIB_SOV_polkownik";
portrait = "myCharacters\data\ico\Soviet_polkownik_icon_ca.paa";
magazines[] = {"lib_35rnd_762x25", "lib_8Rnd_762x25", "lib_8Rnd_762x25", "lib_8Rnd_762x25", "lib_8Rnd_762x25", "lib_8Rnd_762x25"};
respawnMagazines[] = {"lib_35rnd_762x25", "lib_8Rnd_762x25", "lib_8Rnd_762x25", "lib_8Rnd_762x25", "lib_8Rnd_762x25", "lib_8Rnd_762x25"};
hiddenSelectionsTextures[] = {"", "lib\lib_sov_characters\data\sov_decal_medal_of_valor_ca.paa", "lib\lib_sov_characters\data\sov_decal_order_red_banner_ca.paa", "lib\lib_sov_characters\data\sov_decal_wound_stripes_ca.paa", "", "myCharacters\data\sov_officer_1_co.paa", "", "", "\myCharacters\sov_eqipment_3_co.paa", "", "", "\myCharacters\sov_eqipment_0_co.paa", "\myCharacters\sov_eqipment_0_co.paa", "\myCharacters\sov_eqipment_3_co.paa", "\myCharacters\data\soviet_furajka_co.paa"};
};
};

Сообщение отредактировал konsul1: 25 August 2015 - 14:09

  • 0

#26 OFFLINE   dos622

dos622

    Ст. Прапорщик

  • Пользователи
  • 702 сообщений

Отправлено 27 August 2015 - 18:39

проверяй пути до текстур, у тебя там бардак, то в корне каталога, они прописаны то вдруг в каталоге data, то какой то еще lib

lib\lib_sov_characters\data\sov_decal_medal_of_valor_ca.paa
lib\lib_sov_characters\data\sov_decal_medal_of_valor_ca.paa
\myCharacters\data\soviet_furajka_co.paa
\myCharacters\sov_eqipment_0_co.paa

и еще ошибки в синтаксисе:

class LIB_SOV_major : LIB_sov_soldier_base {
......
respawnMagazines[] = {"lib_35rnd_762x25", "lib_35rnd_762x25", "lib_35rnd_762x25", "lib_35rnd_762x25", "lib_35rnd_762x25", "lib_35rnd_762x25", "lib_8Rnd_762x25", "lib_8Rnd_762x25", "lib_8Rnd_762x25", "lib_8Rnd_762x25", "lib_8Rnd_762x25"};

не хватает: };
class Wounds {

Сообщение отредактировал dos622: 27 August 2015 - 18:44

  • 0

#27 OFFLINE   vlad333000

vlad333000

    Полковник

  • Пользователи
  • 3224 сообщений
  • Откуда:Кострома

Отправлено 27 August 2015 - 19:11

dos622, я не пойму зачем он пытается портировать ирон фронт, если в сети уже давным давно лежит мод ирон фронт для а3
  • 0

#28 OFFLINE   dos622

dos622

    Ст. Прапорщик

  • Пользователи
  • 702 сообщений

Отправлено 27 August 2015 - 19:47

vlad333000, каждый удовольствие по своему получает:)


  • 0

#29 OFFLINE   konsul1

konsul1

    Рядовой

  • Пользователи
  • 23 сообщений

Отправлено 28 August 2015 - 19:23

dos622, я не пойму зачем он пытается портировать ирон фронт, если в сети уже давным давно лежит мод ирон фронт для а3

Ну и что толку, что есть мод. Там званий нет. Заканчивается капитаном. Нет например там и младшего сержанта. Вот поэтому я и хотел добавить дополнительные звания. У нас есть проект,на котором люди имеют звание например подполковник, а в игре его нет.

 

 

проверяй пути до текстур, у тебя там бардак, то в корне каталога, они прописаны то вдруг в каталоге data, то какой то еще lib

lib\lib_sov_characters\data\sov_decal_medal_of_valor_ca.paa
lib\lib_sov_characters\data\sov_decal_medal_of_valor_ca.paa
\myCharacters\data\soviet_furajka_co.paa
\myCharacters\sov_eqipment_0_co.paa

и еще ошибки в синтаксисе:

class LIB_SOV_major : LIB_sov_soldier_base {
......
respawnMagazines[] = {"lib_35rnd_762x25", "lib_35rnd_762x25", "lib_35rnd_762x25", "lib_35rnd_762x25", "lib_35rnd_762x25", "lib_35rnd_762x25", "lib_8Rnd_762x25", "lib_8Rnd_762x25", "lib_8Rnd_762x25", "lib_8Rnd_762x25", "lib_8Rnd_762x25"};

не хватает: };
class Wounds {

Так как текстуры не вызываются с Ирон фронта (lib\lib_sov_characters\data\), то я пытался положить в свою папку с характером и вызвать их. При том, новые текстуры, которые я создал с униформой майора, подполковника и полковника, а так же их текстуры иконок, я положил в свою папку .

Насчёт class Wounds { , он есть у меня в скрипте у майора. А полковник и подполковник ссылаются на скрипт майора.

 

Дальше, я понимаю, что должно быть описание униформы. Но я не очень понимаю как её правильно описать. Вот написал так

 

class cfgWeapons {
class Uniform_Base; // External class reference
class UniformItem; // External class reference
 
class myCharacters  : Uniform_Base {
scope = public;
displayName = "LIB_SOV_major)";
picture = "myCharacters\data\ico\Soviet_major_icon_ca.paa";
model = "LIB\LIB_sov_characters\lib_sov_officer_base.p3d";
 
class ItemInfo : UniformItem {
uniformModel = "-";
uniformClass = "Example_Soldier_F";
containerClass = "Supply20";
mass = 80;
};
};
};
 

 

Но видимо что то не правильно пишу. 


Сообщение отредактировал konsul1: 28 August 2015 - 19:27

  • 0

#30 OFFLINE   dos622

dos622

    Ст. Прапорщик

  • Пользователи
  • 702 сообщений

Отправлено 28 August 2015 - 21:01


он есть у меня в скрипте у майора. А полковник и подполковник ссылаются на скрипт майора.

 

ты так и не понял:)) у тебя бардак, что в синтаксисе, что в хранении текстур:)

положи текстуры все в одну папку и вызывай, и проверяй все скобки, у тебя "class LIB_SOV_major" открывается, но не закрывается:)


  • 0

#31 OFFLINE   konsul1

konsul1

    Рядовой

  • Пользователи
  • 23 сообщений

Отправлено 29 August 2015 - 01:11

 


он есть у меня в скрипте у майора. А полковник и подполковник ссылаются на скрипт майора.

 

ты так и не понял :)) у тебя бардак, что в синтаксисе, что в хранении текстур :)

положи текстуры все в одну папку и вызывай, и проверяй все скобки, у тебя "class LIB_SOV_major" открывается, но не закрывается :)

 

Насчёт синтакса понял,сейчас скобочку допишу. Благодарю . А насчёт текстур, то я не могу в оригинальную папку игры положить мои текстуры. Сразу игра Ирон фронт накрывается. Потом её надо перезаписывать всю. Поэтому я несколько текстур,а именно новую униформу и иконки к этой униформы положил в свою папку . В примере выше,я пробовал вышеперечисленные текстуры положить тоже в мою папку,но ничего не вышло. Скрипт у меня сейчас такой :

 

#define private 0
#define protected 1
#define public 2
 
#define true 1
#define false 0
 
#define TEast 0
#define TWest 1
#define TGuerrila 2
#define TCivilian 3
#define TSideUnknown 4
#define TEnemy 5
#define TFriendly 6
#define TLogic 7
 
class CfgPatches {
class myCharacters {
units[] = {"LIB_SOV_major", "LIB_SOV_podpolkownik ", "LIB_SOV_polkownik"};
weapons[] = { };
requiredVersion = 0.1;
requiredAddons[] = {"LIB_core", "LIB_sov_infantry", "lib_weapons" };
};
};
 
class CfgVehicles {
class CAManBase; // External class reference
 
class SoldierEB : CAManBase {
class ViewPilot; // External class reference
};
 
class LIB_sov_soldier_base : SoldierEB {
canCarryBackPack = 1;
backpack = "";
languages[] = {LIB_SU};
identityTypes[] = {"LIB_Glasses", "Head_LIB_SOV", "Head_LIB_SOV_CO", "Head_LIB_INS"};
portrait = "LIB\LIB_sov_characters\data\ico\sov_soldier_picture.paa";
 
// internal camera viewing limitations
class ViewPilot : ViewPilot {
initFov = 0.7;
minFov = 0.25;
maxFov = 1.1;
initAngleX = 8;
minAngleX = -85;
maxAngleX = 85;
initAngleY = 0;
minAngleY = -150;
maxAngleY = 150;
};
 
class Wounds {
tex[] = {};
mat[] = {"ca\characters\data\hhl.rvmat", "ca\characters\data\us_hhl_wound1.rvmat", "ca\characters\data\us_hhl_wound2.rvmat", "lib\LIB_sov_characters\sov_soldier_0.rvmat", "lib\LIB_sov_characters\sov_soldier_0_w1.rvmat", "lib\LIB_sov_characters\sov_soldier_0_w2.rvmat"};
};
};
 
    class LIB_SOV_major : LIB_sov_soldier_base {
scope = public;
accuracy = 3.9; // accuracy needed to recognize type of this target
model = "lib\LIB_sov_characters\lib_sov_officer_base.p3d";
displayName = "$STR_LIB_SOV_major";
portrait = "myCharacters\data\ico\Soviet_major_icon_ca.paa";
weapons[] = {"lib_ppsh41_m", "lib_tt33", "LIB_Binocular_SU", "Throw", "Put", "ItemMap", "ItemCompass", "ItemWatch"};
magazines[] = {"lib_35rnd_762x25", "lib_35rnd_762x25", "lib_35rnd_762x25", "lib_35rnd_762x25", "lib_35rnd_762x25", "lib_35rnd_762x25", "lib_8Rnd_762x25", "lib_8Rnd_762x25", "lib_8Rnd_762x25", "lib_8Rnd_762x25", "lib_8Rnd_762x25"};
respawnWeapons[] = {"lib_ppsh41_m", "lib_tt33", "LIB_Binocular_SU", "Throw", "Put", "ItemMap", "ItemCompass", "ItemWatch"};
respawnMagazines[] = {"lib_35rnd_762x25", "lib_35rnd_762x25", "lib_35rnd_762x25", "lib_35rnd_762x25", "lib_35rnd_762x25", "lib_35rnd_762x25", "lib_8Rnd_762x25", "lib_8Rnd_762x25", "lib_8Rnd_762x25", "lib_8Rnd_762x25", "lib_8Rnd_762x25"};
};
class Wounds {
tex[] = {};
mat[] = {"ca\characters\data\hhl.rvmat", "ca\characters\data\us_hhl_wound1.rvmat", "ca\characters\data\us_hhl_wound2.rvmat", "lib\LIB_sov_characters\sov_officer_0.rvmat", "lib\LIB_sov_characters\sov_officer_0_w1.rvmat", "lib\LIB_sov_characters\sov_officer_0_w2.rvmat"};
};
hiddenSelections[] = {"decal_guards", "decal_medal_of_valor", "decal_order_red_banner", "decal_wound_stripes", "decal_straps_artleit", "decal_straps_capt", "decal_straps_leit", "decal_straps_stleit", "eqip_binocular_case", "eqip_helmet", "eqip_forage_cap", "eqip_holster", "eqip_officer_tablet", "eqip_ppsh_box_mag_right", "eqip_officer_cap"};
hiddenSelectionsTextures[] = {"", "", "", "", "", "", "myCharacters\data\sov_officer_1_co.paa", "", "lib\LIB_sov_characters\sov_eqipment_3_co.paa", "lib\LIB_sov_characters\sov_eqipment_1_co.paa", "", "lib\LIB_sov_characters\sov_eqipment_0_co.paa", "lib\LIB_sov_characters\sov_eqipment_0_co.paa", "lib\LIB_sov_characters\sov_eqipment_3_co.paa", ""};
};
};
 
class LIB_SOV_podpolkownik : LIB_SOV_major {
displayName = "$STR_LIB_SOV_podpolkownik";
portrait = "myCharacters\data\ico\Soviet_podpolkownik_icon_ca.paa";
hiddenSelectionsTextures[] = {"", "lib\lib_sov_characters\data\sov_decal_medal_of_valor_ca.paa", "", "", "", "", "", "myCharacters\data\sov_officer_1_co.paa", "lib\LIB_sov_characters\sov_eqipment_3_co.paa", "lib\LIB_sov_characters\sov_eqipment_1_co.paa", "", "lib\LIB_sov_characters\sov_eqipment_0_co.paa", "lib\LIB_sov_characters\sov_eqipment_0_co.paa", "lib\LIB_sov_characters\sov_eqipment_3_co.paa", ""};
};
};
 
class LIB_SOV_polkownik : LIB_SOV_major {
displayName = "$STR_LIB_SOV_polkownik";
portrait = "myCharacters\data\ico\Soviet_polkownik_icon_ca.paa";
magazines[] = {"lib_35rnd_762x25", "lib_8Rnd_762x25", "lib_8Rnd_762x25", "lib_8Rnd_762x25", "lib_8Rnd_762x25", "lib_8Rnd_762x25"};
respawnMagazines[] = {"lib_35rnd_762x25", "lib_8Rnd_762x25", "lib_8Rnd_762x25", "lib_8Rnd_762x25", "lib_8Rnd_762x25", "lib_8Rnd_762x25"};
hiddenSelectionsTextures[] = {"", "lib\lib_sov_characters\data\sov_decal_medal_of_valor_ca.paa", "lib\lib_sov_characters\data\sov_decal_order_red_banner_ca.paa", "lib\lib_sov_characters\data\sov_decal_wound_stripes_ca.paa", "", "myCharacters\data\sov_officer_1_co.paa", "", "", "lib\LIB_sov_characters\sov_eqipment_3_co.paa", "", "", "\lib\LIB_sov_characters\sov_eqipment_0_co.paa", "lib\LIB_sov_characters\sov_eqipment_0_co.paa", "lib\LIB_sov_characters\sov_eqipment_3_co.paa", "lib\LIB_sov_characters\data\soviet_furajka_co.paa"};
};
};
};

Сообщение отредактировал konsul1: 29 August 2015 - 01:42

  • 0

#32 OFFLINE   dos622

dos622

    Ст. Прапорщик

  • Пользователи
  • 702 сообщений

Отправлено 29 August 2015 - 02:10


папку игры положить мои текстуры. Сразу игра Ирон фронт накрывается.

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

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


  • 0

#33 OFFLINE   SteelRat

SteelRat

    Полковник

  • Пользователи
  • 3241 сообщений
  • Откуда:РФ

Отправлено 29 August 2015 - 19:26

Данному господину стоит распаковать ванильный

characters_f.pbo

и посмотреть как правильно создаются классы бойцов.

 

Он создал кучу новых классов, но не одному не выдал соответствующую новую униформу!

Весь конфиг ни куда не годится.

Вперёд учиться у БИСов.


class CfgPatches {
  class myCharacters {
     units[] = {"LIB_SOV_major", "LIB_SOV_podpolkownik ", "LIB_SOV_polkownik"};
     weapons[] = { };
     requiredVersion = 0.1;
     requiredAddons[] = {"LIB_core", "LIB_sov_infantry", "lib_weapons" };

  };
};

Класс ВАШ_ХАРАКТЕР тут вообще не при делах

class CfgPatches {
     units[] = {"LIB_SOV_major", "LIB_SOV_podpolkownik ", "LIB_SOV_polkownik"};
     weapons[] = { };
     requiredVersion = 0.1;
     requiredAddons[] = {"LIB_core", "LIB_sov_infantry", "lib_weapons" };
};

Класс

SoldierEB

это очень базовый класс, лучше брать более конфигурированный класс, как вариант

B_soldier_F

  • 0

#34 OFFLINE   SteelRat

SteelRat

    Полковник

  • Пользователи
  • 3241 сообщений
  • Откуда:РФ

Отправлено 29 August 2015 - 19:32

 

Насчёт class Wounds { , он есть у меня в скрипте у майора. А полковник и подполковник ссылаются на скрипт майора.

Это не скрипты! Это конфигурационные классы!

Некоторые одарённые уверовав в скриптование с дуру ума начинали писать в конфигурацию скриптовые команды, называйте вещи своими именами, для взаимопонимания, и что бы не столкнуться в дальнейшем с разного рода недоразумениями.


  • 0

#35 OFFLINE   SteelRat

SteelRat

    Полковник

  • Пользователи
  • 3241 сообщений
  • Откуда:РФ

Отправлено 29 August 2015 - 19:40

ЗЫ

Коротенький брифинг.

 

В арме 3, не очень таки многое изменилось с Армы 2.

 

Меняю боту униформу, не важно кодом или через инвентарь, вы не меняете униформу! Вы меняете модель, как и в арме 2, с разницей, по проще. Достаточно открыть инвентарь и сунуть в соответствующий слот новую униформу, всё остальное за вас сделает движок, в арме 2 это делалось руками и скриптами.

 

Вывод. Униформа важная составляющая конфигурации нового класса юнита.


Сообщение отредактировал SteelRat: 29 August 2015 - 19:41

  • 0

#36 OFFLINE   konsul1

konsul1

    Рядовой

  • Пользователи
  • 23 сообщений

Отправлено 30 August 2015 - 19:35

Спасибо всем за замечания. Я не разбираюсь всё равно как должно быть правильно, пишу только исходя из примеров и поправок пользователей. ) Поэтому прошу сразу писать как нужно это делать..Вместе с вами мы эту проблему решим.Уже исправили много ошибок. Спасибо за помощь.. К сожалению временно приостановил работу т.к арма 3 сейчас обновилась и теперь я не могу запустить мод Ирон Фронт вместе с Армой. Выдаёт ошибку 0х00000001-STATUS_WAIT_1. 


Сообщение отредактировал konsul1: 30 August 2015 - 19:44

  • 0

#37 OFFLINE   konsul1

konsul1

    Рядовой

  • Пользователи
  • 23 сообщений

Отправлено 06 September 2015 - 13:56

 

проверяй пути до текстур, у тебя там бардак, то в корне каталога, они прописаны то вдруг в каталоге data, то какой то еще lib

lib\lib_sov_characters\data\sov_decal_medal_of_valor_ca.paa
lib\lib_sov_characters\data\sov_decal_medal_of_valor_ca.paa
\myCharacters\data\soviet_furajka_co.paa
\myCharacters\sov_eqipment_0_co.paa

и еще ошибки в синтаксисе:

class LIB_SOV_major : LIB_sov_soldier_base {
......
respawnMagazines[] = {"lib_35rnd_762x25", "lib_35rnd_762x25", "lib_35rnd_762x25", "lib_35rnd_762x25", "lib_35rnd_762x25", "lib_35rnd_762x25", "lib_8Rnd_762x25", "lib_8Rnd_762x25", "lib_8Rnd_762x25", "lib_8Rnd_762x25", "lib_8Rnd_762x25"};

не хватает: };
class Wounds {

Я исправил так,как вы сказали и не мог вообще запустить игру. Если поставить скобочку перед

};

class Wounds {

то тогда вообще скрипт не запускается.   В кофиге IF  там тоже не стоит такая скобочка перед class Wounds

 

Вообще мы создали классы новых бойцов,они вызываются и есть в меню игры. Но униформа и иконки мои не вызываются


Сообщение отредактировал konsul1: 06 September 2015 - 14:10

  • 0

#38 OFFLINE   vlad333000

vlad333000

    Полковник

  • Пользователи
  • 3224 сообщений
  • Откуда:Кострома

Отправлено 06 September 2015 - 15:57

konsul1, а кто сказал, что конфиг IF будет таким же в А3? Вы должны создавать конфиг нового тела на основе конфига из А3 а не IF
  • 0

#39 OFFLINE   konsul1

konsul1

    Рядовой

  • Пользователи
  • 23 сообщений

Отправлено 07 September 2015 - 20:27

Итак конфиг переписал. Всё равно моя униформа не вызывается. Вместо майора или полковника или подполковника вызывается простой  рядовой солдат. Прошу знатоков посмотреть мой конфиг и сказать в чём дело ? 

 

#define private 0
#define protected 1
#define public 2
 
#define true 1
#define false 0
 
#define TEast 0
#define TWest 1
#define TGuerrila 2
#define TCivilian 3
#define TSideUnknown 4
#define TEnemy 5
#define TFriendly 6
#define TLogic 7
 
    class CfgPatches {
     units[] = {"LIB_SOV_major", "LIB_SOV_podpolkownik ", "LIB_SOV_polkownik"};
     weapons[] = {"Soviet_major", "Soviet_podpolkownik", "Soviet_polkownik" };
     requiredVersion = 0.1;
     requiredAddons[] = {"LIB_core", "LIB_sov_infantry", "lib_weapons" , "A3_Characters_F_BLUFOR","myCharacters" };
    };
 
 
    class CfgVehicles {
class CAManBase; // External class reference
 
class SoldierEB : CAManBase {
class ViewPilot; // External class reference
};
 
class LIB_sov_soldier_base : SoldierEB {
canCarryBackPack = 1;
backpack = "";
languages[] = {LIB_SU};
identityTypes[] = {"LIB_Glasses", "Head_LIB_SOV", "Head_LIB_SOV_CO", "Head_LIB_INS"};
portrait = "LIB\LIB_sov_characters\data\ico\sov_soldier_picture.paa";
 
// internal camera viewing limitations
class ViewPilot : ViewPilot {
initFov = 0.7;
minFov = 0.25;
maxFov = 1.1;
initAngleX = 8;
minAngleX = -85;
maxAngleX = 85;
initAngleY = 0;
minAngleY = -150;
maxAngleY = 150;
};
 
class Wounds {
tex[] = {};
mat[] = {"ca\characters\data\hhl.rvmat", "ca\characters\data\us_hhl_wound1.rvmat", "ca\characters\data\us_hhl_wound2.rvmat", "lib\LIB_sov_characters\sov_soldier_0.rvmat", "lib\LIB_sov_characters\sov_soldier_0_w1.rvmat", "lib\LIB_sov_characters\sov_soldier_0_w2.rvmat"};
};
};
 
 
    class LIB_SOV_major : LIB_sov_soldier_base {
scope = public;
accuracy = 3.9; // accuracy needed to recognize type of this target
displayName = "$STR_LIB_SOV_major";
nakedUniform = "U_BasicBody";
uniformClass = "Soviet_major";
weapons[] = {"lib_ppsh41_m", "lib_tt33", "LIB_Binocular_SU", "Throw", "Put", "ItemMap", "ItemCompass", "ItemWatch"};
magazines[] = {"lib_35rnd_762x25", "lib_35rnd_762x25", "lib_35rnd_762x25", "lib_35rnd_762x25", "lib_35rnd_762x25", "lib_35rnd_762x25", "lib_8Rnd_762x25", "lib_8Rnd_762x25", "lib_8Rnd_762x25", "lib_8Rnd_762x25", "lib_8Rnd_762x25"};
respawnWeapons[] = {"lib_ppsh41_m", "lib_tt33", "LIB_Binocular_SU", "Throw", "Put", "ItemMap", "ItemCompass", "ItemWatch"};
respawnMagazines[] = {"lib_35rnd_762x25", "lib_35rnd_762x25", "lib_35rnd_762x25", "lib_35rnd_762x25", "lib_35rnd_762x25", "lib_35rnd_762x25", "lib_8Rnd_762x25", "lib_8Rnd_762x25", "lib_8Rnd_762x25", "lib_8Rnd_762x25", "lib_8Rnd_762x25"};
hiddenSelections[] = {"decal_guards", "decal_medal_of_valor", "decal_order_red_banner", "decal_wound_stripes", "decal_straps_artleit", "decal_straps_capt", "decal_straps_leit", "decal_straps_stleit", "eqip_binocular_case", "eqip_helmet", "eqip_forage_cap", "eqip_holster", "eqip_officer_tablet", "eqip_ppsh_box_mag_right", "eqip_officer_cap"};
hiddenSelectionsTextures[] = {"", "", "", "", "", "", "myCharacters\data\sov_officer_1_co.paa", "", "myCharacters\data\sov_eqipment_3_co.paa", "myCharacters\data\sov_eqipment_1_co.paa", "", "myCharacters\data\sov_eqipment_0_co.paa", "myCharacters\data\sov_eqipment_0_co.paa", "myCharacters\data\sov_eqipment_3_co.paa", ""};
    };
 
 
    class LIB_SOV_podpolkownik : LIB_sov_soldier_base {
scope = public;
accuracy = 3.9; // accuracy needed to recognize type of this target
displayName = "$STR_LIB_SOV_podpolkownik";
nakedUniform = "U_BasicBody";
uniformClass = "Soviet_podpolkownik";
weapons[] = {"lib_ppsh41_m", "lib_tt33", "LIB_Binocular_SU", "Throw", "Put", "ItemMap", "ItemCompass", "ItemWatch"};
magazines[] = {"lib_35rnd_762x25", "lib_35rnd_762x25", "lib_35rnd_762x25", "lib_35rnd_762x25", "lib_35rnd_762x25", "lib_35rnd_762x25", "lib_8Rnd_762x25", "lib_8Rnd_762x25", "lib_8Rnd_762x25", "lib_8Rnd_762x25", "lib_8Rnd_762x25"};
respawnWeapons[] = {"lib_ppsh41_m", "lib_tt33", "LIB_Binocular_SU", "Throw", "Put", "ItemMap", "ItemCompass", "ItemWatch"};
respawnMagazines[] = {"lib_35rnd_762x25", "lib_35rnd_762x25", "lib_35rnd_762x25", "lib_35rnd_762x25", "lib_35rnd_762x25", "lib_35rnd_762x25", "lib_8Rnd_762x25", "lib_8Rnd_762x25", "lib_8Rnd_762x25", "lib_8Rnd_762x25", "lib_8Rnd_762x25"};
hiddenSelections[] = {"decal_guards", "decal_medal_of_valor", "decal_order_red_banner", "decal_wound_stripes", "decal_straps_artleit", "decal_straps_capt", "decal_straps_leit", "decal_straps_stleit", "eqip_binocular_case", "eqip_helmet", "eqip_forage_cap", "eqip_holster", "eqip_officer_tablet", "eqip_ppsh_box_mag_right", "eqip_officer_cap"};
hiddenSelectionsTextures[] = {"", "myCharacters\data\sov_decal_medal_of_valor_ca.paa", "", "", "", "", "", "myCharacters\data\sov_officer_1_co.paa", "myCharacters\data\sov_eqipment_3_co.paa", "myCharacters\data\sov_eqipment_1_co.paa", "", "myCharacters\data\sov_eqipment_0_co.paa", "myCharacters\data\sov_eqipment_0_co.paa", "myCharacters\data\sov_eqipment_3_co.paa", ""};
    };
 
 
    class LIB_SOV_polkownik : LIB_sov_soldier_base {
scope = public;
accuracy = 3.9; // accuracy needed to recognize type of this target
displayName = "$STR_LIB_SOV_polkownik";
nakedUniform = "U_BasicBody";
uniformClass = "Soviet_polkownik";
weapons[] = {"lib_ppsh41_m", "lib_tt33", "LIB_Binocular_SU", "Throw", "Put", "ItemMap", "ItemCompass", "ItemWatch"};
magazines[] = {"lib_35rnd_762x25", "lib_35rnd_762x25", "lib_35rnd_762x25", "lib_35rnd_762x25", "lib_35rnd_762x25", "lib_35rnd_762x25", "lib_8Rnd_762x25", "lib_8Rnd_762x25", "lib_8Rnd_762x25", "lib_8Rnd_762x25", "lib_8Rnd_762x25"};
respawnWeapons[] = {"lib_ppsh41_m", "lib_tt33", "LIB_Binocular_SU", "Throw", "Put", "ItemMap", "ItemCompass", "ItemWatch"};
respawnMagazines[] = {"lib_35rnd_762x25", "lib_35rnd_762x25", "lib_35rnd_762x25", "lib_35rnd_762x25", "lib_35rnd_762x25", "lib_35rnd_762x25", "lib_8Rnd_762x25", "lib_8Rnd_762x25", "lib_8Rnd_762x25", "lib_8Rnd_762x25", "lib_8Rnd_762x25"};
hiddenSelections[] = {"decal_guards", "decal_medal_of_valor", "decal_order_red_banner", "decal_wound_stripes", "decal_straps_artleit", "decal_straps_capt", "decal_straps_leit", "decal_straps_stleit", "eqip_binocular_case", "eqip_helmet", "eqip_forage_cap", "eqip_holster", "eqip_officer_tablet", "eqip_ppsh_box_mag_right", "eqip_officer_cap"};
hiddenSelectionsTextures[] = {"", "myCharacters\data\sov_decal_medal_of_valor_ca.paa", "myCharacters\data\sov_decal_order_red_banner_ca.paa", "", "", "myCharacters\data\sov_officer_1_co.paa", "", "", "myCharacters\data\sov_eqipment_3_co.paa", "", "", "myCharacters\data\sov_eqipment_0_co.paa", "myCharacters\data\sov_eqipment_0_co.paa", "myCharacters\data\sov_eqipment_3_co.paa", "myCharacters\data\soviet_furajka_co.paa"};
    };
};
 
class cfgWeapons {
class Uniform_Base; // External class reference
class UniformItem; // External class reference
 
class Soviet_major : Uniform_Base {
scope = public;
displayName = "RA Major";
picture = "myCharacters\data\ico\Soviet_major_icon_ca.paa";
model = "myCharacters\lib_sov_officer_base.p3d";
 
class ItemInfo : UniformItem {
uniformModel = "-";
uniformClass = "Soviet_major";
containerClass = "Supply20";
mass = 80;
};
};
 
class Soviet_podpolkownik : Uniform_Base {
scope = public;
displayName = "RA Podpolkownik";
picture = "myCharacters\data\ico\Soviet_podpolkownik_icon_ca.paa";
model = "myCharacters\lib_sov_officer_base.p3d";
 
class ItemInfo : UniformItem {
uniformModel = "-";
uniformClass = "Soviet_podpolkownik";
containerClass = "Supply20";
mass = 80;
};
};
 
class Soviet_polkownik : Uniform_Base {
scope = public;
displayName = "RA Polkownik";
picture = "myCharacters\data\ico\Soviet_polkownik_icon_ca.paa";
model = "myCharacters\lib_sov_officer_base.p3d";
 
class ItemInfo : UniformItem {
uniformModel = "-";
uniformClass = "Soviet_polkownik";
containerClass = "Supply20";
mass = 80;
};
};
};
 
Правда сейчас я если захожу в виртуальный арсенал,то иконки уже показываются в меню вызова, но сама униформа нет.
 
2015-09.jpg

Сообщение отредактировал konsul1: 07 September 2015 - 20:27

  • 0

#40 OFFLINE   dos622

dos622

    Ст. Прапорщик

  • Пользователи
  • 702 сообщений

Отправлено 07 September 2015 - 23:09

ты создаешь униформу class Soviet_major в cfgWeapons а текстур на нее не прописываешь, текстуры накладываються на одежду, на не на кожу татуируються :))

 

замароченно сказал:))

ты текстуру пытаешся наложить в CfgVehicles, там где создаешь юнита. но текстуры униформы, накладваються на УНИФОРМУ:))


Сообщение отредактировал dos622: 07 September 2015 - 23:10

  • 0




Яндекс.Метрика