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

◆ CanReachDoorsFromSeat()

override bool OnDebugSpawn::CanReachDoorsFromSeat ( string pDoorsSelection,
int pCurrentSeat )
protected

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

762{
766
767 void Hatchback_02()
768 {
769 //m_dmgContactCoef = 0.070;
770
771 m_EngineStartOK = "Hatchback_02_engine_start_SoundSet";
772 m_EngineStartBattery = "Hatchback_02_engine_failed_start_battery_SoundSet";
773 m_EngineStartPlug = "Hatchback_02_engine_failed_start_sparkplugs_SoundSet";
774 m_EngineStartFuel = "Hatchback_02_engine_failed_start_fuel_SoundSet";
775 m_EngineStopFuel = "offroad_engine_stop_fuel_SoundSet";
776
777 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
778 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
779
780 m_CarHornShortSoundName = "Hatchback_02_Horn_Short_SoundSet";
781 m_CarHornLongSoundName = "Hatchback_02_Horn_SoundSet";
782
783 SetEnginePos("0 0.7 1.4");
784 }
785
786 override void EEInit()
787 {
788 super.EEInit();
789
790 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
791 {
793 m_UTSSettings.m_ManualUpdate = true;
795 m_UTSSettings.m_TemperatureCap = 0;
796 m_UTSSettings.m_RangeFull = 0.5;
797 m_UTSSettings.m_RangeMax = 2;
798
801 }
802 }
803
804 override void OnEngineStart()
805 {
806 super.OnEngineStart();
807
808 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
809 {
810 m_UTSource.SetDefferedActive(true, 20.0);
811 }
812 }
813
814 override void OnEngineStop()
815 {
816 super.OnEngineStop();
817
818 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
819 {
820 m_UTSource.SetDefferedActive(false, 10.0);
821 }
822 }
823
824 override void EOnPostSimulate(IEntity other, float timeSlice)
825 {
826 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
827 {
828 if (m_UTSource.IsActive())
829 {
831 }
832 }
833 }
834
835 override int GetAnimInstance()
836 {
837 return VehicleAnimInstances.GOLF;
838 }
839
840 override int GetSeatAnimationType(int posIdx)
841 {
842 switch (posIdx)
843 {
844 case 0:
845 return DayZPlayerConstants.VEHICLESEAT_DRIVER;
846 case 1:
847 return DayZPlayerConstants.VEHICLESEAT_CODRIVER;
848 case 2:
849 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_L;
850 case 3:
851 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_R;
852 }
853
854 return 0;
855 }
856
857 // Override for car-specific light type
859 {
860 return CarRearLightBase.Cast(ScriptedLightBase.CreateLight(Hatchback_02RearLight));
861 }
862
863 // Override for car-specific light type
865 {
866 return CarLightBase.Cast(ScriptedLightBase.CreateLight(Hatchback_02FrontLight));
867 }
868
869 override bool CanReleaseAttachment(EntityAI attachment)
870 {
871 if (!super.CanReleaseAttachment(attachment))
872 {
873 return false;
874 }
875
876 if (EngineIsOn() || GetCarDoorsState("Hatchback_02_Hood") == CarDoorState.DOORS_CLOSED)
877 {
878 string attType = attachment.GetType();
879 if (attType == "CarRadiator" || attType == "CarBattery" || attType == "SparkPlug")
880 {
881 return false;
882 }
883 }
884
885 return true;
886 }
887
888 override protected bool CanManipulateSpareWheel(string slotSelectionName)
889 {
890 return GetCarDoorsState("Hatchback_02_Trunk") != CarDoorState.DOORS_CLOSED;
891 }
892
893 override bool CanDisplayAttachmentCategory( string category_name )
894 {
895 //super
896 if ( !super.CanDisplayAttachmentCategory( category_name ) )
897 return false;
898 //
899
900 category_name.ToLower();
901 if ( category_name.Contains("engine") )
902 {
903 if ( GetCarDoorsState("Hatchback_02_Hood") == CarDoorState.DOORS_CLOSED )
904 return false;
905 }
906
907 return true;
908 }
909
910 override bool CanDisplayCargo()
911 {
912 if ( !super.CanDisplayCargo() )
913 return false;
914
915 if ( GetCarDoorsState("Hatchback_02_Trunk") == CarDoorState.DOORS_CLOSED )
916 return false;
917
918 return true;
919 }
920
921 override int GetCarDoorsState(string slotType)
922 {
923 CarDoor carDoor;
924
925 Class.CastTo(carDoor, FindAttachmentBySlotName(slotType));
926 if (!carDoor)
927 {
928 return CarDoorState.DOORS_MISSING;
929 }
930
931 switch (slotType)
932 {
933 case "Hatchback_02_Door_1_1":
934 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
935
936 case "Hatchback_02_Door_2_1":
937 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
938
939 case "Hatchback_02_Door_1_2":
940 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
941
942 case "Hatchback_02_Door_2_2":
943 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
944
945 case "Hatchback_02_Hood":
946 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
947
948 case "Hatchback_02_Trunk":
949 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
950 }
951
952 return CarDoorState.DOORS_MISSING;
953 }
954
955
956 override bool CrewCanGetThrough(int posIdx)
957 {
958 switch (posIdx)
959 {
960 case 0:
961 if (GetCarDoorsState("Hatchback_02_Door_1_1") == CarDoorState.DOORS_CLOSED)
962 {
963 return false;
964 }
965
966 return true;
967
968 case 1:
969 if (GetCarDoorsState("Hatchback_02_Door_2_1") == CarDoorState.DOORS_CLOSED)
970 {
971 return false;
972 }
973
974 return true;
975
976 case 2:
977 if (GetCarDoorsState("Hatchback_02_Door_1_2") == CarDoorState.DOORS_CLOSED)
978 {
979 return false;
980 }
981
982 return true;
983
984 case 3:
985 if (GetCarDoorsState("Hatchback_02_Door_2_2") == CarDoorState.DOORS_CLOSED)
986 {
987 return false;
988 }
989
990 return true;
991 }
992
993 return false;
994 }
995
996 override string GetDoorSelectionNameFromSeatPos(int posIdx)
997 {
998 switch( posIdx )
999 {
1000 case 0:
1001 return "doors_driver";
1002 break;
1003 case 1:
1004 return "doors_codriver";
1005 break;
1006 case 2:
1007 return "doors_cargo1";
1008 break;
1009 case 3:
1010 return "doors_cargo2";
1011 break;
1012 }
1013
1014 return super.GetDoorSelectionNameFromSeatPos(posIdx);
1015 }
1016
1017 override string GetDoorInvSlotNameFromSeatPos(int posIdx)
1018 {
1019 switch( posIdx )
1020 {
1021 case 0:
1022 return "Hatchback_02_Door_1_1";
1023 break;
1024 case 1:
1025 return "Hatchback_02_Door_2_1";
1026 break;
1027 case 2:
1028 return "Hatchback_02_Door_1_2";
1029 break;
1030 case 3:
1031 return "Hatchback_02_Door_2_2";
1032 break;
1033 }
1034
1035 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
1036 }
1037
1038 override float OnSound(CarSoundCtrl ctrl, float oldValue)
1039 {
1040 switch (ctrl)
1041 {
1042 case CarSoundCtrl.DOORS:
1043 float newValue = 0;
1044 if (GetCarDoorsState("Hatchback_02_Door_1_1") == CarDoorState.DOORS_CLOSED)
1045 {
1046 newValue += 0.25;
1047 }
1048
1049 if (GetCarDoorsState("Hatchback_02_Door_2_1") == CarDoorState.DOORS_CLOSED)
1050 {
1051 newValue += 0.25;
1052 }
1053
1054 if (GetCarDoorsState("Hatchback_02_Door_1_2") == CarDoorState.DOORS_CLOSED)
1055 {
1056 newValue += 0.25;
1057 }
1058
1059 if (GetCarDoorsState("Hatchback_02_Door_2_2") == CarDoorState.DOORS_CLOSED)
1060 {
1061 newValue += 0.25;
1062 }
1063
1064 return Math.Clamp(newValue, 0, 1);
1065 break;
1066 }
1067
1068 return super.OnSound(ctrl, oldValue);
1069 }
1070
1071 override string GetAnimSourceFromSelection( string selection )
1072 {
1073 switch( selection )
1074 {
1075 case "doors_driver":
1076 return "DoorsDriver";
1077 case "doors_codriver":
1078 return "DoorsCoDriver";
1079 case "doors_cargo1":
1080 return "DoorsCargo1";
1081 case "doors_cargo2":
1082 return "DoorsCargo2";
1083 case "doors_hood":
1084 return "DoorsHood";
1085 case "doors_trunk":
1086 return "DoorsTrunk";
1087 }
1088
1089 return "";
1090 }
1091
1092
1093 override bool IsVitalTruckBattery()
1094 {
1095 return false;
1096 }
1097
1098 override bool IsVitalGlowPlug()
1099 {
1100 return false;
1101 }
1102
1103 override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
1104 {
1105 switch (currentSeat)
1106 {
1107 case 0:
1108 return nextSeat == 1;
1109 case 1:
1110 return nextSeat == 0;
1111 case 2:
1112 return nextSeat == 3;
1113 case 3:
1114 return nextSeat == 2;
1115 }
1116
1117 return false;
1118 }
1119
1120 override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
1121 {
1122 switch (pCurrentSeat)
1123 {
1124 case 0:
1125 return pDoorsSelection == "DoorsDriver";
1126 case 1:
1127 return pDoorsSelection == "DoorsCoDriver";
1128 case 2:
1129 return pDoorsSelection == "DoorsCargo1";
1130 case 3:
1131 return pDoorsSelection == "DoorsCargo2";
1132 }
1133
1134 return false;
1135 }
1136
1137 override void OnDebugSpawn()
1138 {
1142
1143 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1144 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1145 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1146 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1147
1148 GetInventory().CreateInInventory("Hatchback_02_Door_1_1");
1149 GetInventory().CreateInInventory("Hatchback_02_Door_1_2");
1150 GetInventory().CreateInInventory("Hatchback_02_Door_2_1");
1151 GetInventory().CreateInInventory("Hatchback_02_Door_2_2");
1152 GetInventory().CreateInInventory("Hatchback_02_Hood");
1153 GetInventory().CreateInInventory("Hatchback_02_Trunk");
1154
1155 //-----IN CAR CARGO
1156 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1157 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1158 }
1159}
1160
1161class Hatchback_02_Black extends Hatchback_02
1162{
1163 override void OnDebugSpawn()
1164 {
1168
1169 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1170 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1171 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1172 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1173
1174 GetInventory().CreateInInventory("Hatchback_02_Door_1_1_Black");
1175 GetInventory().CreateInInventory("Hatchback_02_Door_1_2_Black");
1176 GetInventory().CreateInInventory("Hatchback_02_Door_2_1_Black");
1177 GetInventory().CreateInInventory("Hatchback_02_Door_2_2_Black");
1178 GetInventory().CreateInInventory("Hatchback_02_Hood_Black");
1179 GetInventory().CreateInInventory("Hatchback_02_Trunk_Black");
1180
1181 //-----IN CAR CARGO
1182 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1183 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1184 }
1185};
1186
1187class Hatchback_02_Blue extends Hatchback_02
1188{
1189 override void OnDebugSpawn()
1190 {
1194
1195 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1196 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1197 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1198 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1199
1200 GetInventory().CreateInInventory("Hatchback_02_Door_1_1_Blue");
1201 GetInventory().CreateInInventory("Hatchback_02_Door_1_2_Blue");
1202 GetInventory().CreateInInventory("Hatchback_02_Door_2_1_Blue");
1203 GetInventory().CreateInInventory("Hatchback_02_Door_2_2_Blue");
1204 GetInventory().CreateInInventory("Hatchback_02_Hood_Blue");
1205 GetInventory().CreateInInventory("Hatchback_02_Trunk_Blue");
1206
1207 //-----IN CAR CARGO
1208 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1209 GetInventory().CreateInInventory("Hatchback_02_Wheel");
1210 }
1211}
CarSoundCtrl
Car's sound controller list. (native, do not change or extend)
Определения Car.c:4
void SpawnUniversalParts()
Определения CarScript.c:2801
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_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
class Hatchback_02_Blue extends Hatchback_02 OnDebugSpawn
Определения Hatchback_02.c:403
override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
Определения Hatchback_02.c:744
override string GetAnimSourceFromSelection(string selection)
Определения Hatchback_02.c:712
override int GetSeatAnimationType(int posIdx)
Определения Hatchback_02.c:481
override float OnSound(CarSoundCtrl ctrl, float oldValue)
Определения Hatchback_02.c:679
void Hatchback_02()
Определения Hatchback_02.c:408
override string GetDoorInvSlotNameFromSeatPos(int posIdx)
Определения Hatchback_02.c:658
override void EOnPostSimulate(IEntity other, float timeSlice)
Определения Hatchback_02.c:465
override void OnEngineStop()
Определения Hatchback_02.c:455
override void EEInit()
Определения Hatchback_02.c:427
override bool CanReleaseAttachment(EntityAI attachment)
Определения Hatchback_02.c:510
override bool CanDisplayCargo()
Определения Hatchback_02.c:551
override void OnEngineStart()
Определения Hatchback_02.c:445
override CarLightBase CreateFrontLight()
Определения Hatchback_02.c:505
override int GetAnimInstance()
Определения Hatchback_02.c:476
override bool CrewCanGetThrough(int posIdx)
Определения Hatchback_02.c:597
override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
Определения Hatchback_02.c:761
bool CanManipulateSpareWheel(string slotSelectionName)
Определения Hatchback_02.c:529
override bool IsVitalGlowPlug()
Определения Hatchback_02.c:739
override CarRearLightBase CreateRearLight()
Определения Hatchback_02.c:499
override bool IsVitalTruckBattery()
Определения Hatchback_02.c:734
override string GetDoorSelectionNameFromSeatPos(int posIdx)
Определения Hatchback_02.c:637
override int GetCarDoorsState(string slotType)
Определения Hatchback_02.c:562
override bool CanDisplayAttachmentCategory(string category_name)
Определения Hatchback_02.c:534
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
override void OnDebugSpawn()
Определения Hatchback_02.c:429
Определения Hatchback_02.c:428
Определения EnEntity.c:165
Определения EnMath.c:7
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
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.