565{
569
571 {
572
573
574 m_EngineStartOK = "CivilianSedan_engine_start_SoundSet";
575 m_EngineStartBattery = "CivilianSedan_engine_failed_start_battery_SoundSet";
576 m_EngineStartPlug = "CivilianSedan_engine_failed_start_sparkplugs_SoundSet";
577 m_EngineStartFuel = "CivilianSedan_engine_failed_start_fuel_SoundSet";
578 m_EngineStop = "CivilianSedan_engine_stop_SoundSet";
579 m_EngineStopFuel = "CivilianSedan_engine_stop_fuel_SoundSet";
580
581 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
582 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
583
584 m_CarHornShortSoundName = "CivilianSedan_Horn_Short_SoundSet";
585 m_CarHornLongSoundName = "CivilianSedan_Horn_SoundSet";
586
587 SetEnginePos("0 0.7 1.6");
588 }
589
591 {
592 super.EEInit();
593
595 {
602
605 }
606 }
607
609 {
610 super.OnEngineStart();
611
613 {
615 }
616 }
617
619 {
620 super.OnEngineStop();
621
623 {
625 }
626 }
627
629 {
631 {
633 {
635 }
636 }
637 }
638
640 {
642 }
643
645 {
646 return 4.5;
647 }
648
650 {
651 switch (posIdx)
652 {
653 case 0:
655 case 1:
657 case 2:
659 case 3:
661 }
662
663 return 0;
664 }
665
666
668 {
670 }
671
672
674 {
676 }
677
679 {
680 if( !super.CanReleaseAttachment( attachment ) )
681 return false;
682
683 string attType = attachment.GetType();
684
686 {
687 if ( attType == "CarRadiator" || attType == "CarBattery" || attType == "SparkPlug")
688 return false;
689 }
690
691 return true;
692 }
693
695 {
697 }
698
700 {
701
702 if (!super.CanDisplayAttachmentCategory(category_name))
703 return false;
704
705
707 if (category_name.
Contains(
"engine"))
708 {
710 return false;
711 }
712
713 return true;
714 }
715
717 {
718 if ( !super.CanDisplayCargo() )
719 return false;
720
722 return false;
723
724 return true;
725 }
726
728 {
730
731 Class.
CastTo( carDoor, FindAttachmentBySlotName( slotType ) );
732 if (!carDoor)
733 {
735 }
736
737 switch (slotType)
738 {
739 case "CivSedanDriverDoors":
740 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
741 break;
742
743 case "CivSedanCoDriverDoors":
744 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
745 break;
746
747 case "CivSedanCargo1Doors":
748 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
749 break;
750
751 case "CivSedanCargo2Doors":
752 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
753 break;
754
755 case "CivSedanTrunk":
756 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
757 break;
758
759 case "CivSedanHood":
760 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
761 break;
762 }
763
765 }
766
767
769 {
770 switch( posIdx )
771 {
772 case 0:
774 return false;
775
776 return true;
777 break;
778
779 case 1:
781 return false;
782
783 return true;
784 break;
785
786 case 2:
788 return false;
789
790 return true;
791 break;
792
793 case 3:
795 return false;
796
797 return true;
798 break;
799 }
800
801 return false;
802 }
803
805 {
806 switch( posIdx )
807 {
808 case 0:
809 return "doors_driver";
810 break;
811 case 1:
812 return "doors_codriver";
813 break;
814 case 2:
815 return "doors_cargo1";
816 break;
817 case 3:
818 return "doors_cargo2";
819 break;
820 }
821
822 return super.GetDoorSelectionNameFromSeatPos(posIdx);
823 }
824
826 {
827 switch( posIdx )
828 {
829 case 0:
830 return "CivSedanDriverDoors";
831 break;
832 case 1:
833 return "CivSedanCoDriverDoors";
834 break;
835 case 2:
836 return "CivSedanCargo1Doors";
837 break;
838 case 3:
839 return "CivSedanCargo2Doors";
840 break;
841 }
842
843 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
844 }
845
846
847
849 {
850 switch (ctrl)
851 {
853 float newValue = 0;
855 {
856 newValue += 0.25;
857 }
858
860 {
861 newValue += 0.25;
862 }
863
865 {
866 newValue += 0.25;
867 }
868
870 {
871 newValue += 0.25;
872 }
873
875 {
876 newValue -= 0.6;
877 }
878
880 {
881 newValue -= 0.6;
882 }
883
885 break;
886 }
887
888 return super.OnSound(ctrl, oldValue);
889 }
890
892 {
893 switch (selection)
894 {
895 case "doors_driver":
896 return "DoorsDriver";
897 case "doors_codriver":
898 return "DoorsCoDriver";
899 case "doors_cargo1":
900 return "DoorsCargo1";
901 case "doors_cargo2":
902 return "DoorsCargo2";
903 case "doors_hood":
904 return "DoorsHood";
905 case "doors_trunk":
906 return "DoorsTrunk";
907 }
908
909 return "";
910 }
911
913 {
914 return false;
915 }
916
918 {
919 return false;
920 }
921
923 {
924 switch (currentSeat)
925 {
926 case 0:
927 return nextSeat == 1;
928
929 case 1:
930 return nextSeat == 0;
931
932 case 2:
933 return nextSeat == 3;
934
935 case 3:
936 return nextSeat == 2;
937 }
938
939 return false;
940 }
941
943 {
944 switch (pCurrentSeat)
945 {
946 case 0:
947 return pDoorsSelection == "DoorsDriver";
948
949 case 1:
950 return pDoorsSelection == "DoorsCoDriver";
951
952 case 2:
953 return pDoorsSelection == "DoorsCargo1";
954
955 case 3:
956 return pDoorsSelection == "DoorsCargo2";
957 }
958
959 return false;
960 }
961
963 {
964 SpawnUniversalParts();
965 SpawnAdditionalItems();
966 FillUpCarFluids();
967
968 GetInventory().CreateInInventory("CivSedanWheel");
969 GetInventory().CreateInInventory("CivSedanWheel");
970 GetInventory().CreateInInventory("CivSedanWheel");
971 GetInventory().CreateInInventory("CivSedanWheel");
972
973 GetInventory().CreateInInventory("CivSedanDoors_Driver");
974 GetInventory().CreateInInventory("CivSedanDoors_CoDriver");
975 GetInventory().CreateInInventory("CivSedanDoors_BackLeft");
976 GetInventory().CreateInInventory("CivSedanDoors_BackRight");
977 GetInventory().CreateInInventory("CivSedanHood");
978 GetInventory().CreateInInventory("CivSedanTrunk");
979
980
981 GetInventory().CreateInInventory("CivSedanWheel");
982 GetInventory().CreateInInventory("CivSedanWheel");
983 }
984
986 {
987 return 1.5;
988 }
989}
990
992{
994 {
995 SpawnUniversalParts();
996 SpawnAdditionalItems();
997 FillUpCarFluids();
998
999 GetInventory().CreateInInventory("CivSedanWheel");
1000 GetInventory().CreateInInventory("CivSedanWheel");
1001 GetInventory().CreateInInventory("CivSedanWheel");
1002 GetInventory().CreateInInventory("CivSedanWheel");
1003
1004 GetInventory().CreateInInventory("CivSedanDoors_Driver_Wine");
1005 GetInventory().CreateInInventory("CivSedanDoors_CoDriver_Wine");
1006 GetInventory().CreateInInventory("CivSedanDoors_BackLeft_Wine");
1007 GetInventory().CreateInInventory("CivSedanDoors_BackRight_Wine");
1008 GetInventory().CreateInInventory("CivSedanHood_Wine");
1009 GetInventory().CreateInInventory("CivSedanTrunk_Wine");
1010
1011
1012 GetInventory().CreateInInventory("CivSedanWheel");
1013 GetInventory().CreateInInventory("CivSedanWheel");
1014 }
1015}
1016
1018{
1020 {
1021 SpawnUniversalParts();
1022 SpawnAdditionalItems();
1023 FillUpCarFluids();
1024
1025 GetInventory().CreateInInventory("CivSedanWheel");
1026 GetInventory().CreateInInventory("CivSedanWheel");
1027 GetInventory().CreateInInventory("CivSedanWheel");
1028 GetInventory().CreateInInventory("CivSedanWheel");
1029
1030 GetInventory().CreateInInventory("CivSedanDoors_Driver_Black");
1031 GetInventory().CreateInInventory("CivSedanDoors_CoDriver_Black");
1032 GetInventory().CreateInInventory("CivSedanDoors_BackLeft_Black");
1033 GetInventory().CreateInInventory("CivSedanDoors_BackRight_Black");
1034 GetInventory().CreateInInventory("CivSedanHood_Black");
1035 GetInventory().CreateInInventory("CivSedanTrunk_Black");
1036
1037
1038 GetInventory().CreateInInventory("CivSedanWheel");
1039 GetInventory().CreateInInventory("CivSedanWheel");
1040 }
1041}
CarSoundCtrl
Car's sound controller list. (native, do not change or extend)
override float GetPushForceCoefficientMultiplier()
class CivilianSedan extends CarScript OnDebugSpawn()
override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
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()
ref UniversalTemperatureSourceLambdaEngine m_UTSLEngine
override float GetTransportCameraDistance()
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)
ref UniversalTemperatureSourceSettings m_UTSSettings
ref UniversalTemperatureSource m_UTSource
UniversalTemperatureSourceLambdaBaseImpl UniversalTemperatureSourceLambdaBase UniversalTemperatureSourceLambdaEngine()
override void OnDebugSpawn()
Super root of all classes in Enforce script.
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.