531{
535
537 {
538 m_dmgContactCoef = 0.0790;
539
540 m_EngineStartOK = "Sedan_02_engine_start_SoundSet";
541 m_EngineStartBattery = "Sedan_02_engine_failed_start_battery_SoundSet";
542 m_EngineStartPlug = "Sedan_02_engine_failed_start_sparkplugs_SoundSet";
543 m_EngineStartFuel = "Sedan_02_engine_failed_start_fuel_SoundSet";
544 m_EngineStop = "Sedan_02_engine_stop_SoundSet";
545 m_EngineStopFuel = "Sedan_02_engine_stop_fuel_SoundSet";
546
547 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
548 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
549
550 m_CarHornShortSoundName = "Sedan_02_Horn_Short_SoundSet";
551 m_CarHornLongSoundName = "Sedan_02_Horn_SoundSet";
552
553 SetEnginePos("0 0.7 -1.7");
554 }
555
557 {
558 super.EEInit();
559
561 {
568
571 }
572 }
573
575 {
576 super.OnEngineStart();
577
579 {
581 }
582 }
583
585 {
586 super.OnEngineStop();
587
589 {
591 }
592 }
593
595 {
597 {
599 {
601 }
602 }
603 }
604
606 {
608 }
609
611 {
612 switch (posIdx)
613 {
614 case 0:
616 case 1:
618 case 2:
620 case 3:
622 }
623
624 return 0;
625 }
626
627
629 {
631 }
632
633
635 {
637 }
638
640 {
641 if (!super.CanReleaseAttachment(attachment))
642 {
643 return false;
644 }
645
646 string attType = attachment.GetType();
647 switch (attType)
648 {
649 case "CarBattery":
651 {
652 return false;
653 }
654 break;
655
656 case "SparkPlug":
658 {
659 return false;
660 }
661 break;
662
663 case "CarRadiator":
665 {
666 return false;
667 }
668 break;
669 }
670
671 return true;
672 }
673
675 {
677 }
678
680 {
681 if ( !super.CanDisplayAttachmentCategory(category_name))
682 {
683 return false;
684 }
685
687 if (category_name.
Contains(
"engine"))
688 {
690 {
691 return false;
692 }
693 }
694
695 if (category_name.
Contains(
"trunk"))
696 {
698 {
699 return false;
700 }
701 }
702
703 return true;
704 }
705
707 {
708 if ( !super.CanDisplayCargo() )
709 return false;
710
712 return false;
713
714 return true;
715 }
716
718 {
720
721 Class.
CastTo( carDoor, FindAttachmentBySlotName( slotType ) );
722 if (!carDoor)
723 {
725 }
726
727 switch (slotType)
728 {
729 case "Sedan_02_Door_1_1":
730 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
731
732 case "Sedan_02_Door_2_1":
733 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
734
735 case "Sedan_02_Door_1_2":
736 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
737
738 case "Sedan_02_Door_2_2":
739 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
740
741 case "Sedan_02_Hood":
742 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
743
744 case "Sedan_02_Trunk":
745 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
746 }
747
749 }
750
751
753 {
754 switch( posIdx )
755 {
756 case 0:
758 return false;
759
760 return true;
761 break;
762
763 case 1:
765 return false;
766
767 return true;
768 break;
769
770 case 2:
772 return false;
773
774 return true;
775 break;
776
777 case 3:
779 return false;
780
781 return true;
782 break;
783 }
784
785 return false;
786 }
787
789 {
790 switch( posIdx )
791 {
792 case 0:
793 return "doors_driver";
794 break;
795 case 1:
796 return "doors_codriver";
797 break;
798 case 2:
799 return "doors_cargo1";
800 break;
801 case 3:
802 return "doors_cargo2";
803 break;
804 }
805
806 return super.GetDoorSelectionNameFromSeatPos(posIdx);
807 }
808
810 {
811 switch( posIdx )
812 {
813 case 0:
814 return "Sedan_02_Door_1_1";
815 break;
816 case 1:
817 return "Sedan_02_Door_2_1";
818 break;
819 case 2:
820 return "Sedan_02_Door_1_2";
821 break;
822 case 3:
823 return "Sedan_02_Door_2_2";
824 break;
825 }
826
827 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
828 }
829
831 {
832 switch ( ctrl )
833 {
835 float newValue = 0;
837 {
838 newValue += 0.25;
839 }
840
842 {
843 newValue += 0.25;
844 }
845
847 {
848 newValue += 0.25;
849 }
850
852 {
853 newValue += 0.25;
854 }
855
857 break;
858 }
859
860 return super.OnSound(ctrl, oldValue);
861 }
862
864 {
865 switch( selection )
866 {
867 case "doors_driver":
868 return "DoorsDriver";
869 case "doors_codriver":
870 return "DoorsCoDriver";
871 case "doors_cargo1":
872 return "DoorsCargo1";
873 case "doors_cargo2":
874 return "DoorsCargo2";
875 case "doors_hood":
876 return "DoorsHood";
877 case "doors_trunk":
878 return "DoorsTrunk";
879 }
880
881 return "";
882 }
883
884
886 {
887 return false;
888 }
889
891 {
892 return false;
893 }
894
896 {
897 switch (currentSeat)
898 {
899 case 0:
900 return nextSeat == 1;
901
902 case 1:
903 return nextSeat == 0;
904
905 case 2:
906 return nextSeat == 3;
907
908 case 3:
909 return nextSeat == 2;
910 }
911
912 return false;
913 }
914
916 {
917 switch (pCurrentSeat)
918 {
919 case 0:
920 return pDoorsSelection == "DoorsDriver";
921
922 case 1:
923 return pDoorsSelection == "DoorsCoDriver";
924
925 case 2:
926 return pDoorsSelection == "DoorsCargo1";
927
928 case 3:
929 return pDoorsSelection == "DoorsCargo2";
930 }
931
932 return false;
933 }
934
936 {
937 SpawnUniversalParts();
938 SpawnAdditionalItems();
939 FillUpCarFluids();
940
941 GetInventory().CreateInInventory("Sedan_02_Wheel");
942 GetInventory().CreateInInventory("Sedan_02_Wheel");
943 GetInventory().CreateInInventory("Sedan_02_Wheel");
944 GetInventory().CreateInInventory("Sedan_02_Wheel");
945 GetInventory().CreateInInventory("Sedan_02_Wheel");
946
947 GetInventory().CreateInInventory("Sedan_02_Door_1_1");
948 GetInventory().CreateInInventory("Sedan_02_Door_1_2");
949 GetInventory().CreateInInventory("Sedan_02_Door_2_1");
950 GetInventory().CreateInInventory("Sedan_02_Door_2_2");
951 GetInventory().CreateInInventory("Sedan_02_Hood");
952 GetInventory().CreateInInventory("Sedan_02_Trunk");
953
954
955 GetInventory().CreateInInventory("Sedan_02_Wheel");
956 GetInventory().CreateInInventory("Sedan_02_Wheel");
957 }
958}
959
961{
963 {
964 SpawnUniversalParts();
965 SpawnAdditionalItems();
966 FillUpCarFluids();
967
968 GetInventory().CreateInInventory("Sedan_02_Wheel");
969 GetInventory().CreateInInventory("Sedan_02_Wheel");
970 GetInventory().CreateInInventory("Sedan_02_Wheel");
971 GetInventory().CreateInInventory("Sedan_02_Wheel");
972
973 GetInventory().CreateInInventory("Sedan_02_Door_1_1_Red");
974 GetInventory().CreateInInventory("Sedan_02_Door_1_2_Red");
975 GetInventory().CreateInInventory("Sedan_02_Door_2_1_Red");
976 GetInventory().CreateInInventory("Sedan_02_Door_2_2_Red");
977 GetInventory().CreateInInventory("Sedan_02_Hood_Red");
978 GetInventory().CreateInInventory("Sedan_02_Trunk_Red");
979
980
981 GetInventory().CreateInInventory("Sedan_02_Wheel");
982 GetInventory().CreateInInventory("Sedan_02_Wheel");
983 }
984}
985
987{
989 {
990 SpawnUniversalParts();
991 SpawnAdditionalItems();
992 FillUpCarFluids();
993
994 GetInventory().CreateInInventory("Sedan_02_Wheel");
995 GetInventory().CreateInInventory("Sedan_02_Wheel");
996 GetInventory().CreateInInventory("Sedan_02_Wheel");
997 GetInventory().CreateInInventory("Sedan_02_Wheel");
998
999 GetInventory().CreateInInventory("Sedan_02_Door_1_1_Grey");
1000 GetInventory().CreateInInventory("Sedan_02_Door_1_2_Grey");
1001 GetInventory().CreateInInventory("Sedan_02_Door_2_1_Grey");
1002 GetInventory().CreateInInventory("Sedan_02_Door_2_2_Grey");
1003 GetInventory().CreateInInventory("Sedan_02_Hood_Grey");
1004 GetInventory().CreateInInventory("Sedan_02_Trunk_Grey");
1005
1006
1007 GetInventory().CreateInInventory("Sedan_02_Wheel");
1008 GetInventory().CreateInInventory("Sedan_02_Wheel");
1009 }
1010}
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.