513{
  517 
  519    {
  520        
  521 
  522        m_EngineStartOK         = "Hatchback_02_engine_start_SoundSet";
  523        m_EngineStartBattery    = "Hatchback_02_engine_failed_start_battery_SoundSet";
  524        m_EngineStartPlug       = "Hatchback_02_engine_failed_start_sparkplugs_SoundSet";
  525        m_EngineStartFuel       = "Hatchback_02_engine_failed_start_fuel_SoundSet";
  526        m_EngineStop            = "Hatchback_02_engine_stop_SoundSet";
  527        m_EngineStopFuel        = "Hatchback_02_engine_stop_fuel_SoundSet";
  528        
  529        m_CarDoorOpenSound      = "offroad_door_open_SoundSet";
  530        m_CarDoorCloseSound     = "offroad_door_close_SoundSet";
  531        
  532        m_CarHornShortSoundName = "Hatchback_02_Horn_Short_SoundSet";
  533        m_CarHornLongSoundName  = "Hatchback_02_Horn_SoundSet";
  534        
  535        SetEnginePos("0 0.7 1.4");
  536    }
  537 
  539    {       
  540        super.EEInit();
  541        
  543        {
  550            
  553        }       
  554    }
  555    
  557    {
  558        super.OnEngineStart();
  559 
  561        {
  563        }
  564    }
  565    
  567    {
  568        super.OnEngineStop();
  569 
  571        {
  573        }
  574    }
  575    
  577    {
  579        {
  581            {
  583            }
  584        }
  585    }
  586 
  588    {
  590    }
  591 
  593    {
  594        switch (posIdx)
  595        {
  596        case 0:
  598        case 1:
  600        case 2:
  602        case 3:
  604        }
  605 
  606        return 0;
  607    }
  608    
  609    
  611    {
  613    }
  614    
  615    
  617    {
  619    }
  620 
  622    {
  623        if (!super.CanReleaseAttachment(attachment))
  624        {
  625            return false;
  626        }
  627        
  629        {
  630            string attType = attachment.GetType();
  631            if (attType == "CarRadiator" || attType == "CarBattery" || attType == "SparkPlug")
  632            {
  633                return false;
  634            }
  635        }
  636 
  637        return true;
  638    }
  639    
  641    {
  643    }
  644 
  646    {
  647        
  648        if ( !super.CanDisplayAttachmentCategory( category_name ) )
  649        return false;
  650        
  651    
  653        if ( category_name.
Contains(
"engine") )
 
  654        {
  656                return false;
  657        }
  658                
  659        return true;
  660    }
  661 
  663    {
  664        if ( !super.CanDisplayCargo() )
  665            return false;
  666        
  668            return false;
  669        
  670        return true;
  671    }
  672 
  674    {
  676 
  677        Class.
CastTo(carDoor, FindAttachmentBySlotName(slotType));
 
  678        if (!carDoor)
  679        {
  681        }
  682    
  683        switch (slotType)
  684        {
  685        case "Hatchback_02_Door_1_1":
  686            return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
  687            
  688        case "Hatchback_02_Door_2_1":
  689            return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
  690        
  691        case "Hatchback_02_Door_1_2":
  692            return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
  693        
  694        case "Hatchback_02_Door_2_2":
  695            return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
  696        
  697        case "Hatchback_02_Hood":
  698            return TranslateAnimationPhaseToCarDoorState("DoorsHood");
  699            
  700        case "Hatchback_02_Trunk":
  701            return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
  702        }
  703 
  705    }
  706    
  707 
  709    {
  710        switch (posIdx)
  711        {
  712        case 0:
  714            {
  715                return false;
  716            }
  717 
  718            return true;
  719        
  720        case 1:
  722            {
  723                return false;
  724            }
  725 
  726            return true;
  727 
  728        case 2:
  730            {
  731                return false;
  732            }
  733 
  734            return true;
  735 
  736        case 3:
  738            {
  739                return false;
  740            }
  741 
  742            return true;
  743        }
  744 
  745        return false;
  746    }
  747 
  749    {
  750        switch( posIdx )
  751        {
  752        case 0:
  753            return "doors_driver";
  754        break;
  755        case 1:
  756            return "doors_codriver";
  757        break;
  758        case 2:
  759            return "doors_cargo1";
  760        break;
  761        case 3:
  762            return "doors_cargo2";
  763        break;
  764        }
  765        
  766        return super.GetDoorSelectionNameFromSeatPos(posIdx);
  767    }
  768 
  770    {
  771        switch( posIdx )
  772        {
  773        case 0:
  774            return "Hatchback_02_Door_1_1";
  775        break;
  776        case 1:
  777            return "Hatchback_02_Door_2_1";
  778        break;
  779        case 2:
  780            return "Hatchback_02_Door_1_2";
  781        break;
  782        case 3:
  783            return "Hatchback_02_Door_2_2";
  784        break;
  785        }
  786        
  787        return super.GetDoorInvSlotNameFromSeatPos(posIdx);
  788    }
  789    
  791    {
  792        switch (ctrl)
  793        {
  795            float newValue = 0;
  797            {
  798                newValue += 0.25;
  799            }
  800 
  802            {
  803                newValue += 0.25;
  804            }
  805        
  807            {
  808                newValue += 0.25;
  809            }
  810 
  812            {
  813                newValue += 0.25;
  814            }
  815        
  817        break;
  818        }
  819 
  820        return super.OnSound(ctrl, oldValue);
  821    }
  822    
  824    {
  825        switch( selection )
  826        {
  827        case "doors_driver":
  828            return "DoorsDriver";
  829        case "doors_codriver":
  830            return "DoorsCoDriver";
  831        case "doors_cargo1":
  832            return "DoorsCargo1";
  833        case "doors_cargo2":
  834            return "DoorsCargo2";
  835        case "doors_hood":
  836            return "DoorsHood";
  837        case "doors_trunk":
  838            return "DoorsTrunk";
  839        }
  840 
  841        return "";
  842    }
  843 
  844 
  846    {
  847        return false;
  848    }
  849 
  851    {
  852        return false;
  853    }
  854    
  856    {
  857        switch (currentSeat)
  858        {
  859            case 0:
  860                return nextSeat == 1;
  861            case 1:
  862                return nextSeat == 0;
  863            case 2:
  864                return nextSeat == 3;
  865            case 3:
  866                return nextSeat == 2;
  867        }
  868        
  869        return false;
  870    }
  871 
  873    {
  874        switch (pCurrentSeat)
  875        {
  876            case 0:
  877                return pDoorsSelection == "DoorsDriver";
  878            case 1:
  879                return pDoorsSelection == "DoorsCoDriver";
  880            case 2:
  881                return pDoorsSelection == "DoorsCargo1";
  882            case 3:
  883                return pDoorsSelection == "DoorsCargo2";
  884        }
  885        
  886        return false;
  887    }
  888 
  890    {
  891        SpawnUniversalParts();
  892        SpawnAdditionalItems();
  893        FillUpCarFluids();
  894        
  895        GetInventory().CreateInInventory("Hatchback_02_Wheel");
  896        GetInventory().CreateInInventory("Hatchback_02_Wheel");
  897        GetInventory().CreateInInventory("Hatchback_02_Wheel");
  898        GetInventory().CreateInInventory("Hatchback_02_Wheel");
  899 
  900        GetInventory().CreateInInventory("Hatchback_02_Door_1_1");
  901        GetInventory().CreateInInventory("Hatchback_02_Door_1_2");
  902        GetInventory().CreateInInventory("Hatchback_02_Door_2_1");
  903        GetInventory().CreateInInventory("Hatchback_02_Door_2_2");
  904        GetInventory().CreateInInventory("Hatchback_02_Hood");
  905        GetInventory().CreateInInventory("Hatchback_02_Trunk");
  906 
  907        
  908        GetInventory().CreateInInventory("Hatchback_02_Wheel");
  909        GetInventory().CreateInInventory("Hatchback_02_Wheel");
  910    }
  911}
  912 
  914{
  916    {
  917        SpawnUniversalParts();
  918        SpawnAdditionalItems();
  919        FillUpCarFluids();
  920 
  921        GetInventory().CreateInInventory("Hatchback_02_Wheel");
  922        GetInventory().CreateInInventory("Hatchback_02_Wheel");
  923        GetInventory().CreateInInventory("Hatchback_02_Wheel");
  924        GetInventory().CreateInInventory("Hatchback_02_Wheel");
  925 
  926        GetInventory().CreateInInventory("Hatchback_02_Door_1_1_Black");
  927        GetInventory().CreateInInventory("Hatchback_02_Door_1_2_Black");
  928        GetInventory().CreateInInventory("Hatchback_02_Door_2_1_Black");
  929        GetInventory().CreateInInventory("Hatchback_02_Door_2_2_Black");
  930        GetInventory().CreateInInventory("Hatchback_02_Hood_Black");
  931        GetInventory().CreateInInventory("Hatchback_02_Trunk_Black");
  932 
  933        
  934        GetInventory().CreateInInventory("Hatchback_02_Wheel");
  935        GetInventory().CreateInInventory("Hatchback_02_Wheel");
  936    }
  937};
  938 
  940{
  942    {
  943        SpawnUniversalParts();
  944        SpawnAdditionalItems();
  945        FillUpCarFluids();
  946 
  947        GetInventory().CreateInInventory("Hatchback_02_Wheel");
  948        GetInventory().CreateInInventory("Hatchback_02_Wheel");
  949        GetInventory().CreateInInventory("Hatchback_02_Wheel");
  950        GetInventory().CreateInInventory("Hatchback_02_Wheel");
  951 
  952        GetInventory().CreateInInventory("Hatchback_02_Door_1_1_Blue");
  953        GetInventory().CreateInInventory("Hatchback_02_Door_1_2_Blue");
  954        GetInventory().CreateInInventory("Hatchback_02_Door_2_1_Blue");
  955        GetInventory().CreateInInventory("Hatchback_02_Door_2_2_Blue");
  956        GetInventory().CreateInInventory("Hatchback_02_Hood_Blue");
  957        GetInventory().CreateInInventory("Hatchback_02_Trunk_Blue");
  958 
  959        
  960        GetInventory().CreateInInventory("Hatchback_02_Wheel");
  961        GetInventory().CreateInInventory("Hatchback_02_Wheel");
  962    }
  963}
