788{
  792 
  794    {
  795        
  796        
  797        m_EngineStartOK         = "CivilianSedan_engine_start_SoundSet";
  798        m_EngineStartBattery    = "CivilianSedan_engine_failed_start_battery_SoundSet";
  799        m_EngineStartPlug       = "CivilianSedan_engine_failed_start_sparkplugs_SoundSet";
  800        m_EngineStartFuel       = "CivilianSedan_engine_failed_start_fuel_SoundSet";
  801        m_EngineStop            = "CivilianSedan_engine_stop_SoundSet";
  802        m_EngineStopFuel        = "CivilianSedan_engine_stop_fuel_SoundSet";
  803 
  804        m_CarDoorOpenSound      = "offroad_door_open_SoundSet";
  805        m_CarDoorCloseSound     = "offroad_door_close_SoundSet";
  806        
  807        m_CarHornShortSoundName = "CivilianSedan_Horn_Short_SoundSet";
  808        m_CarHornLongSoundName  = "CivilianSedan_Horn_SoundSet";
  809        
  810        SetEnginePos("0 0.7 1.6");
  811    }
  812    
  814    {       
  815        super.EEInit();
  816        
  818        {
  825            
  828        }       
  829    }
  830    
  832    {
  833        super.OnEngineStart();
  834 
  836        {
  838        }
  839    }
  840    
  842    {
  843        super.OnEngineStop();
  844 
  846        {
  848        }
  849    }
  850    
  852    {
  854        {
  856            {
  858            }
  859        }
  860    }
  861    
  863    {
  865    }
  866    
  868    {
  869        return 4.5;
  870    }
  871 
  873    {
  874        switch (posIdx)
  875        {
  876        case 0:
  878        case 1:
  880        case 2:
  882        case 3:
  884        }
  885 
  886        return 0;
  887    }
  888    
  889    
  891    {
  893    }
  894    
  895    
  897    {
  899    }
  900    
  902    {
  903        if( !super.CanReleaseAttachment( attachment ) )
  904            return false;
  905        
  906        string attType = attachment.GetType();
  907        
  909        {
  910            if ( attType == "CarRadiator" || attType == "CarBattery" || attType == "SparkPlug")
  911                return false;
  912        }
  913 
  914        return true;
  915    }
  916 
  918    {
  920    }
  921    
  923    {
  924        
  925        if (!super.CanDisplayAttachmentCategory(category_name))
  926            return false;
  927        
  928    
  930        if (category_name.
Contains(
"engine"))
 
  931        {
  933                return false;
  934        }
  935                
  936        return true;
  937    }
  938    
  940    {
  941        if ( !super.CanDisplayCargo() )
  942            return false;
  943        
  945            return false;
  946        
  947        return true;
  948    }
  949    
  951    {
  953 
  954        Class.
CastTo( carDoor, FindAttachmentBySlotName( slotType ) );
 
  955        if (!carDoor)
  956        {
  958        }
  959    
  960        switch (slotType)
  961        {
  962        case "CivSedanDriverDoors":
  963            return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
  964            break;
  965        
  966        case "CivSedanCoDriverDoors":
  967            return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
  968            break;
  969 
  970        case "CivSedanCargo1Doors":
  971            return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
  972            break;
  973 
  974        case "CivSedanCargo2Doors":
  975            return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
  976            break;
  977        
  978        case "CivSedanTrunk":
  979            return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
  980            break;
  981        
  982        case "CivSedanHood":
  983            return TranslateAnimationPhaseToCarDoorState("DoorsHood");
  984            break;
  985        }
  986 
  988    }
  989    
  990 
  992    {
  993        switch( posIdx )
  994        {
  995            case 0:
  997                    return false;
  998 
  999                return true;
 1000            break;
 1001            
 1002            case 1:
 1004                    return false;
 1005 
 1006                return true;
 1007            break;
 1008 
 1009            case 2:
 1011                    return false;
 1012 
 1013                return true;
 1014            break;
 1015 
 1016            case 3:
 1018                    return false;
 1019 
 1020                return true;
 1021            break;
 1022        }
 1023 
 1024        return false;
 1025    }
 1026 
 1028    {
 1029        switch( posIdx )
 1030        {
 1031        case 0:
 1032            return "doors_driver";
 1033        break;
 1034        case 1:
 1035            return "doors_codriver";
 1036        break;
 1037        case 2:
 1038            return "doors_cargo1";
 1039        break;
 1040        case 3:
 1041            return "doors_cargo2";
 1042        break;
 1043        }
 1044        
 1045        return super.GetDoorSelectionNameFromSeatPos(posIdx);
 1046    }
 1047 
 1049    {
 1050        switch( posIdx )
 1051        {
 1052        case 0:
 1053            return "CivSedanDriverDoors";
 1054        break;
 1055        case 1:
 1056            return "CivSedanCoDriverDoors";
 1057        break;
 1058        case 2:
 1059            return "CivSedanCargo1Doors";
 1060        break;
 1061        case 3:
 1062            return "CivSedanCargo2Doors";
 1063        break;
 1064        }
 1065        
 1066        return super.GetDoorInvSlotNameFromSeatPos(posIdx);
 1067    }
 1068 
 1069    
 1070    
 1072    {
 1073        switch (ctrl)
 1074        {
 1076            float newValue = 0;
 1078            {
 1079                newValue += 0.25;
 1080            }
 1081 
 1083            {
 1084                newValue += 0.25;
 1085            }
 1086        
 1088            {
 1089                newValue += 0.25;
 1090            }
 1091 
 1093            {
 1094                newValue += 0.25;
 1095            }
 1096        
 1098            {
 1099                newValue -= 0.6;
 1100            }
 1101 
 1103            {
 1104                newValue -= 0.6;
 1105            }
 1106        
 1108        break;
 1109        }
 1110 
 1111        return super.OnSound(ctrl, oldValue);
 1112    }
 1113 
 1115    {
 1116        switch (selection)
 1117        {
 1118            case "doors_driver":
 1119                return "DoorsDriver";
 1120            case "doors_codriver":
 1121                return "DoorsCoDriver";
 1122            case "doors_cargo1":
 1123                return "DoorsCargo1";
 1124            case "doors_cargo2":
 1125                return "DoorsCargo2";
 1126            case "doors_hood":
 1127                return "DoorsHood";
 1128            case "doors_trunk":
 1129                return "DoorsTrunk";
 1130        }
 1131 
 1132        return "";
 1133    }
 1134 
 1136    {
 1137        return false;
 1138    }
 1139 
 1141    {
 1142        return false;
 1143    }
 1144    
 1146    {
 1147        switch (currentSeat)
 1148        {
 1149            case 0:
 1150                return nextSeat == 1;
 1151    
 1152            case 1:
 1153                return nextSeat == 0;
 1154    
 1155            case 2:
 1156                return nextSeat == 3;
 1157    
 1158            case 3:
 1159                return nextSeat == 2;
 1160        }
 1161        
 1162        return false;
 1163    }
 1164 
 1166    {
 1167        switch (pCurrentSeat)
 1168        {
 1169            case 0:
 1170                return pDoorsSelection == "DoorsDriver";
 1171    
 1172            case 1:
 1173                return pDoorsSelection == "DoorsCoDriver";
 1174    
 1175            case 2:
 1176                return pDoorsSelection == "DoorsCargo1";
 1177    
 1178            case 3:
 1179                return pDoorsSelection == "DoorsCargo2";
 1180        }
 1181        
 1182        return false;       
 1183    }
 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");
 1197        GetInventory().CreateInInventory("CivSedanDoors_CoDriver");
 1198        GetInventory().CreateInInventory("CivSedanDoors_BackLeft");
 1199        GetInventory().CreateInInventory("CivSedanDoors_BackRight");
 1200        GetInventory().CreateInInventory("CivSedanHood");
 1201        GetInventory().CreateInInventory("CivSedanTrunk");
 1202 
 1203        
 1204        GetInventory().CreateInInventory("CivSedanWheel");
 1205        GetInventory().CreateInInventory("CivSedanWheel");
 1206    }
 1207    
 1209    {
 1210        return 1.5;
 1211    }
 1212}
 1213 
 1215{
 1217    {
 1218        SpawnUniversalParts();
 1219        SpawnAdditionalItems();
 1220        FillUpCarFluids();
 1221 
 1222        GetInventory().CreateInInventory("CivSedanWheel");
 1223        GetInventory().CreateInInventory("CivSedanWheel");
 1224        GetInventory().CreateInInventory("CivSedanWheel");
 1225        GetInventory().CreateInInventory("CivSedanWheel");
 1226 
 1227        GetInventory().CreateInInventory("CivSedanDoors_Driver_Wine");
 1228        GetInventory().CreateInInventory("CivSedanDoors_CoDriver_Wine");
 1229        GetInventory().CreateInInventory("CivSedanDoors_BackLeft_Wine");
 1230        GetInventory().CreateInInventory("CivSedanDoors_BackRight_Wine");
 1231        GetInventory().CreateInInventory("CivSedanHood_Wine");
 1232        GetInventory().CreateInInventory("CivSedanTrunk_Wine");
 1233 
 1234        
 1235        GetInventory().CreateInInventory("CivSedanWheel");
 1236        GetInventory().CreateInInventory("CivSedanWheel");
 1237    }
 1238}
 1239 
 1241{
 1243    {
 1244        SpawnUniversalParts();
 1245        SpawnAdditionalItems();
 1246        FillUpCarFluids();
 1247 
 1248        GetInventory().CreateInInventory("CivSedanWheel");
 1249        GetInventory().CreateInInventory("CivSedanWheel");
 1250        GetInventory().CreateInInventory("CivSedanWheel");
 1251        GetInventory().CreateInInventory("CivSedanWheel");
 1252 
 1253        GetInventory().CreateInInventory("CivSedanDoors_Driver_Black");
 1254        GetInventory().CreateInInventory("CivSedanDoors_CoDriver_Black");
 1255        GetInventory().CreateInInventory("CivSedanDoors_BackLeft_Black");
 1256        GetInventory().CreateInInventory("CivSedanDoors_BackRight_Black");
 1257        GetInventory().CreateInInventory("CivSedanHood_Black");
 1258        GetInventory().CreateInInventory("CivSedanTrunk_Black");
 1259 
 1260        
 1261        GetInventory().CreateInInventory("CivSedanWheel");
 1262        GetInventory().CreateInInventory("CivSedanWheel");
 1263    }
 1264}
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.