558{
562
564 {
565
566
567 m_EngineStartOK = "CivilianSedan_engine_start_SoundSet";
568 m_EngineStartBattery = "CivilianSedan_engine_failed_start_battery_SoundSet";
569 m_EngineStartPlug = "CivilianSedan_engine_failed_start_sparkplugs_SoundSet";
570 m_EngineStartFuel = "CivilianSedan_engine_failed_start_fuel_SoundSet";
571 m_EngineStop = "CivilianSedan_engine_stop_SoundSet";
572 m_EngineStopFuel = "CivilianSedan_engine_stop_fuel_SoundSet";
573
574 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
575 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
576
577 m_CarHornShortSoundName = "CivilianSedan_Horn_Short_SoundSet";
578 m_CarHornLongSoundName = "CivilianSedan_Horn_SoundSet";
579
580 SetEnginePos("0 0.7 1.6");
581 }
582
584 {
588 }
589
591 {
592 super.EEInit();
593
595 {
602
605 }
606 }
607
609 {
610 super.OnEngineStart();
611
613 {
616 }
617 }
618
620 {
621 super.OnEngineStop();
622
624 {
627 }
628 }
629
631 {
633 {
635 {
637 }
638 }
639 }
640
642 {
644 }
645
647 {
648 return 4.5;
649 }
650
652 {
653 switch (posIdx)
654 {
655 case 0:
657 case 1:
659 case 2:
661 case 3:
663 }
664
665 return 0;
666 }
667
668
670 {
672 }
673
674
676 {
678 }
679
681 {
682 if( !super.CanReleaseAttachment( attachment ) )
683 return false;
684
685 string attType = attachment.GetType();
686
688 {
689 if ( attType == "CarRadiator" || attType == "CarBattery" || attType == "SparkPlug")
690 return false;
691 }
692
693 return true;
694 }
695
697 {
699 }
700
702 {
703
704 if (!super.CanDisplayAttachmentCategory(category_name))
705 return false;
706
707
709 if (category_name.
Contains(
"engine"))
710 {
712 return false;
713 }
714
715 return true;
716 }
717
719 {
720 if ( !super.CanDisplayCargo() )
721 return false;
722
724 return false;
725
726 return true;
727 }
728
730 {
732
733 Class.
CastTo( carDoor, FindAttachmentBySlotName( slotType ) );
734 if (!carDoor)
735 {
737 }
738
739 switch (slotType)
740 {
741 case "CivSedanDriverDoors":
742 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
743 break;
744
745 case "CivSedanCoDriverDoors":
746 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
747 break;
748
749 case "CivSedanCargo1Doors":
750 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
751 break;
752
753 case "CivSedanCargo2Doors":
754 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
755 break;
756
757 case "CivSedanTrunk":
758 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
759 break;
760
761 case "CivSedanHood":
762 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
763 break;
764 }
765
767 }
768
769
771 {
772 switch( posIdx )
773 {
774 case 0:
776 return false;
777
778 return true;
779 break;
780
781 case 1:
783 return false;
784
785 return true;
786 break;
787
788 case 2:
790 return false;
791
792 return true;
793 break;
794
795 case 3:
797 return false;
798
799 return true;
800 break;
801 }
802
803 return false;
804 }
805
807 {
808 switch( posIdx )
809 {
810 case 0:
811 return "doors_driver";
812 break;
813 case 1:
814 return "doors_codriver";
815 break;
816 case 2:
817 return "doors_cargo1";
818 break;
819 case 3:
820 return "doors_cargo2";
821 break;
822 }
823
824 return super.GetDoorSelectionNameFromSeatPos(posIdx);
825 }
826
828 {
829 switch( posIdx )
830 {
831 case 0:
832 return "CivSedanDriverDoors";
833 break;
834 case 1:
835 return "CivSedanCoDriverDoors";
836 break;
837 case 2:
838 return "CivSedanCargo1Doors";
839 break;
840 case 3:
841 return "CivSedanCargo2Doors";
842 break;
843 }
844
845 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
846 }
847
848
849
851 {
852 switch (ctrl)
853 {
855 float newValue = 0;
857 {
858 newValue += 0.25;
859 }
860
862 {
863 newValue += 0.25;
864 }
865
867 {
868 newValue += 0.25;
869 }
870
872 {
873 newValue += 0.25;
874 }
875
877 {
878 newValue -= 0.6;
879 }
880
882 {
883 newValue -= 0.6;
884 }
885
887 break;
888 }
889
890 return super.OnSound(ctrl, oldValue);
891 }
892
894 {
895 switch (selection)
896 {
897 case "doors_driver":
898 return "DoorsDriver";
899 case "doors_codriver":
900 return "DoorsCoDriver";
901 case "doors_cargo1":
902 return "DoorsCargo1";
903 case "doors_cargo2":
904 return "DoorsCargo2";
905 case "doors_hood":
906 return "DoorsHood";
907 case "doors_trunk":
908 return "DoorsTrunk";
909 }
910
911 return "";
912 }
913
915 {
916 return false;
917 }
918
920 {
921 return false;
922 }
923
925 {
926 switch (currentSeat)
927 {
928 case 0:
929 return nextSeat == 1;
930
931 case 1:
932 return nextSeat == 0;
933
934 case 2:
935 return nextSeat == 3;
936
937 case 3:
938 return nextSeat == 2;
939 }
940
941 return false;
942 }
943
945 {
946 switch (pCurrentSeat)
947 {
948 case 0:
949 return pDoorsSelection == "DoorsDriver";
950
951 case 1:
952 return pDoorsSelection == "DoorsCoDriver";
953
954 case 2:
955 return pDoorsSelection == "DoorsCargo1";
956
957 case 3:
958 return pDoorsSelection == "DoorsCargo2";
959 }
960
961 return false;
962 }
963
965 {
966 SpawnUniversalParts();
967 SpawnAdditionalItems();
968 FillUpCarFluids();
969
975
982
983
986 }
987
989 {
990 return 1.5;
991 }
992}
993
995{
997 {
998 SpawnUniversalParts();
999 SpawnAdditionalItems();
1000 FillUpCarFluids();
1001
1002 GameInventory inventory = GetInventory();
1007
1014
1015
1018 }
1019}
1020
1022{
1024 {
1025 SpawnUniversalParts();
1026 SpawnAdditionalItems();
1027 FillUpCarFluids();
1028
1029 GameInventory inventory = GetInventory();
1034
1041
1042
1045 }
1046}
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.