CarSoundCtrl
Car's sound controller list. (native, do not change or extend)
 
ref UniversalTemperatureSourceLambdaEngine m_UTSLEngine
 
ref UniversalTemperatureSourceSettings m_UTSSettings
 
ref UniversalTemperatureSource m_UTSource
 
class Hatchback_02_Blue extends Hatchback_02 OnDebugSpawn
 
override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
 
override string GetAnimSourceFromSelection(string selection)
 
override int GetSeatAnimationType(int posIdx)
 
override float OnSound(CarSoundCtrl ctrl, float oldValue)
 
override string GetDoorInvSlotNameFromSeatPos(int posIdx)
 
override void EOnPostSimulate(IEntity other, float timeSlice)
 
override void OnEngineStop()
 
override bool CanReleaseAttachment(EntityAI attachment)
 
override bool CanDisplayCargo()
 
override void OnEngineStart()
 
override CarLightBase CreateFrontLight()
 
override int GetAnimInstance()
 
override bool CrewCanGetThrough(int posIdx)
 
override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
 
bool CanManipulateSpareWheel(string slotSelectionName)
 
override bool IsVitalGlowPlug()
 
override CarRearLightBase CreateRearLight()
 
override bool IsVitalTruckBattery()
 
override string GetDoorSelectionNameFromSeatPos(int posIdx)
 
override int GetCarDoorsState(string slotType)
 
override bool CanDisplayAttachmentCategory(string category_name)
 
UniversalTemperatureSourceLambdaBaseImpl UniversalTemperatureSourceLambdaBase UniversalTemperatureSourceLambdaEngine()
 
Super root of all classes in Enforce script.
 
override void OnDebugSpawn()
 
original Timer deletes m_params which is unwanted
 
DayZPlayerConstants
defined in C++
 
proto native CGame GetGame()
 
static proto bool CastTo(out Class to, Class from)
Try to safely down-cast base class to child class.
 
static const float ITEM_TEMPERATURE_NEUTRAL_ZONE_MIDDLE
 
static proto float Clamp(float value, float min, float max)
Clamps 'value' to 'min' if it is lower than 'min', or to 'max' if it is higher than 'max'.
 
bool Contains(string sample)
Returns true if sample is substring of string.
 
proto int ToLower()
Changes string to lowercase. Returns length.