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

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

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

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

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

DamageSystem (rvmat)

Доброго времени,  ситуация такая , расскажу в краце. 
При дамадже меняется рвмат так ? 
У меня есть рюкзак с разными рвматами (nohq, smdi везде свой)

Все 4 камо работают, а вот при дамадже рвмат не меняется, меняется только на первом предмете .
Раньше ж можно было указать разный рмат в DamageSystem для каждого предмета, даже если он наследует базовый класс, сейчас материал меняется только на первом предмете. 

 

class Turist_base : Clothing {
		displayName = "$STR_SturistName";
		descriptionShort = "$STR_SturistDesc";
		model = "SmilePack\Gear\Backpacks\S_turist\backpack_turist_g.p3d";
		inventorySlot[] = {"Back"};
		attachments[] = {"carmans", "Chemlight", "WalkieTalkie", "Machete", "Field_Shovel","Shoulder2","waterproofbag", "WaterBottle", "WeaponCleaningKit", "CookingEquipment"};
		itemInfo[] = {"Clothing", "Back"};
		rotationFlags = 16;
		itemSize[] = {5, 7};
		itemsCargoSize[] = {10, 8};
		weight = 2300;
		varWetMax = 0;
		heatIsolation = 1;
		repairableWithKits[] = {5, 2};
		repairCosts[] = {30.0, 25.0};
		soundAttType = "Outdoor";
		randomQuantity = 0;
		hiddenSelections[] = {"zbytek", "camoground", "Straps"};
		simpleHiddenSelections[] = {"PrCarmans", "carm_right", "carm_right_full", "rope_right", "rope_right_full"};
		
		class ClothingTypes {
			male = "SmilePack\Gear\Backpacks\S_turist\backpack_turist_m.p3d";
			female = "SmilePack\Gear\Backpacks\S_turist\backpack_turist_m.p3d";
		};
		
		class AnimEvents {
			class SoundWeapon {
				class pickUpItem_Light {
					soundSet = "pickUpBackPack_Plastic_Light_SoundSet";
					id = 796;
				};
				
				class pickUpItem {
					soundSet = "pickUpBackPack_Plastic_SoundSet";
					id = 797;
				};
				
