476{
480
482 {
483
484
485 m_EngineStartOK = "Hatchback_02_engine_start_SoundSet";
486 m_EngineStartBattery = "Hatchback_02_engine_failed_start_battery_SoundSet";
487 m_EngineStartPlug = "Hatchback_02_engine_failed_start_sparkplugs_SoundSet";
488 m_EngineStartFuel = "Hatchback_02_engine_failed_start_fuel_SoundSet";
489 m_EngineStop = "Hatchback_02_engine_stop_SoundSet";
490 m_EngineStopFuel = "Hatchback_02_engine_stop_fuel_SoundSet";
491
492 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
493 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
494
495 m_CarHornShortSoundName = "Hatchback_02_Horn_Short_SoundSet";
496 m_CarHornLongSoundName = "Hatchback_02_Horn_SoundSet";
497
498 SetEnginePos("0 0.7 1.4");
499 }
500
502 {
506 }
507
509 {
510 super.EEInit();
511
513 {
520
523 }
524 }
525
527 {
528 super.OnEngineStart();
529
531 {
534 }
535 }
536
538 {
539 super.OnEngineStop();
540
542 {
545 }
546 }
547
549 {
551 {
553 {
555 }
556 }
557 }
558
560 {
562 }
563
565 {
566 switch (posIdx)
567 {
568 case 0:
570 case 1:
572 case 2:
574 case 3:
576 }
577
578 return 0;
579 }
580
581
583 {
585 }
586
587
589 {
591 }
592
594 {
595 if (!super.CanReleaseAttachment(attachment))
596 {
597 return false;
598 }
599
601 {
602 string attType = attachment.GetType();
603 if (attType == "CarRadiator" || attType == "CarBattery" || attType == "SparkPlug")
604 {
605 return false;
606 }
607 }
608
609 return true;
610 }
611
613 {
615 }
616
618 {
619
620 if ( !super.CanDisplayAttachmentCategory( category_name ) )
621 return false;
622
623
625 if ( category_name.
Contains(
"engine") )
626 {
628 return false;
629 }
630
631 return true;
632 }
633
635 {
636 if ( !super.CanDisplayCargo() )
637 return false;
638
640 return false;
641
642 return true;
643 }
644
646 {
648
649 Class.
CastTo(carDoor, FindAttachmentBySlotName(slotType));
650 if (!carDoor)
651 {
653 }
654
655 switch (slotType)
656 {
657 case "Hatchback_02_Door_1_1":
658 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
659
660 case "Hatchback_02_Door_2_1":
661 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
662
663 case "Hatchback_02_Door_1_2":
664 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
665
666 case "Hatchback_02_Door_2_2":
667 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
668
669 case "Hatchback_02_Hood":
670 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
671
672 case "Hatchback_02_Trunk":
673 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
674 }
675
677 }
678
679
681 {
682 switch (posIdx)
683 {
684 case 0:
686 {
687 return false;
688 }
689
690 return true;
691
692 case 1:
694 {
695 return false;
696 }
697
698 return true;
699
700 case 2:
702 {
703 return false;
704 }
705
706 return true;
707
708 case 3:
710 {
711 return false;
712 }
713
714 return true;
715 }
716
717 return false;
718 }
719
721 {
722 switch( posIdx )
723 {
724 case 0:
725 return "doors_driver";
726 break;
727 case 1:
728 return "doors_codriver";
729 break;
730 case 2:
731 return "doors_cargo1";
732 break;
733 case 3:
734 return "doors_cargo2";
735 break;
736 }
737
738 return super.GetDoorSelectionNameFromSeatPos(posIdx);
739 }
740
742 {
743 switch( posIdx )
744 {
745 case 0:
746 return "Hatchback_02_Door_1_1";
747 break;
748 case 1:
749 return "Hatchback_02_Door_2_1";
750 break;
751 case 2:
752 return "Hatchback_02_Door_1_2";
753 break;
754 case 3:
755 return "Hatchback_02_Door_2_2";
756 break;
757 }
758
759 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
760 }
761
763 {
764 switch (ctrl)
765 {
767 float newValue = 0;
769 {
770 newValue += 0.25;
771 }
772
774 {
775 newValue += 0.25;
776 }
777
779 {
780 newValue += 0.25;
781 }
782
784 {
785 newValue += 0.25;
786 }
787
789 break;
790 }
791
792 return super.OnSound(ctrl, oldValue);
793 }
794
796 {
797 switch( selection )
798 {
799 case "doors_driver":
800 return "DoorsDriver";
801 case "doors_codriver":
802 return "DoorsCoDriver";
803 case "doors_cargo1":
804 return "DoorsCargo1";
805 case "doors_cargo2":
806 return "DoorsCargo2";
807 case "doors_hood":
808 return "DoorsHood";
809 case "doors_trunk":
810 return "DoorsTrunk";
811 }
812
813 return "";
814 }
815
816
818 {
819 return false;
820 }
821
823 {
824 return false;
825 }
826
828 {
829 switch (currentSeat)
830 {
831 case 0:
832 return nextSeat == 1;
833 case 1:
834 return nextSeat == 0;
835 case 2:
836 return nextSeat == 3;
837 case 3:
838 return nextSeat == 2;
839 }
840
841 return false;
842 }
843
845 {
846 switch (pCurrentSeat)
847 {
848 case 0:
849 return pDoorsSelection == "DoorsDriver";
850 case 1:
851 return pDoorsSelection == "DoorsCoDriver";
852 case 2:
853 return pDoorsSelection == "DoorsCargo1";
854 case 3:
855 return pDoorsSelection == "DoorsCargo2";
856 }
857
858 return false;
859 }
860
862 {
863 SpawnUniversalParts();
864 SpawnAdditionalItems();
865 FillUpCarFluids();
866
872
879
880
883 }
884}
885
887{
889 {
890 SpawnUniversalParts();
891 SpawnAdditionalItems();
892 FillUpCarFluids();
893
894 GameInventory inventory = GetInventory();
899
906
907
910 }
911};
912
914{
916 {
917 SpawnUniversalParts();
918 SpawnAdditionalItems();
919 FillUpCarFluids();
920
921 GameInventory inventory = GetInventory();
926
933
934
937 }
938}
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.