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
Sign in to follow this  
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  для всех рюкзаков (Ибо карта отражений и нормали одинаковые) . 
У меня же на всех рюкзаках разные логотипы ,  а следствие разные нормали , разная карта отражений.

Share this post


Link to post
Share on other sites

4 answers to this question

Recommended Posts

  • 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, так я так и сделал. но это не работает.

Share this post


Link to post
Share on other sites



  • 0

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

Share this post


Link to post
Share on other sites
  • 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 и всё. Остальное на усмотрение приколов.

Share this post


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

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

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

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
Sign in to follow this  

×
×
  • 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.