Register for your free account! | Forgot your password?

Go Back   elitepvpers > Popular Games > Metin2
You last visited: Today at 04:10

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Belt System - cant equip from belt

Discussion on Belt System - cant equip from belt within the Metin2 forum part of the Popular Games category.

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Dec 2012
Posts: 6
Received Thanks: 0
Belt System - cant equip from belt


Everyone help? Thanks

I find solution:
Hello again, finally I fount the solution for this bug!

Code:
In char_quickslot.cpp Search this:

void CHARACTER::SyncQuickslot(BYTE bType, BYTE bOldPos, BYTE bNewPos)
Replace with this:

void CHARACTER::SyncQuickslot(BYTE bType, WORD bOldPos, WORD bNewPos)
Search this:

bool CHARACTER::GetQuickslot(BYTE pos, TQuickslot ** ppSlot)
Replace:

bool CHARACTER::GetQuickslot(WORD pos, TQuickslot ** ppSlot)
Search this:

bool CHARACTER::SetQuickslot(BYTE pos, TQuickslot & rSlot)
Replace:

bool CHARACTER::SetQuickslot(WORD pos, TQuickslot & rSlot)
Search this:

bool CHARACTER::DelQuickslot(BYTE pos)
Replace:

bool CHARACTER::DelQuickslot(WORD pos)
Search this:

