Advertisement
PlayerUnknowns

Items tradable

Nov 19th, 2017
1,139
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.27 KB | None | 0 0
  1. //@Source/Game/char.cpp
  2. //1.)   [RO] Cauta:
  3. //      [EN] Search:
  4.       // ANTI_GIVE, ANTI_MYSHOP check
  5.       LPITEM pkItem = GetItem((pTable + i)->pos);
  6.  
  7.       if (pkItem)
  8.       {
  9.          const TItemTable * item_table = pkItem->GetProto();
  10.  
  11.          if (item_table && (IS_SET(item_table->dwAntiFlags, ITEM_ANTIFLAG_GIVE | ITEM_ANTIFLAG_MYSHOP)))
  12.          {
  13.             ChatPacket(CHAT_TYPE_INFO, LC_TEXT("유료화 아이템은 개인상점에서 판매할 수 없습니다."));
  14.             return;
  15.          }
  16. //2.)   [RO] Înlocuim cum:
  17. //      [EN] Replaces with:
  18.         LPITEM pkItem = GetItem((pTable + i)->pos);
  19.  
  20.         if (pkItem)
  21.         {
  22.             const TItemTable * item_table = pkItem->GetProto();
  23.             int itemVnum[] = {70043, 70038};
  24.  
  25.             for (int i = 0; i < _countof(itemVnum); i++)
  26.             {
  27.                 if (pkItem->GetVnum() != itemVnum[i] && item_table && (IS_SET(item_table->dwAntiFlags, ITEM_ANTIFLAG_GIVE | ITEM_ANTIFLAG_MYSHOP)))
  28.                 {
  29.                     ChatPacket(CHAT_TYPE_INFO, LC_TEXT("유료화 아이템은 개인상점에서 판매할 수 없습니다."));
  30.                     return;
  31.                 }
  32.             }
  33. //@Source/Game/exchange.cpp
  34. //3.)   [RO] Caută:
  35. //      [EN] Search:
  36. if (IS_SET(item->GetAntiFlag(), ITEM_ANTIFLAG_GIVE))
  37. //4.)   [RO] Adăugă mai sus:
  38. //      [EN] Add before:
  39.     int itemVnum[] = {70043, 70038};
  40.  
  41.     for (int i = 0; i < _countof(itemVnum); i++)
  42.     {
  43.         if (item->GetVnum() == itemVnum[i])
  44.         {
  45.             Accept(false);
  46.             GetCompany()->Accept(false);
  47.  
  48.             for (int i = 0; i < EXCHANGE_ITEM_MAX_NUM; ++i)
  49.             {
  50.                 if (m_apItems[i])
  51.                     continue;
  52.  
  53.                 m_apItems[i]        = item;
  54.                 m_aItemPos[i]       = item_pos;
  55.                 m_abItemDisplayPos[i]   = display_pos;
  56.                 m_pGrid->Put(display_pos, 1, item->GetSize());
  57.  
  58.                 item->SetExchanging(true);
  59.  
  60.                 exchange_packet(m_pOwner,
  61.                         EXCHANGE_SUBHEADER_GC_ITEM_ADD,
  62.                         true,
  63.                         item->GetVnum(),
  64.                         TItemPos(RESERVED_WINDOW, display_pos),
  65.                         item->GetCount(),
  66.                         item);
  67.  
  68.                 exchange_packet(GetCompany()->GetOwner(),
  69.                         EXCHANGE_SUBHEADER_GC_ITEM_ADD,
  70.                         false,
  71.                         item->GetVnum(),
  72.                         TItemPos(RESERVED_WINDOW, display_pos),
  73.                         item->GetCount(),
  74.                         item);
  75.  
  76.                 sys_log(0, "EXCHANGE AddItem success %s pos(%d, %d) %d", item->GetName(), item_pos.window_type, item_pos.cell, display_pos);
  77.  
  78.                 return true;
  79.             }
  80.         }
  81.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement