560{
564
566 {
567
568
569 m_EngineStartOK = "CivilianSedan_engine_start_SoundSet";
570 m_EngineStartBattery = "CivilianSedan_engine_failed_start_battery_SoundSet";
571 m_EngineStartPlug = "CivilianSedan_engine_failed_start_sparkplugs_SoundSet";
572 m_EngineStartFuel = "CivilianSedan_engine_failed_start_fuel_SoundSet";
573 m_EngineStop = "CivilianSedan_engine_stop_SoundSet";
574 m_EngineStopFuel = "CivilianSedan_engine_stop_fuel_SoundSet";
575
576 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
577 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
578
579 m_CarHornShortSoundName = "CivilianSedan_Horn_Short_SoundSet";
580 m_CarHornLongSoundName = "CivilianSedan_Horn_SoundSet";
581
582 SetEnginePos("0 0.7 1.6");
583 }
584
586 {
587 super.EEInit();
588
590 {
597
600 }
601 }
602
604 {
605 super.OnEngineStart();
606
608 {
610 }
611 }
612
614 {
615 super.OnEngineStop();
616
618 {
620 }
621 }
622
624 {
626 {
628 {
630 }
631 }
632 }
633
635 {
637 }
638
640 {
641 return 4.5;
642 }
643
645 {
646 switch (posIdx)
647 {
648 case 0:
650 case 1:
652 case 2:
654 case 3:
656 }
657
658 return 0;
659 }
660
661
663 {
665 }
666
667
669 {
671 }
672
674 {
675 if( !super.CanReleaseAttachment( attachment ) )
676 return false;
677
678 string attType = attachment.GetType();
679
681 {
682 if ( attType == "CarRadiator" || attType == "CarBattery" || attType == "SparkPlug")
683 return false;
684 }
685
686 return true;
687 }
688
690 {
692 }
693
695 {
696
697 if (!super.CanDisplayAttachmentCategory(category_name))
698 return false;
699
700
702 if (category_name.
Contains(
"engine"))
703 {
705 return false;
706 }
707
708 return true;
709 }
710
712 {
713 if ( !super.CanDisplayCargo() )
714 return false;
715
717 return false;
718
719 return true;
720 }
721
723 {
725
726 Class.
CastTo( carDoor, FindAttachmentBySlotName( slotType ) );
727 if (!carDoor)
728 {
730 }
731
732 switch (slotType)
733 {
734 case "CivSedanDriverDoors":
735 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
736 break;
737
738 case "CivSedanCoDriverDoors":
739 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
740 break;
741
742 case "CivSedanCargo1Doors":
743 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
744 break;
745
746 case "CivSedanCargo2Doors":
747 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
748 break;
749
750 case "CivSedanTrunk":
751 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
752 break;
753
754 case "CivSedanHood":
755 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
756 break;
757 }
758
760 }
761
762
764 {
765 switch( posIdx )
766 {
767 case 0:
769 return false;
770
771 return true;
772 break;
773
774 case 1:
776 return false;
777
778 return true;
779 break;
780
781 case 2:
783 return false;
784
785 return true;
786 break;
787
788 case 3:
790 return false;
791
792 return true;
793 break;
794 }
795
796 return false;
797 }
798
800 {
801 switch( posIdx )
802 {
803 case 0:
804 return "doors_driver";
805 break;
806 case 1:
807 return "doors_codriver";
808 break;
809 case 2:
810 return "doors_cargo1";
811 break;
812 case 3:
813 return "doors_cargo2";
814 break;
815 }
816
817 return super.GetDoorSelectionNameFromSeatPos(posIdx);
818 }
819
821 {
822 switch( posIdx )
823 {
824 case 0:
825 return "CivSedanDriverDoors";
826 break;
827 case 1:
828 return "CivSedanCoDriverDoors";
829 break;
830 case 2:
831 return "CivSedanCargo1Doors";
832 break;
833 case 3:
834 return "CivSedanCargo2Doors";
835 break;
836 }
837
838 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
839 }
840
841
842
844 {
845 switch (ctrl)
846 {
848 float newValue = 0;
850 {
851 newValue += 0.25;
852 }
853
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.6;
872 }
873
875 {
876 newValue -= 0.6;
877 }
878
880 break;
881 }
882
883 return super.OnSound(ctrl, oldValue);
884 }
885
887 {
888 switch (selection)
889 {
890 case "doors_driver":
891 return "DoorsDriver";
892 case "doors_codriver":
893 return "DoorsCoDriver";
894 case "doors_cargo1":
895 return "DoorsCargo1";
896 case "doors_cargo2":
897 return "DoorsCargo2";
898 case "doors_hood":
899 return "DoorsHood";
900 case "doors_trunk":
901 return "DoorsTrunk";
902 }
903
904 return "";
905 }
906
908 {
909 return false;
910 }
911
913 {
914 return false;
915 }
916
918 {
919 switch (currentSeat)
920 {
921 case 0:
922 return nextSeat == 1;
923
924 case 1:
925 return nextSeat == 0;
926
927 case 2:
928 return nextSeat == 3;
929
930 case 3:
931 return nextSeat == 2;
932 }
933
934 return false;
935 }
936
938 {
939 switch (pCurrentSeat)
940 {
941 case 0:
942 return pDoorsSelection == "DoorsDriver";
943
944 case 1:
945 return pDoorsSelection == "DoorsCoDriver";
946
947 case 2:
948 return pDoorsSelection == "DoorsCargo1";
949
950 case 3:
951 return pDoorsSelection == "DoorsCargo2";
952 }
953
954 return false;
955 }
956
958 {
959 SpawnUniversalParts();
960 SpawnAdditionalItems();
961 FillUpCarFluids();
962
963 GetInventory().CreateInInventory("CivSedanWheel");
964 GetInventory().CreateInInventory("CivSedanWheel");
965 GetInventory().CreateInInventory("CivSedanWheel");
966 GetInventory().CreateInInventory("CivSedanWheel");
967
968 GetInventory().CreateInInventory("CivSedanDoors_Driver");
969 GetInventory().CreateInInventory("CivSedanDoors_CoDriver");
970 GetInventory().CreateInInventory("CivSedanDoors_BackLeft");
971 GetInventory().CreateInInventory("CivSedanDoors_BackRight");
972 GetInventory().CreateInInventory("CivSedanHood");
973 GetInventory().CreateInInventory("CivSedanTrunk");
974
975
976 GetInventory().CreateInInventory("CivSedanWheel");
977 GetInventory().CreateInInventory("CivSedanWheel");
978 }
979
981 {
982 return 1.5;
983 }
984}
985
987{
989 {
990 SpawnUniversalParts();
991 SpawnAdditionalItems();
992 FillUpCarFluids();
993
994 GetInventory().CreateInInventory("CivSedanWheel");
995 GetInventory().CreateInInventory("CivSedanWheel");
996 GetInventory().CreateInInventory("CivSedanWheel");
997 GetInventory().CreateInInventory("CivSedanWheel");
998
999 GetInventory().CreateInInventory("CivSedanDoors_Driver_Wine");
1000 GetInventory().CreateInInventory("CivSedanDoors_CoDriver_Wine");
1001 GetInventory().CreateInInventory("CivSedanDoors_BackLeft_Wine");
1002 GetInventory().CreateInInventory("CivSedanDoors_BackRight_Wine");
1003 GetInventory().CreateInInventory("CivSedanHood_Wine");
1004 GetInventory().CreateInInventory("CivSedanTrunk_Wine");
1005
1006
1007 GetInventory().CreateInInventory("CivSedanWheel");
1008 GetInventory().CreateInInventory("CivSedanWheel");
1009 }
1010}
1011
1013{
1015 {
1016 SpawnUniversalParts();
1017 SpawnAdditionalItems();
1018 FillUpCarFluids();
1019
1020 GetInventory().CreateInInventory("CivSedanWheel");
1021 GetInventory().CreateInInventory("CivSedanWheel");
1022 GetInventory().CreateInInventory("CivSedanWheel");
1023 GetInventory().CreateInInventory("CivSedanWheel");
1024
1025 GetInventory().CreateInInventory("CivSedanDoors_Driver_Black");
1026 GetInventory().CreateInInventory("CivSedanDoors_CoDriver_Black");
1027 GetInventory().CreateInInventory("CivSedanDoors_BackLeft_Black");
1028 GetInventory().CreateInInventory("CivSedanDoors_BackRight_Black");
1029 GetInventory().CreateInInventory("CivSedanHood_Black");
1030 GetInventory().CreateInInventory("CivSedanTrunk_Black");
1031
1032
1033 GetInventory().CreateInInventory("CivSedanWheel");
1034 GetInventory().CreateInInventory("CivSedanWheel");
1035 }
1036}
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.