539{
  543 
  545    {
  546        
  547        
  548        m_EngineStartOK         = "CivilianSedan_engine_start_SoundSet";
  549        m_EngineStartBattery    = "CivilianSedan_engine_failed_start_battery_SoundSet";
  550        m_EngineStartPlug       = "CivilianSedan_engine_failed_start_sparkplugs_SoundSet";
  551        m_EngineStartFuel       = "CivilianSedan_engine_failed_start_fuel_SoundSet";
  552        m_EngineStop            = "CivilianSedan_engine_stop_SoundSet";
  553        m_EngineStopFuel        = "CivilianSedan_engine_stop_fuel_SoundSet";
  554 
  555        m_CarDoorOpenSound      = "offroad_door_open_SoundSet";
  556        m_CarDoorCloseSound     = "offroad_door_close_SoundSet";
  557        
  558        m_CarHornShortSoundName = "CivilianSedan_Horn_Short_SoundSet";
  559        m_CarHornLongSoundName  = "CivilianSedan_Horn_SoundSet";
  560        
  561        SetEnginePos("0 0.7 1.6");
  562    }
  563    
  565    {       
  566        super.EEInit();
  567        
  569        {
  576            
  579        }       
  580    }
  581    
  583    {
  584        super.OnEngineStart();
  585 
  587        {
  589        }
  590    }
  591    
  593    {
  594        super.OnEngineStop();
  595 
  597        {
  599        }
  600    }
  601    
  603    {
  605        {
  607            {
  609            }
  610        }
  611    }
  612    
  614    {
  616    }
  617    
  619    {
  620        return 4.5;
  621    }
  622 
  624    {
  625        switch (posIdx)
  626        {
  627        case 0:
  629        case 1:
  631        case 2:
  633        case 3:
  635        }
  636 
  637        return 0;
  638    }
  639    
  640    
  642    {
  644    }
  645    
  646    
  648    {
  650    }
  651    
  653    {
  654        if( !super.CanReleaseAttachment( attachment ) )
  655            return false;
  656        
  657        string attType = attachment.GetType();
  658        
  660        {
  661            if ( attType == "CarRadiator" || attType == "CarBattery" || attType == "SparkPlug")
  662                return false;
  663        }
  664 
  665        return true;
  666    }
  667 
  669    {
  671    }
  672    
  674    {
  675        
  676        if (!super.CanDisplayAttachmentCategory(category_name))
  677            return false;
  678        
  679    
  681        if (category_name.
Contains(
"engine"))
 
  682        {
  684                return false;
  685        }
  686                
  687        return true;
  688    }
  689    
  691    {
  692        if ( !super.CanDisplayCargo() )
  693            return false;
  694        
  696            return false;
  697        
  698        return true;
  699    }
  700    
  702    {
  704 
  705        Class.
CastTo( carDoor, FindAttachmentBySlotName( slotType ) );
 
  706        if (!carDoor)
  707        {
  709        }
  710    
  711        switch (slotType)
  712        {
  713        case "CivSedanDriverDoors":
  714            return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
  715            break;
  716        
  717        case "CivSedanCoDriverDoors":
  718            return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
  719            break;
  720 
  721        case "CivSedanCargo1Doors":
  722            return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
  723            break;
  724 
  725        case "CivSedanCargo2Doors":
  726            return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
  727            break;
  728        
  729        case "CivSedanTrunk":
  730            return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
  731            break;
  732        
  733        case "CivSedanHood":
  734            return TranslateAnimationPhaseToCarDoorState("DoorsHood");
  735            break;
  736        }
  737 
  739    }
  740    
  741 
  743    {
  744        switch( posIdx )
  745        {
  746            case 0:
  748                    return false;
  749 
  750                return true;
  751            break;
  752            
  753            case 1:
  755                    return false;
  756 
  757                return true;
  758            break;
  759 
  760            case 2:
  762                    return false;
  763 
  764                return true;
  765            break;
  766 
  767            case 3:
  769                    return false;
  770 
  771                return true;
  772            break;
  773        }
  774 
  775        return false;
  776    }
  777 
  779    {
  780        switch( posIdx )
  781        {
  782        case 0:
  783            return "doors_driver";
  784        break;
  785        case 1:
  786            return "doors_codriver";
  787        break;
  788        case 2:
  789            return "doors_cargo1";
  790        break;
  791        case 3:
  792            return "doors_cargo2";
  793        break;
  794        }
  795        
  796        return super.GetDoorSelectionNameFromSeatPos(posIdx);
  797    }
  798 
  800    {
  801        switch( posIdx )
  802        {
  803        case 0:
  804            return "CivSedanDriverDoors";
  805        break;
  806        case 1:
  807            return "CivSedanCoDriverDoors";
  808        break;
  809        case 2:
  810            return "CivSedanCargo1Doors";
  811        break;
  812        case 3:
  813            return "CivSedanCargo2Doors";
  814        break;
  815        }
  816        
  817        return super.GetDoorInvSlotNameFromSeatPos(posIdx);
  818    }
  819 
  820    
  821    
  823    {
  824        switch (ctrl)
  825        {
  827            float newValue = 0;
  829            {
  830                newValue += 0.25;
  831            }
  832 
  834            {
  835                newValue += 0.25;
  836            }
  837        
  839            {
  840                newValue += 0.25;
  841            }
  842 
  844            {
  845                newValue += 0.25;
  846            }
  847        
  849            {
  850                newValue -= 0.6;
  851            }
  852 
  854            {
  855                newValue -= 0.6;
  856            }
  857        
  859        break;
  860        }
  861 
  862        return super.OnSound(ctrl, oldValue);
  863    }
  864 
  866    {
  867        switch (selection)
  868        {
  869            case "doors_driver":
  870                return "DoorsDriver";
  871            case "doors_codriver":
  872                return "DoorsCoDriver";
  873            case "doors_cargo1":
  874                return "DoorsCargo1";
  875            case "doors_cargo2":
  876                return "DoorsCargo2";
  877            case "doors_hood":
  878                return "DoorsHood";
  879            case "doors_trunk":
  880                return "DoorsTrunk";
  881        }
  882 
  883        return "";
  884    }
  885 
  887    {
  888        return false;
  889    }
  890 
  892    {
  893        return false;
  894    }
  895    
  897    {
  898        switch (currentSeat)
  899        {
  900            case 0:
  901                return nextSeat == 1;
  902    
  903            case 1:
  904                return nextSeat == 0;
  905    
  906            case 2:
  907                return nextSeat == 3;
  908    
  909            case 3:
  910                return nextSeat == 2;
  911        }
  912        
  913        return false;
  914    }
  915 
  917    {
  918        switch (pCurrentSeat)
  919        {
  920            case 0:
  921                return pDoorsSelection == "DoorsDriver";
  922    
  923            case 1:
  924                return pDoorsSelection == "DoorsCoDriver";
  925    
  926            case 2:
  927                return pDoorsSelection == "DoorsCargo1";
  928    
  929            case 3:
  930                return pDoorsSelection == "DoorsCargo2";
  931        }
  932        
  933        return false;       
  934    }
  935 
  937    {
  938        SpawnUniversalParts();
  939        SpawnAdditionalItems();
  940        FillUpCarFluids();
  941 
  942        GetInventory().CreateInInventory("CivSedanWheel");
  943        GetInventory().CreateInInventory("CivSedanWheel");
  944        GetInventory().CreateInInventory("CivSedanWheel");
  945        GetInventory().CreateInInventory("CivSedanWheel");
  946 
  947        GetInventory().CreateInInventory("CivSedanDoors_Driver");
  948        GetInventory().CreateInInventory("CivSedanDoors_CoDriver");
  949        GetInventory().CreateInInventory("CivSedanDoors_BackLeft");
  950        GetInventory().CreateInInventory("CivSedanDoors_BackRight");
  951        GetInventory().CreateInInventory("CivSedanHood");
  952        GetInventory().CreateInInventory("CivSedanTrunk");
  953 
  954        
  955        GetInventory().CreateInInventory("CivSedanWheel");
  956        GetInventory().CreateInInventory("CivSedanWheel");
  957    }
  958    
  960    {
  961        return 1.5;
  962    }
  963}
  964 
  966{
  968    {
  969        SpawnUniversalParts();
  970        SpawnAdditionalItems();
  971        FillUpCarFluids();
  972 
  973        GetInventory().CreateInInventory("CivSedanWheel");
  974        GetInventory().CreateInInventory("CivSedanWheel");
  975        GetInventory().CreateInInventory("CivSedanWheel");
  976        GetInventory().CreateInInventory("CivSedanWheel");
  977 
  978        GetInventory().CreateInInventory("CivSedanDoors_Driver_Wine");
  979        GetInventory().CreateInInventory("CivSedanDoors_CoDriver_Wine");
  980        GetInventory().CreateInInventory("CivSedanDoors_BackLeft_Wine");
  981        GetInventory().CreateInInventory("CivSedanDoors_BackRight_Wine");
  982        GetInventory().CreateInInventory("CivSedanHood_Wine");
  983        GetInventory().CreateInInventory("CivSedanTrunk_Wine");
  984 
  985        
  986        GetInventory().CreateInInventory("CivSedanWheel");
  987        GetInventory().CreateInInventory("CivSedanWheel");
  988    }
  989}
  990 
  992{
  994    {
  995        SpawnUniversalParts();
  996        SpawnAdditionalItems();
  997        FillUpCarFluids();
  998 
  999        GetInventory().CreateInInventory("CivSedanWheel");
 1000        GetInventory().CreateInInventory("CivSedanWheel");
 1001        GetInventory().CreateInInventory("CivSedanWheel");
 1002        GetInventory().CreateInInventory("CivSedanWheel");
 1003 
 1004        GetInventory().CreateInInventory("CivSedanDoors_Driver_Black");
 1005        GetInventory().CreateInInventory("CivSedanDoors_CoDriver_Black");
 1006        GetInventory().CreateInInventory("CivSedanDoors_BackLeft_Black");
 1007        GetInventory().CreateInInventory("CivSedanDoors_BackRight_Black");
 1008        GetInventory().CreateInInventory("CivSedanHood_Black");
 1009        GetInventory().CreateInInventory("CivSedanTrunk_Black");
 1010 
 1011        
 1012        GetInventory().CreateInInventory("CivSedanWheel");
 1013        GetInventory().CreateInInventory("CivSedanWheel");
 1014    }
 1015}
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.