508{
512
514 {
515 m_dmgContactCoef = 0.0790;
516
517 m_EngineStartOK = "Sedan_02_engine_start_SoundSet";
518 m_EngineStartBattery = "Sedan_02_engine_failed_start_battery_SoundSet";
519 m_EngineStartPlug = "Sedan_02_engine_failed_start_sparkplugs_SoundSet";
520 m_EngineStartFuel = "Sedan_02_engine_failed_start_fuel_SoundSet";
521 m_EngineStop = "Sedan_02_engine_stop_SoundSet";
522 m_EngineStopFuel = "Sedan_02_engine_stop_fuel_SoundSet";
523
524 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
525 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
526
527 m_CarHornShortSoundName = "Sedan_02_Horn_Short_SoundSet";
528 m_CarHornLongSoundName = "Sedan_02_Horn_SoundSet";
529
530 SetEnginePos("0 0.7 -1.7");
531 }
532
534 {
535 super.EEInit();
536
538 {
545
548 }
549 }
550
552 {
553 super.OnEngineStart();
554
556 {
558 }
559 }
560
562 {
563 super.OnEngineStop();
564
566 {
568 }
569 }
570
572 {
574 {
576 {
578 }
579 }
580 }
581
583 {
585 }
586
588 {
589 switch (posIdx)
590 {
591 case 0:
593 case 1:
595 case 2:
597 case 3:
599 }
600
601 return 0;
602 }
603
604
606 {
608 }
609
610
612 {
614 }
615
617 {
618 if (!super.CanReleaseAttachment(attachment))
619 {
620 return false;
621 }
622
623 string attType = attachment.GetType();
624 switch (attType)
625 {
626 case "CarBattery":
628 {
629 return false;
630 }
631 break;
632
633 case "SparkPlug":
635 {
636 return false;
637 }
638 break;
639
640 case "CarRadiator":
642 {
643 return false;
644 }
645 break;
646 }
647
648 return true;
649 }
650
652 {
654 }
655
657 {
658 if ( !super.CanDisplayAttachmentCategory(category_name))
659 {
660 return false;
661 }
662
664 if (category_name.
Contains(
"engine"))
665 {
667 {
668 return false;
669 }
670 }
671
672 if (category_name.
Contains(
"trunk"))
673 {
675 {
676 return false;
677 }
678 }
679
680 return true;
681 }
682
684 {
685 if ( !super.CanDisplayCargo() )
686 return false;
687
689 return false;
690
691 return true;
692 }
693
695 {
697
698 Class.
CastTo( carDoor, FindAttachmentBySlotName( slotType ) );
699 if (!carDoor)
700 {
702 }
703
704 switch (slotType)
705 {
706 case "Sedan_02_Door_1_1":
707 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
708
709 case "Sedan_02_Door_2_1":
710 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
711
712 case "Sedan_02_Door_1_2":
713 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
714
715 case "Sedan_02_Door_2_2":
716 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
717
718 case "Sedan_02_Hood":
719 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
720
721 case "Sedan_02_Trunk":
722 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
723 }
724
726 }
727
728
730 {
731 switch( posIdx )
732 {
733 case 0:
735 return false;
736
737 return true;
738 break;
739
740 case 1:
742 return false;
743
744 return true;
745 break;
746
747 case 2:
749 return false;
750
751 return true;
752 break;
753
754 case 3:
756 return false;
757
758 return true;
759 break;
760 }
761
762 return false;
763 }
764
766 {
767 switch( posIdx )
768 {
769 case 0:
770 return "doors_driver";
771 break;
772 case 1:
773 return "doors_codriver";
774 break;
775 case 2:
776 return "doors_cargo1";
777 break;
778 case 3:
779 return "doors_cargo2";
780 break;
781 }
782
783 return super.GetDoorSelectionNameFromSeatPos(posIdx);
784 }
785
787 {
788 switch( posIdx )
789 {
790 case 0:
791 return "Sedan_02_Door_1_1";
792 break;
793 case 1:
794 return "Sedan_02_Door_2_1";
795 break;
796 case 2:
797 return "Sedan_02_Door_1_2";
798 break;
799 case 3:
800 return "Sedan_02_Door_2_2";
801 break;
802 }
803
804 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
805 }
806
808 {
809 switch ( ctrl )
810 {
812 float newValue = 0;
814 {
815 newValue += 0.25;
816 }
817
819 {
820 newValue += 0.25;
821 }
822
824 {
825 newValue += 0.25;
826 }
827
829 {
830 newValue += 0.25;
831 }
832
834 break;
835 }
836
837 return super.OnSound(ctrl, oldValue);
838 }
839
841 {
842 switch( selection )
843 {
844 case "doors_driver":
845 return "DoorsDriver";
846 case "doors_codriver":
847 return "DoorsCoDriver";
848 case "doors_cargo1":
849 return "DoorsCargo1";
850 case "doors_cargo2":
851 return "DoorsCargo2";
852 case "doors_hood":
853 return "DoorsHood";
854 case "doors_trunk":
855 return "DoorsTrunk";
856 }
857
858 return "";
859 }
860
861
863 {
864 return false;
865 }
866
868 {
869 return false;
870 }
871
873 {
874 switch (currentSeat)
875 {
876 case 0:
877 return nextSeat == 1;
878
879 case 1:
880 return nextSeat == 0;
881
882 case 2:
883 return nextSeat == 3;
884
885 case 3:
886 return nextSeat == 2;
887 }
888
889 return false;
890 }
891
893 {
894 switch (pCurrentSeat)
895 {
896 case 0:
897 return pDoorsSelection == "DoorsDriver";
898
899 case 1:
900 return pDoorsSelection == "DoorsCoDriver";
901
902 case 2:
903 return pDoorsSelection == "DoorsCargo1";
904
905 case 3:
906 return pDoorsSelection == "DoorsCargo2";
907 }
908
909 return false;
910 }
911
913 {
914 SpawnUniversalParts();
915 SpawnAdditionalItems();
916 FillUpCarFluids();
917
918 GetInventory().CreateInInventory("Sedan_02_Wheel");
919 GetInventory().CreateInInventory("Sedan_02_Wheel");
920 GetInventory().CreateInInventory("Sedan_02_Wheel");
921 GetInventory().CreateInInventory("Sedan_02_Wheel");
922 GetInventory().CreateInInventory("Sedan_02_Wheel");
923
924 GetInventory().CreateInInventory("Sedan_02_Door_1_1");
925 GetInventory().CreateInInventory("Sedan_02_Door_1_2");
926 GetInventory().CreateInInventory("Sedan_02_Door_2_1");
927 GetInventory().CreateInInventory("Sedan_02_Door_2_2");
928 GetInventory().CreateInInventory("Sedan_02_Hood");
929 GetInventory().CreateInInventory("Sedan_02_Trunk");
930
931
932 GetInventory().CreateInInventory("Sedan_02_Wheel");
933 GetInventory().CreateInInventory("Sedan_02_Wheel");
934 }
935}
936
938{
940 {
941 SpawnUniversalParts();
942 SpawnAdditionalItems();
943 FillUpCarFluids();
944
945 GetInventory().CreateInInventory("Sedan_02_Wheel");
946 GetInventory().CreateInInventory("Sedan_02_Wheel");
947 GetInventory().CreateInInventory("Sedan_02_Wheel");
948 GetInventory().CreateInInventory("Sedan_02_Wheel");
949
950 GetInventory().CreateInInventory("Sedan_02_Door_1_1_Red");
951 GetInventory().CreateInInventory("Sedan_02_Door_1_2_Red");
952 GetInventory().CreateInInventory("Sedan_02_Door_2_1_Red");
953 GetInventory().CreateInInventory("Sedan_02_Door_2_2_Red");
954 GetInventory().CreateInInventory("Sedan_02_Hood_Red");
955 GetInventory().CreateInInventory("Sedan_02_Trunk_Red");
956
957
958 GetInventory().CreateInInventory("Sedan_02_Wheel");
959 GetInventory().CreateInInventory("Sedan_02_Wheel");
960 }
961}
962
964{
966 {
967 SpawnUniversalParts();
968 SpawnAdditionalItems();
969 FillUpCarFluids();
970
971 GetInventory().CreateInInventory("Sedan_02_Wheel");
972 GetInventory().CreateInInventory("Sedan_02_Wheel");
973 GetInventory().CreateInInventory("Sedan_02_Wheel");
974 GetInventory().CreateInInventory("Sedan_02_Wheel");
975
976 GetInventory().CreateInInventory("Sedan_02_Door_1_1_Grey");
977 GetInventory().CreateInInventory("Sedan_02_Door_1_2_Grey");
978 GetInventory().CreateInInventory("Sedan_02_Door_2_1_Grey");
979 GetInventory().CreateInInventory("Sedan_02_Door_2_2_Grey");
980 GetInventory().CreateInInventory("Sedan_02_Hood_Grey");
981 GetInventory().CreateInInventory("Sedan_02_Trunk_Grey");
982
983
984 GetInventory().CreateInInventory("Sedan_02_Wheel");
985 GetInventory().CreateInInventory("Sedan_02_Wheel");
986 }
987}
CarSoundCtrl
Car's sound controller list. (native, do not change or extend)
ref UniversalTemperatureSourceLambdaEngine m_UTSLEngine
ref UniversalTemperatureSourceSettings m_UTSSettings
ref UniversalTemperatureSource m_UTSource
override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
class Sedan_02 extends CarScript OnDebugSpawn()
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.