670{
674
676 {
677
678
679 m_EngineStartOK = "CivilianSedan_engine_start_SoundSet";
680 m_EngineStartBattery = "CivilianSedan_engine_failed_start_battery_SoundSet";
681 m_EngineStartPlug = "CivilianSedan_engine_failed_start_sparkplugs_SoundSet";
682 m_EngineStartFuel = "CivilianSedan_engine_failed_start_fuel_SoundSet";
683 m_EngineStop = "CivilianSedan_engine_stop_SoundSet";
684 m_EngineStopFuel = "CivilianSedan_engine_stop_fuel_SoundSet";
685
686 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
687 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
688
689 m_CarHornShortSoundName = "CivilianSedan_Horn_Short_SoundSet";
690 m_CarHornLongSoundName = "CivilianSedan_Horn_SoundSet";
691
692 SetEnginePos("0 0.7 1.6");
693 }
694
696 {
697 super.EEInit();
698
700 {
707
710 }
711 }
712
714 {
715 super.OnEngineStart();
716
718 {
720 }
721 }
722
724 {
725 super.OnEngineStop();
726
728 {
730 }
731 }
732
734 {
736 {
738 {
740 }
741 }
742 }
743
745 {
747 }
748
750 {
751 return 4.5;
752 }
753
755 {
756 switch (posIdx)
757 {
758 case 0:
760 case 1:
762 case 2:
764 case 3:
766 }
767
768 return 0;
769 }
770
771
773 {
775 }
776
777
779 {
781 }
782
784 {
785 if( !super.CanReleaseAttachment( attachment ) )
786 return false;
787
788 string attType = attachment.GetType();
789
791 {
792 if ( attType == "CarRadiator" || attType == "CarBattery" || attType == "SparkPlug")
793 return false;
794 }
795
796 return true;
797 }
798
800 {
802 }
803
805 {
806
807 if (!super.CanDisplayAttachmentCategory(category_name))
808 return false;
809
810
812 if (category_name.
Contains(
"engine"))
813 {
815 return false;
816 }
817
818 return true;
819 }
820
822 {
823 if ( !super.CanDisplayCargo() )
824 return false;
825
827 return false;
828
829 return true;
830 }
831
833 {
835
836 Class.
CastTo( carDoor, FindAttachmentBySlotName( slotType ) );
837 if (!carDoor)
838 {
840 }
841
842 switch (slotType)
843 {
844 case "CivSedanDriverDoors":
845 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
846 break;
847
848 case "CivSedanCoDriverDoors":
849 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
850 break;
851
852 case "CivSedanCargo1Doors":
853 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
854 break;
855
856 case "CivSedanCargo2Doors":
857 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
858 break;
859
860 case "CivSedanTrunk":
861 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
862 break;
863
864 case "CivSedanHood":
865 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
866 break;
867 }
868
870 }
871
872
874 {
875 switch( posIdx )
876 {
877 case 0:
879 return false;
880
881 return true;
882 break;
883
884 case 1:
886 return false;
887
888 return true;
889 break;
890
891 case 2:
893 return false;
894
895 return true;
896 break;
897
898 case 3:
900 return false;
901
902 return true;
903 break;
904 }
905
906 return false;
907 }
908
910 {
911 switch( posIdx )
912 {
913 case 0:
914 return "doors_driver";
915 break;
916 case 1:
917 return "doors_codriver";
918 break;
919 case 2:
920 return "doors_cargo1";
921 break;
922 case 3:
923 return "doors_cargo2";
924 break;
925 }
926
927 return super.GetDoorSelectionNameFromSeatPos(posIdx);
928 }
929
931 {
932 switch( posIdx )
933 {
934 case 0:
935 return "CivSedanDriverDoors";
936 break;
937 case 1:
938 return "CivSedanCoDriverDoors";
939 break;
940 case 2:
941 return "CivSedanCargo1Doors";
942 break;
943 case 3:
944 return "CivSedanCargo2Doors";
945 break;
946 }
947
948 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
949 }
950
951
952
954 {
955 switch (ctrl)
956 {
958 float newValue = 0;
960 {
961 newValue += 0.25;
962 }
963
965 {
966 newValue += 0.25;
967 }
968
970 {
971 newValue += 0.25;
972 }
973
975 {
976 newValue += 0.25;
977 }
978
980 {
981 newValue -= 0.6;
982 }
983
985 {
986 newValue -= 0.6;
987 }
988
990 break;
991 }
992
993 return super.OnSound(ctrl, oldValue);
994 }
995
997 {
998 switch (selection)
999 {
1000 case "doors_driver":
1001 return "DoorsDriver";
1002 case "doors_codriver":
1003 return "DoorsCoDriver";
1004 case "doors_cargo1":
1005 return "DoorsCargo1";
1006 case "doors_cargo2":
1007 return "DoorsCargo2";
1008 case "doors_hood":
1009 return "DoorsHood";
1010 case "doors_trunk":
1011 return "DoorsTrunk";
1012 }
1013
1014 return "";
1015 }
1016
1018 {
1019 return false;
1020 }
1021
1023 {
1024 return false;
1025 }
1026
1028 {
1029 switch (currentSeat)
1030 {
1031 case 0:
1032 return nextSeat == 1;
1033
1034 case 1:
1035 return nextSeat == 0;
1036
1037 case 2:
1038 return nextSeat == 3;
1039
1040 case 3:
1041 return nextSeat == 2;
1042 }
1043
1044 return false;
1045 }
1046
1048 {
1049 switch (pCurrentSeat)
1050 {
1051 case 0:
1052 return pDoorsSelection == "DoorsDriver";
1053
1054 case 1:
1055 return pDoorsSelection == "DoorsCoDriver";
1056
1057 case 2:
1058 return pDoorsSelection == "DoorsCargo1";
1059
1060 case 3:
1061 return pDoorsSelection == "DoorsCargo2";
1062 }
1063
1064 return false;
1065 }
1066
1068 {
1069 SpawnUniversalParts();
1070 SpawnAdditionalItems();
1071 FillUpCarFluids();
1072
1073 GetInventory().CreateInInventory("CivSedanWheel");
1074 GetInventory().CreateInInventory("CivSedanWheel");
1075 GetInventory().CreateInInventory("CivSedanWheel");
1076 GetInventory().CreateInInventory("CivSedanWheel");
1077
1078 GetInventory().CreateInInventory("CivSedanDoors_Driver");
1079 GetInventory().CreateInInventory("CivSedanDoors_CoDriver");
1080 GetInventory().CreateInInventory("CivSedanDoors_BackLeft");
1081 GetInventory().CreateInInventory("CivSedanDoors_BackRight");
1082 GetInventory().CreateInInventory("CivSedanHood");
1083 GetInventory().CreateInInventory("CivSedanTrunk");
1084
1085
1086 GetInventory().CreateInInventory("CivSedanWheel");
1087 GetInventory().CreateInInventory("CivSedanWheel");
1088 }
1089
1091 {
1092 return 1.5;
1093 }
1094}
1095
1097{
1099 {
1100 SpawnUniversalParts();
1101 SpawnAdditionalItems();
1102 FillUpCarFluids();
1103
1104 GetInventory().CreateInInventory("CivSedanWheel");
1105 GetInventory().CreateInInventory("CivSedanWheel");
1106 GetInventory().CreateInInventory("CivSedanWheel");
1107 GetInventory().CreateInInventory("CivSedanWheel");
1108
1109 GetInventory().CreateInInventory("CivSedanDoors_Driver_Wine");
1110 GetInventory().CreateInInventory("CivSedanDoors_CoDriver_Wine");
1111 GetInventory().CreateInInventory("CivSedanDoors_BackLeft_Wine");
1112 GetInventory().CreateInInventory("CivSedanDoors_BackRight_Wine");
1113 GetInventory().CreateInInventory("CivSedanHood_Wine");
1114 GetInventory().CreateInInventory("CivSedanTrunk_Wine");
1115
1116
1117 GetInventory().CreateInInventory("CivSedanWheel");
1118 GetInventory().CreateInInventory("CivSedanWheel");
1119 }
1120}
1121
1123{
1125 {
1126 SpawnUniversalParts();
1127 SpawnAdditionalItems();
1128 FillUpCarFluids();
1129
1130 GetInventory().CreateInInventory("CivSedanWheel");
1131 GetInventory().CreateInInventory("CivSedanWheel");
1132 GetInventory().CreateInInventory("CivSedanWheel");
1133 GetInventory().CreateInInventory("CivSedanWheel");
1134
1135 GetInventory().CreateInInventory("CivSedanDoors_Driver_Black");
1136 GetInventory().CreateInInventory("CivSedanDoors_CoDriver_Black");
1137 GetInventory().CreateInInventory("CivSedanDoors_BackLeft_Black");
1138 GetInventory().CreateInInventory("CivSedanDoors_BackRight_Black");
1139 GetInventory().CreateInInventory("CivSedanHood_Black");
1140 GetInventory().CreateInInventory("CivSedanTrunk_Black");
1141
1142
1143 GetInventory().CreateInInventory("CivSedanWheel");
1144 GetInventory().CreateInInventory("CivSedanWheel");
1145 }
1146}
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.