Jump to content

Extend 12 Inventory Pages


Recommended Posts

M2 Download Center

This is the hidden content, please
( Internal )

Hey.

 

With this you can 12 Inventory Sites can change their freely used. A maximum of 65k Slot's are used.

- Stands for Search and must be replaced with the +

Game Source:

Spoiler

common/length.h

-    INVENTORY_MAX_NUM                = 135,
+    INVENTORY_MAX_NUM                = 540,


common/tables.h

typedef struct SQuickslot
 {
     BYTE    type;
-    BYTE    pos;
+    UINT    pos;
 } TQuickslot;


game/src/char.h

-    BYTE            bItemGrid[INVENTORY_AND_EQUIP_SLOT_MAX];
+    UINT            bItemGrid[INVENTORY_AND_EQUIP_SLOT_MAX];

- void SyncQuickslot(BYTE bType, BYTE bOldPos, BYTE bNewPos);
+ void SyncQuickslot(BYTE bType, UINT bOldPos, UINT bNewPos);

- bool GetQuickslot(BYTE pos, TQuickslot ** ppSlot);
+ bool GetQuickslot(UINT pos, TQuickslot ** ppSlot);

- bool SetQuickslot(BYTE pos, TQuickslot & rSlot);
+ bool SetQuickslot(UINT pos, TQuickslot & rSlot);

- bool DelQuickslot(BYTE pos);
+ bool DelQuickslot(UINT pos);

- bool SwapQuickslot(BYTE a, BYTE b);
+ bool SwapQuickslot(UINT a, UINT b);

- void ChainQuickslotItem(LPITEM pItem, BYTE bType, BYTE bOldPos);
+ void ChainQuickslotItem(LPITEM pItem, BYTE bType, UINT bOldPos);

- void SetWear(BYTE bCell, LPITEM item);
+ void SetWear(UINT bCell, LPITEM item);

- LPITEM GetWear(BYTE bCell) const;
+ LPITEM GetWear(UINT bCell) const;

-        bool            RefineInformation(BYTE bCell, BYTE bType, int iAdditionalCell = -1);
+        bool            RefineInformation(UINT bCell, BYTE bType, int iAdditionalCell = -1);

-        bool            SwapItem(BYTE bCell, BYTE bDestCell);
+        bool            SwapItem(UINT bCell, UINT bDestCell);


game/src/char_battle.cpp

## 1000 can be change
## 2 x replace both available!
-                SyncQuickslot(QUICKSLOT_TYPE_ITEM, vec_bSlots, 255);
+                SyncQuickslot(QUICKSLOT_TYPE_ITEM, vec_bSlots, 1000);

## 2 x replace both available!
-            SyncQuickslot(QUICKSLOT_TYPE_ITEM, WEAR_UNIQUE1, 255);
+            SyncQuickslot(QUICKSLOT_TYPE_ITEM, WEAR_UNIQUE1, 1000);


game/src/char_item.cpp

-LPITEM CHARACTER::GetWear(BYTE bCell) const
+LPITEM CHARACTER::GetWear(UINT bCell) const

-void CHARACTER::SetWear(BYTE bCell, LPITEM item)
+void CHARACTER::SetWear(UINT bCell, LPITEM item)

## 1000 can be change
-            SyncQuickslot(QUICKSLOT_TYPE_ITEM, i, 255);
+            SyncQuickslot(QUICKSLOT_TYPE_ITEM, i, 1000);

-            BYTE bCell = Cell.cell;
+            UINT bCell = Cell.cell;

## 2 x replace both available!
-                    if (m_pointsInstant.bItemGrid[bCell] == iExceptionCell)
+                    if (m_pointsInstant.bItemGrid[bCell] == (UINT)iExceptionCell)


## 2 x replace both available!
-                    BYTE bPage = bCell / (INVENTORY_MAX_NUM / 3);
+                    UINT bPage = bCell / (INVENTORY_MAX_NUM / 12);


## 2 x replace both available!
-                        BYTE p = bCell + (5 * j);
+                        UINT p = bCell + (5 * j);

## 2 x replace both available!
-                    if (p / (INVENTORY_MAX_NUM / 3) != bPage)
+                    if (p / (INVENTORY_MAX_NUM / 12) != bPage)

## 3 x replace both available!
-            BYTE bCell = item->GetCell();
+            UINT bCell = item->GetCell();

-bool CHARACTER::RefineInformation(BYTE bCell, BYTE bType, int iAdditionalCell)
+bool CHARACTER::RefineInformation(UINT bCell, BYTE bType, int iAdditionalCell)

-    SyncQuickslot(QUICKSLOT_TYPE_ITEM, Cell.cell, 255);
+    SyncQuickslot(QUICKSLOT_TYPE_ITEM, Cell.cell, 1000);

-bool CHARACTER::SwapItem(BYTE bCell, BYTE bDestCell)
+bool CHARACTER::SwapItem(UINT bCell, UINT bDestCell)

- BYTE bEquipCell = item2->GetCell() - INVENTORY_MAX_NUM;
+ INT bEquipCell = item2->GetCell() - INVENTORY_MAX_NUM;

- BYTE bInvenCell = item1->GetCell();
+ UINT bInvenCell = item1->GetCell();

- BYTE bCell1 = item1->GetCell();
+ UINT bCell1 = item1->GetCell();

- BYTE bCell2 = item2->GetCell();
+ UINT bCell2 = item2->GetCell();

-            BYTE bOldCell = item->GetCell();
+            UINT bOldCell = item->GetCell();


game/src/char_quickslot.cpp

-void CHARACTER::SyncQuickslot(BYTE bType, BYTE bOldPos, BYTE bNewPos)
+void CHARACTER::SyncQuickslot(BYTE bType, UINT bOldPos, UINT bNewPos)

-            if (bNewPos == 255)
+            if (bNewPos == 1000)

-bool CHARACTER::GetQuickslot(BYTE pos, TQuickslot ** ppSlot)
+bool CHARACTER::GetQuickslot(UINT pos, TQuickslot ** ppSlot)

-bool CHARACTER::SetQuickslot(BYTE pos, TQuickslot & rSlot)
+bool CHARACTER::SetQuickslot(UINT pos, TQuickslot & rSlot)

-bool CHARACTER::DelQuickslot(BYTE pos)
+bool CHARACTER::DelQuickslot(UINT pos)

-bool CHARACTER::SwapQuickslot(BYTE a, BYTE B)
+bool CHARACTER::SwapQuickslot(UINT a, UINT B)

-void CHARACTER::ChainQuickslotItem(LPITEM pItem, BYTE bType, BYTE bOldPos)
+void CHARACTER::ChainQuickslotItem(LPITEM pItem, BYTE bType, UINT bOldPos)


game/src/cmd_general.cpp

-        for (BYTE i=0; i<INVENTORY_MAX_NUM; ++i)
+        for (UINT i=0; i<INVENTORY_MAX_NUM; ++i)


game/src/cmd_gm.cpp

