468{
472
474 {
475
476
477 m_EngineStartOK = "Hatchback_02_engine_start_SoundSet";
478 m_EngineStartBattery = "Hatchback_02_engine_failed_start_battery_SoundSet";
479 m_EngineStartPlug = "Hatchback_02_engine_failed_start_sparkplugs_SoundSet";
480 m_EngineStartFuel = "Hatchback_02_engine_failed_start_fuel_SoundSet";
481 m_EngineStop = "Hatchback_02_engine_stop_SoundSet";
482 m_EngineStopFuel = "Hatchback_02_engine_stop_fuel_SoundSet";
483
484 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
485 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
486
487 m_CarHornShortSoundName = "Hatchback_02_Horn_Short_SoundSet";
488 m_CarHornLongSoundName = "Hatchback_02_Horn_SoundSet";
489
490 SetEnginePos("0 0.7 1.4");
491 }
492
494 {
495 super.EEInit();
496
498 {
505
508 }
509 }
510
512 {
513 super.OnEngineStart();
514
516 {
518 }
519 }
520
522 {
523 super.OnEngineStop();
524
526 {
528 }
529 }
530
532 {
534 {
536 {
538 }
539 }
540 }
541
543 {
545 }
546
548 {
549 switch (posIdx)
550 {
551 case 0:
553 case 1:
555 case 2:
557 case 3:
559 }
560
561 return 0;
562 }
563
564
566 {
568 }
569
570
572 {
574 }
575
577 {
578 if (!super.CanReleaseAttachment(attachment))
579 {
580 return false;
581 }
582
584 {
585 string attType = attachment.GetType();
586 if (attType == "CarRadiator" || attType == "CarBattery" || attType == "SparkPlug")
587 {
588 return false;
589 }
590 }
591
592 return true;
593 }
594
596 {
598 }
599
601 {
602
603 if ( !super.CanDisplayAttachmentCategory( category_name ) )
604 return false;
605
606
608 if ( category_name.
Contains(
"engine") )
609 {
611 return false;
612 }
613
614 return true;
615 }
616
618 {
619 if ( !super.CanDisplayCargo() )
620 return false;
621
623 return false;
624
625 return true;
626 }
627
629 {
631
632 Class.
CastTo(carDoor, FindAttachmentBySlotName(slotType));
633 if (!carDoor)
634 {
636 }
637
638 switch (slotType)
639 {
640 case "Hatchback_02_Door_1_1":
641 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
642
643 case "Hatchback_02_Door_2_1":
644 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
645
646 case "Hatchback_02_Door_1_2":
647 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
648
649 case "Hatchback_02_Door_2_2":
650 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
651
652 case "Hatchback_02_Hood":
653 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
654
655 case "Hatchback_02_Trunk":
656 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
657 }
658
660 }
661
662
664 {
665 switch (posIdx)
666 {
667 case 0:
669 {
670 return false;
671 }
672
673 return true;
674
675 case 1:
677 {
678 return false;
679 }
680
681 return true;
682
683 case 2:
685 {
686 return false;
687 }
688
689 return true;
690
691 case 3:
693 {
694 return false;
695 }
696
697 return true;
698 }
699
700 return false;
701 }
702
704 {
705 switch( posIdx )
706 {
707 case 0:
708 return "doors_driver";
709 break;
710 case 1:
711 return "doors_codriver";
712 break;
713 case 2:
714 return "doors_cargo1";
715 break;
716 case 3:
717 return "doors_cargo2";
718 break;
719 }
720
721 return super.GetDoorSelectionNameFromSeatPos(posIdx);
722 }
723
725 {
726 switch( posIdx )
727 {
728 case 0:
729 return "Hatchback_02_Door_1_1";
730 break;
731 case 1:
732 return "Hatchback_02_Door_2_1";
733 break;
734 case 2:
735 return "Hatchback_02_Door_1_2";
736 break;
737 case 3:
738 return "Hatchback_02_Door_2_2";
739 break;
740 }
741
742 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
743 }
744
746 {
747 switch (ctrl)
748 {
750 float newValue = 0;
752 {
753 newValue += 0.25;
754 }
755
757 {
758 newValue += 0.25;
759 }
760
762 {
763 newValue += 0.25;
764 }
765
767 {
768 newValue += 0.25;
769 }
770
772 break;
773 }
774
775 return super.OnSound(ctrl, oldValue);
776 }
777
779 {
780 switch( selection )
781 {
782 case "doors_driver":
783 return "DoorsDriver";
784 case "doors_codriver":
785 return "DoorsCoDriver";
786 case "doors_cargo1":
787 return "DoorsCargo1";
788 case "doors_cargo2":
789 return "DoorsCargo2";
790 case "doors_hood":
791 return "DoorsHood";
792 case "doors_trunk":
793 return "DoorsTrunk";
794 }
795
796 return "";
797 }
798
799
801 {
802 return false;
803 }
804
806 {
807 return false;
808 }
809
811 {
812 switch (currentSeat)
813 {
814 case 0:
815 return nextSeat == 1;
816 case 1:
817 return nextSeat == 0;
818 case 2:
819 return nextSeat == 3;
820 case 3:
821 return nextSeat == 2;
822 }
823
824 return false;
825 }
826
828 {
829 switch (pCurrentSeat)
830 {
831 case 0:
832 return pDoorsSelection == "DoorsDriver";
833 case 1:
834 return pDoorsSelection == "DoorsCoDriver";
835 case 2:
836 return pDoorsSelection == "DoorsCargo1";
837 case 3:
838 return pDoorsSelection == "DoorsCargo2";
839 }
840
841 return false;
842 }
843
845 {
846 SpawnUniversalParts();
847 SpawnAdditionalItems();
848 FillUpCarFluids();
849
850 GetInventory().CreateInInventory("Hatchback_02_Wheel");
851 GetInventory().CreateInInventory("Hatchback_02_Wheel");
852 GetInventory().CreateInInventory("Hatchback_02_Wheel");
853 GetInventory().CreateInInventory("Hatchback_02_Wheel");
854
855 GetInventory().CreateInInventory("Hatchback_02_Door_1_1");
856 GetInventory().CreateInInventory("Hatchback_02_Door_1_2");
857 GetInventory().CreateInInventory("Hatchback_02_Door_2_1");
858 GetInventory().CreateInInventory("Hatchback_02_Door_2_2");
859 GetInventory().CreateInInventory("Hatchback_02_Hood");
860 GetInventory().CreateInInventory("Hatchback_02_Trunk");
861
862
863 GetInventory().CreateInInventory("Hatchback_02_Wheel");
864 GetInventory().CreateInInventory("Hatchback_02_Wheel");
865 }
866}
867
869{
871 {
872 SpawnUniversalParts();
873 SpawnAdditionalItems();
874 FillUpCarFluids();
875
876 GetInventory().CreateInInventory("Hatchback_02_Wheel");
877 GetInventory().CreateInInventory("Hatchback_02_Wheel");
878 GetInventory().CreateInInventory("Hatchback_02_Wheel");
879 GetInventory().CreateInInventory("Hatchback_02_Wheel");
880
881 GetInventory().CreateInInventory("Hatchback_02_Door_1_1_Black");
882 GetInventory().CreateInInventory("Hatchback_02_Door_1_2_Black");
883 GetInventory().CreateInInventory("Hatchback_02_Door_2_1_Black");
884 GetInventory().CreateInInventory("Hatchback_02_Door_2_2_Black");
885 GetInventory().CreateInInventory("Hatchback_02_Hood_Black");
886 GetInventory().CreateInInventory("Hatchback_02_Trunk_Black");
887
888
889 GetInventory().CreateInInventory("Hatchback_02_Wheel");
890 GetInventory().CreateInInventory("Hatchback_02_Wheel");
891 }
892};
893
895{
897 {
898 SpawnUniversalParts();
899 SpawnAdditionalItems();
900 FillUpCarFluids();
901
902 GetInventory().CreateInInventory("Hatchback_02_Wheel");
903 GetInventory().CreateInInventory("Hatchback_02_Wheel");
904 GetInventory().CreateInInventory("Hatchback_02_Wheel");
905 GetInventory().CreateInInventory("Hatchback_02_Wheel");
906
907 GetInventory().CreateInInventory("Hatchback_02_Door_1_1_Blue");
908 GetInventory().CreateInInventory("Hatchback_02_Door_1_2_Blue");
909 GetInventory().CreateInInventory("Hatchback_02_Door_2_1_Blue");
910 GetInventory().CreateInInventory("Hatchback_02_Door_2_2_Blue");
911 GetInventory().CreateInInventory("Hatchback_02_Hood_Blue");
912 GetInventory().CreateInInventory("Hatchback_02_Trunk_Blue");
913
914
915 GetInventory().CreateInInventory("Hatchback_02_Wheel");
916 GetInventory().CreateInInventory("Hatchback_02_Wheel");
917 }
918}
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.