546{
550
552 {
553 m_dmgContactCoef = 0.0790;
554
561
562 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
563 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
564
567
570
572
574 m_CarHornShortSoundName = "Sedan_02_Horn_Short_SoundSet";
575 m_CarHornLongSoundName = "Sedan_02_Horn_SoundSet";
576 }
577
579 {
583 }
584
586 {
587 super.EEInit();
588
590 {
597
600 }
601 }
602
604 {
605 return true;
606 }
607
609 {
610 super.GetElectricitySourceDevice();
611
613 }
614
616 {
617 return "CarBattery";
618 }
619
621 {
622 super.OnEngineStart();
623
625 {
628 }
629 }
630
632 {
633 super.OnEngineStop();
634
636 {
639 }
640 }
641
643 {
645 {
647 {
649 }
650 }
651 }
652
654 {
656 }
657
659 {
660 switch (posIdx)
661 {
662 case 0:
664 case 1:
666 case 2:
668 case 3:
670 }
671
672 return 0;
673 }
674
676 {
677 if (!super.CanReleaseAttachment(attachment))
678 {
679 return false;
680 }
681
682 string attType = attachment.GetType();
683 switch (attType)
684 {
685 case "CarBattery":
687 {
688 return false;
689 }
690 break;
691
692 case "SparkPlug":
694 {
695 return false;
696 }
697 break;
698
699 case "CarRadiator":
701 {
702 return false;
703 }
704 break;
705 }
706
707 return true;
708 }
709
711 {
713 }
714
716 {
717 if ( !super.CanDisplayAttachmentCategory(category_name))
718 {
719 return false;
720 }
721
723 if (category_name.
Contains(
"engine"))
724 {
726 {
727 return false;
728 }
729 }
730
731 if (category_name.
Contains(
"trunk"))
732 {
734 {
735 return false;
736 }
737 }
738
739 return true;
740 }
741
743 {
744 if ( !super.CanDisplayCargo() )
745 return false;
746
748 return false;
749
750 return true;
751 }
752
754 {
756
757 Class.
CastTo( carDoor, FindAttachmentBySlotName( slotType ) );
758 if (!carDoor)
759 {
761 }
762
763 switch (slotType)
764 {
765 case "Sedan_02_Door_1_1":
766 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
767
768 case "Sedan_02_Door_2_1":
769 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
770
771 case "Sedan_02_Door_1_2":
772 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
773
774 case "Sedan_02_Door_2_2":
775 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
776
777 case "Sedan_02_Hood":
778 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
779
780 case "Sedan_02_Trunk":
781 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
782 }
783
785 }
786
787
789 {
790 switch( posIdx )
791 {
792 case 0:
794 return false;
795
796 return true;
797 break;
798
799 case 1:
801 return false;
802
803 return true;
804 break;
805
806 case 2:
808 return false;
809
810 return true;
811 break;
812
813 case 3:
815 return false;
816
817 return true;
818 break;
819 }
820
821 return false;
822 }
823
825 {
826 switch( posIdx )
827 {
828 case 0:
829 return "doors_driver";
830 break;
831 case 1:
832 return "doors_codriver";
833 break;
834 case 2:
835 return "doors_cargo1";
836 break;
837 case 3:
838 return "doors_cargo2";
839 break;
840 }
841
842 return super.GetDoorSelectionNameFromSeatPos(posIdx);
843 }
844
846 {
847 switch( posIdx )
848 {
849 case 0:
850 return "Sedan_02_Door_1_1";
851 break;
852 case 1:
853 return "Sedan_02_Door_2_1";
854 break;
855 case 2:
856 return "Sedan_02_Door_1_2";
857 break;
858 case 3:
859 return "Sedan_02_Door_2_2";
860 break;
861 }
862
863 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
864 }
865
867 {
868 switch ( ctrl )
869 {
871 float newValue = 0;
873 {
874 newValue += 0.25;
875 }
876
878 {
879 newValue += 0.25;
880 }
881
883 {
884 newValue += 0.25;
885 }
886
888 {
889 newValue += 0.25;
890 }
891
893 break;
894 }
895
896 return super.OnSound(ctrl, oldValue);
897 }
898
900 {
901 switch( selection )
902 {
903 case "doors_driver":
904 return "DoorsDriver";
905 case "doors_codriver":
906 return "DoorsCoDriver";
907 case "doors_cargo1":
908 return "DoorsCargo1";
909 case "doors_cargo2":
910 return "DoorsCargo2";
911 case "doors_hood":
912 return "DoorsHood";
913 case "doors_trunk":
914 return "DoorsTrunk";
915 }
916
917 return "";
918 }
919
921 {
922 return false;
923 }
924
926 {
927 switch (currentSeat)
928 {
929 case 0:
930 return nextSeat == 1;
931
932 case 1:
933 return nextSeat == 0;
934
935 case 2:
936 return nextSeat == 3;
937
938 case 3:
939 return nextSeat == 2;
940 }
941
942 return false;
943 }
944
946 {
947 switch (pCurrentSeat)
948 {
949 case 0:
950 return pDoorsSelection == "DoorsDriver";
951
952 case 1:
953 return pDoorsSelection == "DoorsCoDriver";
954
955 case 2:
956 return pDoorsSelection == "DoorsCargo1";
957
958 case 3:
959 return pDoorsSelection == "DoorsCargo2";
960 }
961
962 return false;
963 }
964
966 {
968 SpawnAdditionalItems();
969 FillUpCarFluids();
970
977
984
985
988 }
989}
990
992{
994 {
996 SpawnAdditionalItems();
997 FillUpCarFluids();
998
999 GameInventory inventory = GetInventory();
1004
1011
1012
1015 }
1016}
1017
1019{
1021 {
1023 SpawnAdditionalItems();
1024 FillUpCarFluids();
1025
1026 GameInventory inventory = GetInventory();
1031
1038
1039
1042 }
1043}
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.