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

◆ SendRepairToClientDst()

void SendRepairToClientDst ( notnull InventoryLocation dst)
protected

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

4727 {
4728 #ifdef DIAG_DEVELOPER
4729 if (PluginInventoryDebug.Cast(GetPlugin(PluginInventoryDebug)).IsDesyncRepairEnable())
4730 {
4731 #endif
4732 array<EntityAI> itemsToRepair = new array<EntityAI>;
4733 switch(dst.GetType())
4734 {
4735 case InventoryLocationType.CARGO:
4736 InventoryLocation ilCargoItem = new InventoryLocation;
4737 CargoBase cargo = dst.GetParent().GetInventory().GetCargo();
4738 for(int i = cargo.GetItemCount() - 1; i >= 0 ; --i)
4739 {
4740 EntityAI itemInCargo = cargo.GetItem(i);
4741 itemInCargo.GetInventory().GetCurrentInventoryLocation(ilCargoItem);
4742 if (dst.CollidesWith(ilCargoItem))
4743 {
4744 itemsToRepair.Insert(itemInCargo);
4745 }
4746 }
4747 break;
4748 case InventoryLocationType.ATTACHMENT:
4749 EntityAI entityInAttachment = dst.GetParent().GetInventory().FindAttachment(dst.GetSlot());
4750
4751 if(entityInAttachment)
4752 {
4753 itemsToRepair.Insert(entityInAttachment);
4754 }
4755 break;
4756 case InventoryLocationType.HANDS:
4757 EntityAI entityInHands = GetEntityInHands();
4758 if(entityInHands)
4759 {
4760 itemsToRepair.Insert(entityInHands);
4761 }
4762
4763 break;
4764 default:
4765 break;
4766 }
4767
4768 if(itemsToRepair.Count() > 0)
4769 {
4771 }
4772 #ifdef DIAG_DEVELOPER
4773 }
4774 #endif
4775 }
DayZPlayer GetDayZPlayerOwner()
Определения DayZPlayerInventory.c:170
InventoryLocationType
types of Inventory Location
Определения InventoryLocation.c:4
PluginBase GetPlugin(typename plugin_type)
Определения PluginManager.c:326
proto native int GetItemCount()
proto native EntityAI GetItem(int index)
represents base for cargo storage for entities
Определения Cargo.c:7
static void SendServerInventoryCheck(array< EntityAI > items, DayZPlayer player)
Определения InventoryInputUserData.c:44
InventoryLocation.
Определения InventoryLocation.c:30
Result for an object found in CGame.IsBoxCollidingGeometryProxy.

Перекрестные ссылки GetDayZPlayerOwner(), CargoBase::GetItem(), CargoBase::GetItemCount(), GetPlugin() и InventoryInputUserData::SendServerInventoryCheck().

Используется в ValidateHandEvent(), ValidateHandEventServer(), ValidateSwap(), ValidateSwapServer(), ValidateSyncMove() и ValidateSyncMoveServer().