689{
693
695 {
696
697
698 m_EngineStartOK = "CivilianSedan_engine_start_SoundSet";
699 m_EngineStartBattery = "CivilianSedan_engine_failed_start_battery_SoundSet";
700 m_EngineStartPlug = "CivilianSedan_engine_failed_start_sparkplugs_SoundSet";
701 m_EngineStartFuel = "CivilianSedan_engine_failed_start_fuel_SoundSet";
702 m_EngineStop = "CivilianSedan_engine_stop_SoundSet";
703 m_EngineStopFuel = "CivilianSedan_engine_stop_fuel_SoundSet";
704
705 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
706 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
707
708 m_CarHornShortSoundName = "CivilianSedan_Horn_Short_SoundSet";
709 m_CarHornLongSoundName = "CivilianSedan_Horn_SoundSet";
710
711 SetEnginePos("0 0.7 1.6");
712 }
713
715 {
719 }
720
722 {
723 super.EEInit();
724
726 {
733
736 }
737 }
738
740 {
741 super.OnEngineStart();
742
744 {
747 }
748 }
749
751 {
752 super.OnEngineStop();
753
755 {
758 }
759 }
760
762 {
764 {
766 {
768 }
769 }
770 }
771
773 {
775 }
776
778 {
779 return 4.5;
780 }
781
783 {
784 switch (posIdx)
785 {
786 case 0:
788 case 1:
790 case 2:
792 case 3:
794 }
795
796 return 0;
797 }
798
799
801 {
803 }
804
805
807 {
809 }
810
812 {
813 if( !super.CanReleaseAttachment( attachment ) )
814 return false;
815
816 string attType = attachment.GetType();
817
819 {
820 if ( attType == "CarRadiator" || attType == "CarBattery" || attType == "SparkPlug")
821 return false;
822 }
823
824 return true;
825 }
826
828 {
830 }
831
833 {
834
835 if (!super.CanDisplayAttachmentCategory(category_name))
836 return false;
837
838
840 if (category_name.
Contains(
"engine"))
841 {
843 return false;
844 }
845
846 return true;
847 }
848
850 {
851 if ( !super.CanDisplayCargo() )
852 return false;
853
855 return false;
856
857 return true;
858 }
859
861 {
863
864 Class.
CastTo( carDoor, FindAttachmentBySlotName( slotType ) );
865 if (!carDoor)
866 {
868 }
869
870 switch (slotType)
871 {
872 case "CivSedanDriverDoors":
873 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
874 break;
875
876 case "CivSedanCoDriverDoors":
877 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
878 break;
879
880 case "CivSedanCargo1Doors":
881 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
882 break;
883
884 case "CivSedanCargo2Doors":
885 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
886 break;
887
888 case "CivSedanTrunk":
889 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
890 break;
891
892 case "CivSedanHood":
893 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
894 break;
895 }
896
898 }
899
900
902 {
903 switch( posIdx )
904 {
905 case 0:
907 return false;
908
909 return true;
910 break;
911
912 case 1:
914 return false;
915
916 return true;
917 break;
918
919 case 2:
921 return false;
922
923 return true;
924 break;
925
926 case 3:
928 return false;
929
930 return true;
931 break;
932 }
933
934 return false;
935 }
936
938 {
939 switch( posIdx )
940 {
941 case 0:
942 return "doors_driver";
943 break;
944 case 1:
945 return "doors_codriver";
946 break;
947 case 2:
948 return "doors_cargo1";
949 break;
950 case 3:
951 return "doors_cargo2";
952 break;
953 }
954
955 return super.GetDoorSelectionNameFromSeatPos(posIdx);
956 }
957
959 {
960 switch( posIdx )
961 {
962 case 0:
963 return "CivSedanDriverDoors";
964 break;
965 case 1:
966 return "CivSedanCoDriverDoors";
967 break;
968 case 2:
969 return "CivSedanCargo1Doors";
970 break;
971 case 3:
972 return "CivSedanCargo2Doors";
973 break;
974 }
975
976 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
977 }
978
979
980
982 {
983 switch (ctrl)
984 {
986 float newValue = 0;
988 {
989 newValue += 0.25;
990 }
991
993 {
994 newValue += 0.25;
995 }
996
998 {
999 newValue += 0.25;
1000 }
1001
1003 {
1004 newValue += 0.25;
1005 }
1006
1008 {
1009 newValue -= 0.6;
1010 }
1011
1013 {
1014 newValue -= 0.6;
1015 }
1016
1018 break;
1019 }
1020
1021 return super.OnSound(ctrl, oldValue);
1022 }
1023
1025 {
1026 switch (selection)
1027 {
1028 case "doors_driver":
1029 return "DoorsDriver";
1030 case "doors_codriver":
1031 return "DoorsCoDriver";
1032 case "doors_cargo1":
1033 return "DoorsCargo1";
1034 case "doors_cargo2":
1035 return "DoorsCargo2";
1036 case "doors_hood":
1037 return "DoorsHood";
1038 case "doors_trunk":
1039 return "DoorsTrunk";
1040 }
1041
1042 return "";
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
1106
1113
1114
1117 }
1118
1120 {
1121 return 1.5;
1122 }
1123}
1124
1126{
1128 {
1129 SpawnUniversalParts();
1130 SpawnAdditionalItems();
1131 FillUpCarFluids();
1132
1133 GameInventory inventory = GetInventory();
1138
1145
1146
1149 }
1150}
1151
1153{
1155 {
1156 SpawnUniversalParts();
1157 SpawnAdditionalItems();
1158 FillUpCarFluids();
1159
1160 GameInventory inventory = GetInventory();
1165
1172
1173
1176 }
1177}
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.
EntityAI CreateInInventory(string type)
creates entity somewhere in inventory
script counterpart to engine's class Inventory
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.