710{
714
716 {
717 m_dmgContactCoef = 0.0790;
718
719 m_EngineStartOK = "Sedan_02_engine_start_SoundSet";
720 m_EngineStartBattery = "Sedan_02_engine_failed_start_battery_SoundSet";
721 m_EngineStartPlug = "Sedan_02_engine_failed_start_sparkplugs_SoundSet";
722 m_EngineStartFuel = "Sedan_02_engine_failed_start_fuel_SoundSet";
723 m_EngineStop = "Sedan_02_engine_stop_SoundSet";
724 m_EngineStopFuel = "Sedan_02_engine_stop_fuel_SoundSet";
725
726 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
727 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
728
729 m_CarHornShortSoundName = "Sedan_02_Horn_Short_SoundSet";
730 m_CarHornLongSoundName = "Sedan_02_Horn_SoundSet";
731
732 SetEnginePos("0 0.7 -1.7");
733 }
734
736 {
740 }
741
743 {
744 super.EEInit();
745
747 {
754
757 }
758 }
759
761 {
762 super.OnEngineStart();
763
765 {
768 }
769 }
770
772 {
773 super.OnEngineStop();
774
776 {
779 }
780 }
781
783 {
785 {
787 {
789 }
790 }
791 }
792
794 {
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 {
831 return false;
832 }
833
834 string attType = attachment.GetType();
835 switch (attType)
836 {
837 case "CarBattery":
839 {
840 return false;
841 }
842 break;
843
844 case "SparkPlug":
846 {
847 return false;
848 }
849 break;
850
851 case "CarRadiator":
853 {
854 return false;
855 }
856 break;
857 }
858
859 return true;
860 }
861
863 {
865 }
866
868 {
869 if ( !super.CanDisplayAttachmentCategory(category_name))
870 {
871 return false;
872 }
873
875 if (category_name.
Contains(
"engine"))
876 {
878 {
879 return false;
880 }
881 }
882
883 if (category_name.
Contains(
"trunk"))
884 {
886 {
887 return false;
888 }
889 }
890
891 return true;
892 }
893
895 {
896 if ( !super.CanDisplayCargo() )
897 return false;
898
900 return false;
901
902 return true;
903 }
904
906 {
908
909 Class.
CastTo( carDoor, FindAttachmentBySlotName( slotType ) );
910 if (!carDoor)
911 {
913 }
914
915 switch (slotType)
916 {
917 case "Sedan_02_Door_1_1":
918 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
919
920 case "Sedan_02_Door_2_1":
921 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
922
923 case "Sedan_02_Door_1_2":
924 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
925
926 case "Sedan_02_Door_2_2":
927 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
928
929 case "Sedan_02_Hood":
930 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
931
932 case "Sedan_02_Trunk":
933 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
934 }
935
937 }
938
939
941 {
942 switch( posIdx )
943 {
944 case 0:
946 return false;
947
948 return true;
949 break;
950
951 case 1:
953 return false;
954
955 return true;
956 break;
957
958 case 2:
960 return false;
961
962 return true;
963 break;
964
965 case 3:
967 return false;
968
969 return true;
970 break;
971 }
972
973 return false;
974 }
975
977 {
978 switch( posIdx )
979 {
980 case 0:
981 return "doors_driver";
982 break;
983 case 1:
984 return "doors_codriver";
985 break;
986 case 2:
987 return "doors_cargo1";
988 break;
989 case 3:
990 return "doors_cargo2";
991 break;
992 }
993
994 return super.GetDoorSelectionNameFromSeatPos(posIdx);
995 }
996
998 {
999 switch( posIdx )
1000 {
1001 case 0:
1002 return "Sedan_02_Door_1_1";
1003 break;
1004 case 1:
1005 return "Sedan_02_Door_2_1";
1006 break;
1007 case 2:
1008 return "Sedan_02_Door_1_2";
1009 break;
1010 case 3:
1011 return "Sedan_02_Door_2_2";
1012 break;
1013 }
1014
1015 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
1016 }
1017
1019 {
1020 switch ( ctrl )
1021 {
1023 float newValue = 0;
1025 {
1026 newValue += 0.25;
1027 }
1028
1030 {
1031 newValue += 0.25;
1032 }
1033
1035 {
1036 newValue += 0.25;
1037 }
1038
1040 {
1041 newValue += 0.25;
1042 }
1043
1045 break;
1046 }
1047
1048 return super.OnSound(ctrl, oldValue);
1049 }
1050
1052 {
1053 switch( selection )
1054 {
1055 case "doors_driver":
1056 return "DoorsDriver";
1057 case "doors_codriver":
1058 return "DoorsCoDriver";
1059 case "doors_cargo1":
1060 return "DoorsCargo1";
1061 case "doors_cargo2":
1062 return "DoorsCargo2";
1063 case "doors_hood":
1064 return "DoorsHood";
1065 case "doors_trunk":
1066 return "DoorsTrunk";
1067 }
1068
1069 return "";
1070 }
1071
1072
1074 {
1075 return false;
1076 }
1077
1079 {
1080 return false;
1081 }
1082
1084 {
1085 switch (currentSeat)
1086 {
1087 case 0:
1088 return nextSeat == 1;
1089
1090 case 1:
1091 return nextSeat == 0;
1092
1093 case 2:
1094 return nextSeat == 3;
1095
1096 case 3:
1097 return nextSeat == 2;
1098 }
1099
1100 return false;
1101 }
1102
1104 {
1105 switch (pCurrentSeat)
1106 {
1107 case 0:
1108 return pDoorsSelection == "DoorsDriver";
1109
1110 case 1:
1111 return pDoorsSelection == "DoorsCoDriver";
1112
1113 case 2:
1114 return pDoorsSelection == "DoorsCargo1";
1115
1116 case 3:
1117 return pDoorsSelection == "DoorsCargo2";
1118 }
1119
1120 return false;
1121 }
1122
1124 {
1125 SpawnUniversalParts();
1126 SpawnAdditionalItems();
1127 FillUpCarFluids();
1128
1135
1142
1143
1146 }
1147}
1148
1150{
1152 {
1153 SpawnUniversalParts();
1154 SpawnAdditionalItems();
1155 FillUpCarFluids();
1156
1157 GameInventory inventory = GetInventory();
1162
1169
1170
1173 }
1174}
1175
1176class Sedan_02_Grey
extends Sedan_02
1177{
1179 {
1180 SpawnUniversalParts();
1181 SpawnAdditionalItems();
1182 FillUpCarFluids();
1183
1184 GameInventory inventory = GetInventory();
1189
1196
1197
1200 }
1201}
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.
EntityAI CreateInInventory(string type)
creates entity somewhere in inventory
script counterpart to engine's class Inventory
override void OnDebugSpawn()
original Timer deletes m_params which is unwanted
DayZPlayerConstants
defined in C++
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.