757{
  761 
  763    {
  764        
  765        
  766        m_EngineStartOK         = "CivilianSedan_engine_start_SoundSet";
  767        m_EngineStartBattery    = "CivilianSedan_engine_failed_start_battery_SoundSet";
  768        m_EngineStartPlug       = "CivilianSedan_engine_failed_start_sparkplugs_SoundSet";
  769        m_EngineStartFuel       = "CivilianSedan_engine_failed_start_fuel_SoundSet";
  770        m_EngineStop            = "CivilianSedan_engine_stop_SoundSet";
  771        m_EngineStopFuel        = "CivilianSedan_engine_stop_fuel_SoundSet";
  772 
  773        m_CarDoorOpenSound      = "offroad_door_open_SoundSet";
  774        m_CarDoorCloseSound     = "offroad_door_close_SoundSet";
  775        
  776        m_CarHornShortSoundName = "CivilianSedan_Horn_Short_SoundSet";
  777        m_CarHornLongSoundName  = "CivilianSedan_Horn_SoundSet";
  778        
  779        SetEnginePos("0 0.7 1.6");
  780    }
  781    
  783    {       
  784        super.EEInit();
  785        
  787        {
  794            
  797        }       
  798    }
  799    
  801    {
  802        super.OnEngineStart();
  803 
  805        {
  807        }
  808    }
  809    
  811    {
  812        super.OnEngineStop();
  813 
  815        {
  817        }
  818    }
  819    
  821    {
  823        {
  825            {
  827            }
  828        }
  829    }
  830    
  832    {
  834    }
  835    
  837    {
  838        return 4.5;
  839    }
  840 
  842    {
  843        switch (posIdx)
  844        {
  845        case 0:
  847        case 1:
  849        case 2:
  851        case 3:
  853        }
  854 
  855        return 0;
  856    }
  857    
  858    
  860    {
  862    }
  863    
  864    
  866    {
  868    }
  869    
  871    {
  872        if( !super.CanReleaseAttachment( attachment ) )
  873            return false;
  874        
  875        string attType = attachment.GetType();
  876        
  878        {
  879            if ( attType == "CarRadiator" || attType == "CarBattery" || attType == "SparkPlug")
  880                return false;
  881        }
  882 
  883        return true;
  884    }
  885 
  887    {
  889    }
  890    
  892    {
  893        
  894        if (!super.CanDisplayAttachmentCategory(category_name))
  895            return false;
  896        
  897    
  899        if (category_name.
Contains(
"engine"))
 
  900        {
  902                return false;
  903        }
  904                
  905        return true;
  906    }
  907    
  909    {
  910        if ( !super.CanDisplayCargo() )
  911            return false;
  912        
  914            return false;
  915        
  916        return true;
  917    }
  918    
  920    {
  922 
  923        Class.
CastTo( carDoor, FindAttachmentBySlotName( slotType ) );
 
  924        if (!carDoor)
  925        {
  927        }
  928    
  929        switch (slotType)
  930        {
  931        case "CivSedanDriverDoors":
  932            return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
  933            break;
  934        
  935        case "CivSedanCoDriverDoors":
  936            return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
  937            break;
  938 
  939        case "CivSedanCargo1Doors":
  940            return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
  941            break;
  942 
  943        case "CivSedanCargo2Doors":
  944            return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
  945            break;
  946        
  947        case "CivSedanTrunk":
  948            return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
  949            break;
  950        
  951        case "CivSedanHood":
  952            return TranslateAnimationPhaseToCarDoorState("DoorsHood");
  953            break;
  954        }
  955 
  957    }
  958    
  959 
  961    {
  962        switch( posIdx )
  963        {
  964            case 0:
  966                    return false;
  967 
  968                return true;
  969            break;
  970            
  971            case 1:
  973                    return false;
  974 
  975                return true;
  976            break;
  977 
  978            case 2:
  980                    return false;
  981 
  982                return true;
  983            break;
  984 
  985            case 3:
  987                    return false;
  988 
  989                return true;
  990            break;
  991        }
  992 
  993        return false;
  994    }
  995 
  997    {
  998        switch( posIdx )
  999        {
 1000        case 0:
 1001            return "doors_driver";
 1002        break;
 1003        case 1:
 1004            return "doors_codriver";
 1005        break;
 1006        case 2:
 1007            return "doors_cargo1";
 1008        break;
 1009        case 3:
 1010            return "doors_cargo2";
 1011        break;
 1012        }
 1013        
 1014        return super.GetDoorSelectionNameFromSeatPos(posIdx);
 1015    }
 1016 
 1018    {
 1019        switch( posIdx )
 1020        {
 1021        case 0:
 1022            return "CivSedanDriverDoors";
 1023        break;
 1024        case 1:
 1025            return "CivSedanCoDriverDoors";
 1026        break;
 1027        case 2:
 1028            return "CivSedanCargo1Doors";
 1029        break;
 1030        case 3:
 1031            return "CivSedanCargo2Doors";
 1032        break;
 1033        }
 1034        
 1035        return super.GetDoorInvSlotNameFromSeatPos(posIdx);
 1036    }
 1037 
 1038    
 1039    
 1041    {
 1042        switch (ctrl)
 1043        {
 1045            float newValue = 0;
 1047            {
 1048                newValue += 0.25;
 1049            }
 1050 
 1052            {
 1053                newValue += 0.25;
 1054            }
 1055        
 1057            {
 1058                newValue += 0.25;
 1059            }
 1060 
 1062            {
 1063                newValue += 0.25;
 1064            }
 1065        
 1067            {
 1068                newValue -= 0.6;
 1069            }
 1070 
 1072            {
 1073                newValue -= 0.6;
 1074            }
 1075        
 1077        break;
 1078        }
 1079 
 1080        return super.OnSound(ctrl, oldValue);
 1081    }
 1082 
 1084    {
 1085        switch (selection)
 1086        {
 1087            case "doors_driver":
 1088                return "DoorsDriver";
 1089            case "doors_codriver":
 1090                return "DoorsCoDriver";
 1091            case "doors_cargo1":
 1092                return "DoorsCargo1";
 1093            case "doors_cargo2":
 1094                return "DoorsCargo2";
 1095            case "doors_hood":
 1096                return "DoorsHood";
 1097            case "doors_trunk":
 1098                return "DoorsTrunk";
 1099        }
 1100 
 1101        return "";
 1102    }
 1103 
 1105    {
 1106        return false;
 1107    }
 1108 
 1110    {
 1111        return false;
 1112    }
 1113    
 1115    {
 1116        switch (currentSeat)
 1117        {
 1118            case 0:
 1119                return nextSeat == 1;
 1120    
 1121            case 1:
 1122                return nextSeat == 0;
 1123    
 1124            case 2:
 1125                return nextSeat == 3;
 1126    
 1127            case 3:
 1128                return nextSeat == 2;
 1129        }
 1130        
 1131        return false;
 1132    }
 1133 
 1135    {
 1136        switch (pCurrentSeat)
 1137        {
 1138            case 0:
 1139                return pDoorsSelection == "DoorsDriver";
 1140    
 1141            case 1:
 1142                return pDoorsSelection == "DoorsCoDriver";
 1143    
 1144            case 2:
 1145                return pDoorsSelection == "DoorsCargo1";
 1146    
 1147            case 3:
 1148                return pDoorsSelection == "DoorsCargo2";
 1149        }
 1150        
 1151        return false;       
 1152    }
 1153 
 1155    {
 1156        SpawnUniversalParts();
 1157        SpawnAdditionalItems();
 1158        FillUpCarFluids();
 1159 
 1160        GetInventory().CreateInInventory("CivSedanWheel");
 1161        GetInventory().CreateInInventory("CivSedanWheel");
 1162        GetInventory().CreateInInventory("CivSedanWheel");
 1163        GetInventory().CreateInInventory("CivSedanWheel");
 1164 
 1165        GetInventory().CreateInInventory("CivSedanDoors_Driver");
 1166        GetInventory().CreateInInventory("CivSedanDoors_CoDriver");
 1167        GetInventory().CreateInInventory("CivSedanDoors_BackLeft");
 1168        GetInventory().CreateInInventory("CivSedanDoors_BackRight");
 1169        GetInventory().CreateInInventory("CivSedanHood");
 1170        GetInventory().CreateInInventory("CivSedanTrunk");
 1171 
 1172        
 1173        GetInventory().CreateInInventory("CivSedanWheel");
 1174        GetInventory().CreateInInventory("CivSedanWheel");
 1175    }
 1176    
 1178    {
 1179        return 1.5;
 1180    }
 1181}
 1182 
 1184{
 1186    {
 1187        SpawnUniversalParts();
 1188        SpawnAdditionalItems();
 1189        FillUpCarFluids();
 1190 
 1191        GetInventory().CreateInInventory("CivSedanWheel");
 1192        GetInventory().CreateInInventory("CivSedanWheel");
 1193        GetInventory().CreateInInventory("CivSedanWheel");
 1194        GetInventory().CreateInInventory("CivSedanWheel");
 1195 
 1196        GetInventory().CreateInInventory("CivSedanDoors_Driver_Wine");
 1197        GetInventory().CreateInInventory("CivSedanDoors_CoDriver_Wine");
 1198        GetInventory().CreateInInventory("CivSedanDoors_BackLeft_Wine");
 1199        GetInventory().CreateInInventory("CivSedanDoors_BackRight_Wine");
 1200        GetInventory().CreateInInventory("CivSedanHood_Wine");
 1201        GetInventory().CreateInInventory("CivSedanTrunk_Wine");
 1202 
 1203        
 1204        GetInventory().CreateInInventory("CivSedanWheel");
 1205        GetInventory().CreateInInventory("CivSedanWheel");
 1206    }
 1207}
 1208 
 1210{
 1212    {
 1213        SpawnUniversalParts();
 1214        SpawnAdditionalItems();
 1215        FillUpCarFluids();
 1216 
 1217        GetInventory().CreateInInventory("CivSedanWheel");
 1218        GetInventory().CreateInInventory("CivSedanWheel");
 1219        GetInventory().CreateInInventory("CivSedanWheel");
 1220        GetInventory().CreateInInventory("CivSedanWheel");
 1221 
 1222        GetInventory().CreateInInventory("CivSedanDoors_Driver_Black");
 1223        GetInventory().CreateInInventory("CivSedanDoors_CoDriver_Black");
 1224        GetInventory().CreateInInventory("CivSedanDoors_BackLeft_Black");
 1225        GetInventory().CreateInInventory("CivSedanDoors_BackRight_Black");
 1226        GetInventory().CreateInInventory("CivSedanHood_Black");
 1227        GetInventory().CreateInInventory("CivSedanTrunk_Black");
 1228 
 1229        
 1230        GetInventory().CreateInInventory("CivSedanWheel");
 1231        GetInventory().CreateInInventory("CivSedanWheel");
 1232    }
 1233}
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.