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


Фотография

Проблема с конфингом униформы


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

#1 OFFLINE   PIONEER

PIONEER

    Мл.сержант

  • Пользователи
  • 129 сообщений
  • Откуда:Симферополь
  • Отряд:[IMB]

Отправлено 24 June 2018 - 22:30

Привет всем, трабл - хочу создать фракцию с разной униформой, юнит:

class peacekeeper_usa_officer: rhsgref_nat_rifleman {
displayName = "Officer";
vehicleClass = "peacekeeper_sa_usa";
faction = "peacekeeper_factions_nato";
uniformclass = "rhsgref_uniform_woodland";
editorSubcategory = "peacekeeper_factions_usa";
editorCategory = "peacekeeper_factions_usa_cat";
backpack = "";
weapons[] = {"gst_m16a2_2","Binocular","Throw","Put"};
respawnWeapons[] = {"gst_m16a2_2","Binocular","Throw","Put"};
magazines[] = {"rhs_mag_30Rnd_556x45_M855A1_Stanag","rhs_mag_30Rnd_556x45_M855A1_Stanag","Chemlight_red","rhs_mag_30Rnd_556x45_M855A1_Stanag","rhs_mag_30Rnd_556x45_M855A1_Stanag","rhs_mag_30Rnd_556x45_M855A1_Stanag","rhs_mag_30Rnd_556x45_M855A1_Stanag","rhs_mag_m18_red","rhs_mag_m18_purple","rhs_mag_m18_yellow","rhs_mag_m67","Chemlight_red"};
respawnMagazines[] = {"rhs_mag_30Rnd_556x45_M855A1_Stanag","rhs_mag_30Rnd_556x45_M855A1_Stanag","Chemlight_red","rhs_mag_30Rnd_556x45_M855A1_Stanag","rhs_mag_30Rnd_556x45_M855A1_Stanag","rhs_mag_30Rnd_556x45_M855A1_Stanag","rhs_mag_30Rnd_556x45_M855A1_Stanag","rhs_mag_m18_red","rhs_mag_m18_purple","rhs_mag_m18_yellow","rhs_mag_m67","Chemlight_red"};
items[] = {"FirstAidKit"};
respawnItems[] = {"FirstAidKit"};
linkedItems[] = {"rhsgref_alice_webbing","rhsgref_helmet_pasgt_woodland","","ItemMap","ItemCompass","ItemWatch","ItemRadio"};
respawnLinkedItems[] = {"rhsgref_alice_webbing","rhsgref_helmet_pasgt_woodland","","ItemMap","ItemCompass","ItemWatch","ItemRadio"};
identityTypes[] = {"LanguageENG_F","Head_NATO","G_CIVIL_male"};
side = 1; 
headgearList[] = {};
};

и проблема в:

 

uniformclass = "rhsgref_uniform_woodland"; - униформа от стороны зеленые, а я делаю сторону синих и униформу не ставит, аналогично если униформу синих поставить на зеленого. Промучался много времени, что делать с этим пока не понял.

 

Находил команду, которая разрешает носить униформу для фракций, но и она не помогла.

 


  • 0

#2 OFFLINE   NoNameUltima

NoNameUltima

    Сержант

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

Отправлено 25 June 2018 - 07:04


peacekeeper_usa_officer
modelsides[] = {3, 2, 1, 0};

  • 0

#3 OFFLINE   PIONEER

PIONEER

    Мл.сержант

  • Пользователи
  • 129 сообщений
  • Откуда:Симферополь
  • Отряд:[IMB]

Отправлено 25 June 2018 - 14:04

Не помогло, ошибка:

Uniform rhsgref_uniform_woodland is not allowed for soldier class peacekeeper_usa_officer

эта строчка в конфинге есть - 

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


  • 0

#4 OFFLINE   vlad333000

vlad333000

    Полковник

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

Отправлено 25 June 2018 - 14:10

PIONEER, насколько я помню этот параметр для самих униформ, т. е. он отвечает за то, какие стороны могут одевать ее
Пока что могу предложить только такой костыльный костыль в конфиг юнита:
class CfgEventHandlers {
  class MyAddon {
    init = "params [""_unit""]; if (local _unit) then { _unit forceAddUniform ""uniform_class""; };";
  };
};

Сообщение отредактировал vlad333000: 25 June 2018 - 14:10

  • 0

