487{
491
493 {
494
495
496 m_EngineStartOK = "Hatchback_02_engine_start_SoundSet";
497 m_EngineStartBattery = "Hatchback_02_engine_failed_start_battery_SoundSet";
498 m_EngineStartPlug = "Hatchback_02_engine_failed_start_sparkplugs_SoundSet";
499 m_EngineStartFuel = "Hatchback_02_engine_failed_start_fuel_SoundSet";
500 m_EngineStop = "Hatchback_02_engine_stop_SoundSet";
501 m_EngineStopFuel = "Hatchback_02_engine_stop_fuel_SoundSet";
502
503 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
504 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
505
506 m_CarHornShortSoundName = "Hatchback_02_Horn_Short_SoundSet";
507 m_CarHornLongSoundName = "Hatchback_02_Horn_SoundSet";
508
509 SetEnginePos("0 0.7 1.4");
510 }
511
513 {
517 }
518
520 {
521 super.EEInit();
522
524 {
531
534 }
535 }
536
538 {
539 super.OnEngineStart();
540
542 {
545 }
546 }
547
549 {
550 super.OnEngineStop();
551
553 {
556 }
557 }
558
560 {
562 {
564 {
566 }
567 }
568 }
569
571 {
573 }
574
576 {
577 switch (posIdx)
578 {
579 case 0:
581 case 1:
583 case 2:
585 case 3:
587 }
588
589 return 0;
590 }
591
592
594 {
596 }
597
598
600 {
602 }
603
605 {
606 if (!super.CanReleaseAttachment(attachment))
607 {
608 return false;
609 }
610
612 {
613 string attType = attachment.GetType();
614 if (attType == "CarRadiator" || attType == "CarBattery" || attType == "SparkPlug")
615 {
616 return false;
617 }
618 }
619
620 return true;
621 }
622
624 {
626 }
627
629 {
630
631 if ( !super.CanDisplayAttachmentCategory( category_name ) )
632 return false;
633
634
636 if ( category_name.
Contains(
"engine") )
637 {
639 return false;
640 }
641
642 return true;
643 }
644
646 {
647 if ( !super.CanDisplayCargo() )
648 return false;
649
651 return false;
652
653 return true;
654 }
655
657 {
659
660 Class.
CastTo(carDoor, FindAttachmentBySlotName(slotType));
661 if (!carDoor)
662 {
664 }
665
666 switch (slotType)
667 {
668 case "Hatchback_02_Door_1_1":
669 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
670
671 case "Hatchback_02_Door_2_1":
672 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
673
674 case "Hatchback_02_Door_1_2":
675 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
676
677 case "Hatchback_02_Door_2_2":
678 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
679
680 case "Hatchback_02_Hood":
681 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
682
683 case "Hatchback_02_Trunk":
684 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
685 }
686
688 }
689
690
692 {
693 switch (posIdx)
694 {
695 case 0:
697 {
698 return false;
699 }
700
701 return true;
702
703 case 1:
705 {
706 return false;
707 }
708
709 return true;
710
711 case 2:
713 {
714 return false;
715 }
716
717 return true;
718
719 case 3:
721 {
722 return false;
723 }
724
725 return true;
726 }
727
728 return false;
729 }
730
732 {
733 switch( posIdx )
734 {
735 case 0:
736 return "doors_driver";
737 break;
738 case 1:
739 return "doors_codriver";
740 break;
741 case 2:
742 return "doors_cargo1";
743 break;
744 case 3:
745 return "doors_cargo2";
746 break;
747 }
748
749 return super.GetDoorSelectionNameFromSeatPos(posIdx);
750 }
751
753 {
754 switch( posIdx )
755 {
756 case 0:
757 return "Hatchback_02_Door_1_1";
758 break;
759 case 1:
760 return "Hatchback_02_Door_2_1";
761 break;
762 case 2:
763 return "Hatchback_02_Door_1_2";
764 break;
765 case 3:
766 return "Hatchback_02_Door_2_2";
767 break;
768 }
769
770 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
771 }
772
774 {
775 switch (ctrl)
776 {
778 float newValue = 0;
780 {
781 newValue += 0.25;
782 }
783
785 {
786 newValue += 0.25;
787 }
788
790 {
791 newValue += 0.25;
792 }
793
795 {
796 newValue += 0.25;
797 }
798
800 break;
801 }
802
803 return super.OnSound(ctrl, oldValue);
804 }
805
807 {
808 switch( selection )
809 {
810 case "doors_driver":
811 return "DoorsDriver";
812 case "doors_codriver":
813 return "DoorsCoDriver";
814 case "doors_cargo1":
815 return "DoorsCargo1";
816 case "doors_cargo2":
817 return "DoorsCargo2";
818 case "doors_hood":
819 return "DoorsHood";
820 case "doors_trunk":
821 return "DoorsTrunk";
822 }
823
824 return "";
825 }
826
827
829 {
830 return false;
831 }
832
834 {
835 return false;
836 }
837
839 {
840 switch (currentSeat)
841 {
842 case 0:
843 return nextSeat == 1;
844 case 1:
845 return nextSeat == 0;
846 case 2:
847 return nextSeat == 3;
848 case 3:
849 return nextSeat == 2;
850 }
851
852 return false;
853 }
854
856 {
857 switch (pCurrentSeat)
858 {
859 case 0:
860 return pDoorsSelection == "DoorsDriver";
861 case 1:
862 return pDoorsSelection == "DoorsCoDriver";
863 case 2:
864 return pDoorsSelection == "DoorsCargo1";
865 case 3:
866 return pDoorsSelection == "DoorsCargo2";
867 }
868
869 return false;
870 }
871
873 {
874 SpawnUniversalParts();
875 SpawnAdditionalItems();
876 FillUpCarFluids();
877
883
890
891
894 }
895}
896
898{
900 {
901 SpawnUniversalParts();
902 SpawnAdditionalItems();
903 FillUpCarFluids();
904
905 GameInventory inventory = GetInventory();
910
917
918
921 }
922};
923
925{
927 {
928 SpawnUniversalParts();
929 SpawnAdditionalItems();
930 FillUpCarFluids();
931
932 GameInventory inventory = GetInventory();
937
944
945
948 }
949}
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.