515{
519
521 {
522
523
524 m_EngineStartOK = "CivilianSedan_engine_start_SoundSet";
525 m_EngineStartBattery = "CivilianSedan_engine_failed_start_battery_SoundSet";
526 m_EngineStartPlug = "CivilianSedan_engine_failed_start_sparkplugs_SoundSet";
527 m_EngineStartFuel = "CivilianSedan_engine_failed_start_fuel_SoundSet";
528 m_EngineStop = "CivilianSedan_engine_stop_SoundSet";
529 m_EngineStopFuel = "CivilianSedan_engine_stop_fuel_SoundSet";
530
531 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
532 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
533
534 m_CarHornShortSoundName = "CivilianSedan_Horn_Short_SoundSet";
535 m_CarHornLongSoundName = "CivilianSedan_Horn_SoundSet";
536
537 SetEnginePos("0 0.7 1.6");
538 }
539
541 {
542 super.EEInit();
543
545 {
552
555 }
556 }
557
559 {
560 super.OnEngineStart();
561
563 {
565 }
566 }
567
569 {
570 super.OnEngineStop();
571
573 {
575 }
576 }
577
579 {
581 {
583 {
585 }
586 }
587 }
588
590 {
592 }
593
595 {
596 return 4.5;
597 }
598
600 {
601 switch (posIdx)
602 {
603 case 0:
605 case 1:
607 case 2:
609 case 3:
611 }
612
613 return 0;
614 }
615
616
618 {
620 }
621
622
624 {
626 }
627
629 {
630 if( !super.CanReleaseAttachment( attachment ) )
631 return false;
632
633 string attType = attachment.GetType();
634
636 {
637 if ( attType == "CarRadiator" || attType == "CarBattery" || attType == "SparkPlug")
638 return false;
639 }
640
641 return true;
642 }
643
645 {
647 }
648
650 {
651
652 if (!super.CanDisplayAttachmentCategory(category_name))
653 return false;
654
655
657 if (category_name.
Contains(
"engine"))
658 {
660 return false;
661 }
662
663 return true;
664 }
665
667 {
668 if ( !super.CanDisplayCargo() )
669 return false;
670
672 return false;
673
674 return true;
675 }
676
678 {
680
681 Class.
CastTo( carDoor, FindAttachmentBySlotName( slotType ) );
682 if (!carDoor)
683 {
685 }
686
687 switch (slotType)
688 {
689 case "CivSedanDriverDoors":
690 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
691 break;
692
693 case "CivSedanCoDriverDoors":
694 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
695 break;
696
697 case "CivSedanCargo1Doors":
698 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
699 break;
700
701 case "CivSedanCargo2Doors":
702 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
703 break;
704
705 case "CivSedanTrunk":
706 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
707 break;
708
709 case "CivSedanHood":
710 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
711 break;
712 }
713
715 }
716
717
719 {
720 switch( posIdx )
721 {
722 case 0:
724 return false;
725
726 return true;
727 break;
728
729 case 1:
731 return false;
732
733 return true;
734 break;
735
736 case 2:
738 return false;
739
740 return true;
741 break;
742
743 case 3:
745 return false;
746
747 return true;
748 break;
749 }
750
751 return false;
752 }
753
755 {
756 switch( posIdx )
757 {
758 case 0:
759 return "doors_driver";
760 break;
761 case 1:
762 return "doors_codriver";
763 break;
764 case 2:
765 return "doors_cargo1";
766 break;
767 case 3:
768 return "doors_cargo2";
769 break;
770 }
771
772 return super.GetDoorSelectionNameFromSeatPos(posIdx);
773 }
774
776 {
777 switch( posIdx )
778 {
779 case 0:
780 return "CivSedanDriverDoors";
781 break;
782 case 1:
783 return "CivSedanCoDriverDoors";
784 break;
785 case 2:
786 return "CivSedanCargo1Doors";
787 break;
788 case 3:
789 return "CivSedanCargo2Doors";
790 break;
791 }
792
793 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
794 }
795
796
797
799 {
800 switch (ctrl)
801 {
803 float newValue = 0;
805 {
806 newValue += 0.25;
807 }
808
810 {
811 newValue += 0.25;
812 }
813
815 {
816 newValue += 0.25;
817 }
818
820 {
821 newValue += 0.25;
822 }
823
825 {
826 newValue -= 0.6;
827 }
828
830 {
831 newValue -= 0.6;
832 }
833
835 break;
836 }
837
838 return super.OnSound(ctrl, oldValue);
839 }
840
842 {
843 switch (selection)
844 {
845 case "doors_driver":
846 return "DoorsDriver";
847 case "doors_codriver":
848 return "DoorsCoDriver";
849 case "doors_cargo1":
850 return "DoorsCargo1";
851 case "doors_cargo2":
852 return "DoorsCargo2";
853 case "doors_hood":
854 return "DoorsHood";
855 case "doors_trunk":
856 return "DoorsTrunk";
857 }
858
859 return "";
860 }
861
863 {
864 return false;
865 }
866
868 {
869 return false;
870 }
871
873 {
874 switch (currentSeat)
875 {
876 case 0:
877 return nextSeat == 1;
878
879 case 1:
880 return nextSeat == 0;
881
882 case 2:
883 return nextSeat == 3;
884
885 case 3:
886 return nextSeat == 2;
887 }
888
889 return false;
890 }
891
893 {
894 switch (pCurrentSeat)
895 {
896 case 0:
897 return pDoorsSelection == "DoorsDriver";
898
899 case 1:
900 return pDoorsSelection == "DoorsCoDriver";
901
902 case 2:
903 return pDoorsSelection == "DoorsCargo1";
904
905 case 3:
906 return pDoorsSelection == "DoorsCargo2";
907 }
908
909 return false;
910 }
911
913 {
914 SpawnUniversalParts();
915 SpawnAdditionalItems();
916 FillUpCarFluids();
917
918 GetInventory().CreateInInventory("CivSedanWheel");
919 GetInventory().CreateInInventory("CivSedanWheel");
920 GetInventory().CreateInInventory("CivSedanWheel");
921 GetInventory().CreateInInventory("CivSedanWheel");
922
923 GetInventory().CreateInInventory("CivSedanDoors_Driver");
924 GetInventory().CreateInInventory("CivSedanDoors_CoDriver");
925 GetInventory().CreateInInventory("CivSedanDoors_BackLeft");
926 GetInventory().CreateInInventory("CivSedanDoors_BackRight");
927 GetInventory().CreateInInventory("CivSedanHood");
928 GetInventory().CreateInInventory("CivSedanTrunk");
929
930
931 GetInventory().CreateInInventory("CivSedanWheel");
932 GetInventory().CreateInInventory("CivSedanWheel");
933 }
934
936 {
937 return 1.5;
938 }
939}
940
942{
944 {
945 SpawnUniversalParts();
946 SpawnAdditionalItems();
947 FillUpCarFluids();
948
949 GetInventory().CreateInInventory("CivSedanWheel");
950 GetInventory().CreateInInventory("CivSedanWheel");
951 GetInventory().CreateInInventory("CivSedanWheel");
952 GetInventory().CreateInInventory("CivSedanWheel");
953
954 GetInventory().CreateInInventory("CivSedanDoors_Driver_Wine");
955 GetInventory().CreateInInventory("CivSedanDoors_CoDriver_Wine");
956 GetInventory().CreateInInventory("CivSedanDoors_BackLeft_Wine");
957 GetInventory().CreateInInventory("CivSedanDoors_BackRight_Wine");
958 GetInventory().CreateInInventory("CivSedanHood_Wine");
959 GetInventory().CreateInInventory("CivSedanTrunk_Wine");
960
961
962 GetInventory().CreateInInventory("CivSedanWheel");
963 GetInventory().CreateInInventory("CivSedanWheel");
964 }
965}
966
968{
970 {
971 SpawnUniversalParts();
972 SpawnAdditionalItems();
973 FillUpCarFluids();
974
975 GetInventory().CreateInInventory("CivSedanWheel");
976 GetInventory().CreateInInventory("CivSedanWheel");
977 GetInventory().CreateInInventory("CivSedanWheel");
978 GetInventory().CreateInInventory("CivSedanWheel");
979
980 GetInventory().CreateInInventory("CivSedanDoors_Driver_Black");
981 GetInventory().CreateInInventory("CivSedanDoors_CoDriver_Black");
982 GetInventory().CreateInInventory("CivSedanDoors_BackLeft_Black");
983 GetInventory().CreateInInventory("CivSedanDoors_BackRight_Black");
984 GetInventory().CreateInInventory("CivSedanHood_Black");
985 GetInventory().CreateInInventory("CivSedanTrunk_Black");
986
987
988 GetInventory().CreateInInventory("CivSedanWheel");
989 GetInventory().CreateInInventory("CivSedanWheel");
990 }
991}
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.