497{
501
503 {
504 m_dmgContactCoef = 0.0790;
505
506 m_EngineStartOK = "Sedan_02_engine_start_SoundSet";
507 m_EngineStartBattery = "Sedan_02_engine_failed_start_battery_SoundSet";
508 m_EngineStartPlug = "Sedan_02_engine_failed_start_sparkplugs_SoundSet";
509 m_EngineStartFuel = "Sedan_02_engine_failed_start_fuel_SoundSet";
510 m_EngineStop = "Sedan_02_engine_stop_SoundSet";
511 m_EngineStopFuel = "Sedan_02_engine_stop_fuel_SoundSet";
512
513 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
514 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
515
516 m_CarHornShortSoundName = "Sedan_02_Horn_Short_SoundSet";
517 m_CarHornLongSoundName = "Sedan_02_Horn_SoundSet";
518
519 SetEnginePos("0 0.7 -1.7");
520 }
521
523 {
524 super.EEInit();
525
527 {
534
537 }
538 }
539
541 {
542 super.OnEngineStart();
543
545 {
547 }
548 }
549
551 {
552 super.OnEngineStop();
553
555 {
557 }
558 }
559
561 {
563 {
565 {
567 }
568 }
569 }
570
572 {
574 }
575
577 {
578 switch (posIdx)
579 {
580 case 0:
582 case 1:
584 case 2:
586 case 3:
588 }
589
590 return 0;
591 }
592
593
595 {
597 }
598
599
601 {
603 }
604
606 {
607 if (!super.CanReleaseAttachment(attachment))
608 {
609 return false;
610 }
611
612 string attType = attachment.GetType();
613 switch (attType)
614 {
615 case "CarBattery":
617 {
618 return false;
619 }
620 break;
621
622 case "SparkPlug":
624 {
625 return false;
626 }
627 break;
628
629 case "CarRadiator":
631 {
632 return false;
633 }
634 break;
635 }
636
637 return true;
638 }
639
641 {
643 }
644
646 {
647 if ( !super.CanDisplayAttachmentCategory(category_name))
648 {
649 return false;
650 }
651
653 if (category_name.
Contains(
"engine"))
654 {
656 {
657 return false;
658 }
659 }
660
661 if (category_name.
Contains(
"trunk"))
662 {
664 {
665 return false;
666 }
667 }
668
669 return true;
670 }
671
673 {
674 if ( !super.CanDisplayCargo() )
675 return false;
676
678 return false;
679
680 return true;
681 }
682
684 {
686
687 Class.
CastTo( carDoor, FindAttachmentBySlotName( slotType ) );
688 if (!carDoor)
689 {
691 }
692
693 switch (slotType)
694 {
695 case "Sedan_02_Door_1_1":
696 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
697
698 case "Sedan_02_Door_2_1":
699 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
700
701 case "Sedan_02_Door_1_2":
702 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
703
704 case "Sedan_02_Door_2_2":
705 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
706
707 case "Sedan_02_Hood":
708 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
709
710 case "Sedan_02_Trunk":
711 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
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 "Sedan_02_Door_1_1";
781 break;
782 case 1:
783 return "Sedan_02_Door_2_1";
784 break;
785 case 2:
786 return "Sedan_02_Door_1_2";
787 break;
788 case 3:
789 return "Sedan_02_Door_2_2";
790 break;
791 }
792
793 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
794 }
795
797 {
798 switch ( ctrl )
799 {
801 float newValue = 0;
803 {
804 newValue += 0.25;
805 }
806
808 {
809 newValue += 0.25;
810 }
811
813 {
814 newValue += 0.25;
815 }
816
818 {
819 newValue += 0.25;
820 }
821
823 break;
824 }
825
826 return super.OnSound(ctrl, oldValue);
827 }
828
830 {
831 switch( selection )
832 {
833 case "doors_driver":
834 return "DoorsDriver";
835 case "doors_codriver":
836 return "DoorsCoDriver";
837 case "doors_cargo1":
838 return "DoorsCargo1";
839 case "doors_cargo2":
840 return "DoorsCargo2";
841 case "doors_hood":
842 return "DoorsHood";
843 case "doors_trunk":
844 return "DoorsTrunk";
845 }
846
847 return "";
848 }
849
850
852 {
853 return false;
854 }
855
857 {
858 return false;
859 }
860
862 {
863 switch (currentSeat)
864 {
865 case 0:
866 return nextSeat == 1;
867
868 case 1:
869 return nextSeat == 0;
870
871 case 2:
872 return nextSeat == 3;
873
874 case 3:
875 return nextSeat == 2;
876 }
877
878 return false;
879 }
880
882 {
883 switch (pCurrentSeat)
884 {
885 case 0:
886 return pDoorsSelection == "DoorsDriver";
887
888 case 1:
889 return pDoorsSelection == "DoorsCoDriver";
890
891 case 2:
892 return pDoorsSelection == "DoorsCargo1";
893
894 case 3:
895 return pDoorsSelection == "DoorsCargo2";
896 }
897
898 return false;
899 }
900
902 {
903 SpawnUniversalParts();
904 SpawnAdditionalItems();
905 FillUpCarFluids();
906
907 GetInventory().CreateInInventory("Sedan_02_Wheel");
908 GetInventory().CreateInInventory("Sedan_02_Wheel");
909 GetInventory().CreateInInventory("Sedan_02_Wheel");
910 GetInventory().CreateInInventory("Sedan_02_Wheel");
911 GetInventory().CreateInInventory("Sedan_02_Wheel");
912
913 GetInventory().CreateInInventory("Sedan_02_Door_1_1");
914 GetInventory().CreateInInventory("Sedan_02_Door_1_2");
915 GetInventory().CreateInInventory("Sedan_02_Door_2_1");
916 GetInventory().CreateInInventory("Sedan_02_Door_2_2");
917 GetInventory().CreateInInventory("Sedan_02_Hood");
918 GetInventory().CreateInInventory("Sedan_02_Trunk");
919
920
921 GetInventory().CreateInInventory("Sedan_02_Wheel");
922 GetInventory().CreateInInventory("Sedan_02_Wheel");
923 }
924}
925
927{
929 {
930 SpawnUniversalParts();
931 SpawnAdditionalItems();
932 FillUpCarFluids();
933
934 GetInventory().CreateInInventory("Sedan_02_Wheel");
935 GetInventory().CreateInInventory("Sedan_02_Wheel");
936 GetInventory().CreateInInventory("Sedan_02_Wheel");
937 GetInventory().CreateInInventory("Sedan_02_Wheel");
938
939 GetInventory().CreateInInventory("Sedan_02_Door_1_1_Red");
940 GetInventory().CreateInInventory("Sedan_02_Door_1_2_Red");
941 GetInventory().CreateInInventory("Sedan_02_Door_2_1_Red");
942 GetInventory().CreateInInventory("Sedan_02_Door_2_2_Red");
943 GetInventory().CreateInInventory("Sedan_02_Hood_Red");
944 GetInventory().CreateInInventory("Sedan_02_Trunk_Red");
945
946
947 GetInventory().CreateInInventory("Sedan_02_Wheel");
948 GetInventory().CreateInInventory("Sedan_02_Wheel");
949 }
950}
951
953{
955 {
956 SpawnUniversalParts();
957 SpawnAdditionalItems();
958 FillUpCarFluids();
959
960 GetInventory().CreateInInventory("Sedan_02_Wheel");
961 GetInventory().CreateInInventory("Sedan_02_Wheel");
962 GetInventory().CreateInInventory("Sedan_02_Wheel");
963 GetInventory().CreateInInventory("Sedan_02_Wheel");
964
965 GetInventory().CreateInInventory("Sedan_02_Door_1_1_Grey");
966 GetInventory().CreateInInventory("Sedan_02_Door_1_2_Grey");
967 GetInventory().CreateInInventory("Sedan_02_Door_2_1_Grey");
968 GetInventory().CreateInInventory("Sedan_02_Door_2_2_Grey");
969 GetInventory().CreateInInventory("Sedan_02_Hood_Grey");
970 GetInventory().CreateInInventory("Sedan_02_Trunk_Grey");
971
972
973 GetInventory().CreateInInventory("Sedan_02_Wheel");
974 GetInventory().CreateInInventory("Sedan_02_Wheel");
975 }
976}
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.