				class drop {
					soundset = "taloonbag_drop_SoundSet";
					id = 898;
				};
			};
		};
	};
	
	class Turist_blue : Turist_base {
		scope = 2;
		hiddenSelectionsMaterials[] = {"SmilePack\Gear\Backpacks\S_turist\data\sturist_big.rvmat", "SmilePack\Gear\Backpacks\S_turist\data\sturist_big.rvmat", "SmilePack\Gear\Backpacks\S_turist\data\sturist_big_stairs2.rvmat"};
		hiddenSelectionsTextures[] = {"SmilePack\Gear\Backpacks\S_turist\data\Blue\deff_co.paa", "SmilePack\Gear\Backpacks\S_turist\data\Blue\deff_co.paa","SmilePack\Gear\Backpacks\S_turist\data\straps\sturist_black_strais_co.paa"};
		class DamageSystem {
			class GlobalHealth {
				class Health {
					hitpoints = 80;
					healthLevels[] = 
					{{1.0, {
						"SmilePack\Gear\Backpacks\S_turist\data\sturist_big.rvmat", 
						"SmilePack\Gear\Backpacks\S_turist\data\sturist_big.rvmat"}}, 
						{0.7, {}}, 
							{0.5, {
							"SmilePack\Gear\Backpacks\S_turist\data\sturist_big_damage.rvmat", 
							"SmilePack\Gear\Backpacks\S_turist\data\sturist_big_damage.rvmat"}}, 
							{0.3, {}}, 
							{0.0, {
							"SmilePack\Gear\Backpacks\S_turist\data\sturist_big_disturct.rvmat",
							"SmilePack\Gear\Backpacks\S_turist\data\sturist_big_disturct.rvmat"}}};
				};
			};
		};
	};
	class Turist_black : Turist_base {
		scope = 2;
		displayName = "$STR_SturistName2";
		hiddenSelectionsMaterials[] = {"SmilePack\Gear\Backpacks\S_turist\data\sturist_black.rvmat", "SmilePack\Gear\Backpacks\S_turist\data\sturist_black.rvmat", "SmilePack\Gear\Backpacks\S_turist\data\sturist_big_stairs2.rvmat"};
		hiddenSelectionsTextures[] = {"SmilePack\Gear\Backpacks\S_turist\data\Black\deff_co.paa", "SmilePack\Gear\Backpacks\S_turist\data\Black\deff_co.paa", "SmilePack\Gear\Backpacks\S_turist\data\straps\sturist_black_strais_co.paa"};
		class DamageSystem {
			class GlobalHealth {
				class Health {
					hitpoints = 90;
					healthLevels[] = 
					{{1.0, {
						"SmilePack\Gear\Backpacks\S_turist\data\sturist_black.rvmat", 
						"SmilePack\Gear\Backpacks\S_turist\data\sturist_black.rvmat"}}, 
						{0.7, {}}, 
							{0.5, {
							"SmilePack\Gear\Backpacks\S_turist\data\sturist_black_damage.rvmat", 
							"SmilePack\Gear\Backpacks\S_turist\data\sturist_black_damage.rvmat"}}, 
							{0.3, {}}, 
							{0.0, {
							"SmilePack\Gear\Backpacks\S_turist\data\sturist_black_disturct.rvmat",
							"SmilePack\Gear\Backpacks\S_turist\data\sturist_black_disturct.rvmat"}}};
				};
			};
		};
	};
	
	class Turist_camo1 : Turist_base {
		scope = 2;
		displayName = "$STR_SturistName3";
 		hiddenSelectionsMaterials[] = {"SmilePack\Gear\Backpacks\S_turist\data\sturist_camo1.rvmat", "SmilePack\Gear\Backpacks\S_turist\data\sturist_camo1.rvmat", "SmilePack\Gear\Backpacks\S_turist\data\sturist_big_stairs2.rvmat"};
		hiddenSelectionsTextures[] = {"SmilePack\Gear\Backpacks\S_turist\data\Camo1\deff_co.paa", "SmilePack\Gear\Backpacks\S_turist\data\Camo1\deff_co.paa", "SmilePack\Gear\Backpacks\S_turist\data\straps\sturist_black_strais_co.paa"};
		class DamageSystem {
			class GlobalHealth {
				class Health {
					hitpoints = 90;
					healthLevels[] = 
					{{1.0, {
						"SmilePack\Gear\Backpacks\S_turist\data\sturist_black.rvmat", 
						"SmilePack\Gear\Backpacks\S_turist\data\sturist_black.rvmat"}}, 
						{0.7, {}}, 
							{0.5, {
							"SmilePack\Gear\Backpacks\S_turist\data\sturist_black_damage.rvmat", 
							"SmilePack\Gear\Backpacks\S_turist\data\sturist_black_damage.rvmat"}}, 
							{0.3, {}}, 
							{0.0, {
							"SmilePack\Gear\Backpacks\S_turist\data\sturist_black_disturct.rvmat",
							"SmilePack\Gear\Backpacks\S_turist\data\sturist_black_disturct.rvmat"}}};
				};
			};
		};
		
	};

Вот тут меняет :

