479{
483
485 {
486
487
488 m_EngineStartOK = "Hatchback_02_engine_start_SoundSet";
489 m_EngineStartBattery = "Hatchback_02_engine_failed_start_battery_SoundSet";
490 m_EngineStartPlug = "Hatchback_02_engine_failed_start_sparkplugs_SoundSet";
491 m_EngineStartFuel = "Hatchback_02_engine_failed_start_fuel_SoundSet";
492 m_EngineStop = "Hatchback_02_engine_stop_SoundSet";
493 m_EngineStopFuel = "Hatchback_02_engine_stop_fuel_SoundSet";
494
495 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
496 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
497
498 m_CarHornShortSoundName = "Hatchback_02_Horn_Short_SoundSet";
499 m_CarHornLongSoundName = "Hatchback_02_Horn_SoundSet";
500
501 SetEnginePos("0 0.7 1.4");
502 }
503
505 {
506 super.EEInit();
507
509 {
516
519 }
520 }
521
523 {
524 super.OnEngineStart();
525
527 {
529 }
530 }
531
533 {
534 super.OnEngineStop();
535
537 {
539 }
540 }
541
543 {
545 {
547 {
549 }
550 }
551 }
552
554 {
556 }
557
559 {
560 switch (posIdx)
561 {
562 case 0:
564 case 1:
566 case 2:
568 case 3:
570 }
571
572 return 0;
573 }
574
575
577 {
579 }
580
581
583 {
585 }
586
588 {
589 if (!super.CanReleaseAttachment(attachment))
590 {
591 return false;
592 }
593
595 {
596 string attType = attachment.GetType();
597 if (attType == "CarRadiator" || attType == "CarBattery" || attType == "SparkPlug")
598 {
599 return false;
600 }
601 }
602
603 return true;
604 }
605
607 {
609 }
610
612 {
613
614 if ( !super.CanDisplayAttachmentCategory( category_name ) )
615 return false;
616
617
619 if ( category_name.
Contains(
"engine") )
620 {
622 return false;
623 }
624
625 return true;
626 }
627
629 {
630 if ( !super.CanDisplayCargo() )
631 return false;
632
634 return false;
635
636 return true;
637 }
638
640 {
642
643 Class.
CastTo(carDoor, FindAttachmentBySlotName(slotType));
644 if (!carDoor)
645 {
647 }
648
649 switch (slotType)
650 {
651 case "Hatchback_02_Door_1_1":
652 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
653
654 case "Hatchback_02_Door_2_1":
655 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
656
657 case "Hatchback_02_Door_1_2":
658 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
659
660 case "Hatchback_02_Door_2_2":
661 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
662
663 case "Hatchback_02_Hood":
664 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
665
666 case "Hatchback_02_Trunk":
667 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
668 }
669
671 }
672
673
675 {
676 switch (posIdx)
677 {
678 case 0:
680 {
681 return false;
682 }
683
684 return true;
685
686 case 1:
688 {
689 return false;
690 }
691
692 return true;
693
694 case 2:
696 {
697 return false;
698 }
699
700 return true;
701
702 case 3:
704 {
705 return false;
706 }
707
708 return true;
709 }
710
711 return false;
712 }
713
715 {
716 switch( posIdx )
717 {
718 case 0:
719 return "doors_driver";
720 break;
721 case 1:
722 return "doors_codriver";
723 break;
724 case 2:
725 return "doors_cargo1";
726 break;
727 case 3:
728 return "doors_cargo2";
729 break;
730 }
731
732 return super.GetDoorSelectionNameFromSeatPos(posIdx);
733 }
734
736 {
737 switch( posIdx )
738 {
739 case 0:
740 return "Hatchback_02_Door_1_1";
741 break;
742 case 1:
743 return "Hatchback_02_Door_2_1";
744 break;
745 case 2:
746 return "Hatchback_02_Door_1_2";
747 break;
748 case 3:
749 return "Hatchback_02_Door_2_2";
750 break;
751 }
752
753 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
754 }
755
757 {
758 switch (ctrl)
759 {
761 float newValue = 0;
763 {
764 newValue += 0.25;
765 }
766
768 {
769 newValue += 0.25;
770 }
771
773 {
774 newValue += 0.25;
775 }
776
778 {
779 newValue += 0.25;
780 }
781
783 break;
784 }
785
786 return super.OnSound(ctrl, oldValue);
787 }
788
790 {
791 switch( selection )
792 {
793 case "doors_driver":
794 return "DoorsDriver";
795 case "doors_codriver":
796 return "DoorsCoDriver";
797 case "doors_cargo1":
798 return "DoorsCargo1";
799 case "doors_cargo2":
800 return "DoorsCargo2";
801 case "doors_hood":
802 return "DoorsHood";
803 case "doors_trunk":
804 return "DoorsTrunk";
805 }
806
807 return "";
808 }
809
810
812 {
813 return false;
814 }
815
817 {
818 return false;
819 }
820
822 {
823 switch (currentSeat)
824 {
825 case 0:
826 return nextSeat == 1;
827 case 1:
828 return nextSeat == 0;
829 case 2:
830 return nextSeat == 3;
831 case 3:
832 return nextSeat == 2;
833 }
834
835 return false;
836 }
837
839 {
840 switch (pCurrentSeat)
841 {
842 case 0:
843 return pDoorsSelection == "DoorsDriver";
844 case 1:
845 return pDoorsSelection == "DoorsCoDriver";
846 case 2:
847 return pDoorsSelection == "DoorsCargo1";
848 case 3:
849 return pDoorsSelection == "DoorsCargo2";
850 }
851
852 return false;
853 }
854
856 {
857 SpawnUniversalParts();
858 SpawnAdditionalItems();
859 FillUpCarFluids();
860
861 GetInventory().CreateInInventory("Hatchback_02_Wheel");
862 GetInventory().CreateInInventory("Hatchback_02_Wheel");
863 GetInventory().CreateInInventory("Hatchback_02_Wheel");
864 GetInventory().CreateInInventory("Hatchback_02_Wheel");
865
866 GetInventory().CreateInInventory("Hatchback_02_Door_1_1");
867 GetInventory().CreateInInventory("Hatchback_02_Door_1_2");
868 GetInventory().CreateInInventory("Hatchback_02_Door_2_1");
869 GetInventory().CreateInInventory("Hatchback_02_Door_2_2");
870 GetInventory().CreateInInventory("Hatchback_02_Hood");
871 GetInventory().CreateInInventory("Hatchback_02_Trunk");
872
873
874 GetInventory().CreateInInventory("Hatchback_02_Wheel");
875 GetInventory().CreateInInventory("Hatchback_02_Wheel");
876 }
877}
878
880{
882 {
883 SpawnUniversalParts();
884 SpawnAdditionalItems();
885 FillUpCarFluids();
886
887 GetInventory().CreateInInventory("Hatchback_02_Wheel");
888 GetInventory().CreateInInventory("Hatchback_02_Wheel");
889 GetInventory().CreateInInventory("Hatchback_02_Wheel");
890 GetInventory().CreateInInventory("Hatchback_02_Wheel");
891
892 GetInventory().CreateInInventory("Hatchback_02_Door_1_1_Black");
893 GetInventory().CreateInInventory("Hatchback_02_Door_1_2_Black");
894 GetInventory().CreateInInventory("Hatchback_02_Door_2_1_Black");
895 GetInventory().CreateInInventory("Hatchback_02_Door_2_2_Black");
896 GetInventory().CreateInInventory("Hatchback_02_Hood_Black");
897 GetInventory().CreateInInventory("Hatchback_02_Trunk_Black");
898
899
900 GetInventory().CreateInInventory("Hatchback_02_Wheel");
901 GetInventory().CreateInInventory("Hatchback_02_Wheel");
902 }
903};
904
906{
908 {
909 SpawnUniversalParts();
910 SpawnAdditionalItems();
911 FillUpCarFluids();
912
913 GetInventory().CreateInInventory("Hatchback_02_Wheel");
914 GetInventory().CreateInInventory("Hatchback_02_Wheel");
915 GetInventory().CreateInInventory("Hatchback_02_Wheel");
916 GetInventory().CreateInInventory("Hatchback_02_Wheel");
917
918 GetInventory().CreateInInventory("Hatchback_02_Door_1_1_Blue");
919 GetInventory().CreateInInventory("Hatchback_02_Door_1_2_Blue");
920 GetInventory().CreateInInventory("Hatchback_02_Door_2_1_Blue");
921 GetInventory().CreateInInventory("Hatchback_02_Door_2_2_Blue");
922 GetInventory().CreateInInventory("Hatchback_02_Hood_Blue");
923 GetInventory().CreateInInventory("Hatchback_02_Trunk_Blue");
924
925
926 GetInventory().CreateInInventory("Hatchback_02_Wheel");
927 GetInventory().CreateInInventory("Hatchback_02_Wheel");
928 }
929}
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.