498{
502
504 {
505
506
507 m_EngineStartOK = "Hatchback_02_engine_start_SoundSet";
508 m_EngineStartBattery = "Hatchback_02_engine_failed_start_battery_SoundSet";
509 m_EngineStartPlug = "Hatchback_02_engine_failed_start_sparkplugs_SoundSet";
510 m_EngineStartFuel = "Hatchback_02_engine_failed_start_fuel_SoundSet";
511 m_EngineStop = "Hatchback_02_engine_stop_SoundSet";
512 m_EngineStopFuel = "Hatchback_02_engine_stop_fuel_SoundSet";
513
514 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
515 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
516
517 m_CarHornShortSoundName = "Hatchback_02_Horn_Short_SoundSet";
518 m_CarHornLongSoundName = "Hatchback_02_Horn_SoundSet";
519
520 SetEnginePos("0 0.7 1.4");
521 }
522
524 {
528 }
529
531 {
532 super.EEInit();
533
535 {
542
545 }
546 }
547
549 {
550 super.OnEngineStart();
551
553 {
556 }
557 }
558
560 {
561 super.OnEngineStop();
562
564 {
567 }
568 }
569
571 {
573 {
575 {
577 }
578 }
579 }
580
582 {
584 }
585
587 {
588 switch (posIdx)
589 {
590 case 0:
592 case 1:
594 case 2:
596 case 3:
598 }
599
600 return 0;
601 }
602
603
605 {
607 }
608
609
611 {
613 }
614
616 {
617 if (!super.CanReleaseAttachment(attachment))
618 {
619 return false;
620 }
621
623 {
624 string attType = attachment.GetType();
625 if (attType == "CarRadiator" || attType == "CarBattery" || attType == "SparkPlug")
626 {
627 return false;
628 }
629 }
630
631 return true;
632 }
633
635 {
637 }
638
640 {
641
642 if ( !super.CanDisplayAttachmentCategory( category_name ) )
643 return false;
644
645
647 if ( category_name.
Contains(
"engine") )
648 {
650 return false;
651 }
652
653 return true;
654 }
655
657 {
658 if ( !super.CanDisplayCargo() )
659 return false;
660
662 return false;
663
664 return true;
665 }
666
668 {
670
671 Class.
CastTo(carDoor, FindAttachmentBySlotName(slotType));
672 if (!carDoor)
673 {
675 }
676
677 switch (slotType)
678 {
679 case "Hatchback_02_Door_1_1":
680 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
681
682 case "Hatchback_02_Door_2_1":
683 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
684
685 case "Hatchback_02_Door_1_2":
686 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
687
688 case "Hatchback_02_Door_2_2":
689 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
690
691 case "Hatchback_02_Hood":
692 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
693
694 case "Hatchback_02_Trunk":
695 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
696 }
697
699 }
700
701
703 {
704 switch (posIdx)
705 {
706 case 0:
708 {
709 return false;
710 }
711
712 return true;
713
714 case 1:
716 {
717 return false;
718 }
719
720 return true;
721
722 case 2:
724 {
725 return false;
726 }
727
728 return true;
729
730 case 3:
732 {
733 return false;
734 }
735
736 return true;
737 }
738
739 return false;
740 }
741
743 {
744 switch( posIdx )
745 {
746 case 0:
747 return "doors_driver";
748 break;
749 case 1:
750 return "doors_codriver";
751 break;
752 case 2:
753 return "doors_cargo1";
754 break;
755 case 3:
756 return "doors_cargo2";
757 break;
758 }
759
760 return super.GetDoorSelectionNameFromSeatPos(posIdx);
761 }
762
764 {
765 switch( posIdx )
766 {
767 case 0:
768 return "Hatchback_02_Door_1_1";
769 break;
770 case 1:
771 return "Hatchback_02_Door_2_1";
772 break;
773 case 2:
774 return "Hatchback_02_Door_1_2";
775 break;
776 case 3:
777 return "Hatchback_02_Door_2_2";
778 break;
779 }
780
781 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
782 }
783
785 {
786 switch (ctrl)
787 {
789 float newValue = 0;
791 {
792 newValue += 0.25;
793 }
794
796 {
797 newValue += 0.25;
798 }
799
801 {
802 newValue += 0.25;
803 }
804
806 {
807 newValue += 0.25;
808 }
809
811 break;
812 }
813
814 return super.OnSound(ctrl, oldValue);
815 }
816
818 {
819 switch( selection )
820 {
821 case "doors_driver":
822 return "DoorsDriver";
823 case "doors_codriver":
824 return "DoorsCoDriver";
825 case "doors_cargo1":
826 return "DoorsCargo1";
827 case "doors_cargo2":
828 return "DoorsCargo2";
829 case "doors_hood":
830 return "DoorsHood";
831 case "doors_trunk":
832 return "DoorsTrunk";
833 }
834
835 return "";
836 }
837
838
840 {
841 return false;
842 }
843
845 {
846 return false;
847 }
848
850 {
851 switch (currentSeat)
852 {
853 case 0:
854 return nextSeat == 1;
855 case 1:
856 return nextSeat == 0;
857 case 2:
858 return nextSeat == 3;
859 case 3:
860 return nextSeat == 2;
861 }
862
863 return false;
864 }
865
867 {
868 switch (pCurrentSeat)
869 {
870 case 0:
871 return pDoorsSelection == "DoorsDriver";
872 case 1:
873 return pDoorsSelection == "DoorsCoDriver";
874 case 2:
875 return pDoorsSelection == "DoorsCargo1";
876 case 3:
877 return pDoorsSelection == "DoorsCargo2";
878 }
879
880 return false;
881 }
882
884 {
885 SpawnUniversalParts();
886 SpawnAdditionalItems();
887 FillUpCarFluids();
888
894
901
902
905 }
906}
907
909{
911 {
912 SpawnUniversalParts();
913 SpawnAdditionalItems();
914 FillUpCarFluids();
915
916 GameInventory inventory = GetInventory();
921
928
929
932 }
933};
934
936{
938 {
939 SpawnUniversalParts();
940 SpawnAdditionalItems();
941 FillUpCarFluids();
942
943 GameInventory inventory = GetInventory();
948
955
956
959 }
960}
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.