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

◆ CanReachDoorsFromSeat()

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

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

837{
841
842 void Sedan_02()
843 {
844 m_dmgContactCoef = 0.0790;
845
846 m_EngineStartOK = "Sedan_02_engine_start_SoundSet";
847 m_EngineStartBattery = "Sedan_02_engine_failed_start_battery_SoundSet";
848 m_EngineStartPlug = "Sedan_02_engine_failed_start_sparkplugs_SoundSet";
849 m_EngineStartFuel = "Sedan_02_engine_failed_start_fuel_SoundSet";
850 m_EngineStop = "Sedan_02_engine_stop_SoundSet";
851 m_EngineStopFuel = "Sedan_02_engine_stop_fuel_SoundSet";
852
853 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
854 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
855
856 m_CarHornShortSoundName = "Sedan_02_Horn_Short_SoundSet";
857 m_CarHornLongSoundName = "Sedan_02_Horn_SoundSet";
858
859 SetEnginePos("0 0.7 -1.7");
860 }
861
862 void ~Sedan_02()
863 {
864 m_UTSource = null;
865 m_UTSSettings = null;
866 m_UTSLEngine = null;
867 }
868
869 override void EEInit()
870 {
871 super.EEInit();
872
873 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
874 {
876 m_UTSSettings.m_ManualUpdate = true;
878 m_UTSSettings.m_TemperatureCap = 0;
879 m_UTSSettings.m_RangeFull = 0.5;
880 m_UTSSettings.m_RangeMax = 2;
881
884 }
885 }
886
887 override void OnEngineStart()
888 {
889 super.OnEngineStart();
890
891 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
892 {
893 if (m_UTSource)
894 m_UTSource.SetDefferedActive(true, 20.0);
895 }
896 }
897
898 override void OnEngineStop()
899 {
900 super.OnEngineStop();
901
902 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
903 {
904 if (m_UTSource)
905 m_UTSource.SetDefferedActive(false, 10.0);
906 }
907 }
908
909 override void EOnPostSimulate(IEntity other, float timeSlice)
910 {
911 if (g_Game.IsServer() || !g_Game.IsMultiplayer())
912 {
913 if (m_UTSource && m_UTSource.IsActive())
914 {
916 }
917 }
918 }
919
920 override int GetAnimInstance()
921 {
922 return VehicleAnimInstances.S120;
923 }
924
925 override int GetSeatAnimationType(int posIdx)
926 {
927 switch (posIdx)
928 {
929 case 0:
930 return DayZPlayerConstants.VEHICLESEAT_DRIVER;
931 case 1:
932 return DayZPlayerConstants.VEHICLESEAT_CODRIVER;
933 case 2:
934 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_L;
935 case 3:
936 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_R;
937 }
938
939 return 0;
940 }
941
942 // Override for car-specific light type
944 {
945 return CarLightBase.Cast(ScriptedLightBase.CreateLight(Sedan_02FrontLight));
946 }
947
948 // Override for car-specific light type
950 {
951 return CarRearLightBase.Cast(ScriptedLightBase.CreateLight(Sedan_02RearLight));
952 }
953
954 override bool CanReleaseAttachment( EntityAI attachment )
955 {
956 if (!super.CanReleaseAttachment(attachment))
957 {
958 return false;
959 }
960
961 string attType = attachment.GetType();
962 switch (attType)
963 {
964 case "CarBattery":
965 if (GetCarDoorsState("Sedan_02_Trunk") == CarDoorState.DOORS_CLOSED || EngineIsOn())
966 {
967 return false;
968 }
969 break;
970
971 case "SparkPlug":
972 if (GetCarDoorsState("Sedan_02_Trunk") == CarDoorState.DOORS_CLOSED || EngineIsOn())
973 {
974 return false;
975 }
976 break;
977
978 case "CarRadiator":
979 if (GetCarDoorsState("Sedan_02_Hood") == CarDoorState.DOORS_CLOSED || EngineIsOn())
980 {
981 return false;
982 }
983 break;
984 }
985
986 return true;
987 }
988
989 override protected bool CanManipulateSpareWheel(string slotSelectionName)
990 {
991 return GetCarDoorsState("Sedan_02_Hood") != CarDoorState.DOORS_CLOSED;
992 }
993
994 override bool CanDisplayAttachmentCategory(string category_name)
995 {
996 if ( !super.CanDisplayAttachmentCategory(category_name))
997 {
998 return false;
999 }
1000
1001 category_name.ToLower();
1002 if (category_name.Contains("engine"))
1003 {
1004 if (GetCarDoorsState("Sedan_02_Trunk") == CarDoorState.DOORS_CLOSED)
1005 {
1006 return false;
1007 }
1008 }
1009
1010 if (category_name.Contains("trunk"))
1011 {
1012 if (GetCarDoorsState("Sedan_02_Hood") == CarDoorState.DOORS_CLOSED)
1013 {
1014 return false;
1015 }
1016 }
1017
1018 return true;
1019 }
1020
1021 override bool CanDisplayCargo()
1022 {
1023 if ( !super.CanDisplayCargo() )
1024 return false;
1025
1026 if ( GetCarDoorsState("Sedan_02_Hood") == CarDoorState.DOORS_CLOSED )
1027 return false;
1028
1029 return true;
1030 }
1031
1032 override int GetCarDoorsState(string slotType)
1033 {
1034 CarDoor carDoor;
1035
1036 Class.CastTo( carDoor, FindAttachmentBySlotName( slotType ) );
1037 if (!carDoor)
1038 {
1039 return CarDoorState.DOORS_MISSING;
1040 }
1041
1042 switch (slotType)
1043 {
1044 case "Sedan_02_Door_1_1":
1045 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
1046
1047 case "Sedan_02_Door_2_1":
1048 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
1049
1050 case "Sedan_02_Door_1_2":
1051 return TranslateAnimationPhaseToCarDoorState("DoorsCargo1");
1052
1053 case "Sedan_02_Door_2_2":
1054 return TranslateAnimationPhaseToCarDoorState("DoorsCargo2");
1055
1056 case "Sedan_02_Hood":
1057 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
1058
1059 case "Sedan_02_Trunk":
1060 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
1061 }
1062
1063 return CarDoorState.DOORS_MISSING;
1064 }
1065
1066
1067 override bool CrewCanGetThrough( int posIdx )
1068 {
1069 switch( posIdx )
1070 {
1071 case 0:
1072 if ( GetCarDoorsState("Sedan_02_Door_1_1") == CarDoorState.DOORS_CLOSED )
1073 return false;
1074
1075 return true;
1076 break;
1077
1078 case 1:
1079 if ( GetCarDoorsState("Sedan_02_Door_2_1") == CarDoorState.DOORS_CLOSED )
1080 return false;
1081
1082 return true;
1083 break;
1084
1085 case 2:
1086 if ( GetCarDoorsState("Sedan_02_Door_1_2") == CarDoorState.DOORS_CLOSED )
1087 return false;
1088
1089 return true;
1090 break;
1091
1092 case 3:
1093 if ( GetCarDoorsState("Sedan_02_Door_2_2") == CarDoorState.DOORS_CLOSED )
1094 return false;
1095
1096 return true;
1097 break;
1098 }
1099
1100 return false;
1101 }
1102
1103 override string GetDoorSelectionNameFromSeatPos(int posIdx)
1104 {
1105 switch( posIdx )
1106 {
1107 case 0:
1108 return "doors_driver";
1109 break;
1110 case 1:
1111 return "doors_codriver";
1112 break;
1113 case 2:
1114 return "doors_cargo1";
1115 break;
1116 case 3:
1117 return "doors_cargo2";
1118 break;
1119 }
1120
1121 return super.GetDoorSelectionNameFromSeatPos(posIdx);
1122 }
1123
1124 override string GetDoorInvSlotNameFromSeatPos(int posIdx)
1125 {
1126 switch( posIdx )
1127 {
1128 case 0:
1129 return "Sedan_02_Door_1_1";
1130 break;
1131 case 1:
1132 return "Sedan_02_Door_2_1";
1133 break;
1134 case 2:
1135 return "Sedan_02_Door_1_2";
1136 break;
1137 case 3:
1138 return "Sedan_02_Door_2_2";
1139 break;
1140 }
1141
1142 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
1143 }
1144
1145 override float OnSound(CarSoundCtrl ctrl, float oldValue)
1146 {
1147 switch ( ctrl )
1148 {
1149 case CarSoundCtrl.DOORS:
1150 float newValue = 0;
1151 if (GetCarDoorsState("Sedan_02_Door_1_1") == CarDoorState.DOORS_CLOSED)
1152 {
1153 newValue += 0.25;
1154 }
1155
1156 if (GetCarDoorsState("Sedan_02_Door_2_1") == CarDoorState.DOORS_CLOSED)
1157 {
1158 newValue += 0.25;
1159 }
1160
1161 if (GetCarDoorsState("Sedan_02_Door_1_2") == CarDoorState.DOORS_CLOSED)
1162 {
1163 newValue += 0.25;
1164 }
1165
1166 if (GetCarDoorsState("Sedan_02_Door_2_2") == CarDoorState.DOORS_CLOSED)
1167 {
1168 newValue += 0.25;
1169 }
1170
1171 return Math.Clamp(newValue, 0, 1);
1172 break;
1173 }
1174
1175 return super.OnSound(ctrl, oldValue);
1176 }
1177
1178 override string GetAnimSourceFromSelection( string selection )
1179 {
1180 switch( selection )
1181 {
1182 case "doors_driver":
1183 return "DoorsDriver";
1184 case "doors_codriver":
1185 return "DoorsCoDriver";
1186 case "doors_cargo1":
1187 return "DoorsCargo1";
1188 case "doors_cargo2":
1189 return "DoorsCargo2";
1190 case "doors_hood":
1191 return "DoorsHood";
1192 case "doors_trunk":
1193 return "DoorsTrunk";
1194 }
1195
1196 return "";
1197 }
1198
1199
1200 override bool IsVitalTruckBattery()
1201 {
1202 return false;
1203 }
1204
1205 override bool IsVitalGlowPlug()
1206 {
1207 return false;
1208 }
1209
1210 override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
1211 {
1212 switch (currentSeat)
1213 {
1214 case 0:
1215 return nextSeat == 1;
1216
1217 case 1:
1218 return nextSeat == 0;
1219
1220 case 2:
1221 return nextSeat == 3;
1222
1223 case 3:
1224 return nextSeat == 2;
1225 }
1226
1227 return false;
1228 }
1229
1230 override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
1231 {
1232 switch (pCurrentSeat)
1233 {
1234 case 0:
1235 return pDoorsSelection == "DoorsDriver";
1236
1237 case 1:
1238 return pDoorsSelection == "DoorsCoDriver";
1239
1240 case 2:
1241 return pDoorsSelection == "DoorsCargo1";
1242
1243 case 3:
1244 return pDoorsSelection == "DoorsCargo2";
1245 }
1246
1247 return false;
1248 }
1249
1250 override void OnDebugSpawn()
1251 {
1252 SpawnUniversalParts();
1253 SpawnAdditionalItems();
1254 FillUpCarFluids();
1255
1256 GameInventory inventory = GetInventory();
1257 inventory.CreateInInventory("Sedan_02_Wheel");
1258 inventory.CreateInInventory("Sedan_02_Wheel");
1259 inventory.CreateInInventory("Sedan_02_Wheel");
1260 inventory.CreateInInventory("Sedan_02_Wheel");
1261 inventory.CreateInInventory("Sedan_02_Wheel");
1262
1263 inventory.CreateInInventory("Sedan_02_Door_1_1");
1264 inventory.CreateInInventory("Sedan_02_Door_1_2");
1265 inventory.CreateInInventory("Sedan_02_Door_2_1");
1266 inventory.CreateInInventory("Sedan_02_Door_2_2");
1267 inventory.CreateInInventory("Sedan_02_Hood");
1268 inventory.CreateInInventory("Sedan_02_Trunk");
1269
1270 //-----IN CAR CARGO
1271 inventory.CreateInInventory("Sedan_02_Wheel");
1272 inventory.CreateInInventory("Sedan_02_Wheel");
1273 }
1274}
1275
1276class Sedan_02_Red extends Sedan_02
1277{
1278 override void OnDebugSpawn()
1279 {
1280 SpawnUniversalParts();
1281 SpawnAdditionalItems();
1282 FillUpCarFluids();
1283
1284 GameInventory inventory = GetInventory();
1285 inventory.CreateInInventory("Sedan_02_Wheel");
1286 inventory.CreateInInventory("Sedan_02_Wheel");
1287 inventory.CreateInInventory("Sedan_02_Wheel");
1288 inventory.CreateInInventory("Sedan_02_Wheel");
1289
1290 inventory.CreateInInventory("Sedan_02_Door_1_1_Red");
1291 inventory.CreateInInventory("Sedan_02_Door_1_2_Red");
1292 inventory.CreateInInventory("Sedan_02_Door_2_1_Red");
1293 inventory.CreateInInventory("Sedan_02_Door_2_2_Red");
1294 inventory.CreateInInventory("Sedan_02_Hood_Red");
1295 inventory.CreateInInventory("Sedan_02_Trunk_Red");
1296
1297 //-----IN CAR CARGO
1298 inventory.CreateInInventory("Sedan_02_Wheel");
1299 inventory.CreateInInventory("Sedan_02_Wheel");
1300 }
1301}
1302
1303class Sedan_02_Grey extends Sedan_02
1304{
1305 override void OnDebugSpawn()
1306 {
1307 SpawnUniversalParts();
1308 SpawnAdditionalItems();
1309 FillUpCarFluids();
1310
1311 GameInventory inventory = GetInventory();
1312 inventory.CreateInInventory("Sedan_02_Wheel");
1313 inventory.CreateInInventory("Sedan_02_Wheel");
1314 inventory.CreateInInventory("Sedan_02_Wheel");
1315 inventory.CreateInInventory("Sedan_02_Wheel");
1316
1317 inventory.CreateInInventory("Sedan_02_Door_1_1_Grey");
1318 inventory.CreateInInventory("Sedan_02_Door_1_2_Grey");
1319 inventory.CreateInInventory("Sedan_02_Door_2_1_Grey");
1320 inventory.CreateInInventory("Sedan_02_Door_2_2_Grey");
1321 inventory.CreateInInventory("Sedan_02_Hood_Grey");
1322 inventory.CreateInInventory("Sedan_02_Trunk_Grey");
1323
1324 //-----IN CAR CARGO
1325 inventory.CreateInInventory("Sedan_02_Wheel");
1326 inventory.CreateInInventory("Sedan_02_Wheel");
1327 }
1328}
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:443
DayZGame g_Game
Определения DayZGame.c:3942
ref UniversalTemperatureSourceSettings m_UTSSettings
Определения FireplaceBase.c:221
ref UniversalTemperatureSource m_UTSource
Определения FireplaceBase.c:220
override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
Определения Sedan_02.c:816
class Sedan_02 extends CarScript OnDebugSpawn()
Определения Sedan_02.c:443
override string GetAnimSourceFromSelection(string selection)
Определения Sedan_02.c:784
override int GetSeatAnimationType(int posIdx)
Определения Sedan_02.c:531
override float OnSound(CarSoundCtrl ctrl, float oldValue)
Определения Sedan_02.c:751
void ~Sedan_02()
Определения Sedan_02.c:468
override string GetDoorInvSlotNameFromSeatPos(int posIdx)
Определения Sedan_02.c:730
override void EOnPostSimulate(IEntity other, float timeSlice)
Определения Sedan_02.c:515
override void OnEngineStop()
Определения Sedan_02.c:504
override void EEInit()
Определения Sedan_02.c:475
override bool CanReleaseAttachment(EntityAI attachment)
Определения Sedan_02.c:560
override bool CanDisplayCargo()
Определения Sedan_02.c:627
override void OnEngineStart()
Определения Sedan_02.c:493
override CarLightBase CreateFrontLight()
Определения Sedan_02.c:549
override int GetAnimInstance()
Определения Sedan_02.c:526
override bool CrewCanGetThrough(int posIdx)
Определения Sedan_02.c:673
override bool CanReachDoorsFromSeat(string pDoorsSelection, int pCurrentSeat)
Определения Sedan_02.c:836
bool CanManipulateSpareWheel(string slotSelectionName)
Определения Sedan_02.c:595
override bool IsVitalGlowPlug()
Определения Sedan_02.c:811
void Sedan_02()
Определения Sedan_02.c:448
override CarRearLightBase CreateRearLight()
Определения Sedan_02.c:555
override bool IsVitalTruckBattery()
Определения Sedan_02.c:806
override string GetDoorSelectionNameFromSeatPos(int posIdx)
Определения Sedan_02.c:709
override int GetCarDoorsState(string slotType)
Определения Sedan_02.c:638
override bool CanDisplayAttachmentCategory(string category_name)
Определения Sedan_02.c:600
UniversalTemperatureSourceLambdaBaseImpl UniversalTemperatureSourceLambdaBase UniversalTemperatureSourceLambdaEngine()
VehicleAnimInstances
Определения VehicleAnimInstances.c:2
Определения CarRearLightBase.c:2
Super root of all classes in Enforce script.
Определения EnScript.c:11
EntityAI CreateInInventory(string type)
creates entity somewhere in inventory
script counterpart to engine's class Inventory
Определения EnEntity.c:165
Определения EnMath.c:7
override void OnDebugSpawn()
Определения Sedan_02.c:470
Определения Sedan_02.c:469
original Timer deletes m_params which is unwanted
Определения UniversalTemperatureSource.c:39
DayZPlayerConstants
defined in C++
Определения dayzplayer.c:602
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/DayZ/constants.c:811
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.