512{
516
518 {
519 m_dmgContactCoef = 0.0790;
520
527
528 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
529 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
530
533
536
538
540 m_CarHornShortSoundName = "Sedan_02_Horn_Short_SoundSet";
541 m_CarHornLongSoundName = "Sedan_02_Horn_SoundSet";
542 }
543
545 {
549 }
550
552 {
553 super.EEInit();
554
556 {
563
566 }
567 }
568
570 {
571 return true;
572 }
573
575 {
576 super.GetElectricitySourceDevice();
577
579 }
580
582 {
583 return "CarBattery";
584 }
585
587 {
588 super.OnEngineStart();
589
591 {
594 }
595 }
596
598 {
599 super.OnEngineStop();
600
602 {
605 }
606 }
607
609 {
611 {
613 {
615 }
616 }
617 }
618
620 {
622 }
623
625 {
626 switch (posIdx)
627 {
628 case 0:
630 case 1:
632 case 2:
634 case 3:
636 }
637
638 return 0;
639 }
640
642 {
643 if (!super.CanReleaseAttachment(attachment))
644 {
645 return false;
646 }
647
648 string attType = attachment.GetType();
649 switch (attType)
650 {
651 case "CarBattery":
653 {
654 return false;
655 }
656 break;
657
658 case "SparkPlug":
660 {
661 return false;
662 }
663 break;
664
665 case "CarRadiator":
667 {
668 return false;
669 }
670 break;
671 }
672
673 return true;
674 }
675
677 {
679 }
680
682 {
683 if ( !super.CanDisplayAttachmentCategory(category_name))
684 {
685 return false;
686 }
687
689 if (category_name.
Contains(
"engine"))
690 {
692 {
693 return false;
694 }
695 }
696
697 if (category_name.
Contains(
"trunk"))
698 {
700 {
701 return false;
702 }
703 }
704
705 return true;
706 }
707
709 {
710 if ( !super.CanDisplayCargo() )
711 return false;
712
714 return false;
715
716 return true;
717 }
718
720 {
722
723 Class.
CastTo( carDoor, FindAttachmentBySlotName( slotType ) );
724 if (!carDoor)
725 {
727 }
728
729 switch (slotType)
730 {
731 case "Sedan_02_Door_1_1":
732 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
733
734 case "Sedan_02_Door_2_1":
735 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
736
737 case "Sedan_02_Door_1_2":
738 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
739
740 case "Sedan_02_Door_2_2":
741 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
742
743 case "Sedan_02_Hood":
744 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
745
746 case "Sedan_02_Trunk":
747 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
748 }
749
751 }
752
753
755 {
756 switch( posIdx )
757 {
758 case 0:
760 return false;
761
762 return true;
763 break;
764
765 case 1:
767 return false;
768
769 return true;
770 break;
771
772 case 2:
774 return false;
775
776 return true;
777 break;
778
779 case 3:
781 return false;
782
783 return true;
784 break;
785 }
786
787 return false;
788 }
789
791 {
792 switch( posIdx )
793 {
794 case 0:
795 return "doors_driver";
796 break;
797 case 1:
798 return "doors_codriver";
799 break;
800 case 2:
801 return "doors_cargo1";
802 break;
803 case 3:
804 return "doors_cargo2";
805 break;
806 }
807
808 return super.GetDoorSelectionNameFromSeatPos(posIdx);
809 }
810
812 {
813 switch( posIdx )
814 {
815 case 0:
816 return "Sedan_02_Door_1_1";
817 break;
818 case 1:
819 return "Sedan_02_Door_2_1";
820 break;
821 case 2:
822 return "Sedan_02_Door_1_2";
823 break;
824 case 3:
825 return "Sedan_02_Door_2_2";
826 break;
827 }
828
829 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
830 }
831
833 {
834 switch ( ctrl )
835 {
837 float newValue = 0;
839 {
840 newValue += 0.25;
841 }
842
844 {
845 newValue += 0.25;
846 }
847
849 {
850 newValue += 0.25;
851 }
852
854 {
855 newValue += 0.25;
856 }
857
859 break;
860 }
861
862 return super.OnSound(ctrl, oldValue);
863 }
864
866 {
867 switch( selection )
868 {
869 case "doors_driver":
870 return "DoorsDriver";
871 case "doors_codriver":
872 return "DoorsCoDriver";
873 case "doors_cargo1":
874 return "DoorsCargo1";
875 case "doors_cargo2":
876 return "DoorsCargo2";
877 case "doors_hood":
878 return "DoorsHood";
879 case "doors_trunk":
880 return "DoorsTrunk";
881 }
882
883 return "";
884 }
885
887 {
888 return false;
889 }
890
892 {
893 switch (currentSeat)
894 {
895 case 0:
896 return nextSeat == 1;
897
898 case 1:
899 return nextSeat == 0;
900
901 case 2:
902 return nextSeat == 3;
903
904 case 3:
905 return nextSeat == 2;
906 }
907
908 return false;
909 }
910
912 {
913 switch (pCurrentSeat)
914 {
915 case 0:
916 return pDoorsSelection == "DoorsDriver";
917
918 case 1:
919 return pDoorsSelection == "DoorsCoDriver";
920
921 case 2:
922 return pDoorsSelection == "DoorsCargo1";
923
924 case 3:
925 return pDoorsSelection == "DoorsCargo2";
926 }
927
928 return false;
929 }
930
932 {
934 SpawnAdditionalItems();
935 FillUpCarFluids();
936
943
950
951
954 }
955}
956
958{
960 {
962 SpawnAdditionalItems();
963 FillUpCarFluids();
964
965 GameInventory inventory = GetInventory();
970
977
978
981 }
982}
983
985{
987 {
989 SpawnAdditionalItems();
990 FillUpCarFluids();
991
992 GameInventory inventory = GetInventory();
997
1004
1005
1008 }
1009}
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.