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


Фотография

Наследие классов....


Лучший Ответ NoNameUltima , 22 January 2015 - 16:52

К сожалению получилось только так(иначе, насколько я понимаю, остальные методы не наследуются):

class B_Heli_Transport_01_F;
class Ultima_Heli_Transport_01_Virtual_A : B_Heli_Transport_01_F
    {
        class RotorLibHelicopterProperties;
        class HitPoints;
        class TransportBackpacks;
        class TransportMagazines;
        class TransportWeapons;
        class TransportItems;
        class MFD;
        class Reflectors;
        class Exhausts;
        class Sounds;
        class SoundsExt;
        class UserActions;
        class AnimationSources;
        class Turrets;
        class Armory;
        class Damage;
        class pilotCamera;
    };
    
class Ultima_Heli_Transport_01_Virtual_B : Ultima_Heli_Transport_01_Virtual_A
    {
        class Turrets : Turrets
            {
                class CopilotTurret;
                class MainTurret;
                class ViewOptics;
            };
    };
        
class Ultima_Heli_Transport_01: Ultima_Heli_Transport_01_Virtual_B
    {
        author = "NoNameUltima";
        displayName = "Ultima Heli Transport 01";
        class TransportItems {};
        class TransportBackpacks {};
        class TransportMagazines {};
        class TransportWeapons {};
        class Turrets : Turrets
            {
                class MainTurret : MainTurret
                    {
                        magazines[] = {};
                    };
            };
    };
Перейти к сообщению


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

#1 OFFLINE   NoNameUltima

NoNameUltima

    Сержант

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

Отправлено 22 January 2015 - 12:06

Файл:
air_f_beta\Heli_Transport_01\Cfg_Vehicles.hpp

В данном файле расписан класс
B_Heli_Transport_01_F

который является наследником
Heli_Transport_01_base_F

В классе Heli_Transport_01_base_F, есть такое:
 

class Turrets : Turrets
    {
        class CopilotTurret : CopilotTurret
            {
                ...........
            };
        class MainTurret : MainTurret
            {
                ...........
                magazines[] = {"2000Rnd_65x39_Belt_Tracer_Red"};
                ...........
                
                class ViewOptics
                    {
                        ...........
                    };
                ...........
            };
        class RightDoorGun : MainTurret
            {
                ...........
            };
    };

        

Тут указаны магазины:
2000Rnd_65x39_Belt_Tracer_Red

Создаю наследника у себя в моде:

class B_Heli_Transport_01_F;
class Test_Heli_Transport_01: B_Heli_Transport_01_F
    {
        author = "NoNameUltima";
        displayName = "Test Heli Transport 01;
        //    Переопределяю инвентарь
        class TransportItems {};
        class TransportBackpacks {};
        class TransportMagazines {};
        class TransportWeapons {};
                
        //    Как правильно переопределить класс, не затрагивая полностью классы - Turrets\MainTurrets -
        //    Мне надо удалить магазины - т.е. чтобы транспорт создавался БЕЗ патронов
        //    Мб где то в классе указано кол-во обойм? Я не нашел...
        //    Что то типа -
        class Turrets
            {
                class MainTurret
                    {
                        magazines[] = {};
                    };
            };
        //    Как правильно это расписать?
    };

Или придется полностью объявлять у себя класс Turrets и по сути копировать его, из-за одной единственной строки?

 

Упс... не в ту ветку запостил, извиняюсь...


Сообщение отредактировал NoNameUltima: 22 January 2015 - 12:08

  • 0

#2 OFFLINE   SteelRat

SteelRat

    Полковник

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

Отправлено 22 January 2015 - 15:54

По идее нужно так, но не проверял

	class Heli_Transport_01_base_F {
		class Turrets;
	};

	class B_Heli_Transport_01_F: Heli_Transport_01_base_F {
		class Turrets : Turrets {
			class MainTurret;
		};
	};

	class Test_Heli_Transport_01: B_Heli_Transport_01_F {
		class Turrets: Turrets {
			class MainTurret: MainTurret {
				magazines[] = {};
			};
		};
	};

Сообщение отредактировал SteelRat: 22 January 2015 - 15:55

  • 1

#3 OFFLINE   NoNameUltima

NoNameUltima

    Сержант

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

Отправлено 22 January 2015 - 16:52   Лучший Ответ

К сожалению получилось только так(иначе, насколько я понимаю, остальные методы не наследуются):

class B_Heli_Transport_01_F;
class Ultima_Heli_Transport_01_Virtual_A : B_Heli_Transport_01_F
    {
        class RotorLibHelicopterProperties;
        class HitPoints;
        class TransportBackpacks;
        class TransportMagazines;
        class TransportWeapons;
        class TransportItems;
        class MFD;
        class Reflectors;
        class Exhausts;
        class Sounds;
        class SoundsExt;
        class UserActions;
        class AnimationSources;
        class Turrets;
        class Armory;
        class Damage;
        class pilotCamera;
    };
    
class Ultima_Heli_Transport_01_Virtual_B : Ultima_Heli_Transport_01_Virtual_A
    {
        class Turrets : Turrets
            {
                class CopilotTurret;
                class MainTurret;
                class ViewOptics;
            };
    };
        
class Ultima_Heli_Transport_01: Ultima_Heli_Transport_01_Virtual_B
    {
        author = "NoNameUltima";
        displayName = "Ultima Heli Transport 01";
        class TransportItems {};
        class TransportBackpacks {};
        class TransportMagazines {};
        class TransportWeapons {};
        class Turrets : Turrets
            {
                class MainTurret : MainTurret
                    {
                        magazines[] = {};
                    };
            };
    };

Сообщение отредактировал NoNameUltima: 22 January 2015 - 16:54

  • 0

#4 OFFLINE   SteelRat

SteelRat

    Полковник

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

Отправлено 22 January 2015 - 20:06

В принципе я хотел сначала выдать вам подобное), потому что это логично, но решил чем чёрт не шутит), может и по проще сработает. 


  • 0




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