505{
509
511 {
512
513
514 m_EngineStartOK = "CivilianSedan_engine_start_SoundSet";
515 m_EngineStartBattery = "CivilianSedan_engine_failed_start_battery_SoundSet";
516 m_EngineStartPlug = "CivilianSedan_engine_failed_start_sparkplugs_SoundSet";
517 m_EngineStartFuel = "CivilianSedan_engine_failed_start_fuel_SoundSet";
518 m_EngineStop = "CivilianSedan_engine_stop_SoundSet";
519 m_EngineStopFuel = "CivilianSedan_engine_stop_fuel_SoundSet";
520
521 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
522 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
523
524 m_CarHornShortSoundName = "CivilianSedan_Horn_Short_SoundSet";
525 m_CarHornLongSoundName = "CivilianSedan_Horn_SoundSet";
526
527 SetEnginePos("0 0.7 1.6");
528 }
529
531 {
532 super.EEInit();
533
535 {
542
545 }
546 }
547
549 {
550 super.OnEngineStart();
551
553 {
555 }
556 }
557
559 {
560 super.OnEngineStop();
561
563 {
565 }
566 }
567
569 {
571 {
573 {
575 }
576 }
577 }
578
580 {
582 }
583
585 {
586 return 4.5;
587 }
588
590 {
591 switch (posIdx)
592 {
593 case 0:
595 case 1:
597 case 2:
599 case 3:
601 }
602
603 return 0;
604 }
605
606
608 {
610 }
611
612
614 {
616 }
617
619 {
620 if( !super.CanReleaseAttachment( attachment ) )
621 return false;
622
623 string attType = attachment.GetType();
624
626 {
627 if ( attType == "CarRadiator" || attType == "CarBattery" || attType == "SparkPlug")
628 return false;
629 }
630
631 return true;
632 }
633
635 {
637 }
638
640 {
641
642 if (!super.CanDisplayAttachmentCategory(category_name))
643 return false;
644
645
647 if (category_name.
Contains(
"engine"))
648 {
650 return false;
651 }
652
653 return true;
654 }
655
657 {
658 if ( !super.CanDisplayCargo() )
659 return false;
660
662 return false;
663
664 return true;
665 }
666
668 {
670
671 Class.
CastTo( carDoor, FindAttachmentBySlotName( slotType ) );
672 if (!carDoor)
673 {
675 }
676
677 switch (slotType)
678 {
679 case "CivSedanDriverDoors":
680 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
681 break;
682
683 case "CivSedanCoDriverDoors":
684 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
685 break;
686
687 case "CivSedanCargo1Doors":
688 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
689 break;
690
691 case "CivSedanCargo2Doors":
692 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
693 break;
694
695 case "CivSedanTrunk":
696 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
697 break;
698
699 case "CivSedanHood":
700 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
701 break;
702 }
703
705 }
706
707
709 {
710 switch( posIdx )
711 {
712 case 0:
714 return false;
715
716 return true;
717 break;
718
719 case 1:
721 return false;
722
723 return true;
724 break;
725
726 case 2:
728 return false;
729
730 return true;
731 break;
732
733 case 3:
735 return false;
736
737 return true;
738 break;
739 }
740
741 return false;
742 }
743
745 {
746 switch( posIdx )
747 {
748 case 0:
749 return "doors_driver";
750 break;
751 case 1:
752 return "doors_codriver";
753 break;
754 case 2:
755 return "doors_cargo1";
756 break;
757 case 3:
758 return "doors_cargo2";
759 break;
760 }
761
762 return super.GetDoorSelectionNameFromSeatPos(posIdx);
763 }
764
766 {
767 switch( posIdx )
768 {
769 case 0:
770 return "CivSedanDriverDoors";
771 break;
772 case 1:
773 return "CivSedanCoDriverDoors";
774 break;
775 case 2:
776 return "CivSedanCargo1Doors";
777 break;
778 case 3:
779 return "CivSedanCargo2Doors";
780 break;
781 }
782
783 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
784 }
785
786
787
789 {
790 switch (ctrl)
791 {
793 float newValue = 0;
795 {
796 newValue += 0.25;
797 }
798
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.6;
817 }
818
820 {
821 newValue -= 0.6;
822 }
823
825 break;
826 }
827
828 return super.OnSound(ctrl, oldValue);
829 }
830
832 {
833 switch (selection)
834 {
835 case "doors_driver":
836 return "DoorsDriver";
837 case "doors_codriver":
838 return "DoorsCoDriver";
839 case "doors_cargo1":
840 return "DoorsCargo1";
841 case "doors_cargo2":
842 return "DoorsCargo2";
843 case "doors_hood":
844 return "DoorsHood";
845 case "doors_trunk":
846 return "DoorsTrunk";
847 }
848
849 return "";
850 }
851
853 {
854 return false;
855 }
856
858 {
859 return false;
860 }
861
863 {
864 switch (currentSeat)
865 {
866 case 0:
867 return nextSeat == 1;
868
869 case 1:
870 return nextSeat == 0;
871
872 case 2:
873 return nextSeat == 3;
874
875 case 3:
876 return nextSeat == 2;
877 }
878
879 return false;
880 }
881
883 {
884 switch (pCurrentSeat)
885 {
886 case 0:
887 return pDoorsSelection == "DoorsDriver";
888
889 case 1:
890 return pDoorsSelection == "DoorsCoDriver";
891
892 case 2:
893 return pDoorsSelection == "DoorsCargo1";
894
895 case 3:
896 return pDoorsSelection == "DoorsCargo2";
897 }
898
899 return false;
900 }
901
903 {
904 SpawnUniversalParts();
905 SpawnAdditionalItems();
906 FillUpCarFluids();
907
908 GetInventory().CreateInInventory("CivSedanWheel");
909 GetInventory().CreateInInventory("CivSedanWheel");
910 GetInventory().CreateInInventory("CivSedanWheel");
911 GetInventory().CreateInInventory("CivSedanWheel");
912
913 GetInventory().CreateInInventory("CivSedanDoors_Driver");
914 GetInventory().CreateInInventory("CivSedanDoors_CoDriver");
915 GetInventory().CreateInInventory("CivSedanDoors_BackLeft");
916 GetInventory().CreateInInventory("CivSedanDoors_BackRight");
917 GetInventory().CreateInInventory("CivSedanHood");
918 GetInventory().CreateInInventory("CivSedanTrunk");
919
920
921 GetInventory().CreateInInventory("CivSedanWheel");
922 GetInventory().CreateInInventory("CivSedanWheel");
923 }
924
926 {
927 return 1.5;
928 }
929}
930
932{
934 {
935 SpawnUniversalParts();
936 SpawnAdditionalItems();
937 FillUpCarFluids();
938
939 GetInventory().CreateInInventory("CivSedanWheel");
940 GetInventory().CreateInInventory("CivSedanWheel");
941 GetInventory().CreateInInventory("CivSedanWheel");
942 GetInventory().CreateInInventory("CivSedanWheel");
943
944 GetInventory().CreateInInventory("CivSedanDoors_Driver_Wine");
945 GetInventory().CreateInInventory("CivSedanDoors_CoDriver_Wine");
946 GetInventory().CreateInInventory("CivSedanDoors_BackLeft_Wine");
947 GetInventory().CreateInInventory("CivSedanDoors_BackRight_Wine");
948 GetInventory().CreateInInventory("CivSedanHood_Wine");
949 GetInventory().CreateInInventory("CivSedanTrunk_Wine");
950
951
952 GetInventory().CreateInInventory("CivSedanWheel");
953 GetInventory().CreateInInventory("CivSedanWheel");
954 }
955}
956
958{
960 {
961 SpawnUniversalParts();
962 SpawnAdditionalItems();
963 FillUpCarFluids();
964
965 GetInventory().CreateInInventory("CivSedanWheel");
966 GetInventory().CreateInInventory("CivSedanWheel");
967 GetInventory().CreateInInventory("CivSedanWheel");
968 GetInventory().CreateInInventory("CivSedanWheel");
969
970 GetInventory().CreateInInventory("CivSedanDoors_Driver_Black");
971 GetInventory().CreateInInventory("CivSedanDoors_CoDriver_Black");
972 GetInventory().CreateInInventory("CivSedanDoors_BackLeft_Black");
973 GetInventory().CreateInInventory("CivSedanDoors_BackRight_Black");
974 GetInventory().CreateInInventory("CivSedanHood_Black");
975 GetInventory().CreateInInventory("CivSedanTrunk_Black");
976
977
978 GetInventory().CreateInInventory("CivSedanWheel");
979 GetInventory().CreateInInventory("CivSedanWheel");
980 }
981}
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.