bool CHARACTER::SwapQuickslot(BYTE a, BYTE 
Replace

bool CHARACTER::SwapQuickslot(WORD a, WORD 
Search this:

void CHARACTER::ChainQuickslotItem(LPITEM pItem, BYTE bType, WORD bOldPos)
Replace:

void CHARACTER::ChainQuickslotItem(LPITEM pItem, BYTE bType, WORD bOldPos)
Search this:

if (bNewPos == 255)
And replace the 255 with 400 for example.

 

Search this in all files:

SyncQuickslot(
And where you find 255, replace them with 400. For example, I have this in char_item.cpp:

SyncQuickslot(QUICKSLOT_TYPE_ITEM, i, 255);
And I have to replace it like this:

SyncQuickslot(QUICKSLOT_TYPE_ITEM, i, 400);
In char.h search this:

void            SyncQuickslot(BYTE bType, BYTE bOldPos, BYTE bNewPos);
Replace:

void            SyncQuickslot(BYTE bType, WORD bOldPos, WORD bNewPos);
Search this:

bool            GetQuickslot(BYTE pos, TQuickslot ** ppSlot);
Replace:

bool            GetQuickslot(WORD pos, TQuickslot ** ppSlot);
Search this:

bool            SetQuickslot(BYTE pos, TQuickslot & rSlot);
Replace:

bool            SetQuickslot(WORD pos, TQuickslot & rSlot);
Search this:

bool            DelQuickslot(BYTE pos);
Replace:

bool            DelQuickslot(WORD pos);
Search this:

bool            SwapQuickslot(BYTE a, BYTE ;
Replace:

bool            SwapQuickslot(WORD a, WORD ;
Search this:

void            ChainQuickslotItem(LPITEM pItem, BYTE bType, BYTE bOldPos);
Replace:

void            ChainQuickslotItem(LPITEM pItem, BYTE bType, WORD bOldPos);
In packet.h search this:

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

typedef struct command_quickslot_del
{
    BYTE    header;
    BYTE    pos;
} TPacketCGQuickslotDel;

typedef struct command_quickslot_swap
{
    BYTE    header;
    BYTE    pos;
    BYTE    change_pos;
} TPacketCGQuickslotSwap;
Replace:

typedef struct command_quickslot_add
{
    BYTE    header;
    WORD    pos;
    TQuickslot    slot;
} TPacketCGQuickslotAdd;

typedef struct command_quickslot_del
{
    BYTE    header;
    WORD    pos;
} TPacketCGQuickslotDel;

typedef struct command_quickslot_swap
{
    BYTE    header;
    WORD    pos;
    WORD    change_pos;
} TPacketCGQuickslotSwap;
Search this:

struct packet_quickslot_add
{
    BYTE    header;
    BYTE    pos;
    TQuickslot    slot;
};

struct packet_quickslot_del
{
    BYTE    header;
    BYTE    pos;
};

struct packet_quickslot_swap
{
    BYTE    header;
    BYTE    pos;
    BYTE    pos_to;
};
Replace:

struct packet_quickslot_add
{
    BYTE    header;
    WORD    pos;
    TQuickslot    slot;
};

struct packet_quickslot_del
{
    BYTE    header;
    WORD    pos;
};

struct packet_quickslot_swap
{
    BYTE    header;
    WORD    pos;
    WORD    pos_to;
};
In common/tables.h search this:

typedef struct SQuickslot
{
    BYTE    type;
    BYTE    pos;
} TQuickslot;
Replace:

typedef struct SQuickslot
{
    BYTE    type;
    WORD    pos;
} TQuickslot;
Next, in the client, UserInterface/packet.h search this:

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

typedef struct command_quickslot_del
{
    BYTE        header;
    BYTE        pos;
}TPacketCGQuickSlotDel;

typedef struct command_quickslot_swap
{
    BYTE        header;
    BYTE        pos;
    BYTE        change_pos;
}TPacketCGQuickSlotSwap;
Replace:

typedef struct command_quickslot_add
{
    BYTE        header;
    WORD        pos;
    TQuickSlot    slot;
}TPacketCGQuickSlotAdd;

typedef struct command_quickslot_del
{
    BYTE        header;
    WORD        pos;
}TPacketCGQuickSlotDel;

typedef struct command_quickslot_swap
{
    BYTE        header;
    WORD        pos;
    WORD        change_pos;
}TPacketCGQuickSlotSwap;
Search this:

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

typedef struct packet_quickslot_del
{
    BYTE        header;
    BYTE        pos;
} TPacketGCQuickSlotDel;

typedef struct packet_quickslot_swap
{
    BYTE        header;
    BYTE        pos;
    BYTE        change_pos;
} TPacketGCQuickSlotSwap;
Replace:

typedef struct packet_quickslot_add
{
    BYTE        header;
    WORD        pos;
    TQuickSlot    slot;
} TPacketGCQuickSlotAdd;

typedef struct packet_quickslot_del
{
    BYTE        header;
    WORD        pos;
} TPacketGCQuickSlotDel;

typedef struct packet_quickslot_swap
{
    BYTE        header;
    WORD        pos;
    WORD        change_pos;
} TPacketGCQuickSlotSwap;
In GameType.h search this:

typedef struct SQuickSlot
{
    BYTE Type;
    BYTE Position;
} TQuickSlot;
Replace:

typedef struct SQuickSlot
{
    BYTE Type;
    WORD Position;
} TQuickSlot;
In AbstractPlayer.h search this:

virtual void    AddQuickSlot(int QuickslotIndex, char IconType, char IconPosition) = 0;
Replace:

virtual void    AddQuickSlot(int QuickslotIndex, char IconType, WORD IconPosition) = 0;
In PythonNetworkStream.h search this:

        bool SendQuickSlotAddPacket(BYTE wpos, BYTE type, BYTE pos);
        bool SendQuickSlotDelPacket(BYTE wpos);
        bool SendQuickSlotMovePacket(BYTE wpos, BYTE change_pos);
Replace:

        bool SendQuickSlotAddPacket(WORD wpos, BYTE type, WORD pos);
        bool SendQuickSlotDelPacket(WORD wpos);
        bool SendQuickSlotMovePacket(WORD wpos, WORD change_pos);
In PythonNetworkStreamPhaseGameItem.cpp search this:

bool CPythonNetworkStream::SendQuickSlotAddPacket(BYTE wpos, BYTE type, BYTE pos)
Replace:

bool CPythonNetworkStream::SendQuickSlotAddPacket(WORD wpos, BYTE type, WORD pos) 
Search this:

bool CPythonNetworkStream::SendQuickSlotDelPacket(BYTE pos)
Replace:

bool CPythonNetworkStream::SendQuickSlotDelPacket(WORD pos)
Search this:

bool CPythonNetworkStream::SendQuickSlotMovePacket(BYTE pos, BYTE change_pos)
Replace:

bool CPythonNetworkStream::SendQuickSlotMovePacket(WORD pos, WORD change_pos)
In PythonPlayer.cpp search this:

    for (BYTE i = 0; i < QUICKSLOT_MAX_NUM; ++i)
Replace:

    for (WORD i = 0; i < QUICKSLOT_MAX_NUM; ++i)
Search this:

    rkNetStream.SendQuickSlotMovePacket((BYTE) dwGlobalSrcSlotIndex, (BYTE)dwGlobalDstSlotIndex);
Replace:

    rkNetStream.SendQuickSlotMovePacket((WORD) dwGlobalSrcSlotIndex, (WORD)dwGlobalDstSlotIndex);
Search this:

    rkNetStream.SendQuickSlotAddPacket((BYTE)dwGlobalSlotIndex, (BYTE)dwWndType, (BYTE)dwWndItemPos);
Replace:

    rkNetStream.SendQuickSlotAddPacket((WORD)dwGlobalSlotIndex, (BYTE)dwWndType, (WORD)dwWndItemPos);
Search this:

            rkNetStream.SendQuickSlotAddPacket((BYTE)dwGlobalQuickSlotIndex, (BYTE)dwWndType, (BYTE)dwWndItemPos);
Replace:

            rkNetStream.SendQuickSlotAddPacket((WORD)dwGlobalQuickSlotIndex, (BYTE)dwWndType, (WORD)dwWndItemPos);
Search this:

    rkNetStream.SendQuickSlotDelPacket((BYTE)dwGlobalSlotIndex);
Replace:

    rkNetStream.SendQuickSlotDelPacket((WORD)dwGlobalSlotIndex);
Search this:

void CPythonPlayer::AddQuickSlot(int QuickSlotIndex, char IconType, char IconPosition)
Replace:

void CPythonPlayer::AddQuickSlot(int QuickSlotIndex, char IconType, WORD IconPosition)
In PythonPlayer.h search this:

        void    AddQuickSlot(int QuickslotIndex, char IconType, char IconPosition);
Replace:

        void    AddQuickSlot(int QuickslotIndex, char IconType, WORD IconPosition);
Randomize
Woytman is offline  
Reply


Similar Threads Similar Threads
Belt system/ gürtel system entfernen
01/14/2017 - Metin2 PServer Guides & Strategies - 2 Replies
Hallo liebe Coumunity und neulinge :) da viele neulinge probleme haben das gürtel system rauszunehmen zb das gürtel neben inventar Wollte ich euch mal erklären wie ihr es leicht entfernen könnt ohne source oder großes hin und her also wie folgt ihr entpackt die datei (ymir_work ) dann geht ihr in den entpackten ordner (ymir_work ) dann geht ihr wider in (ymir work ) dann geht ihr in (ui ) dann geht ihr auf (game)



All times are GMT +2. The time now is 04:10.


Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2024 elitepvpers All Rights Reserved.