class Turist_blue : Turist_base {
		scope = 2;
		hiddenSelectionsMaterials[] = {"SmilePack\Gear\Backpacks\S_turist\data\sturist_big.rvmat", "SmilePack\Gear\Backpacks\S_turist\data\sturist_big.rvmat", "SmilePack\Gear\Backpacks\S_turist\data\sturist_big_stairs2.rvmat"};
		hiddenSelectionsTextures[] = {"SmilePack\Gear\Backpacks\S_turist\data\Blue\deff_co.paa", "SmilePack\Gear\Backpacks\S_turist\data\Blue\deff_co.paa","SmilePack\Gear\Backpacks\S_turist\data\straps\sturist_black_strais_co.paa"};
		class DamageSystem {
			class GlobalHealth {
				class Health {
					hitpoints = 80;
					healthLevels[] = 
					{{1.0, {
						"SmilePack\Gear\Backpacks\S_turist\data\sturist_big.rvmat", 
						"SmilePack\Gear\Backpacks\S_turist\data\sturist_big.rvmat"}}, 
						{0.7, {}}, 
							{0.5, {
							"SmilePack\Gear\Backpacks\S_turist\data\sturist_big_damage.rvmat", 
							"SmilePack\Gear\Backpacks\S_turist\data\sturist_big_damage.rvmat"}}, 
							{0.3, {}}, 
							{0.0, {
							"SmilePack\Gear\Backpacks\S_turist\data\sturist_big_disturct.rvmat",
							"SmilePack\Gear\Backpacks\S_turist\data\sturist_big_disturct.rvmat"}}};
				};
			};
		};
	};

А все что ниже

	class Turist_black : Turist_base {
		scope = 2;
		displayName = "$STR_SturistName2";
		hiddenSelectionsMaterials[] = {"SmilePack\Gear\Backpacks\S_turist\data\sturist_black.rvmat", "SmilePack\Gear\Backpacks\S_turist\data\sturist_black.rvmat", "SmilePack\Gear\Backpacks\S_turist\data\sturist_big_stairs2.rvmat"};
		hiddenSelectionsTextures[] = {"SmilePack\Gear\Backpacks\S_turist\data\Black\deff_co.paa", "SmilePack\Gear\Backpacks\S_turist\data\Black\deff_co.paa", "SmilePack\Gear\Backpacks\S_turist\data\straps\sturist_black_strais_co.paa"};
		class DamageSystem {
			class GlobalHealth {
				class Health {
					hitpoints = 90;
					healthLevels[] = 
					{{1.0, {
						"SmilePack\Gear\Backpacks\S_turist\data\sturist_black.rvmat", 
						"SmilePack\Gear\Backpacks\S_turist\data\sturist_black.rvmat"}}, 
						{0.7, {}}, 
							{0.5, {
							"SmilePack\Gear\Backpacks\S_turist\data\sturist_black_damage.rvmat", 
							"SmilePack\Gear\Backpacks\S_turist\data\sturist_black_damage.rvmat"}}, 
							{0.3, {}}, 
							{0.0, {
							"SmilePack\Gear\Backpacks\S_turist\data\sturist_black_disturct.rvmat",
							"SmilePack\Gear\Backpacks\S_turist\data\sturist_black_disturct.rvmat"}}};
				};
			};
		};
	};
	
	class Turist_camo1 : Turist_base {
		scope = 2;
		displayName = "$STR_SturistName3";
 		hiddenSelectionsMaterials[] = {"SmilePack\Gear\Backpacks\S_turist\data\sturist_camo1.rvmat", "SmilePack\Gear\Backpacks\S_turist\data\sturist_camo1.rvmat", "SmilePack\Gear\Backpacks\S_turist\data\sturist_big_stairs2.rvmat"};
		hiddenSelectionsTextures[] = {"SmilePack\Gear\Backpacks\S_turist\data\Camo1\deff_co.paa", "SmilePack\Gear\Backpacks\S_turist\data\Camo1\deff_co.paa", "SmilePack\Gear\Backpacks\S_turist\data\straps\sturist_black_strais_co.paa"};
		class DamageSystem {
			class GlobalHealth {
				class Health {
					hitpoints = 90;
					healthLevels[] = 
					{{1.0, {
						"SmilePack\Gear\Backpacks\S_turist\data\sturist_black.rvmat", 
						"SmilePack\Gear\Backpacks\S_turist\data\sturist_black.rvmat"}}, 
						{0.7, {}}, 
							{0.5, {
							"SmilePack\Gear\Backpacks\S_turist\data\sturist_black_damage.rvmat", 
							"SmilePack\Gear\Backpacks\S_turist\data\sturist_black_damage.rvmat"}}, 
							{0.3, {}}, 
							{0.0, {
							"SmilePack\Gear\Backpacks\S_turist\data\sturist_black_disturct.rvmat",
							"SmilePack\Gear\Backpacks\S_turist\data\sturist_black_disturct.rvmat"}}};
				};
			};
		};
		
	};