#5 OFFLINE   NoNameUltima

NoNameUltima

    Сержант

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

Отправлено 25 June 2018 - 14:17

PIONEER,

Если без костылей -

т.к. у тебя свой аддон, - создай наследника униформы, и измени ему допустимые стороны. 2 строки и твоя проблема решена.


  • 0

#6 OFFLINE   NoNameUltima

NoNameUltima

    Сержант

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

Отправлено 25 June 2018 - 14:23

PIONEER,

А вообще, попробуй в аддоне внутрь cfgVehicles это дело добавить, все должно работать.

 

Для примера:

class cfgVehicles
    {
        class SoldierWB;
        class SoldierEB;
        class SoldierGB;
        class Civilian;
        class C_man_1;
        class B_Soldier_diver_base_F;
        class O_Soldier_diver_base_F;
        class I_Soldier_diver_base_F;
        
        class O_Soldier_base_F : SoldierEB
            {modelsides[] = {3, 2, 1, 0};};
        class I_G_Soldier_base_F : SoldierGB
            {modelsides[] = {3, 2, 1, 0};};
        
        class C_Driver_1_random_base_F;    // External class reference  
        class C_Driver_1_black_F : C_Driver_1_random_base_F
          {
            displayName = "Driver (black)";
            modelsides[] = {3, 2, 1, 0};
            scope = public;
          };
    };

  


Сообщение отредактировал NoNameUltima: 25 June 2018 - 14:24

  • 0

#7 OFFLINE   PIONEER

PIONEER

    Мл.сержант

  • Пользователи
  • 129 сообщений
  • Откуда:Симферополь
  • Отряд:[IMB]

Отправлено 25 June 2018 - 14:54

