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

◆ GetDoorConditionPointFromSelection()

override string OnDebugSpawn::GetDoorConditionPointFromSelection ( string selection)
protected

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

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