544{
548
550 {
551
552
553 m_EngineStartOK = "CivilianSedan_engine_start_SoundSet";
554 m_EngineStartBattery = "CivilianSedan_engine_failed_start_battery_SoundSet";
555 m_EngineStartPlug = "CivilianSedan_engine_failed_start_sparkplugs_SoundSet";
556 m_EngineStartFuel = "CivilianSedan_engine_failed_start_fuel_SoundSet";
557 m_EngineStop = "CivilianSedan_engine_stop_SoundSet";
558 m_EngineStopFuel = "CivilianSedan_engine_stop_fuel_SoundSet";
559
560 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
561 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
562
563 m_CarHornShortSoundName = "CivilianSedan_Horn_Short_SoundSet";
564 m_CarHornLongSoundName = "CivilianSedan_Horn_SoundSet";
565
566 SetEnginePos("0 0.7 1.6");
567 }
568
570 {
571 super.EEInit();
572
574 {
581
584 }
585 }
586
588 {
589 super.OnEngineStart();
590
592 {
594 }
595 }
596
598 {
599 super.OnEngineStop();
600
602 {
604 }
605 }
606
608 {
610 {
612 {
614 }
615 }
616 }
617
619 {
621 }
622
624 {
625 return 4.5;
626 }
627
629 {
630 switch (posIdx)
631 {
632 case 0:
634 case 1:
636 case 2:
638 case 3:
640 }
641
642 return 0;
643 }
644
645
647 {
649 }
650
651
653 {
655 }
656
658 {
659 if( !super.CanReleaseAttachment( attachment ) )
660 return false;
661
662 string attType = attachment.GetType();
663
665 {
666 if ( attType == "CarRadiator" || attType == "CarBattery" || attType == "SparkPlug")
667 return false;
668 }
669
670 return true;
671 }
672
674 {
676 }
677
679 {
680
681 if (!super.CanDisplayAttachmentCategory(category_name))
682 return false;
683
684
686 if (category_name.
Contains(
"engine"))
687 {
689 return false;
690 }
691
692 return true;
693 }
694
696 {
697 if ( !super.CanDisplayCargo() )
698 return false;
699
701 return false;
702
703 return true;
704 }
705
707 {
709
710 Class.
CastTo( carDoor, FindAttachmentBySlotName( slotType ) );
711 if (!carDoor)
712 {
714 }
715
716 switch (slotType)
717 {
718 case "CivSedanDriverDoors":
719 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
720 break;
721
722 case "CivSedanCoDriverDoors":
723 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
724 break;
725
726 case "CivSedanCargo1Doors":
727 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
728 break;
729
730 case "CivSedanCargo2Doors":
731 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
732 break;
733
734 case "CivSedanTrunk":
735 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
736 break;
737
738 case "CivSedanHood":
739 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
740 break;
741 }
742
744 }
745
746
748 {
749 switch( posIdx )
750 {
751 case 0:
753 return false;
754
755 return true;
756 break;
757
758 case 1:
760 return false;
761
762 return true;
763 break;
764
765 case 2:
767 return false;
768
769 return true;
770 break;
771
772 case 3:
774 return false;
775
776 return true;
777 break;
778 }
779
780 return false;
781 }
782
784 {
785 switch( posIdx )
786 {
787 case 0:
788 return "doors_driver";
789 break;
790 case 1:
791 return "doors_codriver";
792 break;
793 case 2:
794 return "doors_cargo1";
795 break;
796 case 3:
797 return "doors_cargo2";
798 break;
799 }
800
801 return super.GetDoorSelectionNameFromSeatPos(posIdx);
802 }
803
805 {
806 switch( posIdx )
807 {
808 case 0:
809 return "CivSedanDriverDoors";
810 break;
811 case 1:
812 return "CivSedanCoDriverDoors";
813 break;
814 case 2:
815 return "CivSedanCargo1Doors";
816 break;
817 case 3:
818 return "CivSedanCargo2Doors";
819 break;
820 }
821
822 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
823 }
824
825
826
828 {
829 switch (ctrl)
830 {
832 float newValue = 0;
834 {
835 newValue += 0.25;
836 }
837
839 {
840 newValue += 0.25;
841 }
842
844 {
845 newValue += 0.25;
846 }
847
849 {
850 newValue += 0.25;
851 }
852
854 {
855 newValue -= 0.6;
856 }
857
859 {
860 newValue -= 0.6;
861 }
862
864 break;
865 }
866
867 return super.OnSound(ctrl, oldValue);
868 }
869
871 {
872 switch (selection)
873 {
874 case "doors_driver":
875 return "DoorsDriver";
876 case "doors_codriver":
877 return "DoorsCoDriver";
878 case "doors_cargo1":
879 return "DoorsCargo1";
880 case "doors_cargo2":
881 return "DoorsCargo2";
882 case "doors_hood":
883 return "DoorsHood";
884 case "doors_trunk":
885 return "DoorsTrunk";
886 }
887
888 return "";
889 }
890
892 {
893 return false;
894 }
895
897 {
898 return false;
899 }
900
902 {
903 switch (currentSeat)
904 {
905 case 0:
906 return nextSeat == 1;
907
908 case 1:
909 return nextSeat == 0;
910
911 case 2:
912 return nextSeat == 3;
913
914 case 3:
915 return nextSeat == 2;
916 }
917
918 return false;
919 }
920
922 {
923 switch (pCurrentSeat)
924 {
925 case 0:
926 return pDoorsSelection == "DoorsDriver";
927
928 case 1:
929 return pDoorsSelection == "DoorsCoDriver";
930
931 case 2:
932 return pDoorsSelection == "DoorsCargo1";
933
934 case 3:
935 return pDoorsSelection == "DoorsCargo2";
936 }
937
938 return false;
939 }
940
942 {
943 SpawnUniversalParts();
944 SpawnAdditionalItems();
945 FillUpCarFluids();
946
947 GetInventory().CreateInInventory("CivSedanWheel");
948 GetInventory().CreateInInventory("CivSedanWheel");
949 GetInventory().CreateInInventory("CivSedanWheel");
950 GetInventory().CreateInInventory("CivSedanWheel");
951
952 GetInventory().CreateInInventory("CivSedanDoors_Driver");
953 GetInventory().CreateInInventory("CivSedanDoors_CoDriver");
954 GetInventory().CreateInInventory("CivSedanDoors_BackLeft");
955 GetInventory().CreateInInventory("CivSedanDoors_BackRight");
956 GetInventory().CreateInInventory("CivSedanHood");
957 GetInventory().CreateInInventory("CivSedanTrunk");
958
959
960 GetInventory().CreateInInventory("CivSedanWheel");
961 GetInventory().CreateInInventory("CivSedanWheel");
962 }
963
965 {
966 return 1.5;
967 }
968}
969
971{
973 {
974 SpawnUniversalParts();
975 SpawnAdditionalItems();
976 FillUpCarFluids();
977
978 GetInventory().CreateInInventory("CivSedanWheel");
979 GetInventory().CreateInInventory("CivSedanWheel");
980 GetInventory().CreateInInventory("CivSedanWheel");
981 GetInventory().CreateInInventory("CivSedanWheel");
982
983 GetInventory().CreateInInventory("CivSedanDoors_Driver_Wine");
984 GetInventory().CreateInInventory("CivSedanDoors_CoDriver_Wine");
985 GetInventory().CreateInInventory("CivSedanDoors_BackLeft_Wine");
986 GetInventory().CreateInInventory("CivSedanDoors_BackRight_Wine");
987 GetInventory().CreateInInventory("CivSedanHood_Wine");
988 GetInventory().CreateInInventory("CivSedanTrunk_Wine");
989
990
991 GetInventory().CreateInInventory("CivSedanWheel");
992 GetInventory().CreateInInventory("CivSedanWheel");
993 }
994}
995
997{
999 {
1000 SpawnUniversalParts();
1001 SpawnAdditionalItems();
1002 FillUpCarFluids();
1003
1004 GetInventory().CreateInInventory("CivSedanWheel");
1005 GetInventory().CreateInInventory("CivSedanWheel");
1006 GetInventory().CreateInInventory("CivSedanWheel");
1007 GetInventory().CreateInInventory("CivSedanWheel");
1008
1009 GetInventory().CreateInInventory("CivSedanDoors_Driver_Black");
1010 GetInventory().CreateInInventory("CivSedanDoors_CoDriver_Black");
1011 GetInventory().CreateInInventory("CivSedanDoors_BackLeft_Black");
1012 GetInventory().CreateInInventory("CivSedanDoors_BackRight_Black");
1013 GetInventory().CreateInInventory("CivSedanHood_Black");
1014 GetInventory().CreateInInventory("CivSedanTrunk_Black");
1015
1016
1017 GetInventory().CreateInInventory("CivSedanWheel");
1018 GetInventory().CreateInInventory("CivSedanWheel");
1019 }
1020}
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.