510{
514
516 {
517
518
519 m_EngineStartOK = "CivilianSedan_engine_start_SoundSet";
520 m_EngineStartBattery = "CivilianSedan_engine_failed_start_battery_SoundSet";
521 m_EngineStartPlug = "CivilianSedan_engine_failed_start_sparkplugs_SoundSet";
522 m_EngineStartFuel = "CivilianSedan_engine_failed_start_fuel_SoundSet";
523 m_EngineStop = "CivilianSedan_engine_stop_SoundSet";
524 m_EngineStopFuel = "CivilianSedan_engine_stop_fuel_SoundSet";
525
526 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
527 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
528
529 m_CarHornShortSoundName = "CivilianSedan_Horn_Short_SoundSet";
530 m_CarHornLongSoundName = "CivilianSedan_Horn_SoundSet";
531
532 SetEnginePos("0 0.7 1.6");
533 }
534
536 {
537 super.EEInit();
538
540 {
547
550 }
551 }
552
554 {
555 super.OnEngineStart();
556
558 {
560 }
561 }
562
564 {
565 super.OnEngineStop();
566
568 {
570 }
571 }
572
574 {
576 {
578 {
580 }
581 }
582 }
583
585 {
587 }
588
590 {
591 return 4.5;
592 }
593
595 {
596 switch (posIdx)
597 {
598 case 0:
600 case 1:
602 case 2:
604 case 3:
606 }
607
608 return 0;
609 }
610
611
613 {
615 }
616
617
619 {
621 }
622
624 {
625 if( !super.CanReleaseAttachment( attachment ) )
626 return false;
627
628 string attType = attachment.GetType();
629
631 {
632 if ( attType == "CarRadiator" || attType == "CarBattery" || attType == "SparkPlug")
633 return false;
634 }
635
636 return true;
637 }
638
640 {
642 }
643
645 {
646
647 if (!super.CanDisplayAttachmentCategory(category_name))
648 return false;
649
650
652 if (category_name.
Contains(
"engine"))
653 {
655 return false;
656 }
657
658 return true;
659 }
660
662 {
663 if ( !super.CanDisplayCargo() )
664 return false;
665
667 return false;
668
669 return true;
670 }
671
673 {
675
676 Class.
CastTo( carDoor, FindAttachmentBySlotName( slotType ) );
677 if (!carDoor)
678 {
680 }
681
682 switch (slotType)
683 {
684 case "CivSedanDriverDoors":
685 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
686 break;
687
688 case "CivSedanCoDriverDoors":
689 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
690 break;
691
692 case "CivSedanCargo1Doors":
693 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
694 break;
695
696 case "CivSedanCargo2Doors":
697 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
698 break;
699
700 case "CivSedanTrunk":
701 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
702 break;
703
704 case "CivSedanHood":
705 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
706 break;
707 }
708
710 }
711
712
714 {
715 switch( posIdx )
716 {
717 case 0:
719 return false;
720
721 return true;
722 break;
723
724 case 1:
726 return false;
727
728 return true;
729 break;
730
731 case 2:
733 return false;
734
735 return true;
736 break;
737
738 case 3:
740 return false;
741
742 return true;
743 break;
744 }
745
746 return false;
747 }
748
750 {
751 switch( posIdx )
752 {
753 case 0:
754 return "doors_driver";
755 break;
756 case 1:
757 return "doors_codriver";
758 break;
759 case 2:
760 return "doors_cargo1";
761 break;
762 case 3:
763 return "doors_cargo2";
764 break;
765 }
766
767 return super.GetDoorSelectionNameFromSeatPos(posIdx);
768 }
769
771 {
772 switch( posIdx )
773 {
774 case 0:
775 return "CivSedanDriverDoors";
776 break;
777 case 1:
778 return "CivSedanCoDriverDoors";
779 break;
780 case 2:
781 return "CivSedanCargo1Doors";
782 break;
783 case 3:
784 return "CivSedanCargo2Doors";
785 break;
786 }
787
788 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
789 }
790
791
792
794 {
795 switch (ctrl)
796 {
798 float newValue = 0;
800 {
801 newValue += 0.25;
802 }
803
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.6;
822 }
823
825 {
826 newValue -= 0.6;
827 }
828
830 break;
831 }
832
833 return super.OnSound(ctrl, oldValue);
834 }
835
837 {
838 switch (selection)
839 {
840 case "doors_driver":
841 return "DoorsDriver";
842 case "doors_codriver":
843 return "DoorsCoDriver";
844 case "doors_cargo1":
845 return "DoorsCargo1";
846 case "doors_cargo2":
847 return "DoorsCargo2";
848 case "doors_hood":
849 return "DoorsHood";
850 case "doors_trunk":
851 return "DoorsTrunk";
852 }
853
854 return "";
855 }
856
858 {
859 return false;
860 }
861
863 {
864 return false;
865 }
866
868 {
869 switch (currentSeat)
870 {
871 case 0:
872 return nextSeat == 1;
873
874 case 1:
875 return nextSeat == 0;
876
877 case 2:
878 return nextSeat == 3;
879
880 case 3:
881 return nextSeat == 2;
882 }
883
884 return false;
885 }
886
888 {
889 switch (pCurrentSeat)
890 {
891 case 0:
892 return pDoorsSelection == "DoorsDriver";
893
894 case 1:
895 return pDoorsSelection == "DoorsCoDriver";
896
897 case 2:
898 return pDoorsSelection == "DoorsCargo1";
899
900 case 3:
901 return pDoorsSelection == "DoorsCargo2";
902 }
903
904 return false;
905 }
906
908 {
909 SpawnUniversalParts();
910 SpawnAdditionalItems();
911 FillUpCarFluids();
912
913 GetInventory().CreateInInventory("CivSedanWheel");
914 GetInventory().CreateInInventory("CivSedanWheel");
915 GetInventory().CreateInInventory("CivSedanWheel");
916 GetInventory().CreateInInventory("CivSedanWheel");
917
918 GetInventory().CreateInInventory("CivSedanDoors_Driver");
919 GetInventory().CreateInInventory("CivSedanDoors_CoDriver");
920 GetInventory().CreateInInventory("CivSedanDoors_BackLeft");
921 GetInventory().CreateInInventory("CivSedanDoors_BackRight");
922 GetInventory().CreateInInventory("CivSedanHood");
923 GetInventory().CreateInInventory("CivSedanTrunk");
924
925
926 GetInventory().CreateInInventory("CivSedanWheel");
927 GetInventory().CreateInInventory("CivSedanWheel");
928 }
929
931 {
932 return 1.5;
933 }
934}
935
937{
939 {
940 SpawnUniversalParts();
941 SpawnAdditionalItems();
942 FillUpCarFluids();
943
944 GetInventory().CreateInInventory("CivSedanWheel");
945 GetInventory().CreateInInventory("CivSedanWheel");
946 GetInventory().CreateInInventory("CivSedanWheel");
947 GetInventory().CreateInInventory("CivSedanWheel");
948
949 GetInventory().CreateInInventory("CivSedanDoors_Driver_Wine");
950 GetInventory().CreateInInventory("CivSedanDoors_CoDriver_Wine");
951 GetInventory().CreateInInventory("CivSedanDoors_BackLeft_Wine");
952 GetInventory().CreateInInventory("CivSedanDoors_BackRight_Wine");
953 GetInventory().CreateInInventory("CivSedanHood_Wine");
954 GetInventory().CreateInInventory("CivSedanTrunk_Wine");
955
956
957 GetInventory().CreateInInventory("CivSedanWheel");
958 GetInventory().CreateInInventory("CivSedanWheel");
959 }
960}
961
963{
965 {
966 SpawnUniversalParts();
967 SpawnAdditionalItems();
968 FillUpCarFluids();
969
970 GetInventory().CreateInInventory("CivSedanWheel");
971 GetInventory().CreateInInventory("CivSedanWheel");
972 GetInventory().CreateInInventory("CivSedanWheel");
973 GetInventory().CreateInInventory("CivSedanWheel");
974
975 GetInventory().CreateInInventory("CivSedanDoors_Driver_Black");
976 GetInventory().CreateInInventory("CivSedanDoors_CoDriver_Black");
977 GetInventory().CreateInInventory("CivSedanDoors_BackLeft_Black");
978 GetInventory().CreateInInventory("CivSedanDoors_BackRight_Black");
979 GetInventory().CreateInInventory("CivSedanHood_Black");
980 GetInventory().CreateInInventory("CivSedanTrunk_Black");
981
982
983 GetInventory().CreateInInventory("CivSedanWheel");
984 GetInventory().CreateInInventory("CivSedanWheel");
985 }
986}
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.