540{
544
546 {
548
554
557
560
561 SetEnginePos("0 0.7 -1.7");
562 }
563
565 {
566 super.EEInit();
567
569 {
576
579 }
580 }
581
583 {
584 super.OnEngineStart();
585
587 {
589 }
590 }
591
593 {
594 super.OnEngineStop();
595
597 {
599 }
600 }
601
603 {
605 {
607 {
609 }
610 }
611 }
612
614 {
616 }
617
619 {
620 switch (posIdx)
621 {
622 case 0:
624 case 1:
626 case 2:
628 case 3:
630 }
631
632 return 0;
633 }
634
635
637 {
639 }
640
641
643 {
645 }
646
648 {
649 if (!super.CanReleaseAttachment(attachment))
650 {
651 return false;
652 }
653
654 string attType = attachment.GetType();
655 switch (attType)
656 {
657 case "CarBattery":
659 {
660 return false;
661 }
662 break;
663
664 case "SparkPlug":
666 {
667 return false;
668 }
669 break;
670
671 case "CarRadiator":
673 {
674 return false;
675 }
676 break;
677 }
678
679 return true;
680 }
681
683 {
685 }
686
688 {
689 if ( !super.CanDisplayAttachmentCategory(category_name))
690 {
691 return false;
692 }
693
695 if (category_name.
Contains(
"engine"))
696 {
698 {
699 return false;
700 }
701 }
702
703 if (category_name.
Contains(
"trunk"))
704 {
706 {
707 return false;
708 }
709 }
710
711 return true;
712 }
713
715 {
716 if ( !super.CanDisplayCargo() )
717 return false;
718
720 return false;
721
722 return true;
723 }
724
726 {
728
729 Class.
CastTo( carDoor, FindAttachmentBySlotName( slotType ) );
730 if (!carDoor)
731 {
733 }
734
735 switch (slotType)
736 {
737 case "Sedan_02_Door_1_1":
739
740 case "Sedan_02_Door_2_1":
742
743 case "Sedan_02_Door_1_2":
745
746 case "Sedan_02_Door_2_2":
748
749 case "Sedan_02_Hood":
751
752 case "Sedan_02_Trunk":
754 }
755
757 }
758
759
761 {
762 switch( posIdx )
763 {
764 case 0:
766 return false;
767
768 return true;
769 break;
770
771 case 1:
773 return false;
774
775 return true;
776 break;
777
778 case 2:
780 return false;
781
782 return true;
783 break;
784
785 case 3:
787 return false;
788
789 return true;
790 break;
791 }
792
793 return false;
794 }
795
797 {
798 switch( posIdx )
799 {
800 case 0:
801 return "doors_driver";
802 break;
803 case 1:
804 return "doors_codriver";
805 break;
806 case 2:
807 return "doors_cargo1";
808 break;
809 case 3:
810 return "doors_cargo2";
811 break;
812 }
813
814 return super.GetDoorSelectionNameFromSeatPos(posIdx);
815 }
816
818 {
819 switch( posIdx )
820 {
821 case 0:
822 return "Sedan_02_Door_1_1";
823 break;
824 case 1:
825 return "Sedan_02_Door_2_1";
826 break;
827 case 2:
828 return "Sedan_02_Door_1_2";
829 break;
830 case 3:
831 return "Sedan_02_Door_2_2";
832 break;
833 }
834
835 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
836 }
837
839 {
840 switch ( ctrl )
841 {
843 float newValue = 0;
845 {
846 newValue += 0.25;
847 }
848
850 {
851 newValue += 0.25;
852 }
853
855 {
856 newValue += 0.25;
857 }
858
860 {
861 newValue += 0.25;
862 }
863
865 break;
866 }
867
868 return super.OnSound(ctrl, oldValue);
869 }
870
872 {
873 switch( selection )
874 {
875 case "doors_driver":
876 return "DoorsDriver";
877 case "doors_codriver":
878 return "DoorsCoDriver";
879 case "doors_cargo1":
880 return "DoorsCargo1";
881 case "doors_cargo2":
882 return "DoorsCargo2";
883 case "doors_hood":
884 return "DoorsHood";
885 case "doors_trunk":
886 return "DoorsTrunk";
887 }
888
889 return "";
890 }
891
892
894 {
895 return false;
896 }
897
899 {
900 return false;
901 }
902
904 {
905 switch (currentSeat)
906 {
907 case 0:
908 return nextSeat == 1;
909
910 case 1:
911 return nextSeat == 0;
912
913 case 2:
914 return nextSeat == 3;
915
916 case 3:
917 return nextSeat == 2;
918 }
919
920 return false;
921 }
922
924 {
925 switch (pCurrentSeat)
926 {
927 case 0:
928 return pDoorsSelection == "DoorsDriver";
929
930 case 1:
931 return pDoorsSelection == "DoorsCoDriver";
932
933 case 2:
934 return pDoorsSelection == "DoorsCargo1";
935
936 case 3:
937 return pDoorsSelection == "DoorsCargo2";
938 }
939
940 return false;
941 }
942
944 {
948
949 GetInventory().CreateInInventory("Sedan_02_Wheel");
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");
956 GetInventory().CreateInInventory("Sedan_02_Door_1_2");
957 GetInventory().CreateInInventory("Sedan_02_Door_2_1");
958 GetInventory().CreateInInventory("Sedan_02_Door_2_2");
959 GetInventory().CreateInInventory("Sedan_02_Hood");
960 GetInventory().CreateInInventory("Sedan_02_Trunk");
961
962
963 GetInventory().CreateInInventory("Sedan_02_Wheel");
964 GetInventory().CreateInInventory("Sedan_02_Wheel");
965 }
966}
967
969{
971 {
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_Red");
982 GetInventory().CreateInInventory("Sedan_02_Door_1_2_Red");
983 GetInventory().CreateInInventory("Sedan_02_Door_2_1_Red");
984 GetInventory().CreateInInventory("Sedan_02_Door_2_2_Red");
985 GetInventory().CreateInInventory("Sedan_02_Hood_Red");
986 GetInventory().CreateInInventory("Sedan_02_Trunk_Red");
987
988
989 GetInventory().CreateInInventory("Sedan_02_Wheel");
990 GetInventory().CreateInInventory("Sedan_02_Wheel");
991 }
992}
993
995{
997 {
1001
1002 GetInventory().CreateInInventory("Sedan_02_Wheel");
1003 GetInventory().CreateInInventory("Sedan_02_Wheel");
1004 GetInventory().CreateInInventory("Sedan_02_Wheel");
1005 GetInventory().CreateInInventory("Sedan_02_Wheel");
1006
1007 GetInventory().CreateInInventory("Sedan_02_Door_1_1_Grey");
1008 GetInventory().CreateInInventory("Sedan_02_Door_1_2_Grey");
1009 GetInventory().CreateInInventory("Sedan_02_Door_2_1_Grey");
1010 GetInventory().CreateInInventory("Sedan_02_Door_2_2_Grey");
1011 GetInventory().CreateInInventory("Sedan_02_Hood_Grey");
1012 GetInventory().CreateInInventory("Sedan_02_Trunk_Grey");
1013
1014
1015 GetInventory().CreateInInventory("Sedan_02_Wheel");
1016 GetInventory().CreateInInventory("Sedan_02_Wheel");
1017 }
1018}
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.