601{
605
607 {
608 m_dmgContactCoef = 0.0790;
609
610 m_EngineStartOK = "Sedan_02_engine_start_SoundSet";
611 m_EngineStartBattery = "Sedan_02_engine_failed_start_battery_SoundSet";
612 m_EngineStartPlug = "Sedan_02_engine_failed_start_sparkplugs_SoundSet";
613 m_EngineStartFuel = "Sedan_02_engine_failed_start_fuel_SoundSet";
614 m_EngineStop = "Sedan_02_engine_stop_SoundSet";
615 m_EngineStopFuel = "Sedan_02_engine_stop_fuel_SoundSet";
616
617 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
618 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
619
620 m_CarHornShortSoundName = "Sedan_02_Horn_Short_SoundSet";
621 m_CarHornLongSoundName = "Sedan_02_Horn_SoundSet";
622
623 SetEnginePos("0 0.7 -1.7");
624 }
625
627 {
631 }
632
634 {
635 super.EEInit();
636
638 {
645
648 }
649 }
650
652 {
653 super.OnEngineStart();
654
656 {
659 }
660 }
661
663 {
664 super.OnEngineStop();
665
667 {
670 }
671 }
672
674 {
676 {
678 {
680 }
681 }
682 }
683
685 {
687 }
688
690 {
691 switch (posIdx)
692 {
693 case 0:
695 case 1:
697 case 2:
699 case 3:
701 }
702
703 return 0;
704 }
705
706
708 {
710 }
711
712
714 {
716 }
717
719 {
720 if (!super.CanReleaseAttachment(attachment))
721 {
722 return false;
723 }
724
725 string attType = attachment.GetType();
726 switch (attType)
727 {
728 case "CarBattery":
730 {
731 return false;
732 }
733 break;
734
735 case "SparkPlug":
737 {
738 return false;
739 }
740 break;
741
742 case "CarRadiator":
744 {
745 return false;
746 }
747 break;
748 }
749
750 return true;
751 }
752
754 {
756 }
757
759 {
760 if ( !super.CanDisplayAttachmentCategory(category_name))
761 {
762 return false;
763 }
764
766 if (category_name.
Contains(
"engine"))
767 {
769 {
770 return false;
771 }
772 }
773
774 if (category_name.
Contains(
"trunk"))
775 {
777 {
778 return false;
779 }
780 }
781
782 return true;
783 }
784
786 {
787 if ( !super.CanDisplayCargo() )
788 return false;
789
791 return false;
792
793 return true;
794 }
795
797 {
799
800 Class.
CastTo( carDoor, FindAttachmentBySlotName( slotType ) );
801 if (!carDoor)
802 {
804 }
805
806 switch (slotType)
807 {
808 case "Sedan_02_Door_1_1":
809 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
810
811 case "Sedan_02_Door_2_1":
812 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
813
814 case "Sedan_02_Door_1_2":
815 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
816
817 case "Sedan_02_Door_2_2":
818 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
819
820 case "Sedan_02_Hood":
821 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
822
823 case "Sedan_02_Trunk":
824 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
825 }
826
828 }
829
830
832 {
833 switch( posIdx )
834 {
835 case 0:
837 return false;
838
839 return true;
840 break;
841
842 case 1:
844 return false;
845
846 return true;
847 break;
848
849 case 2:
851 return false;
852
853 return true;
854 break;
855
856 case 3:
858 return false;
859
860 return true;
861 break;
862 }
863
864 return false;
865 }
866
868 {
869 switch( posIdx )
870 {
871 case 0:
872 return "doors_driver";
873 break;
874 case 1:
875 return "doors_codriver";
876 break;
877 case 2:
878 return "doors_cargo1";
879 break;
880 case 3:
881 return "doors_cargo2";
882 break;
883 }
884
885 return super.GetDoorSelectionNameFromSeatPos(posIdx);
886 }
887
889 {
890 switch( posIdx )
891 {
892 case 0:
893 return "Sedan_02_Door_1_1";
894 break;
895 case 1:
896 return "Sedan_02_Door_2_1";
897 break;
898 case 2:
899 return "Sedan_02_Door_1_2";
900 break;
901 case 3:
902 return "Sedan_02_Door_2_2";
903 break;
904 }
905
906 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
907 }
908
910 {
911 switch ( ctrl )
912 {
914 float newValue = 0;
916 {
917 newValue += 0.25;
918 }
919
921 {
922 newValue += 0.25;
923 }
924
926 {
927 newValue += 0.25;
928 }
929
931 {
932 newValue += 0.25;
933 }
934
936 break;
937 }
938
939 return super.OnSound(ctrl, oldValue);
940 }
941
943 {
944 switch( selection )
945 {
946 case "doors_driver":
947 return "DoorsDriver";
948 case "doors_codriver":
949 return "DoorsCoDriver";
950 case "doors_cargo1":
951 return "DoorsCargo1";
952 case "doors_cargo2":
953 return "DoorsCargo2";
954 case "doors_hood":
955 return "DoorsHood";
956 case "doors_trunk":
957 return "DoorsTrunk";
958 }
959
960 return "";
961 }
962
963
965 {
966 return false;
967 }
968
970 {
971 return false;
972 }
973
975 {
976 switch (currentSeat)
977 {
978 case 0:
979 return nextSeat == 1;
980
981 case 1:
982 return nextSeat == 0;
983
984 case 2:
985 return nextSeat == 3;
986
987 case 3:
988 return nextSeat == 2;
989 }
990
991 return false;
992 }
993
995 {
996 switch (pCurrentSeat)
997 {
998 case 0:
999 return pDoorsSelection == "DoorsDriver";
1000
1001 case 1:
1002 return pDoorsSelection == "DoorsCoDriver";
1003
1004 case 2:
1005 return pDoorsSelection == "DoorsCargo1";
1006
1007 case 3:
1008 return pDoorsSelection == "DoorsCargo2";
1009 }
1010
1011 return false;
1012 }
1013
1015 {
1016 SpawnUniversalParts();
1017 SpawnAdditionalItems();
1018 FillUpCarFluids();
1019
1026
1033
1034
1037 }
1038}
1039
1041{
1043 {
1044 SpawnUniversalParts();
1045 SpawnAdditionalItems();
1046 FillUpCarFluids();
1047
1048 GameInventory inventory = GetInventory();
1053
1060
1061
1064 }
1065}
1066
1067class Sedan_02_Grey
extends Sedan_02
1068{
1070 {
1071 SpawnUniversalParts();
1072 SpawnAdditionalItems();
1073 FillUpCarFluids();
1074
1075 GameInventory inventory = GetInventory();
1080
1087
1088
1091 }
1092}
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.
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.