524{
528
530 {
531 m_dmgContactCoef = 0.0790;
532
539
540 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
541 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
542
545
548
550
552 m_CarHornShortSoundName = "Sedan_02_Horn_Short_SoundSet";
553 m_CarHornLongSoundName = "Sedan_02_Horn_SoundSet";
554 }
555
557 {
561 }
562
564 {
565 super.EEInit();
566
568 {
575
578 }
579 }
580
582 {
583 return true;
584 }
585
587 {
588 super.GetElectricitySourceDevice();
589
591 }
592
594 {
595 return "CarBattery";
596 }
597
599 {
600 super.OnEngineStart();
601
603 {
606 }
607 }
608
610 {
611 super.OnEngineStop();
612
614 {
617 }
618 }
619
621 {
623 {
625 {
627 }
628 }
629 }
630
632 {
634 }
635
637 {
638 switch (posIdx)
639 {
640 case 0:
642 case 1:
644 case 2:
646 case 3:
648 }
649
650 return 0;
651 }
652
654 {
655 if (!super.CanReleaseAttachment(attachment))
656 {
657 return false;
658 }
659
660 string attType = attachment.GetType();
661 switch (attType)
662 {
663 case "CarBattery":
665 {
666 return false;
667 }
668 break;
669
670 case "SparkPlug":
672 {
673 return false;
674 }
675 break;
676
677 case "CarRadiator":
679 {
680 return false;
681 }
682 break;
683 }
684
685 return true;
686 }
687
689 {
691 }
692
694 {
695 if ( !super.CanDisplayAttachmentCategory(category_name))
696 {
697 return false;
698 }
699
701 if (category_name.
Contains(
"engine"))
702 {
704 {
705 return false;
706 }
707 }
708
709 if (category_name.
Contains(
"trunk"))
710 {
712 {
713 return false;
714 }
715 }
716
717 return true;
718 }
719
721 {
722 if ( !super.CanDisplayCargo() )
723 return false;
724
726 return false;
727
728 return true;
729 }
730
732 {
734
735 Class.
CastTo( carDoor, FindAttachmentBySlotName( slotType ) );
736 if (!carDoor)
737 {
739 }
740
741 switch (slotType)
742 {
743 case "Sedan_02_Door_1_1":
744 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
745
746 case "Sedan_02_Door_2_1":
747 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
748
749 case "Sedan_02_Door_1_2":
750 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
751
752 case "Sedan_02_Door_2_2":
753 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
754
755 case "Sedan_02_Hood":
756 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
757
758 case "Sedan_02_Trunk":
759 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
760 }
761
763 }
764
765
767 {
768 switch( posIdx )
769 {
770 case 0:
772 return false;
773
774 return true;
775 break;
776
777 case 1:
779 return false;
780
781 return true;
782 break;
783
784 case 2:
786 return false;
787
788 return true;
789 break;
790
791 case 3:
793 return false;
794
795 return true;
796 break;
797 }
798
799 return false;
800 }
801
803 {
804 switch( posIdx )
805 {
806 case 0:
807 return "doors_driver";
808 break;
809 case 1:
810 return "doors_codriver";
811 break;
812 case 2:
813 return "doors_cargo1";
814 break;
815 case 3:
816 return "doors_cargo2";
817 break;
818 }
819
820 return super.GetDoorSelectionNameFromSeatPos(posIdx);
821 }
822
824 {
825 switch( posIdx )
826 {
827 case 0:
828 return "Sedan_02_Door_1_1";
829 break;
830 case 1:
831 return "Sedan_02_Door_2_1";
832 break;
833 case 2:
834 return "Sedan_02_Door_1_2";
835 break;
836 case 3:
837 return "Sedan_02_Door_2_2";
838 break;
839 }
840
841 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
842 }
843
845 {
846 switch ( ctrl )
847 {
849 float newValue = 0;
851 {
852 newValue += 0.25;
853 }
854
856 {
857 newValue += 0.25;
858 }
859
861 {
862 newValue += 0.25;
863 }
864
866 {
867 newValue += 0.25;
868 }
869
871 break;
872 }
873
874 return super.OnSound(ctrl, oldValue);
875 }
876
878 {
879 switch( selection )
880 {
881 case "doors_driver":
882 return "DoorsDriver";
883 case "doors_codriver":
884 return "DoorsCoDriver";
885 case "doors_cargo1":
886 return "DoorsCargo1";
887 case "doors_cargo2":
888 return "DoorsCargo2";
889 case "doors_hood":
890 return "DoorsHood";
891 case "doors_trunk":
892 return "DoorsTrunk";
893 }
894
895 return "";
896 }
897
899 {
900 return false;
901 }
902
904 {
905 switch (currentSeat)
906 {
907 case 0:
908 return nextSeat == 1;
909
910 case 1:
911 return nextSeat == 0;
912
913 case 2:
914 return nextSeat == 3;
915
916 case 3:
917 return nextSeat == 2;
918 }
919
920 return false;
921 }
922
924 {
925 switch (pCurrentSeat)
926 {
927 case 0:
928 return pDoorsSelection == "DoorsDriver";
929
930 case 1:
931 return pDoorsSelection == "DoorsCoDriver";
932
933 case 2:
934 return pDoorsSelection == "DoorsCargo1";
935
936 case 3:
937 return pDoorsSelection == "DoorsCargo2";
938 }
939
940 return false;
941 }
942
944 {
946 SpawnAdditionalItems();
947 FillUpCarFluids();
948
955
962
963
966 }
967}
968
970{
972 {
974 SpawnAdditionalItems();
975 FillUpCarFluids();
976
977 GameInventory inventory = GetInventory();
982
989
990
993 }
994}
995
997{
999 {
1001 SpawnAdditionalItems();
1002 FillUpCarFluids();
1003
1004 GameInventory inventory = GetInventory();
1009
1016
1017
1020 }
1021}
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.