582{
586
588 {
589 m_dmgContactCoef = 0.0790;
590
591 m_EngineStartOK = "Sedan_02_engine_start_SoundSet";
592 m_EngineStartBattery = "Sedan_02_engine_failed_start_battery_SoundSet";
593 m_EngineStartPlug = "Sedan_02_engine_failed_start_sparkplugs_SoundSet";
594 m_EngineStartFuel = "Sedan_02_engine_failed_start_fuel_SoundSet";
595 m_EngineStop = "Sedan_02_engine_stop_SoundSet";
596 m_EngineStopFuel = "Sedan_02_engine_stop_fuel_SoundSet";
597
598 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
599 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
600
601 m_CarHornShortSoundName = "Sedan_02_Horn_Short_SoundSet";
602 m_CarHornLongSoundName = "Sedan_02_Horn_SoundSet";
603
604 SetEnginePos("0 0.7 -1.7");
605 }
606
608 {
609 super.EEInit();
610
612 {
619
622 }
623 }
624
626 {
627 super.OnEngineStart();
628
630 {
632 }
633 }
634
636 {
637 super.OnEngineStop();
638
640 {
642 }
643 }
644
646 {
648 {
650 {
652 }
653 }
654 }
655
657 {
659 }
660
662 {
663 switch (posIdx)
664 {
665 case 0:
667 case 1:
669 case 2:
671 case 3:
673 }
674
675 return 0;
676 }
677
678
680 {
682 }
683
684
686 {
688 }
689
691 {
692 if (!super.CanReleaseAttachment(attachment))
693 {
694 return false;
695 }
696
697 string attType = attachment.GetType();
698 switch (attType)
699 {
700 case "CarBattery":
702 {
703 return false;
704 }
705 break;
706
707 case "SparkPlug":
709 {
710 return false;
711 }
712 break;
713
714 case "CarRadiator":
716 {
717 return false;
718 }
719 break;
720 }
721
722 return true;
723 }
724
726 {
728 }
729
731 {
732 if ( !super.CanDisplayAttachmentCategory(category_name))
733 {
734 return false;
735 }
736
738 if (category_name.
Contains(
"engine"))
739 {
741 {
742 return false;
743 }
744 }
745
746 if (category_name.
Contains(
"trunk"))
747 {
749 {
750 return false;
751 }
752 }
753
754 return true;
755 }
756
758 {
759 if ( !super.CanDisplayCargo() )
760 return false;
761
763 return false;
764
765 return true;
766 }
767
769 {
771
772 Class.
CastTo( carDoor, FindAttachmentBySlotName( slotType ) );
773 if (!carDoor)
774 {
776 }
777
778 switch (slotType)
779 {
780 case "Sedan_02_Door_1_1":
781 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
782
783 case "Sedan_02_Door_2_1":
784 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
785
786 case "Sedan_02_Door_1_2":
787 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
788
789 case "Sedan_02_Door_2_2":
790 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
791
792 case "Sedan_02_Hood":
793 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
794
795 case "Sedan_02_Trunk":
796 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
797 }
798
800 }
801
802
804 {
805 switch( posIdx )
806 {
807 case 0:
809 return false;
810
811 return true;
812 break;
813
814 case 1:
816 return false;
817
818 return true;
819 break;
820
821 case 2:
823 return false;
824
825 return true;
826 break;
827
828 case 3:
830 return false;
831
832 return true;
833 break;
834 }
835
836 return false;
837 }
838
840 {
841 switch( posIdx )
842 {
843 case 0:
844 return "doors_driver";
845 break;
846 case 1:
847 return "doors_codriver";
848 break;
849 case 2:
850 return "doors_cargo1";
851 break;
852 case 3:
853 return "doors_cargo2";
854 break;
855 }
856
857 return super.GetDoorSelectionNameFromSeatPos(posIdx);
858 }
859
861 {
862 switch( posIdx )
863 {
864 case 0:
865 return "Sedan_02_Door_1_1";
866 break;
867 case 1:
868 return "Sedan_02_Door_2_1";
869 break;
870 case 2:
871 return "Sedan_02_Door_1_2";
872 break;
873 case 3:
874 return "Sedan_02_Door_2_2";
875 break;
876 }
877
878 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
879 }
880
882 {
883 switch ( ctrl )
884 {
886 float newValue = 0;
888 {
889 newValue += 0.25;
890 }
891
893 {
894 newValue += 0.25;
895 }
896
898 {
899 newValue += 0.25;
900 }
901
903 {
904 newValue += 0.25;
905 }
906
908 break;
909 }
910
911 return super.OnSound(ctrl, oldValue);
912 }
913
915 {
916 switch( selection )
917 {
918 case "doors_driver":
919 return "DoorsDriver";
920 case "doors_codriver":
921 return "DoorsCoDriver";
922 case "doors_cargo1":
923 return "DoorsCargo1";
924 case "doors_cargo2":
925 return "DoorsCargo2";
926 case "doors_hood":
927 return "DoorsHood";
928 case "doors_trunk":
929 return "DoorsTrunk";
930 }
931
932 return "";
933 }
934
935
937 {
938 return false;
939 }
940
942 {
943 return false;
944 }
945
947 {
948 switch (currentSeat)
949 {
950 case 0:
951 return nextSeat == 1;
952
953 case 1:
954 return nextSeat == 0;
955
956 case 2:
957 return nextSeat == 3;
958
959 case 3:
960 return nextSeat == 2;
961 }
962
963 return false;
964 }
965
967 {
968 switch (pCurrentSeat)
969 {
970 case 0:
971 return pDoorsSelection == "DoorsDriver";
972
973 case 1:
974 return pDoorsSelection == "DoorsCoDriver";
975
976 case 2:
977 return pDoorsSelection == "DoorsCargo1";
978
979 case 3:
980 return pDoorsSelection == "DoorsCargo2";
981 }
982
983 return false;
984 }
985
987 {
988 SpawnUniversalParts();
989 SpawnAdditionalItems();
990 FillUpCarFluids();
991
992 GetInventory().CreateInInventory("Sedan_02_Wheel");
993 GetInventory().CreateInInventory("Sedan_02_Wheel");
994 GetInventory().CreateInInventory("Sedan_02_Wheel");
995 GetInventory().CreateInInventory("Sedan_02_Wheel");
996 GetInventory().CreateInInventory("Sedan_02_Wheel");
997
998 GetInventory().CreateInInventory("Sedan_02_Door_1_1");
999 GetInventory().CreateInInventory("Sedan_02_Door_1_2");
1000 GetInventory().CreateInInventory("Sedan_02_Door_2_1");
1001 GetInventory().CreateInInventory("Sedan_02_Door_2_2");
1002 GetInventory().CreateInInventory("Sedan_02_Hood");
1003 GetInventory().CreateInInventory("Sedan_02_Trunk");
1004
1005
1006 GetInventory().CreateInInventory("Sedan_02_Wheel");
1007 GetInventory().CreateInInventory("Sedan_02_Wheel");
1008 }
1009}
1010
1012{
1014 {
1015 SpawnUniversalParts();
1016 SpawnAdditionalItems();
1017 FillUpCarFluids();
1018
1019 GetInventory().CreateInInventory("Sedan_02_Wheel");
1020 GetInventory().CreateInInventory("Sedan_02_Wheel");
1021 GetInventory().CreateInInventory("Sedan_02_Wheel");
1022 GetInventory().CreateInInventory("Sedan_02_Wheel");
1023
1024 GetInventory().CreateInInventory("Sedan_02_Door_1_1_Red");
1025 GetInventory().CreateInInventory("Sedan_02_Door_1_2_Red");
1026 GetInventory().CreateInInventory("Sedan_02_Door_2_1_Red");
1027 GetInventory().CreateInInventory("Sedan_02_Door_2_2_Red");
1028 GetInventory().CreateInInventory("Sedan_02_Hood_Red");
1029 GetInventory().CreateInInventory("Sedan_02_Trunk_Red");
1030
1031
1032 GetInventory().CreateInInventory("Sedan_02_Wheel");
1033 GetInventory().CreateInInventory("Sedan_02_Wheel");
1034 }
1035}
1036
1037class Sedan_02_Grey
extends Sedan_02
1038{
1040 {
1041 SpawnUniversalParts();
1042 SpawnAdditionalItems();
1043 FillUpCarFluids();
1044
1045 GetInventory().CreateInInventory("Sedan_02_Wheel");
1046 GetInventory().CreateInInventory("Sedan_02_Wheel");
1047 GetInventory().CreateInInventory("Sedan_02_Wheel");
1048 GetInventory().CreateInInventory("Sedan_02_Wheel");
1049
1050 GetInventory().CreateInInventory("Sedan_02_Door_1_1_Grey");
1051 GetInventory().CreateInInventory("Sedan_02_Door_1_2_Grey");
1052 GetInventory().CreateInInventory("Sedan_02_Door_2_1_Grey");
1053 GetInventory().CreateInInventory("Sedan_02_Door_2_2_Grey");
1054 GetInventory().CreateInInventory("Sedan_02_Hood_Grey");
1055 GetInventory().CreateInInventory("Sedan_02_Trunk_Grey");
1056
1057
1058 GetInventory().CreateInInventory("Sedan_02_Wheel");
1059 GetInventory().CreateInInventory("Sedan_02_Wheel");
1060 }
1061}
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.