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