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

◆ GetWrongCodeCount()

int Init::GetWrongCodeCount ( )
protected

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

960 : ItemBase
961{
962 const string MEMPOINT_INSIDE = "inside";
963 const string MEMPOINT_CENTER = "ce_center";
964
965 protected const string ATTACHMENT_SLOT_BATTERY = "BatteryD";
966 protected const string SELECTION_NAME_BACK = "back";
967
970
971 protected bool m_Reversed = false;
972
973 // Sounds
974 private const string CODELOCK_ACCESS_SOUND = "digitalLock_beep_Access_SoundSet";
975 private const string CODELOCK_LOCK_SOUND = "digitalLock_mechanism_Lock_SoundSet";
976 private const string CODELOCK_UNLOCK_SOUND = "digitalLock_mechanism_Unlock_SoundSet";
977 private const string CODELOCK_ERROR_SOUND = "digitalLock_beep_Error_SoundSet";
978 private const string CODELOCK_DIGITS_SOUND = "digitalLock_buttons_Digits_SoundSet";
979 private const string CODELOCK_CLEAR_SOUND = "digitalLock_button_Clear_SoundSet";
980 private const string CODELOCK_CONFIRM_SOUND = "digitalLock_button_Key_confirm_SoundSet";
981
982 void DigitalCodeLock()
983 {
984 Init();
985 }
986
987 protected void Init()
988 {
991
992 RegisterNetSyncVariableInt("m_CodeLockComponent.m_DoorIndex");
993 RegisterNetSyncVariableInt("m_CodeLockComponent.m_Stage");
994 RegisterNetSyncVariableInt("m_CodeLockComponent.m_WrongCodeCount");
995 RegisterNetSyncVariableInt("m_CodeLockComponent.m_UIAction");
996 RegisterNetSyncVariableBool("m_CodeLockComponent.m_IsLocked");
997 RegisterNetSyncVariableBool("m_CodeLockComponent.m_HasPIN");
998 RegisterNetSyncVariableBool("m_CodeLockComponent.m_HasBruteForceProtection");
999 RegisterNetSyncVariableBoolSignal("m_CodeLockComponent.m_HandleBruteForceProtection");
1000 RegisterNetSyncVariableBool("m_Reversed");
1001 }
1002
1003 override void EEInit()
1004 {
1005 super.EEInit();
1006
1007 // Set visuals on init
1009 }
1010
1011 override void EEItemLocationChanged(notnull InventoryLocation oldLoc, notnull InventoryLocation newLoc)
1012 {
1013 super.EEItemLocationChanged(oldLoc, newLoc);
1014
1015 if (g_Game.IsServer() || !g_Game.IsMultiplayer()) // single player or server side multiplayer
1016 {
1017 if (newLoc.GetType() != InventoryLocationType.ATTACHMENT)
1018 {
1019 if (g_Game.IsDedicatedServer())
1020 SetSynchDirty();
1021
1022 // Force update since animation need too change
1023 UpdateVisuals();
1024 }
1025 }
1026 }
1027
1028 override void EEItemAttached(EntityAI item, string slot_name)
1029 {
1030 super.EEItemAttached(item, slot_name);
1031
1032 if (g_Game.IsServer() || !g_Game.IsMultiplayer()) // single player or server side multiplayer
1033 {
1035 if (slot_name == ATTACHMENT_SLOT_BATTERY)
1036 {
1037 Battery9V battery = Battery9V.Cast(item);
1038 if (battery)
1039 {
1040 float batteryEnergy = battery.GetCompEM().GetEnergy();
1041 if (batteryEnergy > 0 && HasValidParent())
1042 {
1043 m_CodeLockComponent.SetStage(CodeLockStage.SETTING);
1044 GetCompEM().SwitchOn();
1045 }
1046
1047 UpdateVisuals();
1048 }
1049 }
1050 }
1051 }
1052
1053 override void EEItemDetached(EntityAI item, string slot_name)
1054 {
1055 super.EEItemDetached(item, slot_name);
1056
1057 if (g_Game.IsServer() || !g_Game.IsMultiplayer()) // single player or server side multiplayer
1058 {
1060 if (slot_name == ATTACHMENT_SLOT_BATTERY)
1061 {
1062 m_CodeLockComponent.SetStage(CodeLockStage.NONE);
1063 GetCompEM().SwitchOff();
1064
1065 UpdateVisuals();
1066 }
1067 }
1068 }
1069
1070 override void OnWasAttached(EntityAI parent, int slot_id)
1071 {
1072 super.OnWasAttached(parent, slot_id);
1073
1074 if (g_Game.IsServer() || !g_Game.IsMultiplayer()) // single player or server side multiplayer
1075 {
1077 string slotName = InventorySlots.GetSlotName(slot_id);
1078 if (slotName.IndexOf("Att_CodeLock") > -1)
1079 {
1080 Battery9V battery = GetBattery();
1081 if (battery && battery.GetCompEM().GetEnergy() > 0 && !GetCompEM().IsWorking())
1082 {
1083 m_CodeLockComponent.SetStage(CodeLockStage.SETTING);
1084 GetCompEM().SwitchOn();
1085 }
1086
1087 if (parent && parent.CanUseConstruction())
1088 {
1089 BuildingBase buildingBase = BuildingBase.Cast(parent);
1090 if (buildingBase)
1091 {
1092 SetDoorInfoFromSlot(buildingBase, slotName);
1093 }
1094 }
1095 }
1096
1097 UpdateVisuals();
1098 }
1099 }
1100
1101 override void OnWasDetached(EntityAI parent, int slot_id)
1102 {
1103 super.OnWasDetached(parent, slot_id);
1104
1105 if (g_Game.IsServer() || !g_Game.IsMultiplayer()) // single player or server side multiplayer
1106 {
1108 if (GetCompEM().IsWorking())
1109 GetCompEM().SwitchOff();
1110
1111 string slotName = InventorySlots.GetSlotName(slot_id);
1112 if (slotName.IndexOf("Att_CodeLock") > -1)
1113 {
1114 m_Reversed = false;
1115 m_CodeLockComponent.StopAllTimers();
1116 m_CodeLockComponent.OnParentDetached();
1117 }
1118
1119 UpdateVisuals();
1120 }
1121 }
1122
1123 override bool CanDetachAttachment(EntityAI parent)
1124 {
1125 if (IsLocked())
1126 return false;
1127
1128 return true;
1129 }
1130
1131 protected void SetDoorInfoFromSlot(BuildingBase buildingBase, string slotName)
1132 {
1133 map<int, ref AdditionalDoorInfo> doorsInfoMap = buildingBase.GetDoorInfoHolder().GetDoorInfoMap();
1135 if (doorsInfoMap && doorsInfoMap.Count() > 0)
1136 {
1137 int doorIndex = -1;
1138 AdditionalDoorInfo doorInfo;
1139 foreach(int doorInfoIndex, AdditionalDoorInfo doorInfoData: doorsInfoMap)
1140 {
1141 foreach(string relatedSlotName: doorInfoData.m_RelatedInventorySlotNames)
1142 {
1143 if (relatedSlotName == slotName)
1144 {
1145 doorIndex = doorInfoIndex;
1146 doorInfo = doorInfoData;
1147 break;
1148 }
1149 }
1150
1151 if (doorIndex != -1)
1152 break;
1153 }
1154
1155 if (doorIndex > -1)
1156 {
1157 m_CodeLockComponent.SetDoorIndex(doorIndex);
1158 }
1159
1161 Rebuilding rebuilding = Rebuilding.Cast(buildingBase.GetConstructionBasic());
1162 if (rebuilding && doorInfo)
1163 {
1164 ConstructionPart constructionPart = rebuilding.GetConstructionPart(doorInfo.m_DoorConstructionPartName);
1165 ConstructionPartRebuildReversibleDoor reversibleDoorPart;
1166 if (constructionPart && Class.CastTo(reversibleDoorPart, constructionPart))
1167 {
1168 m_Reversed = reversibleDoorPart.IsReversedLocal();
1169 }
1170 }
1171 }
1172 }
1173
1175 bool CanDetachCodeLock(notnull PlayerBase player, int componentIndex)
1176 {
1177 if (HasValidParent() && !IsLocked())
1178 {
1180 if (!GetReversedState() && !MiscGameplayFunctions.MemPointDirectionalCheck(player, this, DigitalCodeLock.MEMPOINT_CENTER, DigitalCodeLock.MEMPOINT_INSIDE))
1181 return false;
1182 }
1183
1184 return true;
1185 }
1186
1187 override void OnWorkStop()
1188 {
1189 super.OnWorkStop();
1190
1191 if (g_Game.IsServer() || !g_Game.IsMultiplayer()) // single player or server side multiplayer
1192 {
1193 m_CodeLockComponent.StopAllTimers();
1194 m_CodeLockComponent.OnParentReset(false);
1195
1197 }
1198 }
1199
1200 override void OnWorkStart()
1201 {
1202 super.OnWorkStart();
1203
1204 if (g_Game.IsServer() || !g_Game.IsMultiplayer()) // single player or server side multiplayer
1205 {
1206 UpdateVisuals();
1207 }
1208 }
1209
1210 override void OnWork(float consumed_energy)
1211 {
1212 super.OnWork(consumed_energy);
1213
1214 if (g_Game.IsServer() || !g_Game.IsMultiplayer()) // single player or server side multiplayer
1215 {
1216 Battery9V battery = GetBattery();
1217 if (battery)
1218 {
1219 if (GetCompEM().IsWorking() && battery.GetCompEM().GetEnergy() <= 0)
1220 {
1221 GetCompEM().SwitchOff();
1222 m_CodeLockComponent.SetLockState(false, false);
1223 }
1224
1225 float energyPercent = GetBatteryEnergy();
1226 if (m_VisualManager.HasBatteryLevelChanged())
1227 {
1228 UpdateVisuals();
1229 SetSynchDirty();
1230 }
1231 }
1232 }
1233 }
1234
1236 void UnlockOnServer(EntityAI parent)
1237 {
1238 InventoryLocation inventoryLocation = new InventoryLocation;
1239 GetInventory().GetCurrentInventoryLocation(inventoryLocation);
1240
1241 //drop entity from attachment slot
1242 if (g_Game.IsMultiplayer())
1243 {
1244 parent.GetInventory().DropEntity(InventoryMode.SERVER, parent, this);
1245 }
1246 else
1247 {
1248 parent.GetInventory().DropEntity(InventoryMode.LOCAL, parent, this);
1249 }
1250
1251 vector groundPos;
1252 string slotName = InventorySlots.GetSlotName(inventoryLocation.GetSlot());
1253 if (parent.MemoryPointExists(slotName))
1254 {
1255 groundPos = parent.ModelToWorld(parent.GetMemoryPointPos(slotName));
1256 }
1257 else
1258 {
1259 groundPos = GetPosition();
1260 }
1261
1262 SetPosition(groundPos);
1263 PlaceOnSurface();
1264 }
1265
1267 {
1268 Battery9V battery = Battery9V.Cast(GetInventory().FindAttachment(Battery9V.SLOT_ID));
1269 return battery;
1270 }
1271
1272 bool CanBeLocked()
1273 {
1274 return true;
1275 }
1276
1277 bool CanBeUnlocked()
1278 {
1279 return true;
1280 }
1281
1282 bool CanSetCode()
1283 {
1284 return true;
1285 }
1286
1287 bool HasBattery()
1288 {
1289 return GetBattery() != null;
1290 }
1291
1292 bool NeedBattery()
1293 {
1294 return true;
1295 }
1296
1297 bool HasEnergy()
1298 {
1299 return GetCompEM().IsWorking();
1300 }
1301
1302 bool HasPIN()
1303 {
1304 return m_CodeLockComponent.HasPIN();
1305 }
1306
1307 string GetInputPIN()
1308 {
1309 return m_CodeLockComponent.GetInputPIN();
1310 }
1311
1312 string GetLockPIN()
1313 {
1314 return m_CodeLockComponent.GetLockPIN();
1315 }
1316
1317 void ResetPIN()
1318 {
1319 m_CodeLockComponent.ResetPIN();
1320 }
1321
1322 void SetLockState(bool state)
1323 {
1324 m_CodeLockComponent.SetLockState(state);
1325 }
1326
1328 {
1329 return m_CodeLockComponent;
1330 }
1331
1332 bool IsLocked()
1333 {
1334 return m_CodeLockComponent.IsLocked();
1335 }
1336
1338 {
1339 return m_CodeLockComponent.GetStage();
1340 }
1341
1343 {
1344 return m_CodeLockComponent.HasBruteForceProtection();
1345 }
1346
1348 {
1349 return m_CodeLockComponent.ShouldHandleBruteForce();
1350 }
1351
1352 int GetWrongCodeCount()
1353 {
1354 return m_CodeLockComponent.GetWrongCodeCount();
1355 }
1356
1358 {
1359 return m_CodeLockComponent.GetMinLockPINLength();
1360 }
1361
1362 bool GetReversedState()
1363 {
1364 return m_Reversed;
1365 }
1366
1369 bool IsPlayerOnBackside(PlayerBase player)
1370 {
1371 if (!player)
1372 return false;
1373
1374 if (!MemoryPointExists(MEMPOINT_CENTER) || !MemoryPointExists(MEMPOINT_INSIDE))
1375 return false;
1376
1377 bool playerOnInsideSide = MiscGameplayFunctions.MemPointDirectionalCheck(player, this, MEMPOINT_CENTER, MEMPOINT_INSIDE);
1378
1379 return playerOnInsideSide != GetReversedState();
1380 }
1381
1382 bool HasValidParent()
1383 {
1384 EntityAI hierarchyParent = GetHierarchyRoot();
1385 if (hierarchyParent.CanUseConstruction())
1386 return true;
1387
1388 if (BroadcastedBunker.Cast(hierarchyParent))
1389 return true;
1390
1391 return false;
1392 }
1393
1395 {
1396 return m_VisualManager;
1397 }
1398
1399 float GetBatteryEnergy()
1400 {
1401 Battery9V battery = GetBattery();
1402 if (!battery)
1403 return 0.0;
1404
1405 float energy = battery.GetCompEM().GetEnergy();
1406 float energyMax = battery.GetCompEM().GetEnergyMax();
1407
1408 if (energyMax <= 0)
1409 return 0.0;
1410
1411 return (energy / energyMax) * 100.0;
1412 }
1413
1414 void UpdateVisuals()
1415 {
1416 if (m_VisualManager)
1417 m_VisualManager.UpdateVisuals();
1418 }
1419
1421 {
1422 if (m_VisualManager)
1423 {
1424 m_VisualManager.MarkDirty();
1425 m_VisualManager.UpdateVisuals();
1426 }
1427 }
1428
1429 override void SetActions()
1430 {
1431 super.SetActions();
1432
1434 }
1435
1436 override void OnRPC(PlayerIdentity sender, int rpc_type,ParamsReadContext ctx)
1437 {
1438 super.OnRPC(sender, rpc_type, ctx);
1439
1440 m_CodeLockComponent.OnRPC(sender, rpc_type, ctx);
1441 }
1442
1443 override void OnStoreSave(ParamsWriteContext ctx)
1444 {
1445 super.OnStoreSave(ctx);
1446
1447 m_CodeLockComponent.OnStoreSave(ctx);
1448 }
1449
1450 override bool OnStoreLoad(ParamsReadContext ctx, int version)
1451 {
1452 if (!super.OnStoreLoad(ctx, version))
1453 return false;
1454
1455 if (!m_CodeLockComponent.OnStoreLoad(ctx, version))
1456 return false;
1457
1458 return true;
1459 }
1460
1461 override void AfterStoreLoad()
1462 {
1463 super.AfterStoreLoad();
1464
1465 if (HasBattery())
1466 {
1467 if (HasPIN())
1468 {
1469 m_CodeLockComponent.SetStage(CodeLockStage.NORMAL);
1470 }
1471 else
1472 {
1473 m_CodeLockComponent.SetStage(CodeLockStage.SETTING);
1474 }
1475 }
1476
1478 }
1479
1480 override void EEHealthLevelChanged(int oldLevel, int newLevel, string zone)
1481 {
1482 super.EEHealthLevelChanged(oldLevel,newLevel,zone);
1483
1485 }
1486
1487 override void OnVariablesSynchronized()
1488 {
1489 super.OnVariablesSynchronized();
1490
1492 {
1493 CodeLockUIAction uiAction = m_CodeLockComponent.GetUIAction();
1494 if (uiAction != CodeLockUIAction.NONE)
1495 {
1496 m_CodeLockComponent.CheckUIActionClient();
1497 }
1498 }
1499 }
1500
1501 override bool IsExternalLockType()
1502 {
1503 return true;
1504 }
1505
1506 override void InitItemSounds()
1507 {
1508 super.InitItemSounds();
1509
1510 GetItemSoundHandler().AddSound(SoundConstants.ITEM_DIGITAL_LOCK_ACCESS, CODELOCK_ACCESS_SOUND);
1511 GetItemSoundHandler().AddSound(SoundConstants.ITEM_DIGITAL_LOCK_LOCK, CODELOCK_LOCK_SOUND);
1512 GetItemSoundHandler().AddSound(SoundConstants.ITEM_DIGITAL_LOCK_UNLOCK, CODELOCK_UNLOCK_SOUND);
1513 GetItemSoundHandler().AddSound(SoundConstants.ITEM_DIGITAL_LOCK_ERROR, CODELOCK_ERROR_SOUND);
1514 GetItemSoundHandler().AddSound(SoundConstants.ITEM_DIGITAL_LOCK_CONFIRM_INPUT, CODELOCK_CONFIRM_SOUND);
1515 GetItemSoundHandler().AddSound(SoundConstants.ITEM_DIGITAL_LOCK_CLEAR_INPUT, CODELOCK_CLEAR_SOUND);
1516 GetItemSoundHandler().AddSound(SoundConstants.ITEM_DIGITAL_LOCK_DIGIT_INPUT, CODELOCK_DIGITS_SOUND);
1517 }
1518
1519 //Debug menu Spawn Ground Special
1520 override void OnDebugSpawn()
1521 {
1522 GetInventory().CreateInInventory("Battery9V");
1523 }
1524}
1525
1526class DigitalCodeLock_Bunker : DigitalCodeLock
1527{
1528 override void Init()
1529 {
1530 super.Init();
1531
1532 BunkerBroadcastConfigInstance bunkerConfig = CfgBunkerBroadcastHandler.GetData();
1533 int pinCodeLength = CodeLockComponent.MIN_LOCK_PIN_LENGTH;
1534
1535 if (bunkerConfig && bunkerConfig.bunkerSettings)
1536 {
1538 pinCodeLength = bunkerConfig.bunkerSettings.lockCodeLength;
1539 if (pinCodeLength > CodeLockComponent.MAX_LOCK_PIN_LENGTH)
1540 pinCodeLength = CodeLockComponent.MAX_LOCK_PIN_LENGTH;
1541 }
1542
1543 m_CodeLockComponent.SetMinimalPinCodeLength(pinCodeLength);
1544 }
1545
1546 override bool CanBeLocked()
1547 {
1548 return false;
1549 }
1550
1551 override bool CanSetCode()
1552 {
1553 return false;
1554 }
1555
1556 override bool CanDetachAttachment(EntityAI parent)
1557 {
1558 return false;
1559 }
1560
1562 override void OnWasDetached(EntityAI parent, int slot_id) {}
1563
1564 override bool NeedBattery()
1565 {
1566 return false;
1567 }
1568
1569 override bool HasBattery()
1570 {
1571 return true;
1572 }
1573
1574 override bool HasEnergy()
1575 {
1576 return true;
1577 }
1578
1579 override bool ShowZonesHealth()
1580 {
1581 return true;
1582 }
1583
1584 bool SetLockCode(string pin)
1585 {
1586 return m_CodeLockComponent.SetLockCode(pin);
1587 }
1588
1589 void Disable()
1590 {
1591 m_CodeLockComponent.SetStage(CodeLockStage.NONE);
1592 SetAnimationPhase(CodeLockVisualManager.CODELOCK_ANIMATED_GREEN_LIGHT, 1.0);
1593 SetAnimationPhase(CodeLockVisualManager.CODELOCK_ANIMATED_RED_LIGHT, 1.0);
1594 }
1595}
InventoryMode
NOTE: PREDICTIVE is not to be used at all in multiplayer.
class LogManager EntityAI
void BuildingBase()
void AddAction(typename actionName)
Определения AdvancedCommunication.c:220
PlayerSpawnPreset slotName
override void EEItemDetached(EntityAI item, string slot_name)
Определения CodeLock.c:661
override void OnStoreSave(ParamsWriteContext ctx)
Определения CodeLock.c:1051
void UpdateVisuals()
Определения CodeLock.c:1022
override void SetActions()
Определения CodeLock.c:1037
void Disable()
Определения CodeLock.c:630
override void EEItemAttached(EntityAI item, string slot_name)
Определения CodeLock.c:636
override void OnWasDetached(EntityAI parent, int slot_id)
overrides the base behavior - intentional
Определения CodeLock.c:709
const string CODELOCK_UNLOCK_SOUND
Определения CodeLock.c:584
void UnlockOnServer(EntityAI parent)
Unlock AND drop.
Определения CodeLock.c:844
override void OnWorkStop()
Определения CodeLock.c:795
Battery9V GetBattery()
Определения CodeLock.c:874
CodeLockVisualManager GetVisualManager()
Определения CodeLock.c:1002
bool HasBattery()
Определения CodeLock.c:895
bool HasBruteForceProtection()
Определения CodeLock.c:950
const string SELECTION_NAME_BACK
Определения CodeLock.c:574
const string MEMPOINT_INSIDE
Определения CodeLock.c:570
void DigitalCodeLock()
Определения CodeLock.c:590
string GetLockPIN()
Определения CodeLock.c:920
override void OnWork(float consumed_energy)
Определения CodeLock.c:818
const string CODELOCK_DIGITS_SOUND
Определения CodeLock.c:586
bool NeedBattery()
Определения CodeLock.c:900
bool CanBeUnlocked()
Определения CodeLock.c:885
bool SetLockCode(string pin)
Определения CodeLock.c:625
bool HasPIN()
Определения CodeLock.c:910
bool IsPlayerOnBackside(PlayerBase player)
Определения CodeLock.c:977
override void EEInit()
Определения CodeLock.c:611
override void EEItemLocationChanged(notnull InventoryLocation oldLoc, notnull InventoryLocation newLoc)
Определения CodeLock.c:619
bool IsLocked()
Определения CodeLock.c:940
override bool OnStoreLoad(ParamsReadContext ctx, int version)
Определения CodeLock.c:1058
const string CODELOCK_CONFIRM_SOUND
Определения CodeLock.c:588
void SetLockState(bool state)
Определения CodeLock.c:930
bool CanSetCode()
Определения CodeLock.c:890
void ForceFullVisualsUpdate()
Определения CodeLock.c:1028
bool CanBeLocked()
Определения CodeLock.c:880
bool HasEnergy()
Определения CodeLock.c:905
bool CanDetachCodeLock(notnull PlayerBase player, int componentIndex)
Condition check called from ActionTakeItem and ActionTakeItemToHands.
Определения CodeLock.c:783
ref CodeLockVisualManager m_VisualManager
Определения CodeLock.c:577
override void OnWasAttached(EntityAI parent, int slot_id)
Определения CodeLock.c:678
void ResetPIN()
Определения CodeLock.c:925
bool ShouldHandleBruteForce()
Определения CodeLock.c:955
ref CodeLockComponent m_CodeLockComponent
Определения CodeLock.c:576
bool GetReversedState()
Определения CodeLock.c:970
float GetBatteryEnergy()
Определения CodeLock.c:1007
override void InitItemSounds()
Определения CodeLock.c:1114
bool m_Reversed
Определения CodeLock.c:579
int GetWrongCodeCount()
Определения CodeLock.c:960
bool HasValidParent()
Определения CodeLock.c:990
override bool CanDetachAttachment(EntityAI parent)
Определения CodeLock.c:731
string GetInputPIN()
Определения CodeLock.c:915
void SetDoorInfoFromSlot(BuildingBase buildingBase, string slotName)
Определения CodeLock.c:739
const string MEMPOINT_CENTER
Определения CodeLock.c:571
override void OnRPC(PlayerIdentity sender, int rpc_type, ParamsReadContext ctx)
Определения CodeLock.c:1044
override void OnVariablesSynchronized()
Определения CodeLock.c:1095
CodeLockComponent GetCodeLockComponent()
Определения CodeLock.c:935
override void AfterStoreLoad()
Определения CodeLock.c:1069
const string CODELOCK_CLEAR_SOUND
Определения CodeLock.c:587
override bool IsExternalLockType()
Определения CodeLock.c:1109
CodeLockStage GetStage()
Определения CodeLock.c:945
const string ATTACHMENT_SLOT_BATTERY
Определения CodeLock.c:573
DigitalCodeLock ItemBase Init()
single position related to each particular attachment group
Определения CodeLock.c:569
const string CODELOCK_ERROR_SOUND
Определения CodeLock.c:585
int GetMinLockPINLength()
Определения CodeLock.c:965
const string CODELOCK_ACCESS_SOUND
Определения CodeLock.c:582
override void OnDebugSpawn()
Определения CodeLock.c:1128
override void EEHealthLevelChanged(int oldLevel, int newLevel, string zone)
Определения CodeLock.c:1088
const string CODELOCK_LOCK_SOUND
Определения CodeLock.c:583
override void OnWorkStart()
Определения CodeLock.c:808
void CodeLockComponent(notnull EntityAI parent, int minLockPinLength=MIN_LOCK_PIN_LENGTH)
Определения CodeLockComponent.c:51
CodeLockStage
Определения CodeLockComponent.c:5
void CodeLockVisualManager(DigitalCodeLock codeLock, CodeLockComponent component)
Определения CodeLockVisualManager.c:63
DayZGame g_Game
Определения DayZGame.c:4074
InventoryLocationType
types of Inventory Location
Определения InventoryLocation.c:4
ItemSoundHandler GetItemSoundHandler()
Определения ItemBase.c:4407
string m_DoorConstructionPartName
memory point name for limiting open/close actions on the door/window
Определения AdditionalDoorsInfo.c:9
Single door info.
Определения AdditionalDoorsInfo.c:3
static int SLOT_ID
Определения Battery9V.c:3
Определения Battery9V.c:2
Super root of all classes in Enforce script.
Определения EnScript.c:11
Instanced construction part data classes for dynamic data, statics now stored on EntityType level in ...
Определения ConstructionPart.c:4
void Init()
Определения CodeLock.c:28
bool HasBattery()
Определения CodeLock.c:328
bool CanBeLocked()
Определения CodeLock.c:313
bool HasEnergy()
Определения CodeLock.c:338
const string MEMPOINT_INSIDE
Определения CodeLock.c:3
bool CanSetCode()
Определения CodeLock.c:323
const string MEMPOINT_CENTER
Определения CodeLock.c:4
bool NeedBattery()
Определения CodeLock.c:333
override void OnWasDetached(EntityAI parent, int slot_id)
Определения CodeLock.c:142
override bool CanDetachAttachment(EntityAI parent)
Определения CodeLock.c:164
Определения CodeLock.c:2
proto native int GetSlot()
returns slot id if current type is Attachment
InventoryLocation.
Определения InventoryLocation.c:30
static proto native owned string GetSlotName(int id)
converts slot_id to string
provides access to slot configuration
Определения InventorySlots.c:6
override bool ShowZonesHealth()
Определения PlayerBaseClient.c:2
The class that will be instanced (moddable)
Определения gameplay.c:389
Определения Rebuilding.c:2
Определения Transport.c:70
Определения EnConvert.c:119
Serializer ParamsReadContext
Определения gameplay.c:15
Serializer ParamsWriteContext
Определения gameplay.c:16
proto native void SetPosition(vector position)
Set the world position of the Effect.
Определения Effect.c:463
static proto bool CastTo(out Class to, Class from)
Try to safely down-cast base class to child class.
vector GetPosition()
Get the world position of the Effect.
Определения Effect.c:473