533{
537
539 {
540
541
542 m_EngineStartOK = "CivilianSedan_engine_start_SoundSet";
543 m_EngineStartBattery = "CivilianSedan_engine_failed_start_battery_SoundSet";
544 m_EngineStartPlug = "CivilianSedan_engine_failed_start_sparkplugs_SoundSet";
545 m_EngineStartFuel = "CivilianSedan_engine_failed_start_fuel_SoundSet";
546 m_EngineStop = "CivilianSedan_engine_stop_SoundSet";
547 m_EngineStopFuel = "CivilianSedan_engine_stop_fuel_SoundSet";
548
549 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
550 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
551
552 m_CarHornShortSoundName = "CivilianSedan_Horn_Short_SoundSet";
553 m_CarHornLongSoundName = "CivilianSedan_Horn_SoundSet";
554
555 SetEnginePos("0 0.7 1.6");
556 }
557
559 {
560 super.EEInit();
561
563 {
570
573 }
574 }
575
577 {
578 super.OnEngineStart();
579
581 {
583 }
584 }
585
587 {
588 super.OnEngineStop();
589
591 {
593 }
594 }
595
597 {
599 {
601 {
603 }
604 }
605 }
606
608 {
610 }
611
613 {
614 return 4.5;
615 }
616
618 {
619 switch (posIdx)
620 {
621 case 0:
623 case 1:
625 case 2:
627 case 3:
629 }
630
631 return 0;
632 }
633
634
636 {
638 }
639
640
642 {
644 }
645
647 {
648 if( !super.CanReleaseAttachment( attachment ) )
649 return false;
650
651 string attType = attachment.GetType();
652
654 {
655 if ( attType == "CarRadiator" || attType == "CarBattery" || attType == "SparkPlug")
656 return false;
657 }
658
659 return true;
660 }
661
663 {
665 }
666
668 {
669
670 if (!super.CanDisplayAttachmentCategory(category_name))
671 return false;
672
673
675 if (category_name.
Contains(
"engine"))
676 {
678 return false;
679 }
680
681 return true;
682 }
683
685 {
686 if ( !super.CanDisplayCargo() )
687 return false;
688
690 return false;
691
692 return true;
693 }
694
696 {
698
699 Class.
CastTo( carDoor, FindAttachmentBySlotName( slotType ) );
700 if (!carDoor)
701 {
703 }
704
705 switch (slotType)
706 {
707 case "CivSedanDriverDoors":
708 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
709 break;
710
711 case "CivSedanCoDriverDoors":
712 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
713 break;
714
715 case "CivSedanCargo1Doors":
716 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
717 break;
718
719 case "CivSedanCargo2Doors":
720 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
721 break;
722
723 case "CivSedanTrunk":
724 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
725 break;
726
727 case "CivSedanHood":
728 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
729 break;
730 }
731
733 }
734
735
737 {
738 switch( posIdx )
739 {
740 case 0:
742 return false;
743
744 return true;
745 break;
746
747 case 1:
749 return false;
750
751 return true;
752 break;
753
754 case 2:
756 return false;
757
758 return true;
759 break;
760
761 case 3:
763 return false;
764
765 return true;
766 break;
767 }
768
769 return false;
770 }
771
773 {
774 switch( posIdx )
775 {
776 case 0:
777 return "doors_driver";
778 break;
779 case 1:
780 return "doors_codriver";
781 break;
782 case 2:
783 return "doors_cargo1";
784 break;
785 case 3:
786 return "doors_cargo2";
787 break;
788 }
789
790 return super.GetDoorSelectionNameFromSeatPos(posIdx);
791 }
792
794 {
795 switch( posIdx )
796 {
797 case 0:
798 return "CivSedanDriverDoors";
799 break;
800 case 1:
801 return "CivSedanCoDriverDoors";
802 break;
803 case 2:
804 return "CivSedanCargo1Doors";
805 break;
806 case 3:
807 return "CivSedanCargo2Doors";
808 break;
809 }
810
811 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
812 }
813
814
815
817 {
818 switch (ctrl)
819 {
821 float newValue = 0;
823 {
824 newValue += 0.25;
825 }
826
828 {
829 newValue += 0.25;
830 }
831
833 {
834 newValue += 0.25;
835 }
836
838 {
839 newValue += 0.25;
840 }
841
843 {
844 newValue -= 0.6;
845 }
846
848 {
849 newValue -= 0.6;
850 }
851
853 break;
854 }
855
856 return super.OnSound(ctrl, oldValue);
857 }
858
860 {
861 switch (selection)
862 {
863 case "doors_driver":
864 return "DoorsDriver";
865 case "doors_codriver":
866 return "DoorsCoDriver";
867 case "doors_cargo1":
868 return "DoorsCargo1";
869 case "doors_cargo2":
870 return "DoorsCargo2";
871 case "doors_hood":
872 return "DoorsHood";
873 case "doors_trunk":
874 return "DoorsTrunk";
875 }
876
877 return "";
878 }
879
881 {
882 return false;
883 }
884
886 {
887 return false;
888 }
889
891 {
892 switch (currentSeat)
893 {
894 case 0:
895 return nextSeat == 1;
896
897 case 1:
898 return nextSeat == 0;
899
900 case 2:
901 return nextSeat == 3;
902
903 case 3:
904 return nextSeat == 2;
905 }
906
907 return false;
908 }
909
911 {
912 switch (pCurrentSeat)
913 {
914 case 0:
915 return pDoorsSelection == "DoorsDriver";
916
917 case 1:
918 return pDoorsSelection == "DoorsCoDriver";
919
920 case 2:
921 return pDoorsSelection == "DoorsCargo1";
922
923 case 3:
924 return pDoorsSelection == "DoorsCargo2";
925 }
926
927 return false;
928 }
929
931 {
932 SpawnUniversalParts();
933 SpawnAdditionalItems();
934 FillUpCarFluids();
935
936 GetInventory().CreateInInventory("CivSedanWheel");
937 GetInventory().CreateInInventory("CivSedanWheel");
938 GetInventory().CreateInInventory("CivSedanWheel");
939 GetInventory().CreateInInventory("CivSedanWheel");
940
941 GetInventory().CreateInInventory("CivSedanDoors_Driver");
942 GetInventory().CreateInInventory("CivSedanDoors_CoDriver");
943 GetInventory().CreateInInventory("CivSedanDoors_BackLeft");
944 GetInventory().CreateInInventory("CivSedanDoors_BackRight");
945 GetInventory().CreateInInventory("CivSedanHood");
946 GetInventory().CreateInInventory("CivSedanTrunk");
947
948
949 GetInventory().CreateInInventory("CivSedanWheel");
950 GetInventory().CreateInInventory("CivSedanWheel");
951 }
952
954 {
955 return 1.5;
956 }
957}
958
960{
962 {
963 SpawnUniversalParts();
964 SpawnAdditionalItems();
965 FillUpCarFluids();
966
967 GetInventory().CreateInInventory("CivSedanWheel");
968 GetInventory().CreateInInventory("CivSedanWheel");
969 GetInventory().CreateInInventory("CivSedanWheel");
970 GetInventory().CreateInInventory("CivSedanWheel");
971
972 GetInventory().CreateInInventory("CivSedanDoors_Driver_Wine");
973 GetInventory().CreateInInventory("CivSedanDoors_CoDriver_Wine");
974 GetInventory().CreateInInventory("CivSedanDoors_BackLeft_Wine");
975 GetInventory().CreateInInventory("CivSedanDoors_BackRight_Wine");
976 GetInventory().CreateInInventory("CivSedanHood_Wine");
977 GetInventory().CreateInInventory("CivSedanTrunk_Wine");
978
979
980 GetInventory().CreateInInventory("CivSedanWheel");
981 GetInventory().CreateInInventory("CivSedanWheel");
982 }
983}
984
986{
988 {
989 SpawnUniversalParts();
990 SpawnAdditionalItems();
991 FillUpCarFluids();
992
993 GetInventory().CreateInInventory("CivSedanWheel");
994 GetInventory().CreateInInventory("CivSedanWheel");
995 GetInventory().CreateInInventory("CivSedanWheel");
996 GetInventory().CreateInInventory("CivSedanWheel");
997
998 GetInventory().CreateInInventory("CivSedanDoors_Driver_Black");
999 GetInventory().CreateInInventory("CivSedanDoors_CoDriver_Black");
1000 GetInventory().CreateInInventory("CivSedanDoors_BackLeft_Black");
1001 GetInventory().CreateInInventory("CivSedanDoors_BackRight_Black");
1002 GetInventory().CreateInInventory("CivSedanHood_Black");
1003 GetInventory().CreateInInventory("CivSedanTrunk_Black");
1004
1005
1006 GetInventory().CreateInInventory("CivSedanWheel");
1007 GetInventory().CreateInInventory("CivSedanWheel");
1008 }
1009}
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.