557{
561
563 {
564 m_dmgContactCoef = 0.0790;
565
572
573 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
574 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
575
578
581
583
585 m_CarHornShortSoundName = "Sedan_02_Horn_Short_SoundSet";
586 m_CarHornLongSoundName = "Sedan_02_Horn_SoundSet";
587 }
588
590 {
594 }
595
597 {
598 super.EEInit();
599
601 {
608
611 }
612 }
613
615 {
616 return true;
617 }
618
620 {
621 super.GetElectricitySourceDevice();
622
624 }
625
627 {
628 return "CarBattery";
629 }
630
632 {
633 super.OnEngineStart();
634
636 {
639 }
640 }
641
643 {
644 super.OnEngineStop();
645
647 {
650 }
651 }
652
654 {
656 {
658 {
660 }
661 }
662 }
663
665 {
667 }
668
670 {
671 switch (posIdx)
672 {
673 case 0:
675 case 1:
677 case 2:
679 case 3:
681 }
682
683 return 0;
684 }
685
687 {
688 if (!super.CanReleaseAttachment(attachment))
689 {
690 return false;
691 }
692
693 string attType = attachment.GetType();
694 switch (attType)
695 {
696 case "CarBattery":
698 {
699 return false;
700 }
701 break;
702
703 case "SparkPlug":
705 {
706 return false;
707 }
708 break;
709
710 case "CarRadiator":
712 {
713 return false;
714 }
715 break;
716 }
717
718 return true;
719 }
720
722 {
724 }
725
727 {
728 if ( !super.CanDisplayAttachmentCategory(category_name))
729 {
730 return false;
731 }
732
734 if (category_name.
Contains(
"engine"))
735 {
737 {
738 return false;
739 }
740 }
741
742 if (category_name.
Contains(
"trunk"))
743 {
745 {
746 return false;
747 }
748 }
749
750 return true;
751 }
752
754 {
755 if ( !super.CanDisplayCargo() )
756 return false;
757
759 return false;
760
761 return true;
762 }
763
765 {
767
768 Class.
CastTo( carDoor, FindAttachmentBySlotName( slotType ) );
769 if (!carDoor)
770 {
772 }
773
774 switch (slotType)
775 {
776 case "Sedan_02_Door_1_1":
777 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
778
779 case "Sedan_02_Door_2_1":
780 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
781
782 case "Sedan_02_Door_1_2":
783 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
784
785 case "Sedan_02_Door_2_2":
786 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
787
788 case "Sedan_02_Hood":
789 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
790
791 case "Sedan_02_Trunk":
792 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
793 }
794
796 }
797
798
800 {
801 switch( posIdx )
802 {
803 case 0:
805 return false;
806
807 return true;
808 break;
809
810 case 1:
812 return false;
813
814 return true;
815 break;
816
817 case 2:
819 return false;
820
821 return true;
822 break;
823
824 case 3:
826 return false;
827
828 return true;
829 break;
830 }
831
832 return false;
833 }
834
836 {
837 switch( posIdx )
838 {
839 case 0:
840 return "doors_driver";
841 break;
842 case 1:
843 return "doors_codriver";
844 break;
845 case 2:
846 return "doors_cargo1";
847 break;
848 case 3:
849 return "doors_cargo2";
850 break;
851 }
852
853 return super.GetDoorSelectionNameFromSeatPos(posIdx);
854 }
855
857 {
858 switch( posIdx )
859 {
860 case 0:
861 return "Sedan_02_Door_1_1";
862 break;
863 case 1:
864 return "Sedan_02_Door_2_1";
865 break;
866 case 2:
867 return "Sedan_02_Door_1_2";
868 break;
869 case 3:
870 return "Sedan_02_Door_2_2";
871 break;
872 }
873
874 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
875 }
876
878 {
879 switch ( ctrl )
880 {
882 float newValue = 0;
884 {
885 newValue += 0.25;
886 }
887
889 {
890 newValue += 0.25;
891 }
892
894 {
895 newValue += 0.25;
896 }
897
899 {
900 newValue += 0.25;
901 }
902
904 break;
905 }
906
907 return super.OnSound(ctrl, oldValue);
908 }
909
911 {
912 switch( selection )
913 {
914 case "doors_driver":
915 return "DoorsDriver";
916 case "doors_codriver":
917 return "DoorsCoDriver";
918 case "doors_cargo1":
919 return "DoorsCargo1";
920 case "doors_cargo2":
921 return "DoorsCargo2";
922 case "doors_hood":
923 return "DoorsHood";
924 case "doors_trunk":
925 return "DoorsTrunk";
926 }
927
928 return "";
929 }
930
932 {
933 return false;
934 }
935
937 {
938 switch (currentSeat)
939 {
940 case 0:
941 return nextSeat == 1;
942
943 case 1:
944 return nextSeat == 0;
945
946 case 2:
947 return nextSeat == 3;
948
949 case 3:
950 return nextSeat == 2;
951 }
952
953 return false;
954 }
955
957 {
958 switch (pCurrentSeat)
959 {
960 case 0:
961 return pDoorsSelection == "DoorsDriver";
962
963 case 1:
964 return pDoorsSelection == "DoorsCoDriver";
965
966 case 2:
967 return pDoorsSelection == "DoorsCargo1";
968
969 case 3:
970 return pDoorsSelection == "DoorsCargo2";
971 }
972
973 return false;
974 }
975
977 {
979 SpawnAdditionalItems();
980 FillUpCarFluids();
981
988
995
996
999 }
1000}
1001
1003{
1005 {
1007 SpawnAdditionalItems();
1008 FillUpCarFluids();
1009
1010 GameInventory inventory = GetInventory();
1015
1022
1023
1026 }
1027}
1028
1030{
1032 {
1034 SpawnAdditionalItems();
1035 FillUpCarFluids();
1036
1037 GameInventory inventory = GetInventory();
1042
1049
1050
1053 }
1054}
CarSoundCtrl
Car's sound controller list. (native, do not change or extend)
ref UniversalTemperatureSourceSettings m_UTSSettings
ref UniversalTemperatureSource m_UTSource
proto native void SetEnginePos(vector pos)
Override the position of engine (model space)
proto native bool EngineIsOn()
Returns true when engine is running, false otherwise.
void SpawnUniversalParts()
string m_EngineStartBattery
ref VehicleHornComponent m_HornComponent
ref VehicleLightsComponent m_LightsComponent
void Sedan_02LightProfileFront()
Sedan_02LightProfileFront VehicleLightProfileFront Sedan_02LightProfileRear()
UniversalTemperatureSourceLambdaBaseImpl UniversalTemperatureSourceLambdaBase UniversalTemperatureSourceLambdaEngine()
void VehicleLightData(VehicleLightProfileBase profile)
ref UniversalTemperatureSourceLambdaEngine m_UTSLEngine
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()
override bool CanReleaseAttachment(EntityAI attachment)
override bool CanDisplayCargo()
override EntityAI GetElectricitySourceDevice()
Sedan_02 CarScript OnDebugSpawn()
override void OnEngineStart()
override int GetAnimInstance()
override bool CrewCanGetThrough(int posIdx)
override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
bool CanManipulateSpareWheel(string slotSelectionName)
override bool IsVitalGlowPlug()
override bool NeedElectricitySourceDevice()
override string GetElectricitySourceDeviceType()
override string GetDoorSelectionNameFromSeatPos(int posIdx)
override int GetCarDoorsState(string slotType)
override bool CanDisplayAttachmentCategory(string category_name)
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()
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.