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

◆ CrewCanGetThrough()

override bool OnDebugSpawn::CrewCanGetThrough ( int posIdx)
protected

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

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