579{
583
585 {
586
587
588 m_EngineStartOK = "CivilianSedan_engine_start_SoundSet";
589 m_EngineStartBattery = "CivilianSedan_engine_failed_start_battery_SoundSet";
590 m_EngineStartPlug = "CivilianSedan_engine_failed_start_sparkplugs_SoundSet";
591 m_EngineStartFuel = "CivilianSedan_engine_failed_start_fuel_SoundSet";
592 m_EngineStop = "CivilianSedan_engine_stop_SoundSet";
593 m_EngineStopFuel = "CivilianSedan_engine_stop_fuel_SoundSet";
594
595 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
596 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
597
598 m_CarHornShortSoundName = "CivilianSedan_Horn_Short_SoundSet";
599 m_CarHornLongSoundName = "CivilianSedan_Horn_SoundSet";
600
601 SetEnginePos("0 0.7 1.6");
602 }
603
605 {
609 }
610
612 {
613 super.EEInit();
614
616 {
623
626 }
627 }
628
630 {
631 super.OnEngineStart();
632
634 {
637 }
638 }
639
641 {
642 super.OnEngineStop();
643
645 {
648 }
649 }
650
652 {
654 {
656 {
658 }
659 }
660 }
661
663 {
665 }
666
668 {
669 return 4.5;
670 }
671
673 {
674 switch (posIdx)
675 {
676 case 0:
678 case 1:
680 case 2:
682 case 3:
684 }
685
686 return 0;
687 }
688
689
691 {
693 }
694
695
697 {
699 }
700
702 {
703 if( !super.CanReleaseAttachment( attachment ) )
704 return false;
705
706 string attType = attachment.GetType();
707
709 {
710 if ( attType == "CarRadiator" || attType == "CarBattery" || attType == "SparkPlug")
711 return false;
712 }
713
714 return true;
715 }
716
718 {
720 }
721
723 {
724
725 if (!super.CanDisplayAttachmentCategory(category_name))
726 return false;
727
728
730 if (category_name.
Contains(
"engine"))
731 {
733 return false;
734 }
735
736 return true;
737 }
738
740 {
741 if ( !super.CanDisplayCargo() )
742 return false;
743
745 return false;
746
747 return true;
748 }
749
751 {
753
754 Class.
CastTo( carDoor, FindAttachmentBySlotName( slotType ) );
755 if (!carDoor)
756 {
758 }
759
760 switch (slotType)
761 {
762 case "CivSedanDriverDoors":
763 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
764 break;
765
766 case "CivSedanCoDriverDoors":
767 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
768 break;
769
770 case "CivSedanCargo1Doors":
771 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
772 break;
773
774 case "CivSedanCargo2Doors":
775 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
776 break;
777
778 case "CivSedanTrunk":
779 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
780 break;
781
782 case "CivSedanHood":
783 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
784 break;
785 }
786
788 }
789
790
792 {
793 switch( posIdx )
794 {
795 case 0:
797 return false;
798
799 return true;
800 break;
801
802 case 1:
804 return false;
805
806 return true;
807 break;
808
809 case 2:
811 return false;
812
813 return true;
814 break;
815
816 case 3:
818 return false;
819
820 return true;
821 break;
822 }
823
824 return false;
825 }
826
828 {
829 switch( posIdx )
830 {
831 case 0:
832 return "doors_driver";
833 break;
834 case 1:
835 return "doors_codriver";
836 break;
837 case 2:
838 return "doors_cargo1";
839 break;
840 case 3:
841 return "doors_cargo2";
842 break;
843 }
844
845 return super.GetDoorSelectionNameFromSeatPos(posIdx);
846 }
847
849 {
850 switch( posIdx )
851 {
852 case 0:
853 return "CivSedanDriverDoors";
854 break;
855 case 1:
856 return "CivSedanCoDriverDoors";
857 break;
858 case 2:
859 return "CivSedanCargo1Doors";
860 break;
861 case 3:
862 return "CivSedanCargo2Doors";
863 break;
864 }
865
866 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
867 }
868
869
870
872 {
873 switch (ctrl)
874 {
876 float newValue = 0;
878 {
879 newValue += 0.25;
880 }
881
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.6;
900 }
901
903 {
904 newValue -= 0.6;
905 }
906
908 break;
909 }
910
911 return super.OnSound(ctrl, oldValue);
912 }
913
915 {
916 switch (selection)
917 {
918 case "doors_driver":
919 return "DoorsDriver";
920 case "doors_codriver":
921 return "DoorsCoDriver";
922 case "doors_cargo1":
923 return "DoorsCargo1";
924 case "doors_cargo2":
925 return "DoorsCargo2";
926 case "doors_hood":
927 return "DoorsHood";
928 case "doors_trunk":
929 return "DoorsTrunk";
930 }
931
932 return "";
933 }
934
936 {
937 return false;
938 }
939
941 {
942 return false;
943 }
944
946 {
947 switch (currentSeat)
948 {
949 case 0:
950 return nextSeat == 1;
951
952 case 1:
953 return nextSeat == 0;
954
955 case 2:
956 return nextSeat == 3;
957
958 case 3:
959 return nextSeat == 2;
960 }
961
962 return false;
963 }
964
966 {
967 switch (pCurrentSeat)
968 {
969 case 0:
970 return pDoorsSelection == "DoorsDriver";
971
972 case 1:
973 return pDoorsSelection == "DoorsCoDriver";
974
975 case 2:
976 return pDoorsSelection == "DoorsCargo1";
977
978 case 3:
979 return pDoorsSelection == "DoorsCargo2";
980 }
981
982 return false;
983 }
984
986 {
987 SpawnUniversalParts();
988 SpawnAdditionalItems();
989 FillUpCarFluids();
990
996
1003
1004
1007 }
1008
1010 {
1011 return 1.5;
1012 }
1013}
1014
1016{
1018 {
1019 SpawnUniversalParts();
1020 SpawnAdditionalItems();
1021 FillUpCarFluids();
1022
1023 GameInventory inventory = GetInventory();
1028
1035
1036
1039 }
1040}
1041
1043{
1045 {
1046 SpawnUniversalParts();
1047 SpawnAdditionalItems();
1048 FillUpCarFluids();
1049
1050 GameInventory inventory = GetInventory();
1055
1062
1063
1066 }
1067}
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.
EntityAI CreateInInventory(string type)
creates entity somewhere in inventory
script counterpart to engine's class Inventory
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.