539{
543
545 {
546
547
548 m_EngineStartOK = "CivilianSedan_engine_start_SoundSet";
549 m_EngineStartBattery = "CivilianSedan_engine_failed_start_battery_SoundSet";
550 m_EngineStartPlug = "CivilianSedan_engine_failed_start_sparkplugs_SoundSet";
551 m_EngineStartFuel = "CivilianSedan_engine_failed_start_fuel_SoundSet";
552 m_EngineStop = "CivilianSedan_engine_stop_SoundSet";
553 m_EngineStopFuel = "CivilianSedan_engine_stop_fuel_SoundSet";
554
555 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
556 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
557
558 m_CarHornShortSoundName = "CivilianSedan_Horn_Short_SoundSet";
559 m_CarHornLongSoundName = "CivilianSedan_Horn_SoundSet";
560
561 SetEnginePos("0 0.7 1.6");
562 }
563
565 {
566 super.EEInit();
567
569 {
576
579 }
580 }
581
583 {
584 super.OnEngineStart();
585
587 {
589 }
590 }
591
593 {
594 super.OnEngineStop();
595
597 {
599 }
600 }
601
603 {
605 {
607 {
609 }
610 }
611 }
612
614 {
616 }
617
619 {
620 return 4.5;
621 }
622
624 {
625 switch (posIdx)
626 {
627 case 0:
629 case 1:
631 case 2:
633 case 3:
635 }
636
637 return 0;
638 }
639
640
642 {
644 }
645
646
648 {
650 }
651
653 {
654 if( !super.CanReleaseAttachment( attachment ) )
655 return false;
656
657 string attType = attachment.GetType();
658
660 {
661 if ( attType == "CarRadiator" || attType == "CarBattery" || attType == "SparkPlug")
662 return false;
663 }
664
665 return true;
666 }
667
669 {
671 }
672
674 {
675
676 if (!super.CanDisplayAttachmentCategory(category_name))
677 return false;
678
679
681 if (category_name.
Contains(
"engine"))
682 {
684 return false;
685 }
686
687 return true;
688 }
689
691 {
692 if ( !super.CanDisplayCargo() )
693 return false;
694
696 return false;
697
698 return true;
699 }
700
702 {
704
705 Class.
CastTo( carDoor, FindAttachmentBySlotName( slotType ) );
706 if (!carDoor)
707 {
709 }
710
711 switch (slotType)
712 {
713 case "CivSedanDriverDoors":
714 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
715 break;
716
717 case "CivSedanCoDriverDoors":
718 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
719 break;
720
721 case "CivSedanCargo1Doors":
722 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
723 break;
724
725 case "CivSedanCargo2Doors":
726 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
727 break;
728
729 case "CivSedanTrunk":
730 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
731 break;
732
733 case "CivSedanHood":
734 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
735 break;
736 }
737
739 }
740
741
743 {
744 switch( posIdx )
745 {
746 case 0:
748 return false;
749
750 return true;
751 break;
752
753 case 1:
755 return false;
756
757 return true;
758 break;
759
760 case 2:
762 return false;
763
764 return true;
765 break;
766
767 case 3:
769 return false;
770
771 return true;
772 break;
773 }
774
775 return false;
776 }
777
779 {
780 switch( posIdx )
781 {
782 case 0:
783 return "doors_driver";
784 break;
785 case 1:
786 return "doors_codriver";
787 break;
788 case 2:
789 return "doors_cargo1";
790 break;
791 case 3:
792 return "doors_cargo2";
793 break;
794 }
795
796 return super.GetDoorSelectionNameFromSeatPos(posIdx);
797 }
798
800 {
801 switch( posIdx )
802 {
803 case 0:
804 return "CivSedanDriverDoors";
805 break;
806 case 1:
807 return "CivSedanCoDriverDoors";
808 break;
809 case 2:
810 return "CivSedanCargo1Doors";
811 break;
812 case 3:
813 return "CivSedanCargo2Doors";
814 break;
815 }
816
817 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
818 }
819
820
821
823 {
824 switch (ctrl)
825 {
827 float newValue = 0;
829 {
830 newValue += 0.25;
831 }
832
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.6;
851 }
852
854 {
855 newValue -= 0.6;
856 }
857
859 break;
860 }
861
862 return super.OnSound(ctrl, oldValue);
863 }
864
866 {
867 switch (selection)
868 {
869 case "doors_driver":
870 return "DoorsDriver";
871 case "doors_codriver":
872 return "DoorsCoDriver";
873 case "doors_cargo1":
874 return "DoorsCargo1";
875 case "doors_cargo2":
876 return "DoorsCargo2";
877 case "doors_hood":
878 return "DoorsHood";
879 case "doors_trunk":
880 return "DoorsTrunk";
881 }
882
883 return "";
884 }
885
887 {
888 return false;
889 }
890
892 {
893 return false;
894 }
895
897 {
898 switch (currentSeat)
899 {
900 case 0:
901 return nextSeat == 1;
902
903 case 1:
904 return nextSeat == 0;
905
906 case 2:
907 return nextSeat == 3;
908
909 case 3:
910 return nextSeat == 2;
911 }
912
913 return false;
914 }
915
917 {
918 switch (pCurrentSeat)
919 {
920 case 0:
921 return pDoorsSelection == "DoorsDriver";
922
923 case 1:
924 return pDoorsSelection == "DoorsCoDriver";
925
926 case 2:
927 return pDoorsSelection == "DoorsCargo1";
928
929 case 3:
930 return pDoorsSelection == "DoorsCargo2";
931 }
932
933 return false;
934 }
935
937 {
938 SpawnUniversalParts();
939 SpawnAdditionalItems();
940 FillUpCarFluids();
941
942 GetInventory().CreateInInventory("CivSedanWheel");
943 GetInventory().CreateInInventory("CivSedanWheel");
944 GetInventory().CreateInInventory("CivSedanWheel");
945 GetInventory().CreateInInventory("CivSedanWheel");
946
947 GetInventory().CreateInInventory("CivSedanDoors_Driver");
948 GetInventory().CreateInInventory("CivSedanDoors_CoDriver");
949 GetInventory().CreateInInventory("CivSedanDoors_BackLeft");
950 GetInventory().CreateInInventory("CivSedanDoors_BackRight");
951 GetInventory().CreateInInventory("CivSedanHood");
952 GetInventory().CreateInInventory("CivSedanTrunk");
953
954
955 GetInventory().CreateInInventory("CivSedanWheel");
956 GetInventory().CreateInInventory("CivSedanWheel");
957 }
958
960 {
961 return 1.5;
962 }
963}
964
966{
968 {
969 SpawnUniversalParts();
970 SpawnAdditionalItems();
971 FillUpCarFluids();
972
973 GetInventory().CreateInInventory("CivSedanWheel");
974 GetInventory().CreateInInventory("CivSedanWheel");
975 GetInventory().CreateInInventory("CivSedanWheel");
976 GetInventory().CreateInInventory("CivSedanWheel");
977
978 GetInventory().CreateInInventory("CivSedanDoors_Driver_Wine");
979 GetInventory().CreateInInventory("CivSedanDoors_CoDriver_Wine");
980 GetInventory().CreateInInventory("CivSedanDoors_BackLeft_Wine");
981 GetInventory().CreateInInventory("CivSedanDoors_BackRight_Wine");
982 GetInventory().CreateInInventory("CivSedanHood_Wine");
983 GetInventory().CreateInInventory("CivSedanTrunk_Wine");
984
985
986 GetInventory().CreateInInventory("CivSedanWheel");
987 GetInventory().CreateInInventory("CivSedanWheel");
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_Black");
1005 GetInventory().CreateInInventory("CivSedanDoors_CoDriver_Black");
1006 GetInventory().CreateInInventory("CivSedanDoors_BackLeft_Black");
1007 GetInventory().CreateInInventory("CivSedanDoors_BackRight_Black");
1008 GetInventory().CreateInInventory("CivSedanHood_Black");
1009 GetInventory().CreateInInventory("CivSedanTrunk_Black");
1010
1011
1012 GetInventory().CreateInInventory("CivSedanWheel");
1013 GetInventory().CreateInInventory("CivSedanWheel");
1014 }
1015}
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.