691{
695
697 {
698 m_dmgContactCoef = 0.0790;
699
700 m_EngineStartOK = "Sedan_02_engine_start_SoundSet";
701 m_EngineStartBattery = "Sedan_02_engine_failed_start_battery_SoundSet";
702 m_EngineStartPlug = "Sedan_02_engine_failed_start_sparkplugs_SoundSet";
703 m_EngineStartFuel = "Sedan_02_engine_failed_start_fuel_SoundSet";
704 m_EngineStop = "Sedan_02_engine_stop_SoundSet";
705 m_EngineStopFuel = "Sedan_02_engine_stop_fuel_SoundSet";
706
707 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
708 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
709
710 m_CarHornShortSoundName = "Sedan_02_Horn_Short_SoundSet";
711 m_CarHornLongSoundName = "Sedan_02_Horn_SoundSet";
712
713 SetEnginePos("0 0.7 -1.7");
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 switch (posIdx)
773 {
774 case 0:
776 case 1:
778 case 2:
780 case 3:
782 }
783
784 return 0;
785 }
786
787
789 {
791 }
792
793
795 {
797 }
798
800 {
801 if (!super.CanReleaseAttachment(attachment))
802 {
803 return false;
804 }
805
806 string attType = attachment.GetType();
807 switch (attType)
808 {
809 case "CarBattery":
811 {
812 return false;
813 }
814 break;
815
816 case "SparkPlug":
818 {
819 return false;
820 }
821 break;
822
823 case "CarRadiator":
825 {
826 return false;
827 }
828 break;
829 }
830
831 return true;
832 }
833
835 {
837 }
838
840 {
841 if ( !super.CanDisplayAttachmentCategory(category_name))
842 {
843 return false;
844 }
845
847 if (category_name.
Contains(
"engine"))
848 {
850 {
851 return false;
852 }
853 }
854
855 if (category_name.
Contains(
"trunk"))
856 {
858 {
859 return false;
860 }
861 }
862
863 return true;
864 }
865
867 {
868 if ( !super.CanDisplayCargo() )
869 return false;
870
872 return false;
873
874 return true;
875 }
876
878 {
880
881 Class.
CastTo( carDoor, FindAttachmentBySlotName( slotType ) );
882 if (!carDoor)
883 {
885 }
886
887 switch (slotType)
888 {
889 case "Sedan_02_Door_1_1":
890 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
891
892 case "Sedan_02_Door_2_1":
893 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
894
895 case "Sedan_02_Door_1_2":
896 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
897
898 case "Sedan_02_Door_2_2":
899 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
900
901 case "Sedan_02_Hood":
902 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
903
904 case "Sedan_02_Trunk":
905 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
906 }
907
909 }
910
911
913 {
914 switch( posIdx )
915 {
916 case 0:
918 return false;
919
920 return true;
921 break;
922
923 case 1:
925 return false;
926
927 return true;
928 break;
929
930 case 2:
932 return false;
933
934 return true;
935 break;
936
937 case 3:
939 return false;
940
941 return true;
942 break;
943 }
944
945 return false;
946 }
947
949 {
950 switch( posIdx )
951 {
952 case 0:
953 return "doors_driver";
954 break;
955 case 1:
956 return "doors_codriver";
957 break;
958 case 2:
959 return "doors_cargo1";
960 break;
961 case 3:
962 return "doors_cargo2";
963 break;
964 }
965
966 return super.GetDoorSelectionNameFromSeatPos(posIdx);
967 }
968
970 {
971 switch( posIdx )
972 {
973 case 0:
974 return "Sedan_02_Door_1_1";
975 break;
976 case 1:
977 return "Sedan_02_Door_2_1";
978 break;
979 case 2:
980 return "Sedan_02_Door_1_2";
981 break;
982 case 3:
983 return "Sedan_02_Door_2_2";
984 break;
985 }
986
987 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
988 }
989
991 {
992 switch ( ctrl )
993 {
995 float newValue = 0;
997 {
998 newValue += 0.25;
999 }
1000
1002 {
1003 newValue += 0.25;
1004 }
1005
1007 {
1008 newValue += 0.25;
1009 }
1010
1012 {
1013 newValue += 0.25;
1014 }
1015
1017 break;
1018 }
1019
1020 return super.OnSound(ctrl, oldValue);
1021 }
1022
1024 {
1025 switch( selection )
1026 {
1027 case "doors_driver":
1028 return "DoorsDriver";
1029 case "doors_codriver":
1030 return "DoorsCoDriver";
1031 case "doors_cargo1":
1032 return "DoorsCargo1";
1033 case "doors_cargo2":
1034 return "DoorsCargo2";
1035 case "doors_hood":
1036 return "DoorsHood";
1037 case "doors_trunk":
1038 return "DoorsTrunk";
1039 }
1040
1041 return "";
1042 }
1043
1044
1046 {
1047 return false;
1048 }
1049
1051 {
1052 return false;
1053 }
1054
1056 {
1057 switch (currentSeat)
1058 {
1059 case 0:
1060 return nextSeat == 1;
1061
1062 case 1:
1063 return nextSeat == 0;
1064
1065 case 2:
1066 return nextSeat == 3;
1067
1068 case 3:
1069 return nextSeat == 2;
1070 }
1071
1072 return false;
1073 }
1074
1076 {
1077 switch (pCurrentSeat)
1078 {
1079 case 0:
1080 return pDoorsSelection == "DoorsDriver";
1081
1082 case 1:
1083 return pDoorsSelection == "DoorsCoDriver";
1084
1085 case 2:
1086 return pDoorsSelection == "DoorsCargo1";
1087
1088 case 3:
1089 return pDoorsSelection == "DoorsCargo2";
1090 }
1091
1092 return false;
1093 }
1094
1096 {
1097 SpawnUniversalParts();
1098 SpawnAdditionalItems();
1099 FillUpCarFluids();
1100
1101 GetInventory().CreateInInventory("Sedan_02_Wheel");
1102 GetInventory().CreateInInventory("Sedan_02_Wheel");
1103 GetInventory().CreateInInventory("Sedan_02_Wheel");
1104 GetInventory().CreateInInventory("Sedan_02_Wheel");
1105 GetInventory().CreateInInventory("Sedan_02_Wheel");
1106
1107 GetInventory().CreateInInventory("Sedan_02_Door_1_1");
1108 GetInventory().CreateInInventory("Sedan_02_Door_1_2");
1109 GetInventory().CreateInInventory("Sedan_02_Door_2_1");
1110 GetInventory().CreateInInventory("Sedan_02_Door_2_2");
1111 GetInventory().CreateInInventory("Sedan_02_Hood");
1112 GetInventory().CreateInInventory("Sedan_02_Trunk");
1113
1114
1115 GetInventory().CreateInInventory("Sedan_02_Wheel");
1116 GetInventory().CreateInInventory("Sedan_02_Wheel");
1117 }
1118}
1119
1121{
1123 {
1124 SpawnUniversalParts();
1125 SpawnAdditionalItems();
1126 FillUpCarFluids();
1127
1128 GetInventory().CreateInInventory("Sedan_02_Wheel");
1129 GetInventory().CreateInInventory("Sedan_02_Wheel");
1130 GetInventory().CreateInInventory("Sedan_02_Wheel");
1131 GetInventory().CreateInInventory("Sedan_02_Wheel");
1132
1133 GetInventory().CreateInInventory("Sedan_02_Door_1_1_Red");
1134 GetInventory().CreateInInventory("Sedan_02_Door_1_2_Red");
1135 GetInventory().CreateInInventory("Sedan_02_Door_2_1_Red");
1136 GetInventory().CreateInInventory("Sedan_02_Door_2_2_Red");
1137 GetInventory().CreateInInventory("Sedan_02_Hood_Red");
1138 GetInventory().CreateInInventory("Sedan_02_Trunk_Red");
1139
1140
1141 GetInventory().CreateInInventory("Sedan_02_Wheel");
1142 GetInventory().CreateInInventory("Sedan_02_Wheel");
1143 }
1144}
1145
1146class Sedan_02_Grey
extends Sedan_02
1147{
1149 {
1150 SpawnUniversalParts();
1151 SpawnAdditionalItems();
1152 FillUpCarFluids();
1153
1154 GetInventory().CreateInInventory("Sedan_02_Wheel");
1155 GetInventory().CreateInInventory("Sedan_02_Wheel");
1156 GetInventory().CreateInInventory("Sedan_02_Wheel");
1157 GetInventory().CreateInInventory("Sedan_02_Wheel");
1158
1159 GetInventory().CreateInInventory("Sedan_02_Door_1_1_Grey");
1160 GetInventory().CreateInInventory("Sedan_02_Door_1_2_Grey");
1161 GetInventory().CreateInInventory("Sedan_02_Door_2_1_Grey");
1162 GetInventory().CreateInInventory("Sedan_02_Door_2_2_Grey");
1163 GetInventory().CreateInInventory("Sedan_02_Hood_Grey");
1164 GetInventory().CreateInInventory("Sedan_02_Trunk_Grey");
1165
1166
1167 GetInventory().CreateInInventory("Sedan_02_Wheel");
1168 GetInventory().CreateInInventory("Sedan_02_Wheel");
1169 }
1170}
CarSoundCtrl
Car's sound controller list. (native, do not change or extend)
ref UniversalTemperatureSourceLambdaEngine m_UTSLEngine
ref UniversalTemperatureSourceSettings m_UTSSettings
ref UniversalTemperatureSource m_UTSource
override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
class Sedan_02 extends CarScript OnDebugSpawn()
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()
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)
UniversalTemperatureSourceLambdaBaseImpl UniversalTemperatureSourceLambdaBase UniversalTemperatureSourceLambdaEngine()
Super root of all classes in Enforce script.
override void OnDebugSpawn()
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.