655{
659
661 {
662 m_dmgContactCoef = 0.0790;
663
664 m_EngineStartOK = "Sedan_02_engine_start_SoundSet";
665 m_EngineStartBattery = "Sedan_02_engine_failed_start_battery_SoundSet";
666 m_EngineStartPlug = "Sedan_02_engine_failed_start_sparkplugs_SoundSet";
667 m_EngineStartFuel = "Sedan_02_engine_failed_start_fuel_SoundSet";
668 m_EngineStop = "Sedan_02_engine_stop_SoundSet";
669 m_EngineStopFuel = "Sedan_02_engine_stop_fuel_SoundSet";
670
671 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
672 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
673
674 m_CarHornShortSoundName = "Sedan_02_Horn_Short_SoundSet";
675 m_CarHornLongSoundName = "Sedan_02_Horn_SoundSet";
676
677 SetEnginePos("0 0.7 -1.7");
678 }
679
681 {
682 super.EEInit();
683
685 {
692
695 }
696 }
697
699 {
700 super.OnEngineStart();
701
703 {
705 }
706 }
707
709 {
710 super.OnEngineStop();
711
713 {
715 }
716 }
717
719 {
721 {
723 {
725 }
726 }
727 }
728
730 {
732 }
733
735 {
736 switch (posIdx)
737 {
738 case 0:
740 case 1:
742 case 2:
744 case 3:
746 }
747
748 return 0;
749 }
750
751
753 {
755 }
756
757
759 {
761 }
762
764 {
765 if (!super.CanReleaseAttachment(attachment))
766 {
767 return false;
768 }
769
770 string attType = attachment.GetType();
771 switch (attType)
772 {
773 case "CarBattery":
775 {
776 return false;
777 }
778 break;
779
780 case "SparkPlug":
782 {
783 return false;
784 }
785 break;
786
787 case "CarRadiator":
789 {
790 return false;
791 }
792 break;
793 }
794
795 return true;
796 }
797
799 {
801 }
802
804 {
805 if ( !super.CanDisplayAttachmentCategory(category_name))
806 {
807 return false;
808 }
809
811 if (category_name.
Contains(
"engine"))
812 {
814 {
815 return false;
816 }
817 }
818
819 if (category_name.
Contains(
"trunk"))
820 {
822 {
823 return false;
824 }
825 }
826
827 return true;
828 }
829
831 {
832 if ( !super.CanDisplayCargo() )
833 return false;
834
836 return false;
837
838 return true;
839 }
840
842 {
844
845 Class.
CastTo( carDoor, FindAttachmentBySlotName( slotType ) );
846 if (!carDoor)
847 {
849 }
850
851 switch (slotType)
852 {
853 case "Sedan_02_Door_1_1":
854 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
855
856 case "Sedan_02_Door_2_1":
857 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
858
859 case "Sedan_02_Door_1_2":
860 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
861
862 case "Sedan_02_Door_2_2":
863 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
864
865 case "Sedan_02_Hood":
866 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
867
868 case "Sedan_02_Trunk":
869 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
870 }
871
873 }
874
875
877 {
878 switch( posIdx )
879 {
880 case 0:
882 return false;
883
884 return true;
885 break;
886
887 case 1:
889 return false;
890
891 return true;
892 break;
893
894 case 2:
896 return false;
897
898 return true;
899 break;
900
901 case 3:
903 return false;
904
905 return true;
906 break;
907 }
908
909 return false;
910 }
911
913 {
914 switch( posIdx )
915 {
916 case 0:
917 return "doors_driver";
918 break;
919 case 1:
920 return "doors_codriver";
921 break;
922 case 2:
923 return "doors_cargo1";
924 break;
925 case 3:
926 return "doors_cargo2";
927 break;
928 }
929
930 return super.GetDoorSelectionNameFromSeatPos(posIdx);
931 }
932
934 {
935 switch( posIdx )
936 {
937 case 0:
938 return "Sedan_02_Door_1_1";
939 break;
940 case 1:
941 return "Sedan_02_Door_2_1";
942 break;
943 case 2:
944 return "Sedan_02_Door_1_2";
945 break;
946 case 3:
947 return "Sedan_02_Door_2_2";
948 break;
949 }
950
951 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
952 }
953
955 {
956 switch ( ctrl )
957 {
959 float newValue = 0;
961 {
962 newValue += 0.25;
963 }
964
966 {
967 newValue += 0.25;
968 }
969
971 {
972 newValue += 0.25;
973 }
974
976 {
977 newValue += 0.25;
978 }
979
981 break;
982 }
983
984 return super.OnSound(ctrl, oldValue);
985 }
986
988 {
989 switch( selection )
990 {
991 case "doors_driver":
992 return "DoorsDriver";
993 case "doors_codriver":
994 return "DoorsCoDriver";
995 case "doors_cargo1":
996 return "DoorsCargo1";
997 case "doors_cargo2":
998 return "DoorsCargo2";
999 case "doors_hood":
1000 return "DoorsHood";
1001 case "doors_trunk":
1002 return "DoorsTrunk";
1003 }
1004
1005 return "";
1006 }
1007
1008
1010 {
1011 return false;
1012 }
1013
1015 {
1016 return false;
1017 }
1018
1020 {
1021 switch (currentSeat)
1022 {
1023 case 0:
1024 return nextSeat == 1;
1025
1026 case 1:
1027 return nextSeat == 0;
1028
1029 case 2:
1030 return nextSeat == 3;
1031
1032 case 3:
1033 return nextSeat == 2;
1034 }
1035
1036 return false;
1037 }
1038
1040 {
1041 switch (pCurrentSeat)
1042 {
1043 case 0:
1044 return pDoorsSelection == "DoorsDriver";
1045
1046 case 1:
1047 return pDoorsSelection == "DoorsCoDriver";
1048
1049 case 2:
1050 return pDoorsSelection == "DoorsCargo1";
1051
1052 case 3:
1053 return pDoorsSelection == "DoorsCargo2";
1054 }
1055
1056 return false;
1057 }
1058
1060 {
1061 SpawnUniversalParts();
1062 SpawnAdditionalItems();
1063 FillUpCarFluids();
1064
1065 GetInventory().CreateInInventory("Sedan_02_Wheel");
1066 GetInventory().CreateInInventory("Sedan_02_Wheel");
1067 GetInventory().CreateInInventory("Sedan_02_Wheel");
1068 GetInventory().CreateInInventory("Sedan_02_Wheel");
1069 GetInventory().CreateInInventory("Sedan_02_Wheel");
1070
1071 GetInventory().CreateInInventory("Sedan_02_Door_1_1");
1072 GetInventory().CreateInInventory("Sedan_02_Door_1_2");
1073 GetInventory().CreateInInventory("Sedan_02_Door_2_1");
1074 GetInventory().CreateInInventory("Sedan_02_Door_2_2");
1075 GetInventory().CreateInInventory("Sedan_02_Hood");
1076 GetInventory().CreateInInventory("Sedan_02_Trunk");
1077
1078
1079 GetInventory().CreateInInventory("Sedan_02_Wheel");
1080 GetInventory().CreateInInventory("Sedan_02_Wheel");
1081 }
1082}
1083
1085{
1087 {
1088 SpawnUniversalParts();
1089 SpawnAdditionalItems();
1090 FillUpCarFluids();
1091
1092 GetInventory().CreateInInventory("Sedan_02_Wheel");
1093 GetInventory().CreateInInventory("Sedan_02_Wheel");
1094 GetInventory().CreateInInventory("Sedan_02_Wheel");
1095 GetInventory().CreateInInventory("Sedan_02_Wheel");
1096
1097 GetInventory().CreateInInventory("Sedan_02_Door_1_1_Red");
1098 GetInventory().CreateInInventory("Sedan_02_Door_1_2_Red");
1099 GetInventory().CreateInInventory("Sedan_02_Door_2_1_Red");
1100 GetInventory().CreateInInventory("Sedan_02_Door_2_2_Red");
1101 GetInventory().CreateInInventory("Sedan_02_Hood_Red");
1102 GetInventory().CreateInInventory("Sedan_02_Trunk_Red");
1103
1104
1105 GetInventory().CreateInInventory("Sedan_02_Wheel");
1106 GetInventory().CreateInInventory("Sedan_02_Wheel");
1107 }
1108}
1109
1110class Sedan_02_Grey
extends Sedan_02
1111{
1113 {
1114 SpawnUniversalParts();
1115 SpawnAdditionalItems();
1116 FillUpCarFluids();
1117
1118 GetInventory().CreateInInventory("Sedan_02_Wheel");
1119 GetInventory().CreateInInventory("Sedan_02_Wheel");
1120 GetInventory().CreateInInventory("Sedan_02_Wheel");
1121 GetInventory().CreateInInventory("Sedan_02_Wheel");
1122
1123 GetInventory().CreateInInventory("Sedan_02_Door_1_1_Grey");
1124 GetInventory().CreateInInventory("Sedan_02_Door_1_2_Grey");
1125 GetInventory().CreateInInventory("Sedan_02_Door_2_1_Grey");
1126 GetInventory().CreateInInventory("Sedan_02_Door_2_2_Grey");
1127 GetInventory().CreateInInventory("Sedan_02_Hood_Grey");
1128 GetInventory().CreateInInventory("Sedan_02_Trunk_Grey");
1129
1130
1131 GetInventory().CreateInInventory("Sedan_02_Wheel");
1132 GetInventory().CreateInInventory("Sedan_02_Wheel");
1133 }
1134}
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.