714{
718
720 {
721
722
723 m_EngineStartOK = "CivilianSedan_engine_start_SoundSet";
724 m_EngineStartBattery = "CivilianSedan_engine_failed_start_battery_SoundSet";
725 m_EngineStartPlug = "CivilianSedan_engine_failed_start_sparkplugs_SoundSet";
726 m_EngineStartFuel = "CivilianSedan_engine_failed_start_fuel_SoundSet";
727 m_EngineStop = "CivilianSedan_engine_stop_SoundSet";
728 m_EngineStopFuel = "CivilianSedan_engine_stop_fuel_SoundSet";
729
730 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
731 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
732
733 m_CarHornShortSoundName = "CivilianSedan_Horn_Short_SoundSet";
734 m_CarHornLongSoundName = "CivilianSedan_Horn_SoundSet";
735
736 SetEnginePos("0 0.7 1.6");
737 }
738
740 {
741 super.EEInit();
742
744 {
751
754 }
755 }
756
758 {
759 super.OnEngineStart();
760
762 {
764 }
765 }
766
768 {
769 super.OnEngineStop();
770
772 {
774 }
775 }
776
778 {
780 {
782 {
784 }
785 }
786 }
787
789 {
791 }
792
794 {
795 return 4.5;
796 }
797
799 {
800 switch (posIdx)
801 {
802 case 0:
804 case 1:
806 case 2:
808 case 3:
810 }
811
812 return 0;
813 }
814
815
817 {
819 }
820
821
823 {
825 }
826
828 {
829 if( !super.CanReleaseAttachment( attachment ) )
830 return false;
831
832 string attType = attachment.GetType();
833
835 {
836 if ( attType == "CarRadiator" || attType == "CarBattery" || attType == "SparkPlug")
837 return false;
838 }
839
840 return true;
841 }
842
844 {
846 }
847
849 {
850
851 if (!super.CanDisplayAttachmentCategory(category_name))
852 return false;
853
854
856 if (category_name.
Contains(
"engine"))
857 {
859 return false;
860 }
861
862 return true;
863 }
864
866 {
867 if ( !super.CanDisplayCargo() )
868 return false;
869
871 return false;
872
873 return true;
874 }
875
877 {
879
880 Class.
CastTo( carDoor, FindAttachmentBySlotName( slotType ) );
881 if (!carDoor)
882 {
884 }
885
886 switch (slotType)
887 {
888 case "CivSedanDriverDoors":
889 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
890 break;
891
892 case "CivSedanCoDriverDoors":
893 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
894 break;
895
896 case "CivSedanCargo1Doors":
897 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
898 break;
899
900 case "CivSedanCargo2Doors":
901 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
902 break;
903
904 case "CivSedanTrunk":
905 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
906 break;
907
908 case "CivSedanHood":
909 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
910 break;
911 }
912
914 }
915
916
918 {
919 switch( posIdx )
920 {
921 case 0:
923 return false;
924
925 return true;
926 break;
927
928 case 1:
930 return false;
931
932 return true;
933 break;
934
935 case 2:
937 return false;
938
939 return true;
940 break;
941
942 case 3:
944 return false;
945
946 return true;
947 break;
948 }
949
950 return false;
951 }
952
954 {
955 switch( posIdx )
956 {
957 case 0:
958 return "doors_driver";
959 break;
960 case 1:
961 return "doors_codriver";
962 break;
963 case 2:
964 return "doors_cargo1";
965 break;
966 case 3:
967 return "doors_cargo2";
968 break;
969 }
970
971 return super.GetDoorSelectionNameFromSeatPos(posIdx);
972 }
973
975 {
976 switch( posIdx )
977 {
978 case 0:
979 return "CivSedanDriverDoors";
980 break;
981 case 1:
982 return "CivSedanCoDriverDoors";
983 break;
984 case 2:
985 return "CivSedanCargo1Doors";
986 break;
987 case 3:
988 return "CivSedanCargo2Doors";
989 break;
990 }
991
992 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
993 }
994
995
996
998 {
999 switch (ctrl)
1000 {
1002 float newValue = 0;
1004 {
1005 newValue += 0.25;
1006 }
1007
1009 {
1010 newValue += 0.25;
1011 }
1012
1014 {
1015 newValue += 0.25;
1016 }
1017
1019 {
1020 newValue += 0.25;
1021 }
1022
1024 {
1025 newValue -= 0.6;
1026 }
1027
1029 {
1030 newValue -= 0.6;
1031 }
1032
1034 break;
1035 }
1036
1037 return super.OnSound(ctrl, oldValue);
1038 }
1039
1041 {
1042 switch (selection)
1043 {
1044 case "doors_driver":
1045 return "DoorsDriver";
1046 case "doors_codriver":
1047 return "DoorsCoDriver";
1048 case "doors_cargo1":
1049 return "DoorsCargo1";
1050 case "doors_cargo2":
1051 return "DoorsCargo2";
1052 case "doors_hood":
1053 return "DoorsHood";
1054 case "doors_trunk":
1055 return "DoorsTrunk";
1056 }
1057
1058 return "";
1059 }
1060
1062 {
1063 return false;
1064 }
1065
1067 {
1068 return false;
1069 }
1070
1072 {
1073 switch (currentSeat)
1074 {
1075 case 0:
1076 return nextSeat == 1;
1077
1078 case 1:
1079 return nextSeat == 0;
1080
1081 case 2:
1082 return nextSeat == 3;
1083
1084 case 3:
1085 return nextSeat == 2;
1086 }
1087
1088 return false;
1089 }
1090
1092 {
1093 switch (pCurrentSeat)
1094 {
1095 case 0:
1096 return pDoorsSelection == "DoorsDriver";
1097
1098 case 1:
1099 return pDoorsSelection == "DoorsCoDriver";
1100
1101 case 2:
1102 return pDoorsSelection == "DoorsCargo1";
1103
1104 case 3:
1105 return pDoorsSelection == "DoorsCargo2";
1106 }
1107
1108 return false;
1109 }
1110
1112 {
1113 SpawnUniversalParts();
1114 SpawnAdditionalItems();
1115 FillUpCarFluids();
1116
1117 GetInventory().CreateInInventory("CivSedanWheel");
1118 GetInventory().CreateInInventory("CivSedanWheel");
1119 GetInventory().CreateInInventory("CivSedanWheel");
1120 GetInventory().CreateInInventory("CivSedanWheel");
1121
1122 GetInventory().CreateInInventory("CivSedanDoors_Driver");
1123 GetInventory().CreateInInventory("CivSedanDoors_CoDriver");
1124 GetInventory().CreateInInventory("CivSedanDoors_BackLeft");
1125 GetInventory().CreateInInventory("CivSedanDoors_BackRight");
1126 GetInventory().CreateInInventory("CivSedanHood");
1127 GetInventory().CreateInInventory("CivSedanTrunk");
1128
1129
1130 GetInventory().CreateInInventory("CivSedanWheel");
1131 GetInventory().CreateInInventory("CivSedanWheel");
1132 }
1133
1135 {
1136 return 1.5;
1137 }
1138}
1139
1141{
1143 {
1144 SpawnUniversalParts();
1145 SpawnAdditionalItems();
1146 FillUpCarFluids();
1147
1148 GetInventory().CreateInInventory("CivSedanWheel");
1149 GetInventory().CreateInInventory("CivSedanWheel");
1150 GetInventory().CreateInInventory("CivSedanWheel");
1151 GetInventory().CreateInInventory("CivSedanWheel");
1152
1153 GetInventory().CreateInInventory("CivSedanDoors_Driver_Wine");
1154 GetInventory().CreateInInventory("CivSedanDoors_CoDriver_Wine");
1155 GetInventory().CreateInInventory("CivSedanDoors_BackLeft_Wine");
1156 GetInventory().CreateInInventory("CivSedanDoors_BackRight_Wine");
1157 GetInventory().CreateInInventory("CivSedanHood_Wine");
1158 GetInventory().CreateInInventory("CivSedanTrunk_Wine");
1159
1160
1161 GetInventory().CreateInInventory("CivSedanWheel");
1162 GetInventory().CreateInInventory("CivSedanWheel");
1163 }
1164}
1165
1167{
1169 {
1170 SpawnUniversalParts();
1171 SpawnAdditionalItems();
1172 FillUpCarFluids();
1173
1174 GetInventory().CreateInInventory("CivSedanWheel");
1175 GetInventory().CreateInInventory("CivSedanWheel");
1176 GetInventory().CreateInInventory("CivSedanWheel");
1177 GetInventory().CreateInInventory("CivSedanWheel");
1178
1179 GetInventory().CreateInInventory("CivSedanDoors_Driver_Black");
1180 GetInventory().CreateInInventory("CivSedanDoors_CoDriver_Black");
1181 GetInventory().CreateInInventory("CivSedanDoors_BackLeft_Black");
1182 GetInventory().CreateInInventory("CivSedanDoors_BackRight_Black");
1183 GetInventory().CreateInInventory("CivSedanHood_Black");
1184 GetInventory().CreateInInventory("CivSedanTrunk_Black");
1185
1186
1187 GetInventory().CreateInInventory("CivSedanWheel");
1188 GetInventory().CreateInInventory("CivSedanWheel");
1189 }
1190}
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.