515{
  519 
  521    {
  522        
  523        
  524        m_EngineStartOK         = "CivilianSedan_engine_start_SoundSet";
  525        m_EngineStartBattery    = "CivilianSedan_engine_failed_start_battery_SoundSet";
  526        m_EngineStartPlug       = "CivilianSedan_engine_failed_start_sparkplugs_SoundSet";
  527        m_EngineStartFuel       = "CivilianSedan_engine_failed_start_fuel_SoundSet";
  528        m_EngineStop            = "CivilianSedan_engine_stop_SoundSet";
  529        m_EngineStopFuel        = "CivilianSedan_engine_stop_fuel_SoundSet";
  530 
  531        m_CarDoorOpenSound      = "offroad_door_open_SoundSet";
  532        m_CarDoorCloseSound     = "offroad_door_close_SoundSet";
  533        
  534        m_CarHornShortSoundName = "CivilianSedan_Horn_Short_SoundSet";
  535        m_CarHornLongSoundName  = "CivilianSedan_Horn_SoundSet";
  536        
  537        SetEnginePos("0 0.7 1.6");
  538    }
  539    
  541    {       
  542        super.EEInit();
  543        
  545        {
  552            
  555        }       
  556    }
  557    
  559    {
  560        super.OnEngineStart();
  561 
  563        {
  565        }
  566    }
  567    
  569    {
  570        super.OnEngineStop();
  571 
  573        {
  575        }
  576    }
  577    
  579    {
  581        {
  583            {
  585            }
  586        }
  587    }
  588    
  590    {
  592    }
  593    
  595    {
  596        return 4.5;
  597    }
  598 
  600    {
  601        switch (posIdx)
  602        {
  603        case 0:
  605        case 1:
  607        case 2:
  609        case 3:
  611        }
  612 
  613        return 0;
  614    }
  615    
  616    
  618    {
  620    }
  621    
  622    
  624    {
  626    }
  627    
  629    {
  630        if( !super.CanReleaseAttachment( attachment ) )
  631            return false;
  632        
  633        string attType = attachment.GetType();
  634        
  636        {
  637            if ( attType == "CarRadiator" || attType == "CarBattery" || attType == "SparkPlug")
  638                return false;
  639        }
  640 
  641        return true;
  642    }
  643 
  645    {
  647    }
  648    
  650    {
  651        
  652        if (!super.CanDisplayAttachmentCategory(category_name))
  653            return false;
  654        
  655    
  657        if (category_name.
Contains(
"engine"))
 
  658        {
  660                return false;
  661        }
  662                
  663        return true;
  664    }
  665    
  667    {
  668        if ( !super.CanDisplayCargo() )
  669            return false;
  670        
  672            return false;
  673        
  674        return true;
  675    }
  676    
  678    {
  680 
  681        Class.
CastTo( carDoor, FindAttachmentBySlotName( slotType ) );
 
  682        if (!carDoor)
  683        {
  685        }
  686    
  687        switch (slotType)
  688        {
  689        case "CivSedanDriverDoors":
  690            return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
  691            break;
  692        
  693        case "CivSedanCoDriverDoors":
  694            return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
  695            break;
  696 
  697        case "CivSedanCargo1Doors":
  698            return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
  699            break;
  700 
  701        case "CivSedanCargo2Doors":
  702            return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
  703            break;
  704        
  705        case "CivSedanTrunk":
  706            return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
  707            break;
  708        
  709        case "CivSedanHood":
  710            return TranslateAnimationPhaseToCarDoorState("DoorsHood");
  711            break;
  712        }
  713 
  715    }
  716    
  717 
  719    {
  720        switch( posIdx )
  721        {
  722            case 0:
  724                    return false;
  725 
  726                return true;
  727            break;
  728            
  729            case 1:
  731                    return false;
  732 
  733                return true;
  734            break;
  735 
  736            case 2:
  738                    return false;
  739 
  740                return true;
  741            break;
  742 
  743            case 3:
  745                    return false;
  746 
  747                return true;
  748            break;
  749        }
  750 
  751        return false;
  752    }
  753 
  755    {
  756        switch( posIdx )
  757        {
  758        case 0:
  759            return "doors_driver";
  760        break;
  761        case 1:
  762            return "doors_codriver";
  763        break;
  764        case 2:
  765            return "doors_cargo1";
  766        break;
  767        case 3:
  768            return "doors_cargo2";
  769        break;
  770        }
  771        
  772        return super.GetDoorSelectionNameFromSeatPos(posIdx);
  773    }
  774 
  776    {
  777        switch( posIdx )
  778        {
  779        case 0:
  780            return "CivSedanDriverDoors";
  781        break;
  782        case 1:
  783            return "CivSedanCoDriverDoors";
  784        break;
  785        case 2:
  786            return "CivSedanCargo1Doors";
  787        break;
  788        case 3:
  789            return "CivSedanCargo2Doors";
  790        break;
  791        }
  792        
  793        return super.GetDoorInvSlotNameFromSeatPos(posIdx);
  794    }
  795 
  796    
  797    
  799    {
  800        switch (ctrl)
  801        {
  803            float newValue = 0;
  805            {
  806                newValue += 0.25;
  807            }
  808 
  810            {
  811                newValue += 0.25;
  812            }
  813        
  815            {
  816                newValue += 0.25;
  817            }
  818 
  820            {
  821                newValue += 0.25;
  822            }
  823        
  825            {
  826                newValue -= 0.6;
  827            }
  828 
  830            {
  831                newValue -= 0.6;
  832            }
  833        
  835        break;
  836        }
  837 
  838        return super.OnSound(ctrl, oldValue);
  839    }
  840 
  842    {
  843        switch (selection)
  844        {
  845            case "doors_driver":
  846                return "DoorsDriver";
  847            case "doors_codriver":
  848                return "DoorsCoDriver";
  849            case "doors_cargo1":
  850                return "DoorsCargo1";
  851            case "doors_cargo2":
  852                return "DoorsCargo2";
  853            case "doors_hood":
  854                return "DoorsHood";
  855            case "doors_trunk":
  856                return "DoorsTrunk";
  857        }
  858 
  859        return "";
  860    }
  861 
  863    {
  864        return false;
  865    }
  866 
  868    {
  869        return false;
  870    }
  871    
  873    {
  874        switch (currentSeat)
  875        {
  876            case 0:
  877                return nextSeat == 1;
  878    
  879            case 1:
  880                return nextSeat == 0;
  881    
  882            case 2:
  883                return nextSeat == 3;
  884    
  885            case 3:
  886                return nextSeat == 2;
  887        }
  888        
  889        return false;
  890    }
  891 
  893    {
  894        switch (pCurrentSeat)
  895        {
  896            case 0:
  897                return pDoorsSelection == "DoorsDriver";
  898    
  899            case 1:
  900                return pDoorsSelection == "DoorsCoDriver";
  901    
  902            case 2:
  903                return pDoorsSelection == "DoorsCargo1";
  904    
  905            case 3:
  906                return pDoorsSelection == "DoorsCargo2";
  907        }
  908        
  909        return false;       
  910    }
  911 
  913    {
  914        SpawnUniversalParts();
  915        SpawnAdditionalItems();
  916        FillUpCarFluids();
  917 
  918        GetInventory().CreateInInventory("CivSedanWheel");
  919        GetInventory().CreateInInventory("CivSedanWheel");
  920        GetInventory().CreateInInventory("CivSedanWheel");
  921        GetInventory().CreateInInventory("CivSedanWheel");
  922 
  923        GetInventory().CreateInInventory("CivSedanDoors_Driver");
  924        GetInventory().CreateInInventory("CivSedanDoors_CoDriver");
  925        GetInventory().CreateInInventory("CivSedanDoors_BackLeft");
  926        GetInventory().CreateInInventory("CivSedanDoors_BackRight");
  927        GetInventory().CreateInInventory("CivSedanHood");
  928        GetInventory().CreateInInventory("CivSedanTrunk");
  929 
  930        
  931        GetInventory().CreateInInventory("CivSedanWheel");
  932        GetInventory().CreateInInventory("CivSedanWheel");
  933    }
  934    
  936    {
  937        return 1.5;
  938    }
  939}
  940 
  942{
  944    {
  945        SpawnUniversalParts();
  946        SpawnAdditionalItems();
  947        FillUpCarFluids();
  948 
  949        GetInventory().CreateInInventory("CivSedanWheel");
  950        GetInventory().CreateInInventory("CivSedanWheel");
  951        GetInventory().CreateInInventory("CivSedanWheel");
  952        GetInventory().CreateInInventory("CivSedanWheel");
  953 
  954        GetInventory().CreateInInventory("CivSedanDoors_Driver_Wine");
  955        GetInventory().CreateInInventory("CivSedanDoors_CoDriver_Wine");
  956        GetInventory().CreateInInventory("CivSedanDoors_BackLeft_Wine");
  957        GetInventory().CreateInInventory("CivSedanDoors_BackRight_Wine");
  958        GetInventory().CreateInInventory("CivSedanHood_Wine");
  959        GetInventory().CreateInInventory("CivSedanTrunk_Wine");
  960 
  961        
  962        GetInventory().CreateInInventory("CivSedanWheel");
  963        GetInventory().CreateInInventory("CivSedanWheel");
  964    }
  965}
  966 
  968{
  970    {
  971        SpawnUniversalParts();
  972        SpawnAdditionalItems();
  973        FillUpCarFluids();
  974 
  975        GetInventory().CreateInInventory("CivSedanWheel");
  976        GetInventory().CreateInInventory("CivSedanWheel");
  977        GetInventory().CreateInInventory("CivSedanWheel");
  978        GetInventory().CreateInInventory("CivSedanWheel");
  979 
  980        GetInventory().CreateInInventory("CivSedanDoors_Driver_Black");
  981        GetInventory().CreateInInventory("CivSedanDoors_CoDriver_Black");
  982        GetInventory().CreateInInventory("CivSedanDoors_BackLeft_Black");
  983        GetInventory().CreateInInventory("CivSedanDoors_BackRight_Black");
  984        GetInventory().CreateInInventory("CivSedanHood_Black");
  985        GetInventory().CreateInInventory("CivSedanTrunk_Black");
  986 
  987        
  988        GetInventory().CreateInInventory("CivSedanWheel");
  989        GetInventory().CreateInInventory("CivSedanWheel");
  990    }
  991}
CarSoundCtrl
Car's sound controller list. (native, do not change or extend)
override float GetPushForceCoefficientMultiplier()
class CivilianSedan extends CarScript 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()
ref UniversalTemperatureSourceLambdaEngine m_UTSLEngine
override float GetTransportCameraDistance()
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)
ref UniversalTemperatureSourceSettings m_UTSSettings
ref UniversalTemperatureSource m_UTSource
UniversalTemperatureSourceLambdaBaseImpl UniversalTemperatureSourceLambdaBase UniversalTemperatureSourceLambdaEngine()
override void OnDebugSpawn()
Super root of all classes in Enforce script.
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.