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

◆ CanReachSeatFromSeat()

override bool OnDebugSpawn::CanReachSeatFromSeat ( int currentSeat,
int nextSeat )
protected

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

851{
855
856 void OffroadHatchback()
857 {
858 //m_dmgContactCoef = 0.075;
859
860 m_EngineStartOK = "offroad_engine_start_SoundSet";
861 m_EngineStartBattery = "offroad_engine_failed_start_battery_SoundSet";
862 m_EngineStartPlug = "offroad_engine_failed_start_sparkplugs_SoundSet";
863 m_EngineStartFuel = "offroad_engine_failed_start_fuel_SoundSet";
864 m_EngineStopFuel = "offroad_engine_stop_fuel_SoundSet";
865
866 m_CarDoorOpenSound = "offroad_door_open_SoundSet";
867 m_CarDoorCloseSound = "offroad_door_close_SoundSet";
868 m_CarSeatShiftInSound = "Offroad_SeatShiftIn_SoundSet";
869 m_CarSeatShiftOutSound = "Offroad_SeatShiftOut_SoundSet";
870
871 m_CarHornShortSoundName = "Offroad_Horn_Short_SoundSet";
872 m_CarHornLongSoundName = "Offroad_Horn_SoundSet";
873
874 SetEnginePos("0 0.7 1.2");
875 }
876
877 override void EEInit()
878 {
879 super.EEInit();
880
881 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
882 {
884 m_UTSSettings.m_ManualUpdate = true;
886 m_UTSSettings.m_TemperatureCap = 0;
887 m_UTSSettings.m_RangeFull = 0.5;
888 m_UTSSettings.m_RangeMax = 2;
889
892 }
893 }
894
895 override void OnEngineStart()
896 {
897 super.OnEngineStart();
898
899 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
900 {
901 m_UTSource.SetDefferedActive(true, 20.0);
902 }
903 }
904
905 override void OnEngineStop()
906 {
907 super.OnEngineStop();
908
909 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
910 {
911 m_UTSource.SetDefferedActive(false, 10.0);
912 }
913 }
914
915 override void EOnPostSimulate(IEntity other, float timeSlice)
916 {
917 if (GetGame().IsServer() || !GetGame().IsMultiplayer())
918 {
919 if (m_UTSource.IsActive())
920 {
922 }
923 }
924 }
925
926 override int GetAnimInstance()
927 {
928 return VehicleAnimInstances.HATCHBACK;
929 }
930
931 override float GetTransportCameraDistance()
932 {
933 return 3.5;
934 }
935
936 override int GetSeatAnimationType( int posIdx )
937 {
938 switch (posIdx)
939 {
940 case 0:
941 return DayZPlayerConstants.VEHICLESEAT_DRIVER;
942 case 1:
943 return DayZPlayerConstants.VEHICLESEAT_CODRIVER;
944 case 2:
945 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_L;
946 case 3:
947 return DayZPlayerConstants.VEHICLESEAT_PASSENGER_R;
948 }
949
950 return 0;
951
952 }
953
954
956 {
957 return CarRearLightBase.Cast( ScriptedLightBase.CreateLight(OffroadHatchbackRearLight) );
958 }
959
961 {
962 return CarLightBase.Cast( ScriptedLightBase.CreateLight(OffroadHatchbackFrontLight) );
963 }
964
965 override bool CanReleaseAttachment(EntityAI attachment)
966 {
967 if (!super.CanReleaseAttachment(attachment))
968 {
969 return false;
970 }
971
972 if (EngineIsOn() || GetCarDoorsState("NivaHood") == CarDoorState.DOORS_CLOSED)
973 {
974 string attType = attachment.GetType();
975 if (attType == "CarRadiator" || attType == "CarBattery" || attType == "SparkPlug")
976 {
977 return false;
978 }
979 }
980
981 return true;
982 }
983
984 override protected bool CanManipulateSpareWheel(string slotSelectionName)
985 {
986 return GetCarDoorsState("NivaHood") != CarDoorState.DOORS_CLOSED;
987 }
988
989 override bool CanDisplayAttachmentCategory( string category_name )
990 {
991 if (!super.CanDisplayAttachmentCategory(category_name))
992 {
993 return false;
994 }
995
996 category_name.ToLower();
997 if (category_name.Contains("engine"))
998 {
999 if (GetCarDoorsState("NivaHood") == CarDoorState.DOORS_CLOSED)
1000 {
1001 return false;
1002 }
1003 }
1004
1005 return true;
1006 }
1007
1008 override bool CanDisplayCargo()
1009 {
1010 if (!super.CanDisplayCargo())
1011 {
1012 return false;
1013 }
1014
1015 if (GetCarDoorsState("NivaTrunk") == CarDoorState.DOORS_CLOSED)
1016 {
1017 return false;
1018 }
1019
1020 return true;
1021 }
1022
1023 override int GetCarDoorsState(string slotType)
1024 {
1025 CarDoor carDoor;
1026
1027 Class.CastTo(carDoor, FindAttachmentBySlotName(slotType));
1028 if (!carDoor)
1029 {
1030 return CarDoorState.DOORS_MISSING;
1031 }
1032
1033 switch (slotType)
1034 {
1035 case "NivaDriverDoors":
1036 return TranslateAnimationPhaseToCarDoorState("DoorsDriver");
1037
1038 case "NivaCoDriverDoors":
1039 return TranslateAnimationPhaseToCarDoorState("DoorsCoDriver");
1040
1041 case "NivaHood":
1042 return TranslateAnimationPhaseToCarDoorState("DoorsHood");
1043
1044 case "NivaTrunk":
1045 return TranslateAnimationPhaseToCarDoorState("DoorsTrunk");
1046 }
1047
1048 return CarDoorState.DOORS_MISSING;
1049 }
1050
1051 override bool CrewCanGetThrough(int posIdx)
1052 {
1053 CarDoor carDoor;
1054 switch (posIdx)
1055 {
1056 case 0:
1057 if (GetCarDoorsState("NivaDriverDoors") == CarDoorState.DOORS_CLOSED)
1058 return false;
1059 else if (GetAnimationPhase("SeatDriver") > 0.5)
1060 return false;
1061
1062 return true;
1063
1064 case 1:
1065 if (GetCarDoorsState("NivaCoDriverDoors") == CarDoorState.DOORS_CLOSED)
1066 return false;
1067 else if (GetAnimationPhase("SeatCoDriver") > 0.5)
1068 return false;
1069
1070 return true;
1071
1072 case 2:
1073 if (GetCarDoorsState("NivaDriverDoors") == CarDoorState.DOORS_CLOSED)
1074 return false;
1075 else if (GetAnimationPhase("SeatDriver") <= 0.5)
1076 return false;
1077
1078 return true;
1079
1080 case 3:
1081 if (GetCarDoorsState("NivaCoDriverDoors") == CarDoorState.DOORS_CLOSED)
1082 return false;
1083 else if (GetAnimationPhase("SeatCoDriver") <= 0.5)
1084 return false;
1085
1086 return true;
1087 }
1088
1089 return false;
1090 }
1091
1092 override string GetDoorSelectionNameFromSeatPos(int posIdx)
1093 {
1094 switch (posIdx)
1095 {
1096 case 0:
1097 case 2:
1098 return "doors_driver";
1099 case 1:
1100 case 3:
1101 return "doors_codriver";
1102 }
1103
1104 return super.GetDoorSelectionNameFromSeatPos(posIdx);
1105 }
1106
1107 override string GetDoorInvSlotNameFromSeatPos(int posIdx)
1108 {
1109 switch (posIdx)
1110 {
1111 case 0:
1112 case 2:
1113 return "NivaDriverDoors";
1114 case 1:
1115 case 3:
1116 return "NivaCoDriverDoors";
1117 }
1118
1119 return super.GetDoorInvSlotNameFromSeatPos(posIdx);
1120 }
1121
1122 // 0 full ambient and engine sound
1123 // 1 zero ambient and engine sound
1124 override float OnSound(CarSoundCtrl ctrl, float oldValue)
1125 {
1126 float tempCap = 0.0;
1127
1128 switch (ctrl)
1129 {
1130 case CarSoundCtrl.DOORS:
1131 float newValue = 0;
1132 if (GetCarDoorsState("NivaDriverDoors") == CarDoorState.DOORS_CLOSED)
1133 {
1134 newValue += 0.5;
1135 }
1136
1137 if (GetCarDoorsState("NivaCoDriverDoors") == CarDoorState.DOORS_CLOSED)
1138 {
1139 newValue += 0.5;
1140 }
1141
1142 if (GetCarDoorsState("NivaTrunk") == CarDoorState.DOORS_CLOSED)
1143 {
1144 newValue += 0.3;
1145 }
1146
1147 if (GetHealthLevel("WindowFront") == GameConstants.STATE_RUINED)
1148 {
1149 newValue -= 0.6;
1150 }
1151
1152 if (GetHealthLevel("WindowLR") == GameConstants.STATE_RUINED)
1153 {
1154 newValue -= 0.2;
1155 }
1156
1157 if (GetHealthLevel("WindowRR") == GameConstants.STATE_RUINED)
1158 {
1159 newValue -= 0.2;
1160 }
1161
1162 return Math.Clamp(newValue, 0, 1);
1163 break;
1164 }
1165
1166 return super.OnSound(ctrl, oldValue);
1167 }
1168
1169 override string GetAnimSourceFromSelection( string selection )
1170 {
1171 switch (selection)
1172 {
1173 case "doors_driver":
1174 return "DoorsDriver";
1175 case "doors_codriver":
1176 return "DoorsCoDriver";
1177 case "doors_hood":
1178 return "DoorsHood";
1179 case "doors_trunk":
1180 return "DoorsTrunk";
1181 case "seatback_driver":
1182 return "SeatDriver";
1183 case "seatback_codriver":
1184 return "SeatCoDriver";
1185 }
1186
1187 return "";
1188 }
1189
1190 override string GetDoorConditionPointFromSelection(string selection)
1191 {
1192 switch (selection)
1193 {
1194 case "seat_driver":
1195 case "seatback_driver":
1196 case "seat_cargo1":
1197 return "seat_con_1_1";
1198 case "seat_codriver":
1199 case "seatback_codriver":
1200 case "seat_cargo2":
1201 return "seat_con_2_1";
1202 }
1203
1204 return "";
1205 }
1206
1207 override int GetCrewIndex(string selection)
1208 {
1209 switch (selection)
1210 {
1211 case "seatback_driver":
1212 return 0;
1213 case "seatback_codriver":
1214 return 1;
1215 }
1216
1217 return -1;
1218 }
1219
1220 override bool IsVitalTruckBattery()
1221 {
1222 return false;
1223 }
1224
1225 override bool IsVitalGlowPlug()
1226 {
1227 return false;
1228 }
1229
1230 override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
1231 {
1232 if (nextSeat == 0 && GetAnimationPhase("SeatDriver") > 0.5)
1233 return false;
1234
1235 if (nextSeat == 1 && GetAnimationPhase("SeatCoDriver") > 0.5)
1236 return false;
1237
1238 switch (currentSeat)
1239 {
1240 case 0:
1241 return nextSeat == 1;
1242
1243 case 1:
1244 return nextSeat == 0;
1245
1246 case 2:
1247 return nextSeat == 3;
1248
1249 case 3:
1250 return nextSeat == 2;
1251 }
1252
1253 return false;
1254 }
1255
1256 override bool CanReachDoorsFromSeat( string pDoorsSelection, int pCurrentSeat )
1257 {
1258 switch (pCurrentSeat)
1259 {
1260 case 0:
1261 return pDoorsSelection == "DoorsDriver";
1262
1263 case 1:
1264 return pDoorsSelection == "DoorsCoDriver";
1265
1266 case 2:
1267 return pDoorsSelection == "DoorsDriver";
1268
1269 case 3:
1270 return pDoorsSelection == "DoorsCoDriver";
1271 }
1272
1273 return false;
1274 }
1275
1276 override int GetSeatIndexFromDoor( string pDoorSelection )
1277 {
1278 switch (pDoorSelection)
1279 {
1280 case "DoorsDriver":
1281 return 0;
1282 case "DoorsCoDriver":
1283 return 1;
1284 }
1285
1286 return -1;
1287 }
1288
1289 override void SetActions()
1290 {
1291 super.SetActions();
1292
1294 }
1295
1296 override void OnDebugSpawn()
1297 {
1301
1302 GetInventory().CreateInInventory("HatchbackWheel");
1303 GetInventory().CreateInInventory("HatchbackWheel");
1304 GetInventory().CreateInInventory("HatchbackWheel" );
1305 GetInventory().CreateInInventory("HatchbackWheel");
1306
1307 GetInventory().CreateInInventory("HatchbackDoors_Driver");
1308 GetInventory().CreateInInventory("HatchbackDoors_CoDriver");
1309 GetInventory().CreateInInventory("HatchbackHood");
1310 GetInventory().CreateInInventory("HatchbackTrunk");
1311
1312 //-----IN CAR CARGO
1313 GetInventory().CreateInInventory("HatchbackWheel");
1314 GetInventory().CreateInInventory("HatchbackWheel");
1315 }
1316}
1317
1318class OffroadHatchback_White extends OffroadHatchback
1319{
1320 override void OnDebugSpawn()
1321 {
1325
1326 GetInventory().CreateInInventory("HatchbackWheel");
1327 GetInventory().CreateInInventory("HatchbackWheel");
1328 GetInventory().CreateInInventory("HatchbackWheel");
1329 GetInventory().CreateInInventory("HatchbackWheel");
1330
1331 GetInventory().CreateInInventory("HatchbackDoors_Driver_White");
1332 GetInventory().CreateInInventory("HatchbackDoors_CoDriver_White");
1333 GetInventory().CreateInInventory("HatchbackHood_White");
1334 GetInventory().CreateInInventory("HatchbackTrunk_White");
1335
1336 //-----IN CAR CARGO
1337 GetInventory().CreateInInventory("HatchbackWheel");
1338 GetInventory().CreateInInventory("HatchbackWheel");
1339 }
1340}
1341
1342class OffroadHatchback_Blue extends OffroadHatchback
1343{
1344 override void OnDebugSpawn()
1345 {
1349
1350 GetInventory().CreateInInventory("HatchbackWheel");
1351 GetInventory().CreateInInventory("HatchbackWheel");
1352 GetInventory().CreateInInventory("HatchbackWheel");
1353 GetInventory().CreateInInventory("HatchbackWheel");
1354
1355 GetInventory().CreateInInventory("HatchbackDoors_Driver_Blue");
1356 GetInventory().CreateInInventory("HatchbackDoors_CoDriver_Blue");
1357 GetInventory().CreateInInventory("HatchbackHood_Blue");
1358 GetInventory().CreateInInventory("HatchbackTrunk_Blue");
1359
1360 //-----IN CAR CARGO
1361 GetInventory().CreateInInventory("HatchbackWheel");
1362 GetInventory().CreateInInventory("HatchbackWheel");
1363 }
1364}
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.