458{
462
464 {
465
466
467 m_EngineStartOK = "Hatchback_02_engine_start_SoundSet";
468 m_EngineStartBattery = "Hatchback_02_engine_failed_start_battery_SoundSet";
469 m_EngineStartPlug = "Hatchback_02_engine_failed_start_sparkplugs_SoundSet";
470 m_EngineStartFuel = "Hatchback_02_engine_failed_start_fuel_SoundSet";
471 m_EngineStop = "Hatchback_02_engine_stop_SoundSet";
472 m_EngineStopFuel = "Hatchback_02_engine_stop_fuel_SoundSet";
473
474 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
475 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
476
477 m_CarHornShortSoundName = "Hatchback_02_Horn_Short_SoundSet";
478 m_CarHornLongSoundName = "Hatchback_02_Horn_SoundSet";
479
480 SetEnginePos("0 0.7 1.4");
481 }
482
484 {
485 super.EEInit();
486
488 {
495
498 }
499 }
500
502 {
503 super.OnEngineStart();
504
506 {
508 }
509 }
510
512 {
513 super.OnEngineStop();
514
516 {
518 }
519 }
520
522 {
524 {
526 {
528 }
529 }
530 }
531
533 {
535 }
536
538 {
539 switch (posIdx)
540 {
541 case 0:
543 case 1:
545 case 2:
547 case 3:
549 }
550
551 return 0;
552 }
553
554
556 {
558 }
559
560
562 {
564 }
565
567 {
568 if (!super.CanReleaseAttachment(attachment))
569 {
570 return false;
571 }
572
574 {
575 string attType = attachment.GetType();
576 if (attType == "CarRadiator" || attType == "CarBattery" || attType == "SparkPlug")
577 {
578 return false;
579 }
580 }
581
582 return true;
583 }
584
586 {
588 }
589
591 {
592
593 if ( !super.CanDisplayAttachmentCategory( category_name ) )
594 return false;
595
596
598 if ( category_name.
Contains(
"engine") )
599 {
601 return false;
602 }
603
604 return true;
605 }
606
608 {
609 if ( !super.CanDisplayCargo() )
610 return false;
611
613 return false;
614
615 return true;
616 }
617
619 {
621
622 Class.
CastTo(carDoor, FindAttachmentBySlotName(slotType));
623 if (!carDoor)
624 {
626 }
627
628 switch (slotType)
629 {
630 case "Hatchback_02_Door_1_1":
631 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
632
633 case "Hatchback_02_Door_2_1":
634 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
635
636 case "Hatchback_02_Door_1_2":
637 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
638
639 case "Hatchback_02_Door_2_2":
640 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
641
642 case "Hatchback_02_Hood":
643 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
644
645 case "Hatchback_02_Trunk":
646 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
647 }
648
650 }
651
652
654 {
655 switch (posIdx)
656 {
657 case 0:
659 {
660 return false;
661 }
662
663 return true;
664
665 case 1:
667 {
668 return false;
669 }
670
671 return true;
672
673 case 2:
675 {
676 return false;
677 }
678
679 return true;
680
681 case 3:
683 {
684 return false;
685 }
686
687 return true;
688 }
689
690 return false;
691 }
692
694 {
695 switch( posIdx )
696 {
697 case 0:
698 return "doors_driver";
699 break;
700 case 1:
701 return "doors_codriver";
702 break;
703 case 2:
704 return "doors_cargo1";
705 break;
706 case 3:
707 return "doors_cargo2";
708 break;
709 }
710
711 return super.GetDoorSelectionNameFromSeatPos(posIdx);
712 }
713
715 {
716 switch( posIdx )
717 {
718 case 0:
719 return "Hatchback_02_Door_1_1";
720 break;
721 case 1:
722 return "Hatchback_02_Door_2_1";
723 break;
724 case 2:
725 return "Hatchback_02_Door_1_2";
726 break;
727 case 3:
728 return "Hatchback_02_Door_2_2";
729 break;
730 }
731
732 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
733 }
734
736 {
737 switch (ctrl)
738 {
740 float newValue = 0;
742 {
743 newValue += 0.25;
744 }
745
747 {
748 newValue += 0.25;
749 }
750
752 {
753 newValue += 0.25;
754 }
755
757 {
758 newValue += 0.25;
759 }
760
762 break;
763 }
764
765 return super.OnSound(ctrl, oldValue);
766 }
767
769 {
770 switch( selection )
771 {
772 case "doors_driver":
773 return "DoorsDriver";
774 case "doors_codriver":
775 return "DoorsCoDriver";
776 case "doors_cargo1":
777 return "DoorsCargo1";
778 case "doors_cargo2":
779 return "DoorsCargo2";
780 case "doors_hood":
781 return "DoorsHood";
782 case "doors_trunk":
783 return "DoorsTrunk";
784 }
785
786 return "";
787 }
788
789
791 {
792 return false;
793 }
794
796 {
797 return false;
798 }
799
801 {
802 switch (currentSeat)
803 {
804 case 0:
805 return nextSeat == 1;
806 case 1:
807 return nextSeat == 0;
808 case 2:
809 return nextSeat == 3;
810 case 3:
811 return nextSeat == 2;
812 }
813
814 return false;
815 }
816
818 {
819 switch (pCurrentSeat)
820 {
821 case 0:
822 return pDoorsSelection == "DoorsDriver";
823 case 1:
824 return pDoorsSelection == "DoorsCoDriver";
825 case 2:
826 return pDoorsSelection == "DoorsCargo1";
827 case 3:
828 return pDoorsSelection == "DoorsCargo2";
829 }
830
831 return false;
832 }
833
835 {
836 SpawnUniversalParts();
837 SpawnAdditionalItems();
838 FillUpCarFluids();
839
840 GetInventory().CreateInInventory("Hatchback_02_Wheel");
841 GetInventory().CreateInInventory("Hatchback_02_Wheel");
842 GetInventory().CreateInInventory("Hatchback_02_Wheel");
843 GetInventory().CreateInInventory("Hatchback_02_Wheel");
844
845 GetInventory().CreateInInventory("Hatchback_02_Door_1_1");
846 GetInventory().CreateInInventory("Hatchback_02_Door_1_2");
847 GetInventory().CreateInInventory("Hatchback_02_Door_2_1");
848 GetInventory().CreateInInventory("Hatchback_02_Door_2_2");
849 GetInventory().CreateInInventory("Hatchback_02_Hood");
850 GetInventory().CreateInInventory("Hatchback_02_Trunk");
851
852
853 GetInventory().CreateInInventory("Hatchback_02_Wheel");
854 GetInventory().CreateInInventory("Hatchback_02_Wheel");
855 }
856}
857
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_Black");
872 GetInventory().CreateInInventory("Hatchback_02_Door_1_2_Black");
873 GetInventory().CreateInInventory("Hatchback_02_Door_2_1_Black");
874 GetInventory().CreateInInventory("Hatchback_02_Door_2_2_Black");
875 GetInventory().CreateInInventory("Hatchback_02_Hood_Black");
876 GetInventory().CreateInInventory("Hatchback_02_Trunk_Black");
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_Blue");
898 GetInventory().CreateInInventory("Hatchback_02_Door_1_2_Blue");
899 GetInventory().CreateInInventory("Hatchback_02_Door_2_1_Blue");
900 GetInventory().CreateInInventory("Hatchback_02_Door_2_2_Blue");
901 GetInventory().CreateInInventory("Hatchback_02_Hood_Blue");
902 GetInventory().CreateInInventory("Hatchback_02_Trunk_Blue");
903
904
905 GetInventory().CreateInInventory("Hatchback_02_Wheel");
906 GetInventory().CreateInInventory("Hatchback_02_Wheel");
907 }
908}
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.