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

◆ CombineItemsClient()

override void InventoryItem::CombineItemsClient ( EntityAI entity2,
bool use_stack_max = true )
inlineprivate

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

878 {
879 /*
880 ref Param1<EntityAI> item = new Param1<EntityAI>(entity2);
881 RPCSingleParam(ERPCs.RPC_ITEM_COMBINE, item, g_Game.GetPlayer());
882 */
883 ItemBase item2 = ItemBase.Cast(entity2);
884
885 if (g_Game.IsClient())
886 {
887 if (ScriptInputUserData.CanStoreInputUserData())
888 {
889 ScriptInputUserData ctx = new ScriptInputUserData;
891 ctx.Write(-1);
892 ItemBase i1 = this; // @NOTE: workaround for correct serialization
893 ctx.Write(i1);
894 ctx.Write(item2);
895 ctx.Write(use_stack_max);
896 ctx.Write(-1);
897 ctx.Send();
898
899 if (IsCombineAll(item2, use_stack_max))
900 {
901 g_Game.GetPlayer().GetInventory().AddInventoryReservationEx(item2,null,GameInventory.c_InventoryReservationTimeoutShortMS);
902 }
903 }
904 }
905 else if (!g_Game.IsMultiplayer())
906 {
907 CombineItems(item2, use_stack_max);
908 }
909 }
const int INPUT_UDT_ITEM_MANIPULATION
DayZGame g_Game
Определения DayZGame.c:3942
void CombineItems(ItemBase other_item, bool use_stack_max=true)
Определения ItemBase.c:2308
bool IsCombineAll(ItemBase other_item, bool use_stack_max=false)
Определения ItemBase.c:2264
void ItemBase()
Определения ItemBase.c:148
proto native void Send()
proto bool Write(void value_out)

Перекрестные ссылки GameInventory::c_InventoryReservationTimeoutShortMS, ScriptInputUserData::CanStoreInputUserData(), CombineItems(), g_Game, INPUT_UDT_ITEM_MANIPULATION, IsCombineAll(), ItemBase(), ScriptInputUserData::Send() и Serializer::Write().