503{
507
509 {
510
511
512 m_EngineStartOK = "Hatchback_02_engine_start_SoundSet";
513 m_EngineStartBattery = "Hatchback_02_engine_failed_start_battery_SoundSet";
514 m_EngineStartPlug = "Hatchback_02_engine_failed_start_sparkplugs_SoundSet";
515 m_EngineStartFuel = "Hatchback_02_engine_failed_start_fuel_SoundSet";
516 m_EngineStop = "Hatchback_02_engine_stop_SoundSet";
517 m_EngineStopFuel = "Hatchback_02_engine_stop_fuel_SoundSet";
518
519 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
520 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
521
522 m_CarHornShortSoundName = "Hatchback_02_Horn_Short_SoundSet";
523 m_CarHornLongSoundName = "Hatchback_02_Horn_SoundSet";
524
525 SetEnginePos("0 0.7 1.4");
526 }
527
529 {
533 }
534
536 {
537 super.EEInit();
538
540 {
547
550 }
551 }
552
554 {
555 super.OnEngineStart();
556
558 {
561 }
562 }
563
565 {
566 super.OnEngineStop();
567
569 {
572 }
573 }
574
576 {
578 {
580 {
582 }
583 }
584 }
585
587 {
589 }
590
592 {
593 switch (posIdx)
594 {
595 case 0:
597 case 1:
599 case 2:
601 case 3:
603 }
604
605 return 0;
606 }
607
608
610 {
612 }
613
614
616 {
618 }
619
621 {
622 if (!super.CanReleaseAttachment(attachment))
623 {
624 return false;
625 }
626
628 {
629 string attType = attachment.GetType();
630 if (attType == "CarRadiator" || attType == "CarBattery" || attType == "SparkPlug")
631 {
632 return false;
633 }
634 }
635
636 return true;
637 }
638
640 {
642 }
643
645 {
646
647 if ( !super.CanDisplayAttachmentCategory( category_name ) )
648 return false;
649
650
652 if ( category_name.
Contains(
"engine") )
653 {
655 return false;
656 }
657
658 return true;
659 }
660
662 {
663 if ( !super.CanDisplayCargo() )
664 return false;
665
667 return false;
668
669 return true;
670 }
671
673 {
675
676 Class.
CastTo(carDoor, FindAttachmentBySlotName(slotType));
677 if (!carDoor)
678 {
680 }
681
682 switch (slotType)
683 {
684 case "Hatchback_02_Door_1_1":
685 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
686
687 case "Hatchback_02_Door_2_1":
688 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
689
690 case "Hatchback_02_Door_1_2":
691 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
692
693 case "Hatchback_02_Door_2_2":
694 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
695
696 case "Hatchback_02_Hood":
697 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
698
699 case "Hatchback_02_Trunk":
700 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
701 }
702
704 }
705
706
708 {
709 switch (posIdx)
710 {
711 case 0:
713 {
714 return false;
715 }
716
717 return true;
718
719 case 1:
721 {
722 return false;
723 }
724
725 return true;
726
727 case 2:
729 {
730 return false;
731 }
732
733 return true;
734
735 case 3:
737 {
738 return false;
739 }
740
741 return true;
742 }
743
744 return false;
745 }
746
748 {
749 switch( posIdx )
750 {
751 case 0:
752 return "doors_driver";
753 break;
754 case 1:
755 return "doors_codriver";
756 break;
757 case 2:
758 return "doors_cargo1";
759 break;
760 case 3:
761 return "doors_cargo2";
762 break;
763 }
764
765 return super.GetDoorSelectionNameFromSeatPos(posIdx);
766 }
767
769 {
770 switch( posIdx )
771 {
772 case 0:
773 return "Hatchback_02_Door_1_1";
774 break;
775 case 1:
776 return "Hatchback_02_Door_2_1";
777 break;
778 case 2:
779 return "Hatchback_02_Door_1_2";
780 break;
781 case 3:
782 return "Hatchback_02_Door_2_2";
783 break;
784 }
785
786 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
787 }
788
790 {
791 switch (ctrl)
792 {
794 float newValue = 0;
796 {
797 newValue += 0.25;
798 }
799
801 {
802 newValue += 0.25;
803 }
804
806 {
807 newValue += 0.25;
808 }
809
811 {
812 newValue += 0.25;
813 }
814
816 break;
817 }
818
819 return super.OnSound(ctrl, oldValue);
820 }
821
823 {
824 switch( selection )
825 {
826 case "doors_driver":
827 return "DoorsDriver";
828 case "doors_codriver":
829 return "DoorsCoDriver";
830 case "doors_cargo1":
831 return "DoorsCargo1";
832 case "doors_cargo2":
833 return "DoorsCargo2";
834 case "doors_hood":
835 return "DoorsHood";
836 case "doors_trunk":
837 return "DoorsTrunk";
838 }
839
840 return "";
841 }
842
843
845 {
846 return false;
847 }
848
850 {
851 return false;
852 }
853
855 {
856 switch (currentSeat)
857 {
858 case 0:
859 return nextSeat == 1;
860 case 1:
861 return nextSeat == 0;
862 case 2:
863 return nextSeat == 3;
864 case 3:
865 return nextSeat == 2;
866 }
867
868 return false;
869 }
870
872 {
873 switch (pCurrentSeat)
874 {
875 case 0:
876 return pDoorsSelection == "DoorsDriver";
877 case 1:
878 return pDoorsSelection == "DoorsCoDriver";
879 case 2:
880 return pDoorsSelection == "DoorsCargo1";
881 case 3:
882 return pDoorsSelection == "DoorsCargo2";
883 }
884
885 return false;
886 }
887
889 {
890 SpawnUniversalParts();
891 SpawnAdditionalItems();
892 FillUpCarFluids();
893
899
906
907
910 }
911}
912
914{
916 {
917 SpawnUniversalParts();
918 SpawnAdditionalItems();
919 FillUpCarFluids();
920
921 GameInventory inventory = GetInventory();
926
933
934
937 }
938};
939
941{
943 {
944 SpawnUniversalParts();
945 SpawnAdditionalItems();
946 FillUpCarFluids();
947
948 GameInventory inventory = GetInventory();
953
960
961
964 }
965}
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.
EntityAI CreateInInventory(string type)
creates entity somewhere in inventory
script counterpart to engine's class Inventory
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.