513{
517
519 {
520 m_dmgContactCoef = 0.0790;
521
522 m_EngineStartOK = "Sedan_02_engine_start_SoundSet";
523 m_EngineStartBattery = "Sedan_02_engine_failed_start_battery_SoundSet";
524 m_EngineStartPlug = "Sedan_02_engine_failed_start_sparkplugs_SoundSet";
525 m_EngineStartFuel = "Sedan_02_engine_failed_start_fuel_SoundSet";
526 m_EngineStop = "Sedan_02_engine_stop_SoundSet";
527 m_EngineStopFuel = "Sedan_02_engine_stop_fuel_SoundSet";
528
529 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
530 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
531
532 m_CarHornShortSoundName = "Sedan_02_Horn_Short_SoundSet";
533 m_CarHornLongSoundName = "Sedan_02_Horn_SoundSet";
534
535 SetEnginePos("0 0.7 -1.7");
536 }
537
539 {
540 super.EEInit();
541
543 {
550
553 }
554 }
555
557 {
558 super.OnEngineStart();
559
561 {
563 }
564 }
565
567 {
568 super.OnEngineStop();
569
571 {
573 }
574 }
575
577 {
579 {
581 {
583 }
584 }
585 }
586
588 {
590 }
591
593 {
594 switch (posIdx)
595 {
596 case 0:
598 case 1:
600 case 2:
602 case 3:
604 }
605
606 return 0;
607 }
608
609
611 {
613 }
614
615
617 {
619 }
620
622 {
623 if (!super.CanReleaseAttachment(attachment))
624 {
625 return false;
626 }
627
628 string attType = attachment.GetType();
629 switch (attType)
630 {
631 case "CarBattery":
633 {
634 return false;
635 }
636 break;
637
638 case "SparkPlug":
640 {
641 return false;
642 }
643 break;
644
645 case "CarRadiator":
647 {
648 return false;
649 }
650 break;
651 }
652
653 return true;
654 }
655
657 {
659 }
660
662 {
663 if ( !super.CanDisplayAttachmentCategory(category_name))
664 {
665 return false;
666 }
667
669 if (category_name.
Contains(
"engine"))
670 {
672 {
673 return false;
674 }
675 }
676
677 if (category_name.
Contains(
"trunk"))
678 {
680 {
681 return false;
682 }
683 }
684
685 return true;
686 }
687
689 {
690 if ( !super.CanDisplayCargo() )
691 return false;
692
694 return false;
695
696 return true;
697 }
698
700 {
702
703 Class.
CastTo( carDoor, FindAttachmentBySlotName( slotType ) );
704 if (!carDoor)
705 {
707 }
708
709 switch (slotType)
710 {
711 case "Sedan_02_Door_1_1":
712 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
713
714 case "Sedan_02_Door_2_1":
715 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
716
717 case "Sedan_02_Door_1_2":
718 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
719
720 case "Sedan_02_Door_2_2":
721 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
722
723 case "Sedan_02_Hood":
724 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
725
726 case "Sedan_02_Trunk":
727 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
728 }
729
731 }
732
733
735 {
736 switch( posIdx )
737 {
738 case 0:
740 return false;
741
742 return true;
743 break;
744
745 case 1:
747 return false;
748
749 return true;
750 break;
751
752 case 2:
754 return false;
755
756 return true;
757 break;
758
759 case 3:
761 return false;
762
763 return true;
764 break;
765 }
766
767 return false;
768 }
769
771 {
772 switch( posIdx )
773 {
774 case 0:
775 return "doors_driver";
776 break;
777 case 1:
778 return "doors_codriver";
779 break;
780 case 2:
781 return "doors_cargo1";
782 break;
783 case 3:
784 return "doors_cargo2";
785 break;
786 }
787
788 return super.GetDoorSelectionNameFromSeatPos(posIdx);
789 }
790
792 {
793 switch( posIdx )
794 {
795 case 0:
796 return "Sedan_02_Door_1_1";
797 break;
798 case 1:
799 return "Sedan_02_Door_2_1";
800 break;
801 case 2:
802 return "Sedan_02_Door_1_2";
803 break;
804 case 3:
805 return "Sedan_02_Door_2_2";
806 break;
807 }
808
809 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
810 }
811
813 {
814 switch ( ctrl )
815 {
817 float newValue = 0;
819 {
820 newValue += 0.25;
821 }
822
824 {
825 newValue += 0.25;
826 }
827
829 {
830 newValue += 0.25;
831 }
832
834 {
835 newValue += 0.25;
836 }
837
839 break;
840 }
841
842 return super.OnSound(ctrl, oldValue);
843 }
844
846 {
847 switch( selection )
848 {
849 case "doors_driver":
850 return "DoorsDriver";
851 case "doors_codriver":
852 return "DoorsCoDriver";
853 case "doors_cargo1":
854 return "DoorsCargo1";
855 case "doors_cargo2":
856 return "DoorsCargo2";
857 case "doors_hood":
858 return "DoorsHood";
859 case "doors_trunk":
860 return "DoorsTrunk";
861 }
862
863 return "";
864 }
865
866
868 {
869 return false;
870 }
871
873 {
874 return false;
875 }
876
878 {
879 switch (currentSeat)
880 {
881 case 0:
882 return nextSeat == 1;
883
884 case 1:
885 return nextSeat == 0;
886
887 case 2:
888 return nextSeat == 3;
889
890 case 3:
891 return nextSeat == 2;
892 }
893
894 return false;
895 }
896
898 {
899 switch (pCurrentSeat)
900 {
901 case 0:
902 return pDoorsSelection == "DoorsDriver";
903
904 case 1:
905 return pDoorsSelection == "DoorsCoDriver";
906
907 case 2:
908 return pDoorsSelection == "DoorsCargo1";
909
910 case 3:
911 return pDoorsSelection == "DoorsCargo2";
912 }
913
914 return false;
915 }
916
918 {
919 SpawnUniversalParts();
920 SpawnAdditionalItems();
921 FillUpCarFluids();
922
923 GetInventory().CreateInInventory("Sedan_02_Wheel");
924 GetInventory().CreateInInventory("Sedan_02_Wheel");
925 GetInventory().CreateInInventory("Sedan_02_Wheel");
926 GetInventory().CreateInInventory("Sedan_02_Wheel");
927 GetInventory().CreateInInventory("Sedan_02_Wheel");
928
929 GetInventory().CreateInInventory("Sedan_02_Door_1_1");
930 GetInventory().CreateInInventory("Sedan_02_Door_1_2");
931 GetInventory().CreateInInventory("Sedan_02_Door_2_1");
932 GetInventory().CreateInInventory("Sedan_02_Door_2_2");
933 GetInventory().CreateInInventory("Sedan_02_Hood");
934 GetInventory().CreateInInventory("Sedan_02_Trunk");
935
936
937 GetInventory().CreateInInventory("Sedan_02_Wheel");
938 GetInventory().CreateInInventory("Sedan_02_Wheel");
939 }
940}
941
943{
945 {
946 SpawnUniversalParts();
947 SpawnAdditionalItems();
948 FillUpCarFluids();
949
950 GetInventory().CreateInInventory("Sedan_02_Wheel");
951 GetInventory().CreateInInventory("Sedan_02_Wheel");
952 GetInventory().CreateInInventory("Sedan_02_Wheel");
953 GetInventory().CreateInInventory("Sedan_02_Wheel");
954
955 GetInventory().CreateInInventory("Sedan_02_Door_1_1_Red");
956 GetInventory().CreateInInventory("Sedan_02_Door_1_2_Red");
957 GetInventory().CreateInInventory("Sedan_02_Door_2_1_Red");
958 GetInventory().CreateInInventory("Sedan_02_Door_2_2_Red");
959 GetInventory().CreateInInventory("Sedan_02_Hood_Red");
960 GetInventory().CreateInInventory("Sedan_02_Trunk_Red");
961
962
963 GetInventory().CreateInInventory("Sedan_02_Wheel");
964 GetInventory().CreateInInventory("Sedan_02_Wheel");
965 }
966}
967
969{
971 {
972 SpawnUniversalParts();
973 SpawnAdditionalItems();
974 FillUpCarFluids();
975
976 GetInventory().CreateInInventory("Sedan_02_Wheel");
977 GetInventory().CreateInInventory("Sedan_02_Wheel");
978 GetInventory().CreateInInventory("Sedan_02_Wheel");
979 GetInventory().CreateInInventory("Sedan_02_Wheel");
980
981 GetInventory().CreateInInventory("Sedan_02_Door_1_1_Grey");
982 GetInventory().CreateInInventory("Sedan_02_Door_1_2_Grey");
983 GetInventory().CreateInInventory("Sedan_02_Door_2_1_Grey");
984 GetInventory().CreateInInventory("Sedan_02_Door_2_2_Grey");
985 GetInventory().CreateInInventory("Sedan_02_Hood_Grey");
986 GetInventory().CreateInInventory("Sedan_02_Trunk_Grey");
987
988
989 GetInventory().CreateInInventory("Sedan_02_Wheel");
990 GetInventory().CreateInInventory("Sedan_02_Wheel");
991 }
992}
CarSoundCtrl
Car's sound controller list. (native, do not change or extend)
ref UniversalTemperatureSourceLambdaEngine m_UTSLEngine
ref UniversalTemperatureSourceSettings m_UTSSettings
ref UniversalTemperatureSource m_UTSource
override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
class Sedan_02 extends CarScript OnDebugSpawn()
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()
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)
UniversalTemperatureSourceLambdaBaseImpl UniversalTemperatureSourceLambdaBase UniversalTemperatureSourceLambdaEngine()
Super root of all classes in Enforce script.
override void OnDebugSpawn()
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.