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

◆ CrewCanGetThrough()

override bool OnDebugSpawn::CrewCanGetThrough ( int posIdx)
protected

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

674{
678
679 void OffroadHatchback()
680 {
681 //m_dmgContactCoef = 0.075;
682
683 m_EngineStartOK = "offroad_engine_start_SoundSet";
684 m_EngineStartBattery = "offroad_engine_failed_start_battery_SoundSet";
685 m_EngineStartPlug = "offroad_engine_failed_start_sparkplugs_SoundSet";
686 m_EngineStartFuel = "offroad_engine_failed_start_fuel_SoundSet";
687 m_EngineStop = "offroad_engine_stop_SoundSet";
688 m_EngineStopFuel = "offroad_engine_stop_fuel_SoundSet";
689
690 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
691 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
692 m_CarSeatShiftInSound = "Offroad_SeatShiftIn_SoundSet";
693 m_CarSeatShiftOutSound = "Offroad_SeatShiftOut_SoundSet";
694
695 m_CarHornShortSoundName = "Offroad_Horn_Short_SoundSet";
696 m_CarHornLongSoundName = "Offroad_Horn_SoundSet";
697
698 SetEnginePos("0 0.7 1.2");
699 }
700
701 override void EEInit()
702 {
703 super.EEInit();
704
705 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
706 {
708 m_UTSSettings.m_ManualUpdate = true;
710 m_UTSSettings.m_TemperatureCap = 0;
711 m_UTSSettings.m_RangeFull = 0.5;
712 m_UTSSettings.m_RangeMax = 2;
713
716 }
717 }
718
719 override void OnEngineStart()
720 {
721 super.OnEngineStart();
722
723 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
724 {
725 m_UTSource.SetDefferedActive(true, 20.0);
726 }
727 }
728
729 override void OnEngineStop()
730 {
731 super.OnEngineStop();
732
733 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
734 {
735 m_UTSource.SetDefferedActive(false, 10.0);
736 }
737 }
738
739 override void EOnPostSimulate(IEntity other, float timeSlice)
740 {
741 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
742 {
743 if (m_UTSource.IsActive())
744 {
746 }
747 }
748 }
749
750 override int GetAnimInstance()
751 {
752 return VehicleAnimInstances.HATCHBACK;
753 }
754
755 override float GetTransportCameraDistance()
756 {
757 return 3.5;
758 }
759
760 override int GetSeatAnimationType( int posIdx )
761 {
762 switch (posIdx)
763 {
764 case 0:
765 return DayZPlayerConstants.VEHICLESEAT_DRIVER;
766 case 1:
767 return DayZPlayerConstants.VEHICLESEAT_CODRIVER;
768 case 2:
769 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_L;
770 case 3:
771 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_R;
772 }
773
774 return 0;
775
776 }
777
778
780 {
781 return CarRearLightBase.Cast( ScriptedLightBase.CreateLight(OffroadHatchbackRearLight) );
782 }
783
785 {
786 return CarLightBase.Cast( ScriptedLightBase.CreateLight(OffroadHatchbackFrontLight) );
787 }
788
789 override bool CanReleaseAttachment(EntityAI attachment)
790 {
791 if (!super.CanReleaseAttachment(attachment))
792 {
793 return false;
794 }
795
796 if (EngineIsOn() || GetCarDoorsState("NivaHood") == CarDoorState.DOORS_CLOSED)
797 {
798 string attType = attachment.GetType();
799 if (attType == "CarRadiator" || attType == "CarBattery" || attType == "SparkPlug")
800 {
801 return false;
802 }
803 }
804
805 return true;
806 }
807
808 override protected bool CanManipulateSpareWheel(string slotSelectionName)
809 {
810 return GetCarDoorsState("NivaHood") != CarDoorState.DOORS_CLOSED;
811 }
812
813 override bool CanDisplayAttachmentCategory( string category_name )
814 {
815 if (!super.CanDisplayAttachmentCategory(category_name))
816 {
817 return false;
818 }
819
820 category_name.ToLower();
821 if (category_name.Contains("engine"))
822 {
823 if (GetCarDoorsState("NivaHood") == CarDoorState.DOORS_CLOSED)
824 {
825 return false;
826 }
827 }
828
829 return true;
830 }
831
832 override bool CanDisplayCargo()
833 {
834 if (!super.CanDisplayCargo())
835 {
836 return false;
837 }
838
839 if (GetCarDoorsState("NivaTrunk") == CarDoorState.DOORS_CLOSED)
840 {
841 return false;
842 }
843
844 return true;
845 }
846
847 override int GetCarDoorsState(string slotType)
848 {
849 CarDoor carDoor;
850
851 Class.CastTo(carDoor, FindAttachmentBySlotName(slotType));
852 if (!carDoor)
853 {
854 return CarDoorState.DOORS_MISSING;
855 }
856
857 switch (slotType)
858 {
859 case "NivaDriverDoors":
860 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
861
862 case "NivaCoDriverDoors":
863 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
864
865 case "NivaHood":
866 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
867
868 case "NivaTrunk":
869 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
870 }
871
872 return CarDoorState.DOORS_MISSING;
873 }
874
875 override bool CrewCanGetThrough(int posIdx)
876 {
877 CarDoor carDoor;
878 switch (posIdx)
879 {
880 case 0:
881 if (GetCarDoorsState("NivaDriverDoors") == CarDoorState.DOORS_CLOSED)
882 return false;
883 else if (GetAnimationPhase("SeatDriver") > 0.5)
884 return false;
885
886 return true;
887
888 case 1:
889 if (GetCarDoorsState("NivaCoDriverDoors") == CarDoorState.DOORS_CLOSED)
890 return false;
891 else if (GetAnimationPhase("SeatCoDriver") > 0.5)
892 return false;
893
894 return true;
895
896 case 2:
897 if (GetCarDoorsState("NivaDriverDoors") == CarDoorState.DOORS_CLOSED)
898 return false;
899 else if (GetAnimationPhase("SeatDriver") <= 0.5)
900 return false;
901
902 return true;
903
904 case 3:
905 if (GetCarDoorsState("NivaCoDriverDoors") == CarDoorState.DOORS_CLOSED)
906 return false;
907 else if (GetAnimationPhase("SeatCoDriver") <= 0.5)
908 return false;
909
910 return true;
911 }
912
913 return false;
914 }
915
916 override string GetDoorSelectionNameFromSeatPos(int posIdx)
917 {
918 switch (posIdx)
919 {
920 case 0:
921 case 2:
922 return "doors_driver";
923 case 1:
924 case 3:
925 return "doors_codriver";
926 }
927
928 return super.GetDoorSelectionNameFromSeatPos(posIdx);
929 }
930
931 override string GetDoorInvSlotNameFromSeatPos(int posIdx)
932 {
933 switch (posIdx)
934 {
935 case 0:
936 case 2:
937 return "NivaDriverDoors";
938 case 1:
939 case 3:
940 return "NivaCoDriverDoors";
941 }
942
943 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
944 }
945
946 // 0 full ambient and engine sound
947 // 1 zero ambient and engine sound
948 override float OnSound(CarSoundCtrl ctrl, float oldValue)
949 {
950 float tempCap = 0.0;
951
952 switch (ctrl)
953 {
954 case CarSoundCtrl.DOORS:
955 float newValue = 0;
956 if (GetCarDoorsState("NivaDriverDoors") == CarDoorState.DOORS_CLOSED)
957 {
958 newValue += 0.5;
959 }
960
961 if (GetCarDoorsState("NivaCoDriverDoors") == CarDoorState.DOORS_CLOSED)
962 {
963 newValue += 0.5;
964 }
965
966 if (GetCarDoorsState("NivaTrunk") == CarDoorState.DOORS_CLOSED)
967 {
968 newValue += 0.3;
969 }
970
971 if (GetHealthLevel("WindowFront") == GameConstants.STATE_RUINED)
972 {
973 newValue -= 0.6;
974 }
975
976 if (GetHealthLevel("WindowLR") == GameConstants.STATE_RUINED)
977 {
978 newValue -= 0.2;
979 }
980
981 if (GetHealthLevel("WindowRR") == GameConstants.STATE_RUINED)
982 {
983 newValue -= 0.2;
984 }
985
986 return Math.Clamp(newValue, 0, 1);
987 break;
988 }
989
990 return super.OnSound(ctrl, oldValue);
991 }
992
993 override string GetAnimSourceFromSelection( string selection )
994 {
995 switch (selection)
996 {
997 case "doors_driver":
998 return "DoorsDriver";
999 case "doors_codriver":
1000 return "DoorsCoDriver";
1001 case "doors_hood":
1002 return "DoorsHood";
1003 case "doors_trunk":
1004 return "DoorsTrunk";
1005 case "seatback_driver":
1006 return "SeatDriver";
1007 case "seatback_codriver":
1008 return "SeatCoDriver";
1009 }
1010
1011 return "";
1012 }
1013
1014 override string GetDoorConditionPointFromSelection(string selection)
1015 {
1016 switch (selection)
1017 {
1018 case "seat_driver":
1019 case "seatback_driver":
1020 case "seat_cargo1":
1021 return "seat_con_1_1";
1022 case "seat_codriver":
1023 case "seatback_codriver":
1024 case "seat_cargo2":
1025 return "seat_con_2_1";
1026 }
1027
1028 return "";
1029 }
1030
1031 override int GetCrewIndex(string selection)
1032 {
1033 switch (selection)
1034 {
1035 case "seatback_driver":
1036 return 0;
1037 case "seatback_codriver":
1038 return 1;
1039 }
1040
1041 return -1;
1042 }
1043
1044 override bool IsVitalTruckBattery()
1045 {
1046 return false;
1047 }
1048
1049 override bool IsVitalGlowPlug()
1050 {
1051 return false;
1052 }
1053
1054 override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
1055 {
1056 if (nextSeat == 0 && GetAnimationPhase("SeatDriver") > 0.5)
1057 return false;
1058
1059 if (nextSeat == 1 && GetAnimationPhase("SeatCoDriver") > 0.5)
1060 return false;
1061
1062 switch (currentSeat)
1063 {
1064 case 0:
1065 return nextSeat == 1;
1066
1067 case 1:
1068 return nextSeat == 0;
1069
1070 case 2:
1071 return nextSeat == 3;
1072
1073 case 3:
1074 return nextSeat == 2;
1075 }
1076
1077 return false;
1078 }
1079
1080 override bool CanReachDoorsFromSeat( string pDoorsSelection, int pCurrentSeat )
1081 {
1082 switch (pCurrentSeat)
1083 {
1084 case 0:
1085 return pDoorsSelection == "DoorsDriver";
1086
1087 case 1:
1088 return pDoorsSelection == "DoorsCoDriver";
1089
1090 case 2:
1091 return pDoorsSelection == "DoorsDriver";
1092
1093 case 3:
1094 return pDoorsSelection == "DoorsCoDriver";
1095 }
1096
1097 return false;
1098 }
1099
1100 override int GetSeatIndexFromDoor( string pDoorSelection )
1101 {
1102 switch (pDoorSelection)
1103 {
1104 case "DoorsDriver":
1105 return 0;
1106 case "DoorsCoDriver":
1107 return 1;
1108 }
1109
1110 return -1;
1111 }
1112
1113 override void SetActions()
1114 {
1115 super.SetActions();
1116
1118 }
1119
1120 override void OnDebugSpawn()
1121 {
1122 SpawnUniversalParts();
1123 SpawnAdditionalItems();
1124 FillUpCarFluids();
1125
1126 GetInventory().CreateInInventory("HatchbackWheel");
1127 GetInventory().CreateInInventory("HatchbackWheel");
1128 GetInventory().CreateInInventory("HatchbackWheel" );
1129 GetInventory().CreateInInventory("HatchbackWheel");
1130
1131 GetInventory().CreateInInventory("HatchbackDoors_Driver");
1132 GetInventory().CreateInInventory("HatchbackDoors_CoDriver");
1133 GetInventory().CreateInInventory("HatchbackHood");
1134 GetInventory().CreateInInventory("HatchbackTrunk");
1135
1136 //-----IN CAR CARGO
1137 GetInventory().CreateInInventory("HatchbackWheel");
1138 GetInventory().CreateInInventory("HatchbackWheel");
1139 }
1140}
1141
1142class OffroadHatchback_White extends OffroadHatchback
1143{
1144 override void OnDebugSpawn()
1145 {
1146 SpawnUniversalParts();
1147 SpawnAdditionalItems();
1148 FillUpCarFluids();
1149
1150 GetInventory().CreateInInventory("HatchbackWheel");
1151 GetInventory().CreateInInventory("HatchbackWheel");
1152 GetInventory().CreateInInventory("HatchbackWheel");
1153 GetInventory().CreateInInventory("HatchbackWheel");
1154
1155 GetInventory().CreateInInventory("HatchbackDoors_Driver_White");
1156 GetInventory().CreateInInventory("HatchbackDoors_CoDriver_White");
1157 GetInventory().CreateInInventory("HatchbackHood_White");
1158 GetInventory().CreateInInventory("HatchbackTrunk_White");
1159
1160 //-----IN CAR CARGO
1161 GetInventory().CreateInInventory("HatchbackWheel");
1162 GetInventory().CreateInInventory("HatchbackWheel");
1163 }
1164}
1165
1166class OffroadHatchback_Blue extends OffroadHatchback
1167{
1168 override void OnDebugSpawn()
1169 {
1170 SpawnUniversalParts();
1171 SpawnAdditionalItems();
1172 FillUpCarFluids();
1173
1174 GetInventory().CreateInInventory("HatchbackWheel");
1175 GetInventory().CreateInInventory("HatchbackWheel");
1176 GetInventory().CreateInInventory("HatchbackWheel");
1177 GetInventory().CreateInInventory("HatchbackWheel");
1178
1179 GetInventory().CreateInInventory("HatchbackDoors_Driver_Blue");
1180 GetInventory().CreateInInventory("HatchbackDoors_CoDriver_Blue");
1181 GetInventory().CreateInInventory("HatchbackHood_Blue");
1182 GetInventory().CreateInInventory("HatchbackTrunk_Blue");
1183
1184 //-----IN CAR CARGO
1185 GetInventory().CreateInInventory("HatchbackWheel");
1186 GetInventory().CreateInInventory("HatchbackWheel");
1187 }
1188}
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.