507{
511
513 {
514 m_dmgContactCoef = 0.0790;
515
522
523 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
524 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
525
528
531
533
535 m_CarHornShortSoundName = "Sedan_02_Horn_Short_SoundSet";
536 m_CarHornLongSoundName = "Sedan_02_Horn_SoundSet";
537 }
538
540 {
544 }
545
547 {
548 super.EEInit();
549
551 {
558
561 }
562 }
563
565 {
566 return true;
567 }
568
570 {
571 super.GetElectricitySourceDevice();
572
574 }
575
577 {
578 return "CarBattery";
579 }
580
582 {
583 super.OnEngineStart();
584
586 {
589 }
590 }
591
593 {
594 super.OnEngineStop();
595
597 {
600 }
601 }
602
604 {
606 {
608 {
610 }
611 }
612 }
613
615 {
617 }
618
620 {
621 switch (posIdx)
622 {
623 case 0:
625 case 1:
627 case 2:
629 case 3:
631 }
632
633 return 0;
634 }
635
637 {
638 if (!super.CanReleaseAttachment(attachment))
639 {
640 return false;
641 }
642
643 string attType = attachment.GetType();
644 switch (attType)
645 {
646 case "CarBattery":
648 {
649 return false;
650 }
651 break;
652
653 case "SparkPlug":
655 {
656 return false;
657 }
658 break;
659
660 case "CarRadiator":
662 {
663 return false;
664 }
665 break;
666 }
667
668 return true;
669 }
670
672 {
674 }
675
677 {
678 if ( !super.CanDisplayAttachmentCategory(category_name))
679 {
680 return false;
681 }
682
684 if (category_name.
Contains(
"engine"))
685 {
687 {
688 return false;
689 }
690 }
691
692 if (category_name.
Contains(
"trunk"))
693 {
695 {
696 return false;
697 }
698 }
699
700 return true;
701 }
702
704 {
705 if ( !super.CanDisplayCargo() )
706 return false;
707
709 return false;
710
711 return true;
712 }
713
715 {
717
718 Class.
CastTo( carDoor, FindAttachmentBySlotName( slotType ) );
719 if (!carDoor)
720 {
722 }
723
724 switch (slotType)
725 {
726 case "Sedan_02_Door_1_1":
727 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
728
729 case "Sedan_02_Door_2_1":
730 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
731
732 case "Sedan_02_Door_1_2":
733 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
734
735 case "Sedan_02_Door_2_2":
736 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
737
738 case "Sedan_02_Hood":
739 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
740
741 case "Sedan_02_Trunk":
742 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
743 }
744
746 }
747
748
750 {
751 switch( posIdx )
752 {
753 case 0:
755 return false;
756
757 return true;
758 break;
759
760 case 1:
762 return false;
763
764 return true;
765 break;
766
767 case 2:
769 return false;
770
771 return true;
772 break;
773
774 case 3:
776 return false;
777
778 return true;
779 break;
780 }
781
782 return false;
783 }
784
786 {
787 switch( posIdx )
788 {
789 case 0:
790 return "doors_driver";
791 break;
792 case 1:
793 return "doors_codriver";
794 break;
795 case 2:
796 return "doors_cargo1";
797 break;
798 case 3:
799 return "doors_cargo2";
800 break;
801 }
802
803 return super.GetDoorSelectionNameFromSeatPos(posIdx);
804 }
805
807 {
808 switch( posIdx )
809 {
810 case 0:
811 return "Sedan_02_Door_1_1";
812 break;
813 case 1:
814 return "Sedan_02_Door_2_1";
815 break;
816 case 2:
817 return "Sedan_02_Door_1_2";
818 break;
819 case 3:
820 return "Sedan_02_Door_2_2";
821 break;
822 }
823
824 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
825 }
826
828 {
829 switch ( ctrl )
830 {
832 float newValue = 0;
834 {
835 newValue += 0.25;
836 }
837
839 {
840 newValue += 0.25;
841 }
842
844 {
845 newValue += 0.25;
846 }
847
849 {
850 newValue += 0.25;
851 }
852
854 break;
855 }
856
857 return super.OnSound(ctrl, oldValue);
858 }
859
861 {
862 switch( selection )
863 {
864 case "doors_driver":
865 return "DoorsDriver";
866 case "doors_codriver":
867 return "DoorsCoDriver";
868 case "doors_cargo1":
869 return "DoorsCargo1";
870 case "doors_cargo2":
871 return "DoorsCargo2";
872 case "doors_hood":
873 return "DoorsHood";
874 case "doors_trunk":
875 return "DoorsTrunk";
876 }
877
878 return "";
879 }
880
882 {
883 return false;
884 }
885
887 {
888 switch (currentSeat)
889 {
890 case 0:
891 return nextSeat == 1;
892
893 case 1:
894 return nextSeat == 0;
895
896 case 2:
897 return nextSeat == 3;
898
899 case 3:
900 return nextSeat == 2;
901 }
902
903 return false;
904 }
905
907 {
908 switch (pCurrentSeat)
909 {
910 case 0:
911 return pDoorsSelection == "DoorsDriver";
912
913 case 1:
914 return pDoorsSelection == "DoorsCoDriver";
915
916 case 2:
917 return pDoorsSelection == "DoorsCargo1";
918
919 case 3:
920 return pDoorsSelection == "DoorsCargo2";
921 }
922
923 return false;
924 }
925
927 {
929 SpawnAdditionalItems();
930 FillUpCarFluids();
931
938
945
946
949 }
950}
951
953{
955 {
957 SpawnAdditionalItems();
958 FillUpCarFluids();
959
960 GameInventory inventory = GetInventory();
965
972
973
976 }
977}
978
980{
982 {
984 SpawnAdditionalItems();
985 FillUpCarFluids();
986
987 GameInventory inventory = GetInventory();
992
999
1000
1003 }
1004}
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.