DayZ 1.28
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено

◆ CanManipulateSpareWheel()

bool OnDebugSpawn::CanManipulateSpareWheel ( string slotSelectionName)
protected

См. определение в файле OffroadHatchback.c строка 606

607{
611
612 void OffroadHatchback()
613 {
614 //m_dmgContactCoef = 0.075;
615
616 m_EngineStartOK = "offroad_engine_start_SoundSet";
617 m_EngineStartBattery = "offroad_engine_failed_start_battery_SoundSet";
618 m_EngineStartPlug = "offroad_engine_failed_start_sparkplugs_SoundSet";
619 m_EngineStartFuel = "offroad_engine_failed_start_fuel_SoundSet";
620 m_EngineStop = "offroad_engine_stop_SoundSet";
621 m_EngineStopFuel = "offroad_engine_stop_fuel_SoundSet";
622
623 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
624 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
625 m_CarSeatShiftInSound = "Offroad_SeatShiftIn_SoundSet";
626 m_CarSeatShiftOutSound = "Offroad_SeatShiftOut_SoundSet";
627
628 m_CarHornShortSoundName = "Offroad_Horn_Short_SoundSet";
629 m_CarHornLongSoundName = "Offroad_Horn_SoundSet";
630
631 SetEnginePos("0 0.7 1.2");
632 }
633
634 override void EEInit()
635 {
636 super.EEInit();
637
638 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
639 {
641 m_UTSSettings.m_ManualUpdate = true;
643 m_UTSSettings.m_TemperatureCap = 0;
644 m_UTSSettings.m_RangeFull = 0.5;
645 m_UTSSettings.m_RangeMax = 2;
646
649 }
650 }
651
652 override void OnEngineStart()
653 {
654 super.OnEngineStart();
655
656 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
657 {
658 m_UTSource.SetDefferedActive(true, 20.0);
659 }
660 }
661
662 override void OnEngineStop()
663 {
664 super.OnEngineStop();
665
666 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
667 {
668 m_UTSource.SetDefferedActive(false, 10.0);
669 }
670 }
671
672 override void EOnPostSimulate(IEntity other, float timeSlice)
673 {
674 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
675 {
676 if (m_UTSource.IsActive())
677 {
679 }
680 }
681 }
682
683 override int GetAnimInstance()
684 {
685 return VehicleAnimInstances.HATCHBACK;
686 }
687
688 override float GetTransportCameraDistance()
689 {
690 return 3.5;
691 }
692
693 override int GetSeatAnimationType( int posIdx )
694 {
695 switch (posIdx)
696 {
697 case 0:
698 return DayZPlayerConstants.VEHICLESEAT_DRIVER;
699 case 1:
700 return DayZPlayerConstants.VEHICLESEAT_CODRIVER;
701 case 2:
702 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_L;
703 case 3:
704 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_R;
705 }
706
707 return 0;
708
709 }
710
711
713 {
714 return CarRearLightBase.Cast( ScriptedLightBase.CreateLight(OffroadHatchbackRearLight) );
715 }
716
718 {
719 return CarLightBase.Cast( ScriptedLightBase.CreateLight(OffroadHatchbackFrontLight) );
720 }
721
722 override bool CanReleaseAttachment(EntityAI attachment)
723 {
724 if (!super.CanReleaseAttachment(attachment))
725 {
726 return false;
727 }
728
729 if (EngineIsOn() || GetCarDoorsState("NivaHood") == CarDoorState.DOORS_CLOSED)
730 {
731 string attType = attachment.GetType();
732 if (attType == "CarRadiator" || attType == "CarBattery" || attType == "SparkPlug")
733 {
734 return false;
735 }
736 }
737
738 return true;
739 }
740
741 override protected bool CanManipulateSpareWheel(string slotSelectionName)
742 {
743 return GetCarDoorsState("NivaHood") != CarDoorState.DOORS_CLOSED;
744 }
745
746 override bool CanDisplayAttachmentCategory( string category_name )
747 {
748 if (!super.CanDisplayAttachmentCategory(category_name))
749 {
750 return false;
751 }
752
753 category_name.ToLower();
754 if (category_name.Contains("engine"))
755 {
756 if (GetCarDoorsState("NivaHood") == CarDoorState.DOORS_CLOSED)
757 {
758 return false;
759 }
760 }
761
762 return true;
763 }
764
765 override bool CanDisplayCargo()
766 {
767 if (!super.CanDisplayCargo())
768 {
769 return false;
770 }
771
772 if (GetCarDoorsState("NivaTrunk") == CarDoorState.DOORS_CLOSED)
773 {
774 return false;
775 }
776
777 return true;
778 }
779
780 override int GetCarDoorsState(string slotType)
781 {
782 CarDoor carDoor;
783
784 Class.CastTo(carDoor, FindAttachmentBySlotName(slotType));
785 if (!carDoor)
786 {
787 return CarDoorState.DOORS_MISSING;
788 }
789
790 switch (slotType)
791 {
792 case "NivaDriverDoors":
793 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
794
795 case "NivaCoDriverDoors":
796 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
797
798 case "NivaHood":
799 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
800
801 case "NivaTrunk":
802 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
803 }
804
805 return CarDoorState.DOORS_MISSING;
806 }
807
808 override bool CrewCanGetThrough(int posIdx)
809 {
810 CarDoor carDoor;
811 switch (posIdx)
812 {
813 case 0:
814 if (GetCarDoorsState("NivaDriverDoors") == CarDoorState.DOORS_CLOSED)
815 return false;
816 else if (GetAnimationPhase("SeatDriver") > 0.5)
817 return false;
818
819 return true;
820
821 case 1:
822 if (GetCarDoorsState("NivaCoDriverDoors") == CarDoorState.DOORS_CLOSED)
823 return false;
824 else if (GetAnimationPhase("SeatCoDriver") > 0.5)
825 return false;
826
827 return true;
828
829 case 2:
830 if (GetCarDoorsState("NivaDriverDoors") == CarDoorState.DOORS_CLOSED)
831 return false;
832 else if (GetAnimationPhase("SeatDriver") <= 0.5)
833 return false;
834
835 return true;
836
837 case 3:
838 if (GetCarDoorsState("NivaCoDriverDoors") == CarDoorState.DOORS_CLOSED)
839 return false;
840 else if (GetAnimationPhase("SeatCoDriver") <= 0.5)
841 return false;
842
843 return true;
844 }
845
846 return false;
847 }
848
849 override string GetDoorSelectionNameFromSeatPos(int posIdx)
850 {
851 switch (posIdx)
852 {
853 case 0:
854 case 2:
855 return "doors_driver";
856 case 1:
857 case 3:
858 return "doors_codriver";
859 }
860
861 return super.GetDoorSelectionNameFromSeatPos(posIdx);
862 }
863
864 override string GetDoorInvSlotNameFromSeatPos(int posIdx)
865 {
866 switch (posIdx)
867 {
868 case 0:
869 case 2:
870 return "NivaDriverDoors";
871 case 1:
872 case 3:
873 return "NivaCoDriverDoors";
874 }
875
876 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
877 }
878
879 // 0 full ambient and engine sound
880 // 1 zero ambient and engine sound
881 override float OnSound(CarSoundCtrl ctrl, float oldValue)
882 {
883 float tempCap = 0.0;
884
885 switch (ctrl)
886 {
887 case CarSoundCtrl.DOORS:
888 float newValue = 0;
889 if (GetCarDoorsState("NivaDriverDoors") == CarDoorState.DOORS_CLOSED)
890 {
891 newValue += 0.5;
892 }
893
894 if (GetCarDoorsState("NivaCoDriverDoors") == CarDoorState.DOORS_CLOSED)
895 {
896 newValue += 0.5;
897 }
898
899 if (GetCarDoorsState("NivaTrunk") == CarDoorState.DOORS_CLOSED)
900 {
901 newValue += 0.3;
902 }
903
904 if (GetHealthLevel("WindowFront") == GameConstants.STATE_RUINED)
905 {
906 newValue -= 0.6;
907 }
908
909 if (GetHealthLevel("WindowLR") == GameConstants.STATE_RUINED)
910 {
911 newValue -= 0.2;
912 }
913
914 if (GetHealthLevel("WindowRR") == GameConstants.STATE_RUINED)
915 {
916 newValue -= 0.2;
917 }
918
919 return Math.Clamp(newValue, 0, 1);
920 break;
921 }
922
923 return super.OnSound(ctrl, oldValue);
924 }
925
926 override string GetAnimSourceFromSelection( string selection )
927 {
928 switch (selection)
929 {
930 case "doors_driver":
931 return "DoorsDriver";
932 case "doors_codriver":
933 return "DoorsCoDriver";
934 case "doors_hood":
935 return "DoorsHood";
936 case "doors_trunk":
937 return "DoorsTrunk";
938 case "seatback_driver":
939 return "SeatDriver";
940 case "seatback_codriver":
941 return "SeatCoDriver";
942 }
943
944 return "";
945 }
946
947 override string GetDoorConditionPointFromSelection(string selection)
948 {
949 switch (selection)
950 {
951 case "seat_driver":
952 case "seatback_driver":
953 case "seat_cargo1":
954 return "seat_con_1_1";
955 case "seat_codriver":
956 case "seatback_codriver":
957 case "seat_cargo2":
958 return "seat_con_2_1";
959 }
960
961 return "";
962 }
963
964 override int GetCrewIndex(string selection)
965 {
966 switch (selection)
967 {
968 case "seatback_driver":
969 return 0;
970 case "seatback_codriver":
971 return 1;
972 }
973
974 return -1;
975 }
976
977 override bool IsVitalTruckBattery()
978 {
979 return false;
980 }
981
982 override bool IsVitalGlowPlug()
983 {
984 return false;
985 }
986
987 override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
988 {
989 if (nextSeat == 0 && GetAnimationPhase("SeatDriver") > 0.5)
990 return false;
991
992 if (nextSeat == 1 && GetAnimationPhase("SeatCoDriver") > 0.5)
993 return false;
994
995 switch (currentSeat)
996 {
997 case 0:
998 return nextSeat == 1;
999
1000 case 1:
1001 return nextSeat == 0;
1002
1003 case 2:
1004 return nextSeat == 3;
1005
1006 case 3:
1007 return nextSeat == 2;
1008 }
1009
1010 return false;
1011 }
1012
1013 override bool CanReachDoorsFromSeat( string pDoorsSelection, int pCurrentSeat )
1014 {
1015 switch (pCurrentSeat)
1016 {
1017 case 0:
1018 return pDoorsSelection == "DoorsDriver";
1019
1020 case 1:
1021 return pDoorsSelection == "DoorsCoDriver";
1022
1023 case 2:
1024 return pDoorsSelection == "DoorsDriver";
1025
1026 case 3:
1027 return pDoorsSelection == "DoorsCoDriver";
1028 }
1029
1030 return false;
1031 }
1032
1033 override int GetSeatIndexFromDoor( string pDoorSelection )
1034 {
1035 switch (pDoorSelection)
1036 {
1037 case "DoorsDriver":
1038 return 0;
1039 case "DoorsCoDriver":
1040 return 1;
1041 }
1042
1043 return -1;
1044 }
1045
1046 override void SetActions()
1047 {
1048 super.SetActions();
1049
1051 }
1052
1053 override void OnDebugSpawn()
1054 {
1055 SpawnUniversalParts();
1056 SpawnAdditionalItems();
1057 FillUpCarFluids();
1058
1059 GetInventory().CreateInInventory("HatchbackWheel");
1060 GetInventory().CreateInInventory("HatchbackWheel");
1061 GetInventory().CreateInInventory("HatchbackWheel" );
1062 GetInventory().CreateInInventory("HatchbackWheel");
1063
1064 GetInventory().CreateInInventory("HatchbackDoors_Driver");
1065 GetInventory().CreateInInventory("HatchbackDoors_CoDriver");
1066 GetInventory().CreateInInventory("HatchbackHood");
1067 GetInventory().CreateInInventory("HatchbackTrunk");
1068
1069 //-----IN CAR CARGO
1070 GetInventory().CreateInInventory("HatchbackWheel");
1071 GetInventory().CreateInInventory("HatchbackWheel");
1072 }
1073}
1074
1075class OffroadHatchback_White extends OffroadHatchback
1076{
1077 override void OnDebugSpawn()
1078 {
1079 SpawnUniversalParts();
1080 SpawnAdditionalItems();
1081 FillUpCarFluids();
1082
1083 GetInventory().CreateInInventory("HatchbackWheel");
1084 GetInventory().CreateInInventory("HatchbackWheel");
1085 GetInventory().CreateInInventory("HatchbackWheel");
1086 GetInventory().CreateInInventory("HatchbackWheel");
1087
1088 GetInventory().CreateInInventory("HatchbackDoors_Driver_White");
1089 GetInventory().CreateInInventory("HatchbackDoors_CoDriver_White");
1090 GetInventory().CreateInInventory("HatchbackHood_White");
1091 GetInventory().CreateInInventory("HatchbackTrunk_White");
1092
1093 //-----IN CAR CARGO
1094 GetInventory().CreateInInventory("HatchbackWheel");
1095 GetInventory().CreateInInventory("HatchbackWheel");
1096 }
1097}
1098
1099class OffroadHatchback_Blue extends OffroadHatchback
1100{
1101 override void OnDebugSpawn()
1102 {
1103 SpawnUniversalParts();
1104 SpawnAdditionalItems();
1105 FillUpCarFluids();
1106
1107 GetInventory().CreateInInventory("HatchbackWheel");
1108 GetInventory().CreateInInventory("HatchbackWheel");
1109 GetInventory().CreateInInventory("HatchbackWheel");
1110 GetInventory().CreateInInventory("HatchbackWheel");
1111
1112 GetInventory().CreateInInventory("HatchbackDoors_Driver_Blue");
1113 GetInventory().CreateInInventory("HatchbackDoors_CoDriver_Blue");
1114 GetInventory().CreateInInventory("HatchbackHood_Blue");
1115 GetInventory().CreateInInventory("HatchbackTrunk_Blue");
1116
1117 //-----IN CAR CARGO
1118 GetInventory().CreateInInventory("HatchbackWheel");
1119 GetInventory().CreateInInventory("HatchbackWheel");
1120 }
1121}
void AddAction(typename actionName)
Определения AdvancedCommunication.c:220
CarSoundCtrl
Car's sound controller list. (native, do not change or extend)
Определения Car.c:4
CarDoorState
Определения CarScript.c:2
ref UniversalTemperatureSourceLambdaEngine m_UTSLEngine
Определения CivilianSedan.c:433
ref UniversalTemperatureSourceSettings m_UTSSettings
Определения FireplaceBase.c:220
ref UniversalTemperatureSource m_UTSource
Определения FireplaceBase.c:219
override void SetActions()
Определения OffroadHatchback.c:911
override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
Определения OffroadHatchback.c:852
override string GetAnimSourceFromSelection(string selection)
Определения OffroadHatchback.c:791
override int GetSeatAnimationType(int posIdx)
Определения OffroadHatchback.c:558
override string GetDoorConditionPointFromSelection(string selection)
Определения OffroadHatchback.c:812
override float OnSound(CarSoundCtrl ctrl, float oldValue)
Определения OffroadHatchback.c:746
override string GetDoorInvSlotNameFromSeatPos(int posIdx)
Определения OffroadHatchback.c:729
override void EOnPostSimulate(IEntity other, float timeSlice)
Определения OffroadHatchback.c:537
override void OnEngineStop()
Определения OffroadHatchback.c:527
override float GetTransportCameraDistance()
Определения OffroadHatchback.c:553
override void EEInit()
Определения OffroadHatchback.c:499
override bool CanReleaseAttachment(EntityAI attachment)
Определения OffroadHatchback.c:587
override bool CanDisplayCargo()
Определения OffroadHatchback.c:630
override void OnEngineStart()
Определения OffroadHatchback.c:517
override CarLightBase CreateFrontLight()
Определения OffroadHatchback.c:582
override int GetAnimInstance()
Определения OffroadHatchback.c:548
override bool CrewCanGetThrough(int posIdx)
Определения OffroadHatchback.c:673
override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
Определения OffroadHatchback.c:878
bool CanManipulateSpareWheel(string slotSelectionName)
Определения OffroadHatchback.c:606
override bool IsVitalGlowPlug()
Определения OffroadHatchback.c:847
override CarRearLightBase CreateRearLight()
Определения OffroadHatchback.c:577
class OffroadHatchback extends CarScript OnDebugSpawn()
Определения OffroadHatchback.c:472
override int GetSeatIndexFromDoor(string pDoorSelection)
Определения OffroadHatchback.c:898
void OffroadHatchback()
Определения OffroadHatchback.c:477
override bool IsVitalTruckBattery()
Определения OffroadHatchback.c:842
override string GetDoorSelectionNameFromSeatPos(int posIdx)
Определения OffroadHatchback.c:714
override int GetCarDoorsState(string slotType)
Определения OffroadHatchback.c:645
override int GetCrewIndex(string selection)
Определения OffroadHatchback.c:829
override bool CanDisplayAttachmentCategory(string category_name)
Определения OffroadHatchback.c:611
UniversalTemperatureSourceLambdaBaseImpl UniversalTemperatureSourceLambdaBase UniversalTemperatureSourceLambdaEngine()
VehicleAnimInstances
Определения VehicleAnimInstances.c:2
Определения CarRearLightBase.c:2
Super root of all classes in Enforce script.
Определения EnScript.c:11
Определения EnEntity.c:165
Определения EnMath.c:7
override void OnDebugSpawn()
Определения OffroadHatchback.c:496
original Timer deletes m_params which is unwanted
Определения UniversalTemperatureSource.c:38
DayZPlayerConstants
defined in C++
Определения dayzplayer.c:602
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
Определения 3_Game/constants.c:808
const int STATE_RUINED
Определения 3_Game/constants.c:848
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.
Определения EnString.c:286
proto int ToLower()
Changes string to lowercase. Returns length.