Балумбу... Я вот вкурить не могу у бисов есть кожанный рюкзак , с такой же иерархией, все работает. 
Да, можно это победить, создавая новые классы, а не наследуя их . Но это костыль и тонна строк кода повторяющегося, как и скриптов
Как быть, может кто сталкивался с таким ? Подобных рюкзаков в ворк-шопе я не нашел,  не кто не заморачивается, используют один DamageSystem  для всех рюкзаков (Ибо карта отражений и нормали одинаковые) . 
У меня же на всех рюкзаках разные логотипы ,  а следствие разные нормали , разная карта отражений.

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


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

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

  • 1
Только что, Yuki сказал:

@qestsmile начнём с того, что у тебя очень странная структура конфига. Либо ты на сайт так вставил, хз, не понятно.

Держу в курсе, но в DamageSystem можно хоть 10 рвматов написать, для любого состояния. Можно даже отдельный рвмат на М/Ф и Г модели сделать.
 

class DamageSystem { class GlobalHealth { class Health { hitpoints = 100; healthLevels[] = { {1.0,{"WindstrideClothing\Models\poncho\data\poncho.rvmat", "WindstrideClothing\Models\poncho\data\poncho_ground.rvmat"}}, {0.7,{"WindstrideClothing\Models\poncho\data\poncho.rvmat", "WindstrideClothing\Models\poncho\data\poncho_ground.rvmat"}}, {0.5,{"WindstrideClothing\Models\poncho\data\poncho_damaged.rvmat", "WindstrideClothing\Models\poncho\data\poncho_ground_damaged.rvmat"}}, {0.3,{"WindstrideClothing\Models\poncho\data\poncho_badlydamaged.rvmat","WindstrideClothing\Models\poncho\data\poncho_ground_badlydamaged.rvmat"}}, {0.0,{"WindstrideClothing\Models\poncho\data\poncho_ruined.rvmat", "WindstrideClothing\Models\poncho\data\poncho_ruined.rvmat"}} }; }; };


