484{
488
490 {
491
492
493 m_EngineStartOK = "Hatchback_02_engine_start_SoundSet";
494 m_EngineStartBattery = "Hatchback_02_engine_failed_start_battery_SoundSet";
495 m_EngineStartPlug = "Hatchback_02_engine_failed_start_sparkplugs_SoundSet";
496 m_EngineStartFuel = "Hatchback_02_engine_failed_start_fuel_SoundSet";
497 m_EngineStop = "Hatchback_02_engine_stop_SoundSet";
498 m_EngineStopFuel = "Hatchback_02_engine_stop_fuel_SoundSet";
499
500 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
501 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
502
503 m_CarHornShortSoundName = "Hatchback_02_Horn_Short_SoundSet";
504 m_CarHornLongSoundName = "Hatchback_02_Horn_SoundSet";
505
506 SetEnginePos("0 0.7 1.4");
507 }
508
510 {
511 super.EEInit();
512
514 {
521
524 }
525 }
526
528 {
529 super.OnEngineStart();
530
532 {
534 }
535 }
536
538 {
539 super.OnEngineStop();
540
542 {
544 }
545 }
546
548 {
550 {
552 {
554 }
555 }
556 }
557
559 {
561 }
562
564 {
565 switch (posIdx)
566 {
567 case 0:
569 case 1:
571 case 2:
573 case 3:
575 }
576
577 return 0;
578 }
579
580
582 {
584 }
585
586
588 {
590 }
591
593 {
594 if (!super.CanReleaseAttachment(attachment))
595 {
596 return false;
597 }
598
600 {
601 string attType = attachment.GetType();
602 if (attType == "CarRadiator" || attType == "CarBattery" || attType == "SparkPlug")
603 {
604 return false;
605 }
606 }
607
608 return true;
609 }
610
612 {
614 }
615
617 {
618
619 if ( !super.CanDisplayAttachmentCategory( category_name ) )
620 return false;
621
622
624 if ( category_name.
Contains(
"engine") )
625 {
627 return false;
628 }
629
630 return true;
631 }
632
634 {
635 if ( !super.CanDisplayCargo() )
636 return false;
637
639 return false;
640
641 return true;
642 }
643
645 {
647
648 Class.
CastTo(carDoor, FindAttachmentBySlotName(slotType));
649 if (!carDoor)
650 {
652 }
653
654 switch (slotType)
655 {
656 case "Hatchback_02_Door_1_1":
657 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
658
659 case "Hatchback_02_Door_2_1":
660 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
661
662 case "Hatchback_02_Door_1_2":
663 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
664
665 case "Hatchback_02_Door_2_2":
666 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
667
668 case "Hatchback_02_Hood":
669 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
670
671 case "Hatchback_02_Trunk":
672 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
673 }
674
676 }
677
678
680 {
681 switch (posIdx)
682 {
683 case 0:
685 {
686 return false;
687 }
688
689 return true;
690
691 case 1:
693 {
694 return false;
695 }
696
697 return true;
698
699 case 2:
701 {
702 return false;
703 }
704
705 return true;
706
707 case 3:
709 {
710 return false;
711 }
712
713 return true;
714 }
715
716 return false;
717 }
718
720 {
721 switch( posIdx )
722 {
723 case 0:
724 return "doors_driver";
725 break;
726 case 1:
727 return "doors_codriver";
728 break;
729 case 2:
730 return "doors_cargo1";
731 break;
732 case 3:
733 return "doors_cargo2";
734 break;
735 }
736
737 return super.GetDoorSelectionNameFromSeatPos(posIdx);
738 }
739
741 {
742 switch( posIdx )
743 {
744 case 0:
745 return "Hatchback_02_Door_1_1";
746 break;
747 case 1:
748 return "Hatchback_02_Door_2_1";
749 break;
750 case 2:
751 return "Hatchback_02_Door_1_2";
752 break;
753 case 3:
754 return "Hatchback_02_Door_2_2";
755 break;
756 }
757
758 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
759 }
760
762 {
763 switch (ctrl)
764 {
766 float newValue = 0;
768 {
769 newValue += 0.25;
770 }
771
773 {
774 newValue += 0.25;
775 }
776
778 {
779 newValue += 0.25;
780 }
781
783 {
784 newValue += 0.25;
785 }
786
788 break;
789 }
790
791 return super.OnSound(ctrl, oldValue);
792 }
793
795 {
796 switch( selection )
797 {
798 case "doors_driver":
799 return "DoorsDriver";
800 case "doors_codriver":
801 return "DoorsCoDriver";
802 case "doors_cargo1":
803 return "DoorsCargo1";
804 case "doors_cargo2":
805 return "DoorsCargo2";
806 case "doors_hood":
807 return "DoorsHood";
808 case "doors_trunk":
809 return "DoorsTrunk";
810 }
811
812 return "";
813 }
814
815
817 {
818 return false;
819 }
820
822 {
823 return false;
824 }
825
827 {
828 switch (currentSeat)
829 {
830 case 0:
831 return nextSeat == 1;
832 case 1:
833 return nextSeat == 0;
834 case 2:
835 return nextSeat == 3;
836 case 3:
837 return nextSeat == 2;
838 }
839
840 return false;
841 }
842
844 {
845 switch (pCurrentSeat)
846 {
847 case 0:
848 return pDoorsSelection == "DoorsDriver";
849 case 1:
850 return pDoorsSelection == "DoorsCoDriver";
851 case 2:
852 return pDoorsSelection == "DoorsCargo1";
853 case 3:
854 return pDoorsSelection == "DoorsCargo2";
855 }
856
857 return false;
858 }
859
861 {
862 SpawnUniversalParts();
863 SpawnAdditionalItems();
864 FillUpCarFluids();
865
866 GetInventory().CreateInInventory("Hatchback_02_Wheel");
867 GetInventory().CreateInInventory("Hatchback_02_Wheel");
868 GetInventory().CreateInInventory("Hatchback_02_Wheel");
869 GetInventory().CreateInInventory("Hatchback_02_Wheel");
870
871 GetInventory().CreateInInventory("Hatchback_02_Door_1_1");
872 GetInventory().CreateInInventory("Hatchback_02_Door_1_2");
873 GetInventory().CreateInInventory("Hatchback_02_Door_2_1");
874 GetInventory().CreateInInventory("Hatchback_02_Door_2_2");
875 GetInventory().CreateInInventory("Hatchback_02_Hood");
876 GetInventory().CreateInInventory("Hatchback_02_Trunk");
877
878
879 GetInventory().CreateInInventory("Hatchback_02_Wheel");
880 GetInventory().CreateInInventory("Hatchback_02_Wheel");
881 }
882}
883
885{
887 {
888 SpawnUniversalParts();
889 SpawnAdditionalItems();
890 FillUpCarFluids();
891
892 GetInventory().CreateInInventory("Hatchback_02_Wheel");
893 GetInventory().CreateInInventory("Hatchback_02_Wheel");
894 GetInventory().CreateInInventory("Hatchback_02_Wheel");
895 GetInventory().CreateInInventory("Hatchback_02_Wheel");
896
897 GetInventory().CreateInInventory("Hatchback_02_Door_1_1_Black");
898 GetInventory().CreateInInventory("Hatchback_02_Door_1_2_Black");
899 GetInventory().CreateInInventory("Hatchback_02_Door_2_1_Black");
900 GetInventory().CreateInInventory("Hatchback_02_Door_2_2_Black");
901 GetInventory().CreateInInventory("Hatchback_02_Hood_Black");
902 GetInventory().CreateInInventory("Hatchback_02_Trunk_Black");
903
904
905 GetInventory().CreateInInventory("Hatchback_02_Wheel");
906 GetInventory().CreateInInventory("Hatchback_02_Wheel");
907 }
908};
909
911{
913 {
914 SpawnUniversalParts();
915 SpawnAdditionalItems();
916 FillUpCarFluids();
917
918 GetInventory().CreateInInventory("Hatchback_02_Wheel");
919 GetInventory().CreateInInventory("Hatchback_02_Wheel");
920 GetInventory().CreateInInventory("Hatchback_02_Wheel");
921 GetInventory().CreateInInventory("Hatchback_02_Wheel");
922
923 GetInventory().CreateInInventory("Hatchback_02_Door_1_1_Blue");
924 GetInventory().CreateInInventory("Hatchback_02_Door_1_2_Blue");
925 GetInventory().CreateInInventory("Hatchback_02_Door_2_1_Blue");
926 GetInventory().CreateInInventory("Hatchback_02_Door_2_2_Blue");
927 GetInventory().CreateInInventory("Hatchback_02_Hood_Blue");
928 GetInventory().CreateInInventory("Hatchback_02_Trunk_Blue");
929
930
931 GetInventory().CreateInInventory("Hatchback_02_Wheel");
932 GetInventory().CreateInInventory("Hatchback_02_Wheel");
933 }
934}
CarSoundCtrl
Car's sound controller list. (native, do not change or extend)
ref UniversalTemperatureSourceLambdaEngine m_UTSLEngine
ref UniversalTemperatureSourceSettings m_UTSSettings
ref UniversalTemperatureSource m_UTSource
class Hatchback_02_Blue extends Hatchback_02 OnDebugSpawn
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 void OnEngineStart()
override CarLightBase CreateFrontLight()
override int GetAnimInstance()
override bool CrewCanGetThrough(int posIdx)
override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
bool CanManipulateSpareWheel(string slotSelectionName)
override bool IsVitalGlowPlug()
override CarRearLightBase CreateRearLight()
override bool IsVitalTruckBattery()
override string GetDoorSelectionNameFromSeatPos(int posIdx)
override int GetCarDoorsState(string slotType)
override bool CanDisplayAttachmentCategory(string category_name)
UniversalTemperatureSourceLambdaBaseImpl UniversalTemperatureSourceLambdaBase UniversalTemperatureSourceLambdaEngine()
Super root of all classes in Enforce script.
override void OnDebugSpawn()
original Timer deletes m_params which is unwanted
DayZPlayerConstants
defined in C++
proto native CGame GetGame()
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.