593{
597
599 {
600
601
602 m_EngineStartOK = "CivilianSedan_engine_start_SoundSet";
603 m_EngineStartBattery = "CivilianSedan_engine_failed_start_battery_SoundSet";
604 m_EngineStartPlug = "CivilianSedan_engine_failed_start_sparkplugs_SoundSet";
605 m_EngineStartFuel = "CivilianSedan_engine_failed_start_fuel_SoundSet";
606 m_EngineStop = "CivilianSedan_engine_stop_SoundSet";
607 m_EngineStopFuel = "CivilianSedan_engine_stop_fuel_SoundSet";
608
609 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
610 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
611
612 m_CarHornShortSoundName = "CivilianSedan_Horn_Short_SoundSet";
613 m_CarHornLongSoundName = "CivilianSedan_Horn_SoundSet";
614
615 SetEnginePos("0 0.7 1.6");
616 }
617
619 {
620 super.EEInit();
621
623 {
630
633 }
634 }
635
637 {
638 super.OnEngineStart();
639
641 {
643 }
644 }
645
647 {
648 super.OnEngineStop();
649
651 {
653 }
654 }
655
657 {
659 {
661 {
663 }
664 }
665 }
666
668 {
670 }
671
673 {
674 return 4.5;
675 }
676
678 {
679 switch (posIdx)
680 {
681 case 0:
683 case 1:
685 case 2:
687 case 3:
689 }
690
691 return 0;
692 }
693
694
696 {
698 }
699
700
702 {
704 }
705
707 {
708 if( !super.CanReleaseAttachment( attachment ) )
709 return false;
710
711 string attType = attachment.GetType();
712
714 {
715 if ( attType == "CarRadiator" || attType == "CarBattery" || attType == "SparkPlug")
716 return false;
717 }
718
719 return true;
720 }
721
723 {
725 }
726
728 {
729
730 if (!super.CanDisplayAttachmentCategory(category_name))
731 return false;
732
733
735 if (category_name.
Contains(
"engine"))
736 {
738 return false;
739 }
740
741 return true;
742 }
743
745 {
746 if ( !super.CanDisplayCargo() )
747 return false;
748
750 return false;
751
752 return true;
753 }
754
756 {
758
759 Class.
CastTo( carDoor, FindAttachmentBySlotName( slotType ) );
760 if (!carDoor)
761 {
763 }
764
765 switch (slotType)
766 {
767 case "CivSedanDriverDoors":
768 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
769 break;
770
771 case "CivSedanCoDriverDoors":
772 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
773 break;
774
775 case "CivSedanCargo1Doors":
776 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
777 break;
778
779 case "CivSedanCargo2Doors":
780 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
781 break;
782
783 case "CivSedanTrunk":
784 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
785 break;
786
787 case "CivSedanHood":
788 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
789 break;
790 }
791
793 }
794
795
797 {
798 switch( posIdx )
799 {
800 case 0:
802 return false;
803
804 return true;
805 break;
806
807 case 1:
809 return false;
810
811 return true;
812 break;
813
814 case 2:
816 return false;
817
818 return true;
819 break;
820
821 case 3:
823 return false;
824
825 return true;
826 break;
827 }
828
829 return false;
830 }
831
833 {
834 switch( posIdx )
835 {
836 case 0:
837 return "doors_driver";
838 break;
839 case 1:
840 return "doors_codriver";
841 break;
842 case 2:
843 return "doors_cargo1";
844 break;
845 case 3:
846 return "doors_cargo2";
847 break;
848 }
849
850 return super.GetDoorSelectionNameFromSeatPos(posIdx);
851 }
852
854 {
855 switch( posIdx )
856 {
857 case 0:
858 return "CivSedanDriverDoors";
859 break;
860 case 1:
861 return "CivSedanCoDriverDoors";
862 break;
863 case 2:
864 return "CivSedanCargo1Doors";
865 break;
866 case 3:
867 return "CivSedanCargo2Doors";
868 break;
869 }
870
871 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
872 }
873
874
875
877 {
878 switch (ctrl)
879 {
881 float newValue = 0;
883 {
884 newValue += 0.25;
885 }
886
888 {
889 newValue += 0.25;
890 }
891
893 {
894 newValue += 0.25;
895 }
896
898 {
899 newValue += 0.25;
900 }
901
903 {
904 newValue -= 0.6;
905 }
906
908 {
909 newValue -= 0.6;
910 }
911
913 break;
914 }
915
916 return super.OnSound(ctrl, oldValue);
917 }
918
920 {
921 switch (selection)
922 {
923 case "doors_driver":
924 return "DoorsDriver";
925 case "doors_codriver":
926 return "DoorsCoDriver";
927 case "doors_cargo1":
928 return "DoorsCargo1";
929 case "doors_cargo2":
930 return "DoorsCargo2";
931 case "doors_hood":
932 return "DoorsHood";
933 case "doors_trunk":
934 return "DoorsTrunk";
935 }
936
937 return "";
938 }
939
941 {
942 return false;
943 }
944
946 {
947 return false;
948 }
949
951 {
952 switch (currentSeat)
953 {
954 case 0:
955 return nextSeat == 1;
956
957 case 1:
958 return nextSeat == 0;
959
960 case 2:
961 return nextSeat == 3;
962
963 case 3:
964 return nextSeat == 2;
965 }
966
967 return false;
968 }
969
971 {
972 switch (pCurrentSeat)
973 {
974 case 0:
975 return pDoorsSelection == "DoorsDriver";
976
977 case 1:
978 return pDoorsSelection == "DoorsCoDriver";
979
980 case 2:
981 return pDoorsSelection == "DoorsCargo1";
982
983 case 3:
984 return pDoorsSelection == "DoorsCargo2";
985 }
986
987 return false;
988 }
989
991 {
992 SpawnUniversalParts();
993 SpawnAdditionalItems();
994 FillUpCarFluids();
995
996 GetInventory().CreateInInventory("CivSedanWheel");
997 GetInventory().CreateInInventory("CivSedanWheel");
998 GetInventory().CreateInInventory("CivSedanWheel");
999 GetInventory().CreateInInventory("CivSedanWheel");
1000
1001 GetInventory().CreateInInventory("CivSedanDoors_Driver");
1002 GetInventory().CreateInInventory("CivSedanDoors_CoDriver");
1003 GetInventory().CreateInInventory("CivSedanDoors_BackLeft");
1004 GetInventory().CreateInInventory("CivSedanDoors_BackRight");
1005 GetInventory().CreateInInventory("CivSedanHood");
1006 GetInventory().CreateInInventory("CivSedanTrunk");
1007
1008
1009 GetInventory().CreateInInventory("CivSedanWheel");
1010 GetInventory().CreateInInventory("CivSedanWheel");
1011 }
1012
1014 {
1015 return 1.5;
1016 }
1017}
1018
1020{
1022 {
1023 SpawnUniversalParts();
1024 SpawnAdditionalItems();
1025 FillUpCarFluids();
1026
1027 GetInventory().CreateInInventory("CivSedanWheel");
1028 GetInventory().CreateInInventory("CivSedanWheel");
1029 GetInventory().CreateInInventory("CivSedanWheel");
1030 GetInventory().CreateInInventory("CivSedanWheel");
1031
1032 GetInventory().CreateInInventory("CivSedanDoors_Driver_Wine");
1033 GetInventory().CreateInInventory("CivSedanDoors_CoDriver_Wine");
1034 GetInventory().CreateInInventory("CivSedanDoors_BackLeft_Wine");
1035 GetInventory().CreateInInventory("CivSedanDoors_BackRight_Wine");
1036 GetInventory().CreateInInventory("CivSedanHood_Wine");
1037 GetInventory().CreateInInventory("CivSedanTrunk_Wine");
1038
1039
1040 GetInventory().CreateInInventory("CivSedanWheel");
1041 GetInventory().CreateInInventory("CivSedanWheel");
1042 }
1043}
1044
1046{
1048 {
1049 SpawnUniversalParts();
1050 SpawnAdditionalItems();
1051 FillUpCarFluids();
1052
1053 GetInventory().CreateInInventory("CivSedanWheel");
1054 GetInventory().CreateInInventory("CivSedanWheel");
1055 GetInventory().CreateInInventory("CivSedanWheel");
1056 GetInventory().CreateInInventory("CivSedanWheel");
1057
1058 GetInventory().CreateInInventory("CivSedanDoors_Driver_Black");
1059 GetInventory().CreateInInventory("CivSedanDoors_CoDriver_Black");
1060 GetInventory().CreateInInventory("CivSedanDoors_BackLeft_Black");
1061 GetInventory().CreateInInventory("CivSedanDoors_BackRight_Black");
1062 GetInventory().CreateInInventory("CivSedanHood_Black");
1063 GetInventory().CreateInInventory("CivSedanTrunk_Black");
1064
1065
1066 GetInventory().CreateInInventory("CivSedanWheel");
1067 GetInventory().CreateInInventory("CivSedanWheel");
1068 }
1069}
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.