-            ch->SyncQuickslot(QUICKSLOT_TYPE_ITEM, i, 255);
+            ch->SyncQuickslot(QUICKSLOT_TYPE_ITEM, i, 1000);

## 3 x replace both available!
-    BYTE cell = 0;
+    UINT cell = 0;


game/src/exchange.cpp

Such nach -> bool CExchange::CheckSpace()
## for 12 Inventory pages
bool CExchange::CheckSpace()
{
    static CGrid s_grid1(5, INVENTORY_MAX_NUM / 5 / 12); // inven page 1
    static CGrid s_grid2(5, INVENTORY_MAX_NUM / 5 / 12); // inven page 2
    static CGrid s_grid3(5, INVENTORY_MAX_NUM / 5 / 12); // inven page 3
    static CGrid s_grid4(5, INVENTORY_MAX_NUM / 5 / 12); // inven page 4
    static CGrid s_grid5(5, INVENTORY_MAX_NUM / 5 / 12); // inven page 5
    static CGrid s_grid6(5, INVENTORY_MAX_NUM / 5 / 12); // inven page 6
    static CGrid s_grid7(5, INVENTORY_MAX_NUM / 5 / 12); // inven page 7
    static CGrid s_grid8(5, INVENTORY_MAX_NUM / 5 / 12); // inven page 8
    static CGrid s_grid9(5, INVENTORY_MAX_NUM / 5 / 12); // inven page 9
    static CGrid s_grid10(5, INVENTORY_MAX_NUM / 5 / 12); // inven page 10
    static CGrid s_grid11(5, INVENTORY_MAX_NUM / 5 / 12); // inven page 11
    static CGrid s_grid12(5, INVENTORY_MAX_NUM / 5 / 12); // inven page 12

    s_grid1.Clear();
    s_grid2.Clear();
    s_grid3.Clear();
    s_grid4.Clear();
    s_grid5.Clear();
    s_grid6.Clear();
    s_grid7.Clear();
    s_grid8.Clear();
    s_grid9.Clear();
    s_grid10.Clear();
    s_grid11.Clear();
    s_grid12.Clear();

    LPCHARACTER    victim = GetCompany()->GetOwner();
    LPITEM item;

    int i;
    const int PageSlotCount = INVENTORY_MAX_NUM / 12;

    for (i = 0; i < INVENTORY_MAX_NUM; ++i)
    {
        if (!(item = victim->GetInventoryItem(i)))
            continue;

        BYTE itemSize = item->GetSize();

        if (i < PageSlotCount)
            s_grid1.Put(i, 1, itemSize);
        else if (i < PageSlotCount * 2)
            s_grid2.Put(i - PageSlotCount, 1, itemSize);
        else if (i < PageSlotCount * 3)
            s_grid3.Put(i - PageSlotCount * 2, 1, itemSize);
        else if (i < PageSlotCount * 4)
            s_grid4.Put(i - PageSlotCount * 3, 1, itemSize);
        else if (i < PageSlotCount * 5)
            s_grid5.Put(i - PageSlotCount * 4, 1, itemSize);
        else if (i < PageSlotCount * 6)
            s_grid6.Put(i - PageSlotCount * 5, 1, itemSize);
        else if (i < PageSlotCount * 7)
            s_grid7.Put(i - PageSlotCount * 6, 1, itemSize);
        else if (i < PageSlotCount * 😎
            s_grid8.Put(i - PageSlotCount * 7, 1, itemSize);
        else if (i < PageSlotCount * 9)
            s_grid9.Put(i - PageSlotCount * 8, 1, itemSize);
        else if (i < PageSlotCount * 10)
            s_grid10.Put(i - PageSlotCount * 9, 1, itemSize);
        else if (i < PageSlotCount * 11)
            s_grid11.Put(i - PageSlotCount * 10, 1, itemSize);
        else if (i < PageSlotCount * 12)
            s_grid12.Put(i - PageSlotCount * 11, 1, itemSize);
    }

    static std::vector <WORD> s_vDSGrid(DRAGON_SOUL_INVENTORY_MAX_NUM);
    
    bool bDSInitialized = false;
    
    for (i = 0; i < EXCHANGE_ITEM_MAX_NUM; ++i)
    {
        if (!(item = m_apItems))
            continue;

        BYTE itemSize = item->GetSize();

        if (item->IsDragonSoul())
        {
            if (!victim->DragonSoul_IsQualified())
            {
                return false;
            }

            if (!bDSInitialized)
            {
                bDSInitialized = true;
                victim->CopyDragonSoulItemGrid(s_vDSGrid);
            }

            bool bExistEmptySpace = false;
            WORD wBasePos = DSManager::instance().GetBasePosition(item);
            if (wBasePos >= DRAGON_SOUL_INVENTORY_MAX_NUM)
                return false;
            
            for (int i = 0; i < DRAGON_SOUL_BOX_SIZE; i++)
            {
                WORD wPos = wBasePos + i;
                if (0 == s_vDSGrid[wBasePos])
                {
                    bool bEmpty = true;
                    for (int j = 1; j < item->GetSize(); j++)
                    {
                        if (s_vDSGrid[wPos + j * DRAGON_SOUL_BOX_COLUMN_NUM])
                        {
                            bEmpty = false;
                            break;
                        }
                    }
                    if (bEmpty)
                    {
                        for (int j = 0; j < item->GetSize(); j++)
                        {
                            s_vDSGrid[wPos + j * DRAGON_SOUL_BOX_COLUMN_NUM] =  wPos + 1;
                        }
                        bExistEmptySpace = true;
                        break;
                    }
                }
                if (bExistEmptySpace)
                    break;
            }
            if (!bExistEmptySpace)
                return false;
        }
        else
        {
            int iPos = s_grid1.FindBlank(1, itemSize);
            if (iPos >= 0)
            {
                s_grid1.Put(iPos, 1, itemSize);
                continue;
            }

            iPos = s_grid2.FindBlank(1, itemSize);
            if (iPos >= 0)
            {
                s_grid2.Put(iPos, 1, itemSize);
                continue;
            }

            iPos = s_grid3.FindBlank(1, itemSize);
            if (iPos >= 0)
            {
                s_grid3.Put(iPos, 1, itemSize);
                continue;
            }

            iPos = s_grid4.FindBlank(1, itemSize);
            if (iPos >= 0)
            {
                s_grid4.Put(iPos, 1, itemSize);
                continue;
            }

            iPos = s_grid5.FindBlank(1, itemSize);
            if (iPos >= 0)
            {
                s_grid5.Put(iPos, 1, itemSize);
                continue;
            }

            iPos = s_grid6.FindBlank(1, itemSize);
            if (iPos >= 0)
            {
                s_grid6.Put(iPos, 1, itemSize);
                continue;
            }

            iPos = s_grid7.FindBlank(1, itemSize);
            if (iPos >= 0)
            {
                s_grid7.Put(iPos, 1, itemSize);
                continue;
            }

            iPos = s_grid8.FindBlank(1, itemSize);
            if (iPos >= 0)
            {
                s_grid8.Put(iPos, 1, itemSize);
                continue;
            }

            iPos = s_grid9.FindBlank(1, itemSize);
            if (iPos >= 0)
            {
                s_grid9.Put(iPos, 1, itemSize);
                continue;
            }

            iPos = s_grid10.FindBlank(1, itemSize);
            if (iPos >= 0)
            {
                s_grid10.Put(iPos, 1, itemSize);
                continue;
            }

            iPos = s_grid11.FindBlank(1, itemSize);
            if (iPos >= 0)
            {
                s_grid11.Put(iPos, 1, itemSize);
                continue;
            }

            iPos = s_grid12.FindBlank(1, itemSize);
            if (iPos >= 0)
            {
                s_grid12.Put(iPos, 1, itemSize);
                continue;
            }

            return false;
        }
    }

    return true;
}


game/src/exchange.cpp

-        m_pOwner->SyncQuickslot(QUICKSLOT_TYPE_ITEM, item->GetCell(), 255);
+        m_pOwner->SyncQuickslot(QUICKSLOT_TYPE_ITEM, item->GetCell(), 1000);


game/src/fishing.cpp

## 2 x replace both available!
-            BYTE bCell = rod->GetCell();
+            UINT bCell = rod->GetCell();


game/src/input_main.cpp

         case SHOP_SUBHEADER_CG_SELL2:
             {
-                if (uiBytes < sizeof(BYTE) + sizeof(BYTE))
+                if (uiBytes < sizeof(UINT) + sizeof(BYTE))
                     return -1;
 
-                BYTE pos = *(c_pData++);
+                UINT pos = *reinterpret_cast<const UINT*>(c_pData++);
                 BYTE count = *(c_pData);
 
                 sys_log(0, "INPUT: %s SHOP: SELL2", ch->GetName());
                 CShopManager::instance().Sell(ch, pos, count);
-                return sizeof(BYTE) + sizeof(BYTE);
+                return sizeof(UINT) + sizeof(BYTE);
             }

-        ch->SyncQuickslot(QUICKSLOT_TYPE_ITEM, p->ItemPos.cell, 255);
+        ch->SyncQuickslot(QUICKSLOT_TYPE_ITEM, p->ItemPos.cell, 1000);


game/src/item.cpp

-                    pOwner->SyncQuickslot(QUICKSLOT_TYPE_ITEM, wCell, 255);
+                    pOwner->SyncQuickslot(QUICKSLOT_TYPE_ITEM, wCell, 1000);

-                m_pOwner->SyncQuickslot(QUICKSLOT_TYPE_ITEM, m_wCell, 255);
+                m_pOwner->SyncQuickslot(QUICKSLOT_TYPE_ITEM, m_wCell, 1000);

-bool CItem::EquipTo(LPCHARACTER ch, BYTE bWearCell)
+bool CItem::EquipTo(LPCHARACTER ch, UINT bWearCell)


game/src/item.h

-        bool        EquipTo(LPCHARACTER ch, BYTE bWearCell);
+        bool        EquipTo(LPCHARACTER ch, UINT bWearCell);


game/src/item_manager.cpp

-            o->SyncQuickslot(QUICKSLOT_TYPE_ITEM, item->GetCell(), 255);
+            o->SyncQuickslot(QUICKSLOT_TYPE_ITEM, item->GetCell(), 1000);


game/src/minig.cpp

## 2 x replace both available!
-                BYTE bCell = rkOldPick.GetCell();
+                UINT bCell = rkOldPick.GetCell();


game/src/packet.h

 typedef struct command_quickslot_add
 {
     BYTE    header;
-    BYTE    pos;
+    UINT    pos;
     TQuickslot    slot;
 } TPacketCGQuickslotAdd;

 typedef struct command_quickslot_del
 {
     BYTE    header;
-    BYTE    pos;
+    UINT    pos;
 } TPacketCGQuickslotDel;

 typedef struct command_quickslot_swap
 {
     BYTE    header;
-    BYTE    pos;
+    UINT    pos;
-    BYTE    change_pos;
+    UINT    change_pos;
 } TPacketCGQuickslotSwap;

 typedef struct packet_item_del
 {
     BYTE    header;
-    BYTE    pos;
+    UINT    pos;
 } TPacketGCItemDel;

 struct packet_quickslot_add
 {
     BYTE    header;
-    BYTE    pos;
+    UINT    pos;
     TQuickslot    slot;
 };

 struct packet_quickslot_del
 {
     BYTE    header;
-    BYTE    pos;
+    UINT    pos;
 };

 struct packet_quickslot_swap
 {
     BYTE    header;
-    BYTE    pos;
+    UINT    pos;
-    BYTE    pos_to;
+    UINT    pos_to;
 };

 typedef struct SPacketCGRefine
 {
     BYTE    header;
-    BYTE    pos;
+    UINT    pos;
     BYTE    type;
 } TPacketCGRefine;

 typedef struct SPacketCGRequestRefineInfo
 {
     BYTE    header;
-    BYTE    pos;
+    UINT    pos;
 } TPacketCGRequestRefineInfo;

 typedef struct SPacketGCRefineInformaion
 {
     BYTE    header;
     BYTE    type;
-    BYTE    pos;
+    UINT    pos;
     DWORD    src_vnum;
     DWORD    result_vnum;
     BYTE    material_count;


game/src/questlua_global.cpp

## 2 x replace both available!
-        BYTE bCell = (BYTE) lua_tonumber(L,-1);
+        UINT bCell = lua_tonumber(L, -1);


game/src/questlua_item.cpp

-            BYTE bCell = pItem->GetCell();
+            UINT bCell = pItem->GetCell();


game/src/questlua_pc.cpp
,
-        BYTE bCell = (BYTE)lua_tonumber(L, 1);
+        UINT bCell = lua_tonumber(L, 1);


game/src/safebox.cpp

-LPITEM CSafebox::GetItem(BYTE bCell)
+LPITEM CSafebox::GetItem(INT bCell)

-bool CSafebox::MoveItem(BYTE bCell, BYTE bDestCell, BYTE count)
+bool CSafebox::MoveItem(INT bCell, INT bDestCell, BYTE count)


game/src/safebox.h

-        bool        MoveItem(BYTE bCell, BYTE bDestCell, BYTE count);
+        bool        MoveItem(INT bCell, INT bDestCell, BYTE count);

-        LPITEM        GetItem(BYTE bCell);
+        LPITEM        GetItem(INT bCell);


game/src/shop.cpp

-        m_pkPC->SyncQuickslot(QUICKSLOT_TYPE_ITEM, item->GetCell(), 255);
+        m_pkPC->SyncQuickslot(QUICKSLOT_TYPE_ITEM, item->GetCell(), 1000);


game/src/shop_manager.cpp

-void CShopManager::Sell(LPCHARACTER ch, BYTE bCell, BYTE bCount)
+void CShopManager::Sell(LPCHARACTER ch, UINT bCell, BYTE bCount)


game/src/shop_manager.h

-    void    Sell(LPCHARACTER ch, BYTE bCell, BYTE bCount=0);
+    void    Sell(LPCHARACTER ch, UINT bCell, BYTE bCount = 0);

 

Now the Client Source Path

Client Source:

Spoiler

Client/UserInterface/AbstractPlayer.h

-        virtual void    AddQuickSlot(int QuickslotIndex, char IconType, char IconPosition) = 0;
+        virtual void    AddQuickSlot(int QuickslotIndex, char IconType, INT IconPosition) = 0;


Client/UserInterface/GameType.h

-const DWORD c_Inventory_Page_Count
+const DWORD c_Inventory_Page_Count = 12;

 typedef struct SQuickSlot
 {
     BYTE Type;
-    BYTE Position;
+    UINT Position;
 } TQuickSlot;


Client/UserInterface/Packet.h

 typedef struct command_quickslot_add
 {
     BYTE        header;
-    BYTE        pos;
+    UINT        pos;
     TQuickSlot    slot;
 }TPacketCGQuickSlotAdd;

 typedef struct command_quickslot_del
 {
     BYTE        header;
-    BYTE        pos;
+    UINT        pos;
 }TPacketCGQuickSlotDel;

 typedef struct command_quickslot_swap
 {
     BYTE        header;
-    BYTE        pos;
+    UINT        pos;
-    BYTE        change_pos;
+    UINT        change_pos;
 }TPacketCGQuickSlotSwap;

 typedef struct SPacketCGRefine
 {
     BYTE        header;
-    BYTE        pos;
+    UINT        pos;
     BYTE        type;
 } TPacketCGRefine;

 typedef struct packet_item_del
 {
     BYTE        header;
-    BYTE        pos;
+    UINT        pos;
 } TPacketGCItemDel;

 typedef struct packet_quickslot_add
 {
     BYTE        header;
-    BYTE        pos;
+    UINT        pos;
     TQuickSlot    slot;
 } TPacketGCQuickSlotAdd;

 typedef struct packet_quickslot_del
 {
     BYTE        header;
-    BYTE        pos;
+    UINT        pos;
 } TPacketGCQuickSlotDel;

 typedef struct packet_quickslot_swap
 {
     BYTE        header;
-    BYTE        pos;
+    UINT        pos;
-    BYTE        change_pos;
+    UINT        change_pos;
 } TPacketGCQuickSlotSwap;

 typedef struct SPacketGCRefineInformation
 {
     BYTE            header;
-    BYTE            pos;
+    UINT            pos;
     TRefineTable    refine_table;
 } TPacketGCRefineInformation;

 typedef struct SPacketGCRefineInformationNew
 {
     BYTE            header;
     BYTE            type;
-    BYTE            pos;
+    UINT            pos;
     TRefineTable    refine_table;
 } TPacketGCRefineInformationNew;


Client/UserInterface/PythonNetworkStream.h

-        bool SendQuickSlotAddPacket(BYTE wpos, BYTE type, BYTE pos);
+        bool SendQuickSlotAddPacket(UINT wpos, BYTE type, UINT pos);
-        bool SendQuickSlotDelPacket(BYTE wpos);
+        bool SendQuickSlotDelPacket(UINT wpos);
-        bool SendQuickSlotMovePacket(BYTE wpos, BYTE change_pos);
+        bool SendQuickSlotMovePacket(UINT wpos, UINT change_pos);

-        bool SendShopSellPacketNew(BYTE bySlot, BYTE byCount);
+        bool SendShopSellPacketNew(UINT bySlot, BYTE byCount);

-        bool SendRefinePacket(BYTE byPos, BYTE byType);
+        bool SendRefinePacket(UINT byPos, BYTE byType);


Client/UserInterface/PythonNetworkStreamPhaseGame.cpp

-bool CPythonNetworkStream::SendRefinePacket(BYTE byPos, BYTE byType)
+bool CPythonNetworkStream::SendRefinePacket(UINT byPos, BYTE byType)


Client/UserInterface/PythonNetworkStreamPhaseGameItem.cpp

## The whole package should look like this
-bool CPythonNetworkStream::SendShopSellPacketNew(BYTE bySlot, BYTE byCount)
+bool CPythonNetworkStream::SendShopSellPacketNew(UINT bySlot, BYTE byCount)
+{
+    if (!__CanActMainInstance())
+        return true;

+    TPacketCGShop PacketShop;
+    PacketShop.header = HEADER_CG_SHOP;
+    PacketShop.subheader = SHOP_SUBHEADER_CG_SELL2;

+    if (!Send(sizeof(TPacketCGShop), &PacketShop))
+    {
+        Tracef("SendShopSellPacket Error\n");
+        return false;
+    }
+    if (!Send(sizeof(UINT), &bySlot))
+    {
+        Tracef("SendShopAddSellPacket Error\n");
+        return false;
+    }
+    if (!Send(sizeof(BYTE), &byCount))
+    {
+        Tracef("SendShopAddSellPacket Error\n");
+        return false;
+    }

+    Tracef(" SendShopSellPacketNew(bySlot=%d, byCount=%d)\n", bySlot, byCount);

+    return SendSequence();
+}

-bool CPythonNetworkStream::SendQuickSlotAddPacket(BYTE wpos, BYTE type, BYTE pos)
+bool CPythonNetworkStream::SendQuickSlotAddPacket(UINT wpos, BYTE type, UINT pos)

-bool CPythonNetworkStream::SendQuickSlotDelPacket(BYTE pos)
+bool CPythonNetworkStream::SendQuickSlotDelPacket(UINT pos)

-bool CPythonNetworkStream::SendQuickSlotMovePacket(BYTE pos, BYTE change_pos)
+bool CPythonNetworkStream::SendQuickSlotMovePacket(UINT pos, UINT change_pos)


Client/UserInterface/PythonPlayer.cpp

-    for (BYTE i = 0; i < QUICKSLOT_MAX_NUM; ++i)
+    for (UINT i = 0; i < QUICKSLOT_MAX_NUM; ++i)

-    rkNetStream.SendQuickSlotMovePacket((BYTE) dwGlobalSrcSlotIndex, (BYTE)dwGlobalDstSlotIndex);
+    rkNetStream.SendQuickSlotMovePacket((UINT) dwGlobalSrcSlotIndex, (UINT)dwGlobalDstSlotIndex);

-    rkNetStream.SendQuickSlotAddPacket((BYTE)dwGlobalSlotIndex, (BYTE)dwWndType, (BYTE)dwWndItemPos);
+    rkNetStream.SendQuickSlotAddPacket((UINT)dwGlobalSlotIndex, (BYTE)dwWndType, (UINT)dwWndItemPos);

-    rkNetStream.SendQuickSlotDelPacket((BYTE)dwGlobalSlotIndex);
+    rkNetStream.SendQuickSlotDelPacket((UINT)dwGlobalSlotIndex);

-void CPythonPlayer::AddQuickSlot(int QuickSlotIndex, char IconType, char IconPosition)
+void CPythonPlayer::AddQuickSlot(int QuickSlotIndex, char IconType, INT IconPosition)


Client/UserInterface/PythonPlayer.h

-        void    AddQuickSlot(int QuickslotIndex, char IconType, char IconPosition);
+        void    AddQuickSlot(int QuickslotIndex, char IconType, INT IconPosition);

 

So for me to use 12 slot's
Image:
fvf2usxq.jpg

Should any questions or problems you can give you welcome to contact.
Even if you find bug's tells me this with me.

Ps: The whole has been tested with no dragon stone alchemy should nevertheless
go.

The Python Part I hang on.

Virustotal:

This is the hidden content, please

This is the hidden content, please

Edited by Metin2 Dev
Core X - External 2 Internal
  • Metin2 Dev 76
  • kekw 1
  • Eyes 1
  • Angry 1
  • Sad 2
  • Confused 1
  • Good 26
  • Love 3
  • Love 39
Link to comment
Share on other sites

Soo I dont have this function in length.h then i put at end.

0ac4a92b552fcd58c453e26d01c4e3f3.png

And then I make the game but error.

224bc1d0ef5e44595bca353eb89fd0be.png

I locked at all the files 3 times and evryting is fine...Sry for mi bad english.

Sry my fault search in common/tables.h this ->  typedef struct SQuickslot

Edited by Metin2 Dev
Core X - External 2 Internal
  • Good 1
Link to comment
Share on other sites

I have this error Denis..

root@host:/usr/src/mainline/Srcs/Server/game/src # gmake clean
root@host:/usr/src/mainline/Srcs/Server/game/src # gmake -j20
compile BattleArena.cpp
compile FSM.cpp
compile MarkConvert.cpp
compile MarkImage.cpp
compile MarkManager.cpp
compile OXEvent.cpp
compile TrafficProfiler.cpp
compile ani.cpp
compile arena.cpp
compile banword.cpp
compile battle.cpp
compile blend_item.cpp
compile block_country.cpp
compile buffer_manager.cpp
compile building.cpp
compile castle.cpp
compile char.cpp
compile char_affect.cpp
compile char_battle.cpp
compile char_horse.cpp
compile char_change_empire.cpp
compile char_item.cpp
compile char_manager.cpp
compile char_quickslot.cpp
compile char_resist.cpp
compile char_skill.cpp
compile char_state.cpp
compile PetSystem.cpp
char.cpp:7209:3: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
return 2500000000;
^
compile cmd.cpp
compile cmd_emotion.cpp
compile cmd_general.cpp
compile cmd_gm.cpp
compile cmd_oxevent.cpp
compile config.cpp
compile constants.cpp
compile crc32.cpp
compile cube.cpp
PetSystem.cpp: In member function 'virtual bool CPetActor::_UpdateFollowAI()':
PetSystem.cpp:247:7: warning: unused variable 'bDoMoveAlone' [-Wunused-variable]
bool bDoMoveAlone = true; // ij▒▒▒Ϳ▒ ▒▒▒▒▒▒ ▒▒▒ ▒▒ ȥ▒▒ ▒▒▒▒▒▒▒ ▒▒▒▒▒ϰ▒▒▒ ▒▒▒▒ -_-;
^
PetSystem.cpp: In member function 'CPetActor* CPetSystem::Summon(DWORD, LPITEM, const char*, bool, DWORD)':
PetSystem.cpp:553:8: warning: unused variable 'petVID' [-Wunused-variable]
DWORD petVID = petActor->Summon(petName, pSummonItem, bSpawnFar);
^
compile db.cpp
char_skill.cpp: In member function 'bool CHARACTER::UseSkill(DWORD, LPCHARACTER, bool)':
char_skill.cpp:2489:50: warning: suggest parentheses around '&&' within '||' [-Wparentheses]
if (IsAffectFlag(AFF_TANHWAN_DASH) || pkVictim && pkVictim != this)
^
char_skill.cpp:2595:96: warning: suggest parentheses around '&&' within '||' [-Wparentheses]
if (pkSk->dwVnum == SKILL_MUYEONG || pkSk->IsChargeSkill() && !IsAffectFlag(AFF_TANHWAN_DASH) && !pkVictim)
^
char_state.cpp: In member function 'virtual void CHARACTER::StateMove()':
char_state.cpp:803:6: warning: suggest explicit braces to avoid ambiguous 'else' [-Wparentheses]
if (!IsWalking() && !IsRiding())
^
char_state.cpp:901:17: warning: unused variable 'rider' [-Wunused-variable]
LPCHARACTER rider = GetRider();
^
compile desc.cpp
compile desc_client.cpp
In file included from ../../libthecore/include/stdafx.h:141:0,
from stdafx.h:9,
from char_item.cpp:1:
belt_inventory_helper.h: In static member function 'static CBeltInventoryHelper::TGradeUnit CBeltInventoryHelper::GetBeltGradeByRefineLevel(in t)':
../../libthecore/include/utils.h:143:58: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
#define _countof(_Array) sizeof(*__countof_helper(_Array))
^
belt_inventory_helper.h:28:16: note: in expansion of macro '_countof'
if (level >= _countof(beltGradeByLevelTable))
^
char_item.cpp: In member function 'bool CHARACTER::IsEmptyItemGrid(TItemPos, BYTE, int) const':
char_item.cpp:578:44: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
if (m_pointsInstant.bItemGrid[p] != iExceptionCell)
^
char_item.cpp:608:43: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
if (m_pointsInstant.bItemGrid[p] != iExceptionCell)
^
char.cpp: In member function 'int CHARACTER::GetPolymorphPoint(BYTE) const':
char.cpp:2881:57: warning: suggest parentheses around '&&' within '||' [-Wparentheses]
if (GetJob() == JOB_SHAMAN || GetJob() == JOB_SURA && GetSkillGroup() == 2)
^
char.cpp: In member function 'void CHARACTER::PointChange(BYTE, int, bool, bool)':
char.cpp:3089:30: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
if (amount < 0 && exp < -amount)
^
compile desc_manager.cpp
char_battle.cpp: In member function 'void CHARACTER::Reward(bool)':
char_battle.cpp:775:6: warning: suggest explicit braces to avoid ambiguous 'else' [-Wparentheses]
if (GetLevel() - pkAttacker->GetLevel() >= -10)
^
char_item.cpp: In member function 'bool CHARACTER::UseItemEx(LPITEM, TItemPos)':
char_item.cpp:1967:41: warning: passing NULL to non-pointer argument 1 of 'std::vector<_Tp, _Alloc>::vector(std::vector<_Tp, _Alloc>::size_type, const value_type&, const allocator_type&) [with _Tp = CItem*; _Alloc = std::allocator<CItem*>; std::vector<_Tp, _Alloc>::size_type = unsigned int; std::vector<_Tp, _Alloc>::value_type = CItem*; std::vector<_Tp, _Alloc>::allocator_type = std::allocator<CItem*>]' [-Wconversion-null]
std::vector <LPITEM> item_gets(NULL);
^
char_item.cpp:2031:40: warning: passing NULL to non-pointer argument 1 of 'std::vector<_Tp, _Alloc>::vector(std::vector<_Tp, _Alloc>::size_type, const value_type&, const allocator_type&) [with _Tp = CItem*; _Alloc = std::allocator<CItem*>; std::vector<_Tp, _Alloc>::size_type = unsigned int; std::vector<_Tp, _Alloc>::value_type = CItem*; std::vector<_Tp, _Alloc>::allocator_type = std::allocator<CItem*>]' [-Wconversion-null]
std::vector <LPITEM> item_gets(NULL);
^
char_item.cpp:2391:162: warning: format '%d' expects argument of type 'int', but argument 6 has type 'long int' [-Wformat=]
sprintf(buf, "Inc %ds by item{VN:%d SOC%d:%d}", ret, item->GetVnum(), ITEM_SOCKET_CHARGING_AMOUNT_IDX, item->GetSocket(ITEM_SOCKET_CHARGING_AMOUNT_IDX));
^
char_item.cpp:2395:159: warning: format '%d' expects argument of type 'int', but argument 6 has type 'long int' [-Wformat=]
sprintf(buf, "Inc %ds by item{VN:%d VAL%d:%d}", ret, item->GetVnum(), ITEM_VALUE_CHARGING_AMOUNT_IDX, item->GetValue(ITEM_VALUE_CHARGING_AMOUNT_IDX));
^
char_item.cpp:2407:159: warning: format '%d' expects argument of type 'int', but argument 5 has type 'long int' [-Wformat=]
sprintf(buf, "No change by item{VN:%d SOC%d:%d}", item->GetVnum(), ITEM_SOCKET_CHARGING_AMOUNT_IDX, item->GetSocket(ITEM_SOCKET_CHARGING_AMOUNT_IDX));
^
char_item.cpp:2411:156: warning: format '%d' expects argument of type 'int', but argument 5 has type 'long int' [-Wformat=]
sprintf(buf, "No change by item{VN:%d VAL%d:%d}", item->GetVnum(), ITEM_VALUE_CHARGING_AMOUNT_IDX, item->GetValue(ITEM_VALUE_CHARGING_AMOUNT_IDX));
^
char_item.cpp:2438:163: warning: format '%d' expects argument of type 'int', but argument 6 has type 'long int' [-Wformat=]
sprintf(buf, "Increase %ds by item{VN:%d VAL%d:%d}", ret, item->GetVnum(), ITEM_VALUE_CHARGING_AMOUNT_IDX, item->GetValue(ITEM_VALUE_CHARGING_AMOUNT_IDX));
^
char_item.cpp:2446:155: warning: format '%d' expects argument of type 'int', but argument 5 has type 'long int' [-Wformat=]
sprintf(buf, "No change by item{VN:%d VAL%d:%d}", item->GetVnum(), ITEM_VALUE_CHARGING_AMOUNT_IDX, item->GetValue(ITEM_VALUE_CHARGING_AMOUNT_IDX));
^
char_item.cpp:3616:45: warning: passing NULL to non-pointer argument 1 of 'std::vector<_Tp, _Alloc>::vector(std::vector<_Tp, _Alloc>::size_type, const value_type&, const allocator_type&) [with _Tp = CItem*; _Alloc = std::allocator<CItem*>; std::vector<_Tp, _Alloc>::size_type = unsigned int; std::vector<_Tp, _Alloc>::value_type = CItem*; std::vector<_Tp, _Alloc>::allocator_type = std::allocator<CItem*>]' [-Wconversion-null]
std::vector <LPITEM> item_gets(NULL);
^
char_item.cpp:3620:53: warning: suggest parentheses around '&&' within '||' [-Wparentheses]
if (item->GetVnum() == ITEM_VALENTINE_ROSE && SEX_MALE==GET_SEX(this) ||
^
char_item.cpp:3640:45: warning: passing NULL to non-pointer argument 1 of 'std::vector<_Tp, _Alloc>::vector(std::vector<_Tp, _Alloc>::size_type, const value_type&, const allocator_type&) [with _Tp = CItem*; _Alloc = std::allocator<CItem*>; std::vector<_Tp, _Alloc>::size_type = unsigned int; std::vector<_Tp, _Alloc>::value_type = CItem*; std::vector<_Tp, _Alloc>::allocator_type = std::allocator<CItem*>]' [-Wconversion-null]
std::vector <LPITEM> item_gets(NULL);
^
char_item.cpp:3644:53: warning: suggest parentheses around '&&' within '||' [-Wparentheses]
if (item->GetVnum() == ITEM_WHITEDAY_CANDY && SEX_MALE==GET_SEX(this) ||
^
char_item.cpp:3663:45: warning: passing NULL to non-pointer argument 1 of 'std::vector<_Tp, _Alloc>::vector(std::vector<_Tp, _Alloc>::size_type, const value_type&, const allocator_type&) [with _Tp = CItem*; _Alloc = std::allocator<CItem*>; std::vector<_Tp, _Alloc>::size_type = unsigned int; std::vector<_Tp, _Alloc>::value_type = CItem*; std::vector<_Tp, _Alloc>::allocator_type = std::allocator<CItem*>]' [-Wconversion-null]
std::vector <LPITEM> item_gets(NULL);
^
In file included from ../../libthecore/include/stdafx.h:141:0,
from stdafx.h:9,
from char_item.cpp:1:
../../libthecore/include/utils.h:143:58: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
#define _countof(_Array) sizeof(*__countof_helper(_Array))
^
char_item.cpp:5098:31: note: in expansion of macro '_countof'
if (item->GetSocket(0) >= _countof(aApplyInfo))
^
char_item.cpp:1669:6: warning: variable 'iLimitTimerBasedOnWearFlagIndex' set but not used [-Wunused-but-set-variable]
int iLimitTimerBasedOnWearFlagIndex = -1;
^
char.cpp: In member function 'void CHARACTER::SetTarget(LPCHARACTER)':
char.cpp:5091:29: warning: suggest parentheses around '&&' within '||' [-Wparentheses]
if (m_pkChrTarget->IsPC() && !m_pkChrTarget->IsPolymorphed() || m_pkChrTarget->GetMaxHP() <= 0)
^
char_item.cpp: In member function 'bool CHARACTER::UseItem(TItemPos, TItemPos)':
char_item.cpp:5316:22: warning: suggest parentheses around comparison in operand of '|' [-Wparentheses]
if (item->GetVnum() == 50200 | item->GetVnum() == 71049)
^
char_item.cpp:5170:7: warning: unused variable 'wDestCell' [-Wunused-variable]
WORD wDestCell = DestCell.cell;
^
char_item.cpp:5171:7: warning: unused variable 'bDestInven' [-Wunused-variable]
BYTE bDestInven = DestCell.window_type;
^
char_item.cpp: At global scope:
char_item.cpp:5953:6: error: prototype for 'bool CHARACTER::SwapItem(UINT, UINT)' does not match any in class 'CHARACTER'
bool CHARACTER::SwapItem(UINT bCell, UINT bDestCell)
^
In file included from char_item.cpp:7:0:
char.h:1123:10: error: candidate is: bool CHARACTER::SwapItem(UINT, BYTE)
bool SwapItem(UINT bCell, BYTE bDestCell);
^
char_item.cpp: In member function 'bool CHARACTER::EquipItem(LPITEM, int)':
char_item.cpp:6171:141: warning: array subscript has type 'char' [-Wchar-subscripts]
long duration = (0 != item->GetSocket(0)) ? item->GetSocket(0) : item->GetProto()->aLimits[item->GetProto()->cLimitRealTimeFirstUseIndex].lValue;
^
char_item.cpp: In member function 'void CHARACTER::BuffOnAttr_AddBuffsFromItem(LPITEM)':
char_item.cpp:6235:79: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for (int i = 0; i < sizeof(g_aBuffOnAttrPoints)/sizeof(g_aBuffOnAttrPoints[0]); i++)
^
char_item.cpp: In member function 'void CHARACTER::BuffOnAttr_RemoveBuffsFromItem(LPITEM)' :
char_item.cpp:6247:79: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for (int i = 0; i < sizeof(g_aBuffOnAttrPoints)/sizeof(g_aBuffOnAttrPoints[0]); i++)
^
char.cpp: In member function 'bool CHARACTER::CanSummon(int)':
char.cpp:6276:49: warning: suggest parentheses around '&&' within '||' [-Wparentheses]
return (iLeaderShip >= 20 || iLeaderShip >= 12 && m_dwLastDeadTime + 180 > get_dword_time());
^
char_item.cpp: In member function 'bool CHARACTER::CanEquipNow(LPITEM, const TItemPos&, const TItemPos&)':
char_item.cpp:7433:7: warning: unused variable 'itemType' [-Wunused-variable]
BYTE itemType = item->GetType();
^
char_item.cpp:7434:7: warning: unused variable 'itemSubType' [-Wunused-variable]
BYTE itemSubType = item->GetSubType();
^
constants.cpp:301:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
2150000000, // 110
^
constants.cpp:302:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
2160000000,
^
constants.cpp:303:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
2170000000,
^
constants.cpp:304:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
2180000000,
^
constants.cpp:305:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
2190000000,
^
constants.cpp:306:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
2200000000, // 115
^
constants.cpp:307:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
2210000000,
^
constants.cpp:308:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
2220000000,
^
constants.cpp:309:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
2230000000,
^
constants.cpp:310:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
2240000000,
^
constants.cpp:311:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
2250000000, // 120
^
constants.cpp:312:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
2251500000,
^
constants.cpp:313:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
2253000000,
^
constants.cpp:314:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
2254500000,
^
constants.cpp:315:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
2256000000,
^
constants.cpp:316:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
2257500000, // 125
^
constants.cpp:317:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
2259000000,
^
constants.cpp:318:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
2260500000,
^
constants.cpp:319:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
2262000000,
^
constants.cpp:320:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
2263500000,
^
constants.cpp:321:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
2265000000, // 130
^
constants.cpp:322:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
2266500000,
^
constants.cpp:323:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
2268000000,
^
constants.cpp:324:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
2269500000,
^
constants.cpp:325:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
2271000000,
^
constants.cpp:326:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
2272500000, // 135
^
constants.cpp:327:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
2274000000,
^
constants.cpp:328:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
2275500000,
^
constants.cpp:329:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
2277000000,
^
constants.cpp:330:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
2278500000,
^
constants.cpp:331:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
2280000000, // 140
^
constants.cpp:332:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
2281800000,
^
constants.cpp:333:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
2283600000,
^
constants.cpp:334:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
2285400000,
^
constants.cpp:335:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
2287200000,
^
constants.cpp:336:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
2289000000, // 145
^
constants.cpp:337:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
2290800000,
^
constants.cpp:338:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
2292600000,
^
constants.cpp:339:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
2294400000,
^
constants.cpp:340:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
2296200000,
^
constants.cpp:341:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
2298000000, // 150
^
constants.cpp:342:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
2299800000,
^
constants.cpp:343:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
2301600000,
^
constants.cpp:344:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
2303400000,
^
constants.cpp:345:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
2305200000,
^
constants.cpp:346:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
2307000000, // 155
^
constants.cpp:347:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
2308800000,
^
constants.cpp:348:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
2310600000,
^
constants.cpp:349:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
2312400000,
^
constants.cpp:350:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
2314200000,
^
constants.cpp:351:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
2316000000, // 160
^
constants.cpp:352:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
2317800000,
^
constants.cpp:353:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
2319600000,
^
constants.cpp:354:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
2321400000,
^
constants.cpp:355:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
2323200000,
^
constants.cpp:356:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
2325000000, // 165
^
constants.cpp:357:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
2326800000,
^
constants.cpp:358:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
2328600000,
^
constants.cpp:359:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
2330400000,
^
constants.cpp:360:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
2332200000,
^
constants.cpp:361:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
2334000000, // 170
^
constants.cpp:362:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
2335800000,
^
constants.cpp:363:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
2337600000,
^
constants.cpp:364:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
2339400000,
^
constants.cpp:365:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
2341200000,
^
constants.cpp:366:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
2343000000, // 175
^
constants.cpp:367:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
2344800000,
^
constants.cpp:368:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
2346600000,
^
constants.cpp:369:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
2348400000,
^
constants.cpp:370:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
2350200000,
^
constants.cpp:371:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
2352000000, // 180
^
constants.cpp:372:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
2353800000,
^
constants.cpp:373:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
2355600000,
^
constants.cpp:374:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
2357400000,
^
constants.cpp:375:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
2359200000,
^
constants.cpp:376:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
2361000000, // 185
^
constants.cpp:377:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
2362800000,
^
constants.cpp:378:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
2364600000,
^
constants.cpp:379:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
2366400000,
^
constants.cpp:380:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
2368200000,
^
constants.cpp:381:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
2370000000, // 190
^
constants.cpp:382:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
2371800000,
^
constants.cpp:383:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
2373600000,
^
constants.cpp:384:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
2375400000,
^
constants.cpp:385:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
2377200000,
^
constants.cpp:386:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
2379000000, // 195
^
constants.cpp:387:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
2380800000,
^
constants.cpp:388:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
2382600000,
^
constants.cpp:389:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
2384400000,
^
constants.cpp:390:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
2386200000,
^
constants.cpp:391:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
2388000000, // 200
^
constants.cpp:392:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
2389800000,
^
constants.cpp:393:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
2391600000,
^
constants.cpp:394:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
2393400000,
^
constants.cpp:395:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
2395200000,
^
constants.cpp:396:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
2397000000, // 205
^
constants.cpp:397:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
2398800000,
^
constants.cpp:398:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
2400600000,
^
constants.cpp:399:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
2402400000,
^
constants.cpp:400:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
2404200000,
^
constants.cpp:401:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
2406000000, // 210
^
constants.cpp:402:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
2407800000,
^
constants.cpp:403:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
2409600000,
^
constants.cpp:404:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
2411400000,
^
constants.cpp:405:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
2413200000,
^
constants.cpp:406:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
2415000000, // 215
^
constants.cpp:407:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
2416800000,
^
constants.cpp:408:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
2418600000,
^
constants.cpp:409:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
2420400000,
^
constants.cpp:410:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
2422200000,
^
constants.cpp:411:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
2424000000, // 220
^
constants.cpp:412:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
2425800000,
^
constants.cpp:413:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
2427600000,
^
constants.cpp:414:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
2429400000,
^
constants.cpp:415:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
2431200000,
^
constants.cpp:416:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
2433000000, // 225
^
constants.cpp:417:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
2434800000,
^
constants.cpp:418:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
2436600000,
^
constants.cpp:419:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
2438400000,
^
constants.cpp:420:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
2440200000,
^
constants.cpp:421:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
2442000000, // 230
^
constants.cpp:422:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
2443800000,
^
constants.cpp:423:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
2445600000,
^
constants.cpp:424:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
2447400000,
^
constants.cpp:425:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
2449200000,
^
constants.cpp:426:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
2451000000, // 235
^
constants.cpp:427:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
2452800000,
^
constants.cpp:428:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
2454600000,
^
constants.cpp:429:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
2456400000,
^
constants.cpp:430:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
2458200000,
^
constants.cpp:431:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
2460000000, // 240
^
constants.cpp:432:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
2461800000,
^
constants.cpp:433:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
2463600000,
^
constants.cpp:434:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
2465400000,
^
constants.cpp:435:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
2467200000,
^
constants.cpp:436:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
2469000000, // 245
^
constants.cpp:437:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
2470800000,
^
constants.cpp:438:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
2472600000,
^
constants.cpp:439:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
2474400000,
^
constants.cpp:440:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
2478000000,
^
constants.cpp:441:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
2500000000, // 250
^
constants.cpp:442:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
2500000000,
^
constants.cpp:443:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
2500000000,
^
constants.cpp:444:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
2500000000,
^
constants.cpp:445:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
2500000000,
^
constants.cpp:446:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
2500000000, // 255
^
char_item.cpp: In member function 'bool CHARACTER::IsEmptyItemGrid(TItemPos, BYTE, int) const':
char_item.cpp:679:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
compile desc_p2p.cpp
gmake: *** [OBJDIR/char_item.o] Error 1
gmake: *** Waiting for unfinished jobs....
cube.cpp: In function 'bool Cube_make(LPCHARACTER)':
cube.cpp:544:34: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
if (ch->GetGold() < cube_proto->gold)
^
cube.cpp: In function 'void Cube_MakeCubeInformationText()':
cube.cpp:716:16: warning: unused variable 'npcVNUM' [-Wunused-variable]
const DWORD& npcVNUM = iter->first;
^
cube.cpp: In function 'bool Cube_InformationInitialize()':
cube.cpp:783:40: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for (int i = 0; i < s_cube_proto.size(); ++i)
^
config.cpp: In function 'void config_init(const string&)':
config.cpp:438:22: warning: NULL used in arithmetic [-Wpointer-arith]
if (NULL != line[0])
^
config.cpp:462:22: warning: NULL used in arithmetic [-Wpointer-arith]
if (NULL != line[0])
^
config.cpp:486:22: warning: NULL used in arithmetic [-Wpointer-arith]
if (NULL != line[0])
^
config.cpp:508:17: warning: unused variable 'line' [-Wunused-variable]
const char * line = two_arguments(value_string, openid_host, sizeof(openid_host), openid_uri, sizeof(openid_uri));
^
In file included from desc_p2p.cpp:3:0:
protocol.h: In function 'const char* encode_2bytes(sh_int)':
protocol.h:14:16: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
*((sh_int *) a) = ind;
^
protocol.h: In function 'const char* encode_4bytes(int)':
protocol.h:21:13: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
*((int *) a) = ind;
^
In file included from desc.cpp:8:0:
protocol.h: In function 'const char* encode_2bytes(sh_int)':
protocol.h:14:16: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
*((sh_int *) a) = ind;
^
protocol.h: In function 'const char* encode_4bytes(int)':
protocol.h:21:13: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
*((int *) a) = ind;
^
In file included from desc_client.cpp:7:0:
protocol.h: In function 'const char* encode_2bytes(sh_int)':
protocol.h:14:16: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
*((sh_int *) a) = ind;
^
protocol.h: In function 'const char* encode_4bytes(int)':
protocol.h:21:13: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
*((int *) a) = ind;
^
desc_client.cpp: In member function 'void CLIENT_DESC::UpdateChannelStatus(DWORD, bool)':
desc_client.cpp:299:77: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
if (fForce || m_tLastChannelStatusUpdateTime+CHANNELSTATUS_UPDAT E_PERIOD < t) {
^
cmd_gm.cpp: In function 'void do_set_stat(LPCHARACTER, const char*, int, int)':
cmd_gm.cpp:3935:17: warning: NULL used in arithmetic [-Wpointer-arith]
if (*szName == NULL || *szChangeAmount == '\0')
^
In file included from desc_manager.cpp:10:0:
protocol.h: In function 'const char* encode_2bytes(sh_int)':
protocol.h:14:16: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
*((sh_int *) a) = ind;
^
protocol.h: In function 'const char* encode_4bytes(int)':
protocol.h:21:13: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
*((int *) a) = ind;
^
desc_manager.cpp: In member function 'DWORD DESC_MANAGER::CreateHandshake()':
desc_manager.cpp:135:26: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
*(DWORD *) (crc_buf ) = val;
^
cmd_gm.cpp: In function 'void do_mob_ld(LPCHARACTER, const char*, int, int)':
cmd_gm.cpp:871:6: warning: 'y' may be used uninitialized in this function [-Wmaybe-uninitialized]
dir);
^
cmd_gm.cpp:871:6: warning: 'x' may be used uninitialized in this function [-Wmaybe-uninitialized]
cmd_gm.cpp: In function 'void do_use_item(LPCHARACTER, const char*, int, int)':
cmd_gm.cpp:4360:41: warning: 'cell' may be used uninitialized in this function [-Wmaybe-uninitialized]
LPITEM item = ch->GetInventoryItem(cell);
^
root@host:/usr/src/mainline/Srcs/Server/game

Link to comment
Share on other sites

  • 2 months later...
  • 3 years later...
  • 5 months later...
  • 2 weeks later...
Acum 20 ore, OnlyRipper a spus:

Not sure exactly where i should look.

Syserror return no errors.

Complitation it's a succes on client side and server side.

2uqjfxs.png

I'm sorry that I have to post again in less than 1 day.

Can someone please give me a hint,in general why other tabs are affected by changing the number of inventories?

Source and client compile without problems.
I've re-read and re-checked the entire tutorial

Edited by Metin2 Dev
Core X - External 2 Internal
Link to comment
Share on other sites

  • 2 years later...

Announcements



×
×
  • Create New...

Important Information

Terms of Use / Privacy Policy / Guidelines / We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.