487{
491
493 {
494 m_dmgContactCoef = 0.0790;
495
496 m_EngineStartOK = "Sedan_02_engine_start_SoundSet";
497 m_EngineStartBattery = "Sedan_02_engine_failed_start_battery_SoundSet";
498 m_EngineStartPlug = "Sedan_02_engine_failed_start_sparkplugs_SoundSet";
499 m_EngineStartFuel = "Sedan_02_engine_failed_start_fuel_SoundSet";
500 m_EngineStop = "Sedan_02_engine_stop_SoundSet";
501 m_EngineStopFuel = "Sedan_02_engine_stop_fuel_SoundSet";
502
503 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
504 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
505
506 m_CarHornShortSoundName = "Sedan_02_Horn_Short_SoundSet";
507 m_CarHornLongSoundName = "Sedan_02_Horn_SoundSet";
508
509 SetEnginePos("0 0.7 -1.7");
510 }
511
513 {
514 super.EEInit();
515
517 {
524
527 }
528 }
529
531 {
532 super.OnEngineStart();
533
535 {
537 }
538 }
539
541 {
542 super.OnEngineStop();
543
545 {
547 }
548 }
549
551 {
553 {
555 {
557 }
558 }
559 }
560
562 {
564 }
565
567 {
568 switch (posIdx)
569 {
570 case 0:
572 case 1:
574 case 2:
576 case 3:
578 }
579
580 return 0;
581 }
582
583
585 {
587 }
588
589
591 {
593 }
594
596 {
597 if (!super.CanReleaseAttachment(attachment))
598 {
599 return false;
600 }
601
602 string attType = attachment.GetType();
603 switch (attType)
604 {
605 case "CarBattery":
607 {
608 return false;
609 }
610 break;
611
612 case "SparkPlug":
614 {
615 return false;
616 }
617 break;
618
619 case "CarRadiator":
621 {
622 return false;
623 }
624 break;
625 }
626
627 return true;
628 }
629
631 {
633 }
634
636 {
637 if ( !super.CanDisplayAttachmentCategory(category_name))
638 {
639 return false;
640 }
641
643 if (category_name.
Contains(
"engine"))
644 {
646 {
647 return false;
648 }
649 }
650
651 if (category_name.
Contains(
"trunk"))
652 {
654 {
655 return false;
656 }
657 }
658
659 return true;
660 }
661
663 {
664 if ( !super.CanDisplayCargo() )
665 return false;
666
668 return false;
669
670 return true;
671 }
672
674 {
676
677 Class.
CastTo( carDoor, FindAttachmentBySlotName( slotType ) );
678 if (!carDoor)
679 {
681 }
682
683 switch (slotType)
684 {
685 case "Sedan_02_Door_1_1":
686 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
687
688 case "Sedan_02_Door_2_1":
689 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
690
691 case "Sedan_02_Door_1_2":
692 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
693
694 case "Sedan_02_Door_2_2":
695 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
696
697 case "Sedan_02_Hood":
698 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
699
700 case "Sedan_02_Trunk":
701 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
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 "Sedan_02_Door_1_1";
771 break;
772 case 1:
773 return "Sedan_02_Door_2_1";
774 break;
775 case 2:
776 return "Sedan_02_Door_1_2";
777 break;
778 case 3:
779 return "Sedan_02_Door_2_2";
780 break;
781 }
782
783 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
784 }
785
787 {
788 switch ( ctrl )
789 {
791 float newValue = 0;
793 {
794 newValue += 0.25;
795 }
796
798 {
799 newValue += 0.25;
800 }
801
803 {
804 newValue += 0.25;
805 }
806
808 {
809 newValue += 0.25;
810 }
811
813 break;
814 }
815
816 return super.OnSound(ctrl, oldValue);
817 }
818
820 {
821 switch( selection )
822 {
823 case "doors_driver":
824 return "DoorsDriver";
825 case "doors_codriver":
826 return "DoorsCoDriver";
827 case "doors_cargo1":
828 return "DoorsCargo1";
829 case "doors_cargo2":
830 return "DoorsCargo2";
831 case "doors_hood":
832 return "DoorsHood";
833 case "doors_trunk":
834 return "DoorsTrunk";
835 }
836
837 return "";
838 }
839
840
842 {
843 return false;
844 }
845
847 {
848 return false;
849 }
850
852 {
853 switch (currentSeat)
854 {
855 case 0:
856 return nextSeat == 1;
857
858 case 1:
859 return nextSeat == 0;
860
861 case 2:
862 return nextSeat == 3;
863
864 case 3:
865 return nextSeat == 2;
866 }
867
868 return false;
869 }
870
872 {
873 switch (pCurrentSeat)
874 {
875 case 0:
876 return pDoorsSelection == "DoorsDriver";
877
878 case 1:
879 return pDoorsSelection == "DoorsCoDriver";
880
881 case 2:
882 return pDoorsSelection == "DoorsCargo1";
883
884 case 3:
885 return pDoorsSelection == "DoorsCargo2";
886 }
887
888 return false;
889 }
890
892 {
893 SpawnUniversalParts();
894 SpawnAdditionalItems();
895 FillUpCarFluids();
896
897 GetInventory().CreateInInventory("Sedan_02_Wheel");
898 GetInventory().CreateInInventory("Sedan_02_Wheel");
899 GetInventory().CreateInInventory("Sedan_02_Wheel");
900 GetInventory().CreateInInventory("Sedan_02_Wheel");
901 GetInventory().CreateInInventory("Sedan_02_Wheel");
902
903 GetInventory().CreateInInventory("Sedan_02_Door_1_1");
904 GetInventory().CreateInInventory("Sedan_02_Door_1_2");
905 GetInventory().CreateInInventory("Sedan_02_Door_2_1");
906 GetInventory().CreateInInventory("Sedan_02_Door_2_2");
907 GetInventory().CreateInInventory("Sedan_02_Hood");
908 GetInventory().CreateInInventory("Sedan_02_Trunk");
909
910
911 GetInventory().CreateInInventory("Sedan_02_Wheel");
912 GetInventory().CreateInInventory("Sedan_02_Wheel");
913 }
914}
915
917{
919 {
920 SpawnUniversalParts();
921 SpawnAdditionalItems();
922 FillUpCarFluids();
923
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_Red");
930 GetInventory().CreateInInventory("Sedan_02_Door_1_2_Red");
931 GetInventory().CreateInInventory("Sedan_02_Door_2_1_Red");
932 GetInventory().CreateInInventory("Sedan_02_Door_2_2_Red");
933 GetInventory().CreateInInventory("Sedan_02_Hood_Red");
934 GetInventory().CreateInInventory("Sedan_02_Trunk_Red");
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_Grey");
956 GetInventory().CreateInInventory("Sedan_02_Door_1_2_Grey");
957 GetInventory().CreateInInventory("Sedan_02_Door_2_1_Grey");
958 GetInventory().CreateInInventory("Sedan_02_Door_2_2_Grey");
959 GetInventory().CreateInInventory("Sedan_02_Hood_Grey");
960 GetInventory().CreateInInventory("Sedan_02_Trunk_Grey");
961
962
963 GetInventory().CreateInInventory("Sedan_02_Wheel");
964 GetInventory().CreateInInventory("Sedan_02_Wheel");
965 }
966}
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.