485{
489
491 {
493
499
502
505
506 SetEnginePos("0 0.7 -1.7");
507 }
508
510 {
511 super.EEInit();
512
514 {
521
524 }
525 }
526
528 {
529 super.OnEngineStart();
530
532 {
534 }
535 }
536
538 {
539 super.OnEngineStop();
540
542 {
544 }
545 }
546
548 {
550 {
552 {
554 }
555 }
556 }
557
559 {
561 }
562
564 {
565 switch (posIdx)
566 {
567 case 0:
569 case 1:
571 case 2:
573 case 3:
575 }
576
577 return 0;
578 }
579
580
582 {
584 }
585
586
588 {
590 }
591
593 {
594 if (!super.CanReleaseAttachment(attachment))
595 {
596 return false;
597 }
598
599 string attType = attachment.GetType();
600 switch (attType)
601 {
602 case "CarBattery":
604 {
605 return false;
606 }
607 break;
608
609 case "SparkPlug":
611 {
612 return false;
613 }
614 break;
615
616 case "CarRadiator":
618 {
619 return false;
620 }
621 break;
622 }
623
624 return true;
625 }
626
628 {
630 }
631
633 {
634 if ( !super.CanDisplayAttachmentCategory(category_name))
635 {
636 return false;
637 }
638
640 if (category_name.
Contains(
"engine"))
641 {
643 {
644 return false;
645 }
646 }
647
648 if (category_name.
Contains(
"trunk"))
649 {
651 {
652 return false;
653 }
654 }
655
656 return true;
657 }
658
660 {
661 if ( !super.CanDisplayCargo() )
662 return false;
663
665 return false;
666
667 return true;
668 }
669
671 {
673
674 Class.
CastTo( carDoor, FindAttachmentBySlotName( slotType ) );
675 if (!carDoor)
676 {
678 }
679
680 switch (slotType)
681 {
682 case "Sedan_02_Door_1_1":
684
685 case "Sedan_02_Door_2_1":
687
688 case "Sedan_02_Door_1_2":
690
691 case "Sedan_02_Door_2_2":
693
694 case "Sedan_02_Hood":
696
697 case "Sedan_02_Trunk":
699 }
700
702 }
703
704
706 {
707 switch( posIdx )
708 {
709 case 0:
711 return false;
712
713 return true;
714 break;
715
716 case 1:
718 return false;
719
720 return true;
721 break;
722
723 case 2:
725 return false;
726
727 return true;
728 break;
729
730 case 3:
732 return false;
733
734 return true;
735 break;
736 }
737
738 return false;
739 }
740
742 {
743 switch( posIdx )
744 {
745 case 0:
746 return "doors_driver";
747 break;
748 case 1:
749 return "doors_codriver";
750 break;
751 case 2:
752 return "doors_cargo1";
753 break;
754 case 3:
755 return "doors_cargo2";
756 break;
757 }
758
759 return super.GetDoorSelectionNameFromSeatPos(posIdx);
760 }
761
763 {
764 switch( posIdx )
765 {
766 case 0:
767 return "Sedan_02_Door_1_1";
768 break;
769 case 1:
770 return "Sedan_02_Door_2_1";
771 break;
772 case 2:
773 return "Sedan_02_Door_1_2";
774 break;
775 case 3:
776 return "Sedan_02_Door_2_2";
777 break;
778 }
779
780 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
781 }
782
784 {
785 switch ( ctrl )
786 {
788 float newValue = 0;
790 {
791 newValue += 0.25;
792 }
793
795 {
796 newValue += 0.25;
797 }
798
800 {
801 newValue += 0.25;
802 }
803
805 {
806 newValue += 0.25;
807 }
808
810 break;
811 }
812
813 return super.OnSound(ctrl, oldValue);
814 }
815
817 {
818 switch( selection )
819 {
820 case "doors_driver":
821 return "DoorsDriver";
822 case "doors_codriver":
823 return "DoorsCoDriver";
824 case "doors_cargo1":
825 return "DoorsCargo1";
826 case "doors_cargo2":
827 return "DoorsCargo2";
828 case "doors_hood":
829 return "DoorsHood";
830 case "doors_trunk":
831 return "DoorsTrunk";
832 }
833
834 return "";
835 }
836
837
839 {
840 return false;
841 }
842
844 {
845 return false;
846 }
847
849 {
850 switch (currentSeat)
851 {
852 case 0:
853 return nextSeat == 1;
854
855 case 1:
856 return nextSeat == 0;
857
858 case 2:
859 return nextSeat == 3;
860
861 case 3:
862 return nextSeat == 2;
863 }
864
865 return false;
866 }
867
869 {
870 switch (pCurrentSeat)
871 {
872 case 0:
873 return pDoorsSelection == "DoorsDriver";
874
875 case 1:
876 return pDoorsSelection == "DoorsCoDriver";
877
878 case 2:
879 return pDoorsSelection == "DoorsCargo1";
880
881 case 3:
882 return pDoorsSelection == "DoorsCargo2";
883 }
884
885 return false;
886 }
887
889 {
893
894 GetInventory().CreateInInventory("Sedan_02_Wheel");
895 GetInventory().CreateInInventory("Sedan_02_Wheel");
896 GetInventory().CreateInInventory("Sedan_02_Wheel");
897 GetInventory().CreateInInventory("Sedan_02_Wheel");
898 GetInventory().CreateInInventory("Sedan_02_Wheel");
899
900 GetInventory().CreateInInventory("Sedan_02_Door_1_1");
901 GetInventory().CreateInInventory("Sedan_02_Door_1_2");
902 GetInventory().CreateInInventory("Sedan_02_Door_2_1");
903 GetInventory().CreateInInventory("Sedan_02_Door_2_2");
904 GetInventory().CreateInInventory("Sedan_02_Hood");
905 GetInventory().CreateInInventory("Sedan_02_Trunk");
906
907
908 GetInventory().CreateInInventory("Sedan_02_Wheel");
909 GetInventory().CreateInInventory("Sedan_02_Wheel");
910 }
911}
912
914{
916 {
920
921 GetInventory().CreateInInventory("Sedan_02_Wheel");
922 GetInventory().CreateInInventory("Sedan_02_Wheel");
923 GetInventory().CreateInInventory("Sedan_02_Wheel");
924 GetInventory().CreateInInventory("Sedan_02_Wheel");
925
926 GetInventory().CreateInInventory("Sedan_02_Door_1_1_Red");
927 GetInventory().CreateInInventory("Sedan_02_Door_1_2_Red");
928 GetInventory().CreateInInventory("Sedan_02_Door_2_1_Red");
929 GetInventory().CreateInInventory("Sedan_02_Door_2_2_Red");
930 GetInventory().CreateInInventory("Sedan_02_Hood_Red");
931 GetInventory().CreateInInventory("Sedan_02_Trunk_Red");
932
933
934 GetInventory().CreateInInventory("Sedan_02_Wheel");
935 GetInventory().CreateInInventory("Sedan_02_Wheel");
936 }
937}
938
940{
942 {
946
947 GetInventory().CreateInInventory("Sedan_02_Wheel");
948 GetInventory().CreateInInventory("Sedan_02_Wheel");
949 GetInventory().CreateInInventory("Sedan_02_Wheel");
950 GetInventory().CreateInInventory("Sedan_02_Wheel");
951
952 GetInventory().CreateInInventory("Sedan_02_Door_1_1_Grey");
953 GetInventory().CreateInInventory("Sedan_02_Door_1_2_Grey");
954 GetInventory().CreateInInventory("Sedan_02_Door_2_1_Grey");
955 GetInventory().CreateInInventory("Sedan_02_Door_2_2_Grey");
956 GetInventory().CreateInInventory("Sedan_02_Hood_Grey");
957 GetInventory().CreateInInventory("Sedan_02_Trunk_Grey");
958
959
960 GetInventory().CreateInInventory("Sedan_02_Wheel");
961 GetInventory().CreateInInventory("Sedan_02_Wheel");
962 }
963}
CarSoundCtrl
Car's sound controller list. (native, do not change or extend)
void SpawnUniversalParts()
CarDoorState TranslateAnimationPhaseToCarDoorState(string animation)
void SpawnAdditionalItems()
string m_EngineStartOK
Sounds.
string m_CarDoorCloseSound
string m_EngineStartBattery
string m_CarHornShortSoundName
string m_CarHornLongSoundName
string m_CarDoorOpenSound
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.