чет пока никак ((

 

униформа не пашет

class cfgWeapons {
class Uniform_Base;
class rhsgref_uniform_woodland : Uniform_Base {
modelsides[] = {3, 2, 1, 0};
}; 
};

предки также

 

class SoldierGB;
class rhsgref_nat_base : SoldierGB {modelsides[] = {3, 2, 1, 0};};
class rhsgref_nat_rifleman : rhsgref_nat_base {modelsides[] = {3, 2, 1, 0};};

class peacekeeper_usa_officer: rhsgref_nat_rifleman {
displayName = "Officer";
vehicleClass = "peacekeeper_sa_usa";
faction = "peacekeeper_factions_nato";
...............

в оригинальном юните nat base - modelSides[] = {0, 3};, но его успешно перезаписывается, если по конфигуратору судить, униформа прописывается, но отображается левая 

 

костыль не пробовал, но думаю он то будет работать 


Сообщение отредактировал PIONEER: 25 June 2018 - 14:55

  • 0

#8 OFFLINE   NoNameUltima

NoNameUltima

    Сержант

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

Отправлено 25 June 2018 - 15:51

PIONEER,

class CAManBase;
class Ultima_Man_M_Virtual_A : CAManBase
	{
		class HeadLimits;
		class ViewPilot;
		class HitPoints;
		class PulsationSound;
		class FreefallSound;
		class SoundRecovered;
		class SoundChoke;
		class SoundDrown;
		class SoundDrowning;
		class SoundBurning;
		class SoundBreathSwimming;
		class SoundHitScream;
		class SoundBreath;
		class SoundBreathInjured;
		class SoundInjured;
		class SoundBreathAutomatic;
		class SoundEnvironExt;
		class SoundGear;
		class SoundEquipment;
		class UniformInfo;
	};

class Ultima_Man_M : Ultima_Man_M_Virtual_A
	{
		author					=	"NoNameUltima";										//	Автор
		_generalMacro				=	"Ultima_Man_M";
		displayName				=	"Игрок";										//	Выводимое название
		scope					=	public;											//	Область видимости класса(публичный\приватный)
		textSingular				=	"$STR_A3_nameSound_veh_infantry_civilian_s";
		textPlural				=	"$STR_A3_nameSound_veh_infantry_civilian_p";
		nameSound				=	"veh_infantry_civilian_s";
		threat[]				=	{0, 0, 0};										//	Множитель вероятности атаки данного юнита, для обычных, бронированных и авиационных врагов.
		identityTypes[]				=	{"LanguageGRE_F", "Head_Greek", "G_CIVIL_male"};
		faceType				=	"Man_A3";										//	Тип лица
		vehicleClass				=	"Men";											//	Класс vehicle
		faction					=	"OPF_F";
		side					=	0;											//	Сторона. 0 - Россия. 1 - НАТО.
		canDeactivateMines			=	false;											//	Может деактивировать мины?
		engineer				=	false;											//	Может чинить технику?
                attendant				=	false;											//	Может лечить юнитов?		
		genericNames				=	"GreekMen";
		model					=	"\A3\Characters_F\OPFOR\o_soldier_01";				                        //	Модель персонажа
		modelSides[]				=	{3, 2, 1, 0};										//	Стороны - side, чью униформу разрешено использовать
		nakedUniform				=	"U_BasicBody";
		uniformClass				=	"";											//	Униформа
		hiddenSelections[]			=	{"Camo", "insignia"};								        //	Список селекшенов модели, которые могут быть изменены с помощью hiddenSelectionsTextures	
		hiddenSelectionsTextures[]	        =	{};											//	Текстура по умолчанию
		picture					=	"";											//	Иконка группы(например рем. группа)
		Icon					=	"iconMan";										//	Иконка
		weapons[]				=	{"Throw", "Put"};									//	Оружие
		respawnWeapons[]			=	{"Throw", "Put"};									//	Оружие при возрождении
		magazines[]				=	{};											//	Магазины
		respawnMagazines[]			=	{};											//	Магазины при возрождении
		Items[]					=	{};											//	Предметы
                RespawnItems[]				=	{};											//	Предметы при возрождении
		linkedItems[]				=	{};											//	Присоединенные объекты
		respawnLinkedItems[]		        =	{};											//	Присоединенные объекты при возрождении
		backpack				=	"";											//	Рюкзак
		fsmFormation				=	"A3\characters_f\scripts\formationC.fsm";
		fsmDanger				=	"A3\characters_f\scripts\formationCDanger.fsm";				
		accuracy				=	1.6;
		camouflage				=	1.2;											//	Вероятность заметить юнита(чем меньше число, тем выше незаметность)
		minHeadTurnAI				=	-50;
		maxHeadTurnAI				=	50;
		formationX				=	2;
		formationZ				=	5;
		primaryAmmoCoef				=	0.0;
		secondaryAmmoCoef			=	0.0;
		handgunAmmoCoef				=	0.0;
		cost					=	200000;											//	Вероятность атаки данного юнита, среди прочих

                scopeCurator				=	2;											//	2	=	класс доступен в Зевс. 0 - недоступен.
                scopeArsenal				=	2;											//	2	=	класс доступен в виртуальном арсенале. 0 - недоступен.
		sensitivity				=	0;                  								        //	Вероятность того, что данный юнит враг, под управлением ИИ?????
		
		class NewTurret;
		class Wounds
			{
				tex[] = {};
				mat[] = {"A3\Characters_F\Civil\Data\c_cloth1.rvmat", "A3\Characters_F\Civil\Data\c_cloth1_injury.rvmat", "A3\Characters_F\Civil\Data\c_cloth1_injury.rvmat", "A3\Characters_F\Civil\Data\c_cloth2.rvmat", "A3\Characters_F\Civil\Data\c_cloth2_injury.rvmat", "A3\Characters_F\Civil\Data\c_cloth2_injury.rvmat", "A3\Characters_F\Civil\Data\c_cloth3.rvmat", "A3\Characters_F\Civil\Data\c_cloth3_injury.rvmat", "A3\Characters_F\Civil\Data\c_cloth3_injury.rvmat", "A3\Characters_F\Civil\Data\c_cloth4.rvmat", "A3\Characters_F\Civil\Data\c_cloth4_injury.rvmat", "A3\Characters_F\Civil\Data\c_cloth4_injury.rvmat", "A3\characters_f\civil\data\c_poloshirt.rvmat", "A3\Characters_F\Civil\Data\c_poloshirt_injury.rvmat", "A3\Characters_F\Civil\Data\c_poloshirt_injury.rvmat", "A3\characters_f\common\data\coveralls.rvmat", "A3\Characters_F\Common\Data\coveralls_injury.rvmat", "A3\Characters_F\Common\Data\coveralls_injury.rvmat", "A3\Characters_F\Civil\Data\hunter.rvmat", "A3\Characters_F\Civil\Data\hunter_injury.rvmat", "A3\Characters_F\Civil\Data\hunter_injury.rvmat", "A3\Characters_F\Civil\Data\c_poloshirtpants.rvmat", "A3\Characters_F\Civil\Data\c_poloshirtpants_injury.rvmat", "A3\Characters_F\Civil\Data\c_poloshirtpants_injury.rvmat", "A3\Characters_F\Civil\Data\priest.rvmat", "A3\Characters_F\Civil\Data\priest_injury.rvmat", "A3\Characters_F\Civil\Data\priest_injury.rvmat", "A3\Characters_F\Heads\Data\hl_white_bald_muscular.rvmat", "A3\Characters_F\Heads\Data\hl_white_bald_muscular_injury.rvmat", "A3\Characters_F\Heads\Data\hl_white_bald_muscular_injury.rvmat", "A3\Characters_F\Heads\Data\hl_black_bald_muscular.rvmat", "A3\Characters_F\Heads\Data\hl_black_bald_muscular_injury.rvmat", "A3\Characters_F\Heads\Data\hl_black_bald_muscular_injury.rvmat", "A3\Characters_F\Heads\Data\hl_white_hairy_muscular.rvmat", "A3\Characters_F\Heads\Data\hl_white_hairy_muscular_injury.rvmat", "A3\Characters_F\Heads\Data\hl_white_hairy_muscular_injury.rvmat", "A3\Characters_F\Heads\Data\hl_white_old.rvmat", "A3\Characters_F\Heads\Data\hl_white_old_injury.rvmat", "A3\Characters_F\Heads\Data\hl_white_old_injury.rvmat", "A3\Characters_F\Heads\Data\hl_asian_bald_muscular.rvmat", "A3\Characters_F\Heads\Data\hl_asian_bald_muscular_injury.rvmat", "A3\Characters_F\Heads\Data\hl_asian_bald_muscular_injury.rvmat"};
			};				
	};

Писал давно, не уверен правильно ли тут все, но этот чувак может носить даже колготки))


Сообщение отредактировал NoNameUltima: 25 June 2018 - 15:55

  • 0

#9 OFFLINE   SteelRat

SteelRat

    Полковник

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

Отправлено 25 June 2018 - 19:49

 

и проблема в:

 

uniformclass = "rhsgref_uniform_woodland"; - униформа от стороны зеленые, а я делаю сторону синих и униформу не ставит, аналогично если униформу синих поставить на зеленого. Промучался много времени, что делать с этим пока не понял.

 

Находил команду, которая разрешает носить униформу для фракций, но и она не помогла.

В добавок к созданному новому классу юнита создайте новый класс униформы, и укажите для данного юнита новый класс униформы, а в новом классе униформы сошлитесь на класс вашего нового юнита

class UniformItem: InventoryItem_Base_F
{
	type = UNIFORM_SLOT; /// to what slot does the uniform fit
};

class U_Test_uniform: Itemcore
{
	scope = 2; /// scope needs to be 2 to have a visible class
	allowedSlots[] = {BACKPACK_SLOT}; /// where does the uniform fit to when not equipped
	displayName = "Test uniform"; /// how would the stuff be displayed in inventory and on ground
	picture = "\A3\characters_f\data\ui\icon_U_BasicBody_CA.paa"; /// this icon fits the uniform surprisingly well
	model = "\A3\Characters_F\Common\Suitpacks\suitpack_blufor_diver"; /// how does the uniform look when put on ground

	class ItemInfo: UniformItem
	{
		uniformModel = "-";
		uniformClass = Test_Soldier_base_F; /// !!!!!!!!!!! Имя класса вашего нового юнита !!!!!!!!!!!!!!!!
		containerClass = Supply90; /// what fake vehicle is used to describe size of uniform container, there is quite a lot SupplyXX classes ready
		mass = 80; /// combined weight and volume
	};
};

Пример приведён из семплов Бесов, конкретный пример можете изучить в самом РХС


  • 1

#10 OFFLINE   SteelRat

SteelRat

    Полковник

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

Отправлено 25 June 2018 - 19:58

ЗЫ

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

class ItemInfo: UniformItem
	{
		uniformModel = "-";
		uniformClass = peacekeeper_usa_officer;

а у бойца ссылку на эту новую униформу


Сообщение отредактировал SteelRat: 25 June 2018 - 19:59

  • 0




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