691{
695
697 {
698
699
700 m_EngineStartOK = "CivilianSedan_engine_start_SoundSet";
701 m_EngineStartBattery = "CivilianSedan_engine_failed_start_battery_SoundSet";
702 m_EngineStartPlug = "CivilianSedan_engine_failed_start_sparkplugs_SoundSet";
703 m_EngineStartFuel = "CivilianSedan_engine_failed_start_fuel_SoundSet";
704 m_EngineStop = "CivilianSedan_engine_stop_SoundSet";
705 m_EngineStopFuel = "CivilianSedan_engine_stop_fuel_SoundSet";
706
707 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
708 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
709
710 m_CarHornShortSoundName = "CivilianSedan_Horn_Short_SoundSet";
711 m_CarHornLongSoundName = "CivilianSedan_Horn_SoundSet";
712
713 SetEnginePos("0 0.7 1.6");
714 }
715
717 {
718 super.EEInit();
719
721 {
728
731 }
732 }
733
735 {
736 super.OnEngineStart();
737
739 {
741 }
742 }
743
745 {
746 super.OnEngineStop();
747
749 {
751 }
752 }
753
755 {
757 {
759 {
761 }
762 }
763 }
764
766 {
768 }
769
771 {
772 return 4.5;
773 }
774
776 {
777 switch (posIdx)
778 {
779 case 0:
781 case 1:
783 case 2:
785 case 3:
787 }
788
789 return 0;
790 }
791
792
794 {
796 }
797
798
800 {
802 }
803
805 {
806 if( !super.CanReleaseAttachment( attachment ) )
807 return false;
808
809 string attType = attachment.GetType();
810
812 {
813 if ( attType == "CarRadiator" || attType == "CarBattery" || attType == "SparkPlug")
814 return false;
815 }
816
817 return true;
818 }
819
821 {
823 }
824
826 {
827
828 if (!super.CanDisplayAttachmentCategory(category_name))
829 return false;
830
831
833 if (category_name.
Contains(
"engine"))
834 {
836 return false;
837 }
838
839 return true;
840 }
841
843 {
844 if ( !super.CanDisplayCargo() )
845 return false;
846
848 return false;
849
850 return true;
851 }
852
854 {
856
857 Class.
CastTo( carDoor, FindAttachmentBySlotName( slotType ) );
858 if (!carDoor)
859 {
861 }
862
863 switch (slotType)
864 {
865 case "CivSedanDriverDoors":
866 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
867 break;
868
869 case "CivSedanCoDriverDoors":
870 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
871 break;
872
873 case "CivSedanCargo1Doors":
874 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
875 break;
876
877 case "CivSedanCargo2Doors":
878 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
879 break;
880
881 case "CivSedanTrunk":
882 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
883 break;
884
885 case "CivSedanHood":
886 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
887 break;
888 }
889
891 }
892
893
895 {
896 switch( posIdx )
897 {
898 case 0:
900 return false;
901
902 return true;
903 break;
904
905 case 1:
907 return false;
908
909 return true;
910 break;
911
912 case 2:
914 return false;
915
916 return true;
917 break;
918
919 case 3:
921 return false;
922
923 return true;
924 break;
925 }
926
927 return false;
928 }
929
931 {
932 switch( posIdx )
933 {
934 case 0:
935 return "doors_driver";
936 break;
937 case 1:
938 return "doors_codriver";
939 break;
940 case 2:
941 return "doors_cargo1";
942 break;
943 case 3:
944 return "doors_cargo2";
945 break;
946 }
947
948 return super.GetDoorSelectionNameFromSeatPos(posIdx);
949 }
950
952 {
953 switch( posIdx )
954 {
955 case 0:
956 return "CivSedanDriverDoors";
957 break;
958 case 1:
959 return "CivSedanCoDriverDoors";
960 break;
961 case 2:
962 return "CivSedanCargo1Doors";
963 break;
964 case 3:
965 return "CivSedanCargo2Doors";
966 break;
967 }
968
969 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
970 }
971
972
973
975 {
976 switch (ctrl)
977 {
979 float newValue = 0;
981 {
982 newValue += 0.25;
983 }
984
986 {
987 newValue += 0.25;
988 }
989
991 {
992 newValue += 0.25;
993 }
994
996 {
997 newValue += 0.25;
998 }
999
1001 {
1002 newValue -= 0.6;
1003 }
1004
1006 {
1007 newValue -= 0.6;
1008 }
1009
1011 break;
1012 }
1013
1014 return super.OnSound(ctrl, oldValue);
1015 }
1016
1018 {
1019 switch (selection)
1020 {
1021 case "doors_driver":
1022 return "DoorsDriver";
1023 case "doors_codriver":
1024 return "DoorsCoDriver";
1025 case "doors_cargo1":
1026 return "DoorsCargo1";
1027 case "doors_cargo2":
1028 return "DoorsCargo2";
1029 case "doors_hood":
1030 return "DoorsHood";
1031 case "doors_trunk":
1032 return "DoorsTrunk";
1033 }
1034
1035 return "";
1036 }
1037
1039 {
1040 return false;
1041 }
1042
1044 {
1045 return false;
1046 }
1047
1049 {
1050 switch (currentSeat)
1051 {
1052 case 0:
1053 return nextSeat == 1;
1054
1055 case 1:
1056 return nextSeat == 0;
1057
1058 case 2:
1059 return nextSeat == 3;
1060
1061 case 3:
1062 return nextSeat == 2;
1063 }
1064
1065 return false;
1066 }
1067
1069 {
1070 switch (pCurrentSeat)
1071 {
1072 case 0:
1073 return pDoorsSelection == "DoorsDriver";
1074
1075 case 1:
1076 return pDoorsSelection == "DoorsCoDriver";
1077
1078 case 2:
1079 return pDoorsSelection == "DoorsCargo1";
1080
1081 case 3:
1082 return pDoorsSelection == "DoorsCargo2";
1083 }
1084
1085 return false;
1086 }
1087
1089 {
1090 SpawnUniversalParts();
1091 SpawnAdditionalItems();
1092 FillUpCarFluids();
1093
1094 GetInventory().CreateInInventory("CivSedanWheel");
1095 GetInventory().CreateInInventory("CivSedanWheel");
1096 GetInventory().CreateInInventory("CivSedanWheel");
1097 GetInventory().CreateInInventory("CivSedanWheel");
1098
1099 GetInventory().CreateInInventory("CivSedanDoors_Driver");
1100 GetInventory().CreateInInventory("CivSedanDoors_CoDriver");
1101 GetInventory().CreateInInventory("CivSedanDoors_BackLeft");
1102 GetInventory().CreateInInventory("CivSedanDoors_BackRight");
1103 GetInventory().CreateInInventory("CivSedanHood");
1104 GetInventory().CreateInInventory("CivSedanTrunk");
1105
1106
1107 GetInventory().CreateInInventory("CivSedanWheel");
1108 GetInventory().CreateInInventory("CivSedanWheel");
1109 }
1110
1112 {
1113 return 1.5;
1114 }
1115}
1116
1118{
1120 {
1121 SpawnUniversalParts();
1122 SpawnAdditionalItems();
1123 FillUpCarFluids();
1124
1125 GetInventory().CreateInInventory("CivSedanWheel");
1126 GetInventory().CreateInInventory("CivSedanWheel");
1127 GetInventory().CreateInInventory("CivSedanWheel");
1128 GetInventory().CreateInInventory("CivSedanWheel");
1129
1130 GetInventory().CreateInInventory("CivSedanDoors_Driver_Wine");
1131 GetInventory().CreateInInventory("CivSedanDoors_CoDriver_Wine");
1132 GetInventory().CreateInInventory("CivSedanDoors_BackLeft_Wine");
1133 GetInventory().CreateInInventory("CivSedanDoors_BackRight_Wine");
1134 GetInventory().CreateInInventory("CivSedanHood_Wine");
1135 GetInventory().CreateInInventory("CivSedanTrunk_Wine");
1136
1137
1138 GetInventory().CreateInInventory("CivSedanWheel");
1139 GetInventory().CreateInInventory("CivSedanWheel");
1140 }
1141}
1142
1144{
1146 {
1147 SpawnUniversalParts();
1148 SpawnAdditionalItems();
1149 FillUpCarFluids();
1150
1151 GetInventory().CreateInInventory("CivSedanWheel");
1152 GetInventory().CreateInInventory("CivSedanWheel");
1153 GetInventory().CreateInInventory("CivSedanWheel");
1154 GetInventory().CreateInInventory("CivSedanWheel");
1155
1156 GetInventory().CreateInInventory("CivSedanDoors_Driver_Black");
1157 GetInventory().CreateInInventory("CivSedanDoors_CoDriver_Black");
1158 GetInventory().CreateInInventory("CivSedanDoors_BackLeft_Black");
1159 GetInventory().CreateInInventory("CivSedanDoors_BackRight_Black");
1160 GetInventory().CreateInInventory("CivSedanHood_Black");
1161 GetInventory().CreateInInventory("CivSedanTrunk_Black");
1162
1163
1164 GetInventory().CreateInInventory("CivSedanWheel");
1165 GetInventory().CreateInInventory("CivSedanWheel");
1166 }
1167}
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.