        class DamageSystem
        {
            class GlobalHealth
            {
                class Health
                {
                    hitpoints = 100;
                    healthLevels[] =
                    {
                        {1.0,{"WindstrideClothing\Models\poncho\data\poncho.rvmat",                "WindstrideClothing\Models\poncho\data\poncho_ground.rvmat"}},
                        {0.7,{"WindstrideClothing\Models\poncho\data\poncho.rvmat",                "WindstrideClothing\Models\poncho\data\poncho_ground.rvmat"}},
                        {0.5,{"WindstrideClothing\Models\poncho\data\poncho_damaged.rvmat",        "WindstrideClothing\Models\poncho\data\poncho_ground_damaged.rvmat"}},
                        {0.3,{"WindstrideClothing\Models\poncho\data\poncho_badlydamaged.rvmat","WindstrideClothing\Models\poncho\data\poncho_ground_badlydamaged.rvmat"}},
                        {0.0,{"WindstrideClothing\Models\poncho\data\poncho_ruined.rvmat",        "WindstrideClothing\Models\poncho\data\poncho_ruined.rvmat"}}
                    };
                };
            };

Так что не совсем понимаю твоей проблемы.


Держу вкурсе у меня именно так и сделано. посмотри еще раз на структуру
Еще раз присмотрись сюда : 
        hiddenSelections[] = {"zbytek", "camoground", "Straps"};
и сюда : 
 

class DamageSystem {
            class GlobalHealth {
                class Health {
                    hitpoints = 80;
                    healthLevels[] = 
                    {{1.0, {
                        "SmilePack\Gear\Backpacks\S_turist\data\sturist_big.rvmat", 
                        "SmilePack\Gear\Backpacks\S_turist\data\sturist_big.rvmat"}}, 
                        {0.7, {}}, 
                            {0.5, {
                            "SmilePack\Gear\Backpacks\S_turist\data\sturist_big_damage.rvmat", 
                            "SmilePack\Gear\Backpacks\S_turist\data\sturist_big_damage.rvmat"}}, 
                            {0.3, {}}, 
                            {0.0, {
                            "SmilePack\Gear\Backpacks\S_turist\data\sturist_big_disturct.rvmat",
                            "SmilePack\Gear\Backpacks\S_turist\data\sturist_big_disturct.rvmat"}}};
                };
            };
        };

я знаю что он использует там по селекшенам, у меня и указанно состояние для G-модели и M\F. 
Это работает. 
Не работает дальше классы . DamageSystem с отображаемыми rmat отрабатывают по первому предмету. 
Далее игнорится. 
Смотри, обьясняю на пальцах. 
Есть рюкзак , у него есть 4 вида расцветки (Со своими nohq и smdi )
Есть система повреждений так ? 
Так вот, мне нужно чтобы материалы повреждений были у каждого свои, ибо если мы возмем, 
рюкзак 1 с его текстурами и наложим MC карту, то все норм да
Но если мы возьмем рюкзак 2 и наложим МС карту от первого, то она то наложится, но вот (nohq и smdi ) будут от первого . 
И что в итоже , тектура основная лежит от рюкзака 2 , а нормаль и отражения от 1го, все поплыло. 
Скажете так бери прописуй у каждого предмета свой DamageSystem со своими rvmat, так я так и сделал. но это не работает.

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


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





  • 0

А ты в конфиге не наследуй а в скриптах наследуй - и все )))

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


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

@qestsmile начнём с того, что у тебя очень странная структура конфига. Либо ты на сайт так вставил, хз, не понятно.

Держу в курсе, но в DamageSystem можно хоть 10 рвматов написать, для любого состояния. Можно даже отдельный рвмат на М/Ф и Г модели сделать.
 

        class DamageSystem
        {
            class GlobalHealth
            {
                class Health
                {
                    hitpoints = 100;
                    healthLevels[] =
                    {
                        {1.0,{"WindstrideClothing\Models\poncho\data\poncho.rvmat",                "WindstrideClothing\Models\poncho\data\poncho_ground.rvmat"}},
                        {0.7,{"WindstrideClothing\Models\poncho\data\poncho.rvmat",                "WindstrideClothing\Models\poncho\data\poncho_ground.rvmat"}},
                        {0.5,{"WindstrideClothing\Models\poncho\data\poncho_damaged.rvmat",        "WindstrideClothing\Models\poncho\data\poncho_ground_damaged.rvmat"}},
                        {0.3,{"WindstrideClothing\Models\poncho\data\poncho_badlydamaged.rvmat","WindstrideClothing\Models\poncho\data\poncho_ground_badlydamaged.rvmat"}},
                        {0.0,{"WindstrideClothing\Models\poncho\data\poncho_ruined.rvmat",        "WindstrideClothing\Models\poncho\data\poncho_ruined.rvmat"}}
                    };
                };
            };

Так что не совсем понимаю твоей проблемы.

8 минут назад, BorizzK сказал:

А ты в конфиге не наследуй а в скриптах наследуй - и все )))

Тут не в скрипте дело, держу в курсе. Скрипт тут вообще нужен для 1 вещи - указать что это Clothing и всё. Остальное на усмотрение приколов.

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


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

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

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

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


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

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

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

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

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

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

Войти

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

Войти сейчас

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

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

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