Hikayeler

Reklam vermek için turkmmo@gmail.com

Laleci16 - Maximum Level Yükseltme

  • Konuyu başlatan Laleci
  • Başlangıç tarihi
  • Cevaplar 88
  • Görüntüleme 8K
5.00 yıldız(lar) 1 Değerlendirme Değerlendirenler

Metin2 EP, Valorant VP dahil tüm oyun ürünlerini en uygun fiyatlarla bulabilir, Item ve Karakterlerinizi hızlıca satabilirsiniz. HEMEN TIKLA!

Konu için teşekkürler.
 
Son düzenleme:

Selamlar,
ben Laleci16 bugün sizlere maximum level yükseltmeyi göstereceğim buna level sistemi diyen beyni boş
arkadaşlar olduğu için kesinlikle sorunuzdur lonca sorunu karakter atma reboot sorunu hiç bir sorunu yoktur.
bunu mmoliraya koymak nedir ya elimde büyüyen çocuklar işte neyse gönül rahatlığı ile kullanabilirsiniz.
paylaşılanda bütün tab ayarı vs bozuktur.
adminlerden ricam konu kapanmasın görsel yarın ekleyeceğim şuan sorun olduğu için ve kanıtta öyle.
bir sorun yaşayan olursa skypem imzamda mevcut hayırlı forumlar.

char.cpp arat

Kod:
void CHARACTER::SetLevel(BYTE level)

değiştir

Kod:
void CHARACTER::SetLevel(int level)

char.h arat

Kod:
void            SetLevel(BYTE level);

değiştir

Kod:
void            SetLevel(int level);

tekrar arat

Kod:
BYTE            level;

typedef struct character_point bunun altındaki

değiştir

Kod:
int                level;

party.cpp aç ve arat

Kod:
void CParty::P2PSetMemberLevel(DWORD pid, BYTE level)

değiştir

Kod:
void CParty::P2PSetMemberLevel(DWORD pid, int level)

tekrar arat

Kod:
BYTE CParty::GetMemberMaxLevel()
{
    BYTE bMax = 0;

değiştir
Kod:
int CParty::GetMemberMaxLevel()
{
    int bMax = 0;

tekrar arat
Kod:
BYTE CParty::GetMemberMinLevel()
{
    BYTE bMin = PLAYER_MAX_LEVEL_CONST;

değiştir
Kod:
int CParty::GetMemberMinLevel()
{
    int bMin = PLAYER_MAX_LEVEL_CONST;

tekrar arat

Kod:
void CParty::RequestSetMemberLevel(DWORD pid, BYTE level)

değiştir

Kod:
void CParty::RequestSetMemberLevel(DWORD pid, int level)

party.h aç ve arat

Kod:
BYTE    bLevel;

typedef struct SMember altında değiştir

Kod:
int    bLevel;

tekrar arat

Kod:
        BYTE        GetMemberMaxLevel();
        BYTE        GetMemberMinLevel();

değiştir
Kod:
        int        GetMemberMaxLevel();
        int        GetMemberMinLevel();

tekrar arat
Kod:
        void        RequestSetMemberLevel(DWORD pid, BYTE level);
        void        P2PSetMemberLevel(DWORD pid, BYTE level);

değiştir
Kod:
        void        RequestSetMemberLevel(DWORD pid, int level);
        void        P2PSetMemberLevel(DWORD pid, int level);

char_battle.cpp aç ve arat

Kod:
    struct FPartyTotaler
    {
        int        total;

değiştir
Kod:
    struct FPartyTotaler
    {
        long        total;

tekrar arat
Kod:
    struct FPartyDistributor
    {
        int        total;
        LPCHARACTER    c;
        int        x, y;
        DWORD        _iExp;
        int        m_iMode;
        int        m_iMemberCount;

        FPartyDistributor(LPCHARACTER center, int member_count, int total, DWORD iExp, int iMode)

değiştir
Kod:
    struct FPartyDistributor
    {
        long        total;
        LPCHARACTER    c;
        int        x, y;
        DWORD        _iExp;
        int        m_iMode;
        int        m_iMemberCount;

        FPartyDistributor(LPCHARACTER center, int member_count, long total, DWORD iExp, int iMode)

config.h aç ve arat

Kod:
extern BYTE    PK_PROTECT_LEVEL;

değiştir

Kod:
extern int    PK_PROTECT_LEVEL;

locale_service.cpp aç ve arat

Kod:
BYTE PK_PROTECT_LEVEL

değiştir

Kod:
int PK_PROTECT_LEVEL

constans.cpp açılır ve hepsi göstereceğim şekilde düzenlenir

Kod:
const DWORD exp_table_euckr[PLAYER_EXP_TABLE_MAX + 1]
const DWORD exp_table_common[PLAYER_EXP_TABLE_MAX + 1]
const DWORD exp_table_newcibn[PLAYER_EXP_TABLE_MAX + 1 ]
const DWORD party_exp_distribute_table[PLAYER_MAX_LEVEL_CONST + 1]
const int aiExpLossPercents[PLAYER_EXP_TABLE_MAX + 1]

gördüğünüz zaman mantığı anlayacaksınız ama ben yinede görsel bırakıyorum.
şuan görsel bırakamıyorum sorun olduğu için yarın güncellerim ama şöyle olacak.
4 tanesi farklıdır ilki şöyle mantığı bu


lq5g3B.png


Kod:
    2500000000,    //    250
    2500000000,
    2500000000,
    2500000000,
    2500000000,
    2500000000,    //    255
    2500000000,
    2500000000,
    2500000000,
    2500000000,
    2500000000,    //    260
    2500000000,
    2500000000,
    2500000000,
    2500000000,
    2500000000,    //    265
    2500000000,
    2500000000,
    2500000000,
    2500000000,
    2500000000,    //    270
    2500000000,
    2500000000,
    2500000000,
    2500000000,
    2500000000,    //    275
    2500000000,
    2500000000,
    2500000000,
    2500000000,
    2500000000,    //    280
    2500000000,
    2500000000,
    2500000000,
    2500000000,
    2500000000,    //    285
    2500000000,
    2500000000,
    2500000000,
    2500000000,
    2500000000,    //    290
    2500000000,
    2500000000,
    2500000000,
    2500000000,
    2500000000,    //    295
    2500000000,
    2500000000,
    2500000000,
    2500000000,
    2500000000,    //    300
};

diğeri ise şöyle

8aRy8A.png

Kod:
    10,        10,        10,        10,        15,        15,        20,        25,        30,        40,        // 1 - 10
    50,        60,        80,        100,    120,    140,    160,    184,    210,    240,    // 11 - 20
    270,    300,    330,    360,    390,    420,    450,    480,    510,    550,    // 21 - 30
    600,    640,    700,    760,    820,    880,    940,    1000,    1100,    1180,    // 31 - 40
    1260,    1320,    1380,    1440,    1500,    1560,    1620,    1680,    1740,    1800,    // 41 - 50
    1860,    1920,    2000,    2100,    2200,    2300,    2450,    2600,    2750,    2900,    // 51 - 60
    3050,    3200,    3350,    3500,    3650,    3800,    3950,    4100,    4250,    4400,    // 61 - 70
    4600,    4800,    5000,    5200,    5400,    5600,    5800,    6000,    6200,    6400,    // 71 - 80
    6600,    6800,    7000,    7200,    7400,    7600,    7800,    8000,    8200,    8400,    // 81 - 90
    8600,    8800,    9000,    9200,    9400,    9600,    9800,    10000,    10200,    10400,    // 91 - 100
    10600,    10800,    11000,    11200,    11400,    11600,    11800,    12000,    12200,    12400,    // 101 - 110
    12600,    12800,    13000,    13200,    13400,    13600,    13800,    14000,    14200,    14400,    // 111 - 120
    14600,    14800,    15000,    15200,    15400,    15600,    15800,    16000,    16200,    16400,    // 121 - 130
    16600,    16800,    17000,    17200,    17400,    17600,    17800,    18000,    18200,    18400,    // 131 - 140
    18600,    18800,    19000,    19200,    19400,    19600,    19800,    20000,    20200,    20400,    // 141 - 150
    20600,    20800,    21000,    21200,    21400,    21600,    21800,    22000,    22200,    22400,    // 151 - 160
    22600,    22800,    23000,    23200,    23400,    23600,    23800,    24000,    24200,    24400,    // 161 - 170
    24600,    24800,    25000,    25200,    25400,    25600,    25800,    26000,    26200,    26400,    // 171 - 180
    26600,    26800,    27000,    27200,    27400,    27600,    27800,    28000,    28200,    28400,    // 181 - 190
    28600,    28800,    29000,    29200,    29400,    29600,    29800,    30000,    30200,    30400,    // 191 - 200
    30600,    30800,    31000,    31200,    31400,    31600,    31800,    32000,    32200,    32400,    // 201 - 210
    32600,    32800,    33000,    33200,    33400,    33600,    33800,    34000,    34200,    34400,    // 211 - 220
    34600,    34800,    35000,    35200,    35400,    35600,    35800,    36000,    36200,    36400,    // 221 - 230
    36600,    36800,    37000,    37200,    37400,    37600,    37800,    38000,    38200,    38400,    // 231 - 240
    38600,    38800,    39000,    39200,    39400,    39600,    39800,    40000,    40200,    40400,    // 241 - 250
    38600,    38800,    39000,    39200,    39400,    39600,    39800,    40000,    40200,    40400,    // 251 - 260
    38600,    38800,    39000,    39200,    39400,    39600,    39800,    40000,    40200,    40400,    // 261 - 270
    38600,    38800,    39000,    39200,    39400,    39600,    39800,    40000,    40200,    40400,    // 271 - 280
    38600,    38800,    39000,    39200,    39400,    39600,    39800,    40000,    40200,    40400,    // 281 - 290
    38600,    38800,    39000,    39200,    39400,    39600,    39800,    40000,    40200,    40400,    // 291 - 300

gördüğünüzde az çok anlayacaksınız zaten

log.h açalım ve aratalım

Kod:
void        LoginLog(bool isLogin, DWORD dwAccountID, DWORD dwPID, BYTE bLevel, BYTE bJob, DWORD dwPlayTime);

değiştir

Kod:
void        LoginLog(bool isLogin, DWORD dwAccountID, DWORD dwPID, int bLevel, BYTE bJob, DWORD dwPlayTime);

log.cpp aç ve arat

Kod:
void LogManager::LoginLog(bool isLogin, DWORD dwAccountID, DWORD dwPID, BYTE bLevel, BYTE bJob, DWORD dwPlayTime)

değiştir

Kod:
void LogManager::LoginLog(bool isLogin, DWORD dwAccountID, DWORD dwPID, int bLevel, BYTE bJob, DWORD dwPlayTime)

guild.h aç ve arat

Kod:
typedef struct SGuildMemberPacketData
{
    DWORD pid;
    BYTE grade;
    BYTE is_general;
    BYTE job;
    BYTE level;
    DWORD offer;
    BYTE name_flag;
    char name[CHARACTER_NAME_MAX_LEN+1];
} TGuildMemberPacketData;

değiştir
Kod:
typedef struct SGuildMemberPacketData
{
    DWORD pid;
    BYTE byGrade;
    BYTE byIsGeneral;
    BYTE byJob;
    int     byLevel;
    DWORD dwOffer;
    BYTE byNameFlag;
} TGuildMemberPacketData;

tekrar arat

Kod:
void        ChangeMemberData(DWORD pid, DWORD offer, BYTE level, BYTE grade);

değiştir

Kod:
void        ChangeMemberData(DWORD pid, DWORD offer, int level, BYTE grade);

tekrar arat

Kod:
SGuildMember(DWORD pid, BYTE grade, BYTE is_general, BYTE job, BYTE level, DWORD offer_exp, char* name);

değiştir

Kod:
SGuildMember(DWORD pid, BYTE grade, BYTE is_general, BYTE job, int level, DWORD offer_exp, char* name);

tekrar arat

Kod:
    DWORD pid; // player Ĺ×ŔĚşíŔÇ id; primary key
    BYTE grade; // ±ćµĺ»óŔÇ ÇĂ·ąŔĚľîŔÇ °č±Ţ 1 to 15 (1ŔĚ ÂŻ)
    BYTE is_general;
    BYTE job;
    BYTE level;
    DWORD offer_exp; // °řÇĺÇŃ °ćÇčġ
    BYTE _dummy;

değiştir
Kod:
    DWORD pid; // player Ĺ×ŔĚşíŔÇ id; primary key
    BYTE grade; // ±ćµĺ»óŔÇ ÇĂ·ąŔĚľîŔÇ °č±Ţ 1 to 15 (1ŔĚ ÂŻ)
    BYTE is_general;
    BYTE job;
    int level;
    DWORD offer_exp; // °řÇĺÇŃ °ćÇčġ
    BYTE _dummy;

tekrar arat

Kod:
void        LevelChange(DWORD pid, BYTE level);

değiştir

Kod:
void        LevelChange(DWORD pid, int level);

guild.cpp aç ve arat

Kod:
BYTE level = (BYTE)strtoul(row[4], (char**) NULL, 10);

değiştir

Kod:
int level = (int)strtoul(row[4], (char**) NULL, 10);

tekrar arat

Kod:
sys_log(0, "GUILD: AddMember PID %u, grade %u, job %u, level %u, offer %u, name %s ptr %p",

değiştir

Kod:
sys_log(0, "GUILD: AddMember PID %u, grade %u, job %u, level %d, offer %u, name %s ptr %p",

tekrar arat

Kod:
void CGuild::ChangeMemberData(DWORD pid, DWORD offer, BYTE level, BYTE grade)

kod bloğunu komple değiştir

Kod:
void CGuild::ChangeMemberData(DWORD pid, DWORD offer, int level, BYTE grade)
{
    TGuildMemberContainer::iterator cit = m_member.find(pid);

    if (cit == m_member.end())
        return;

    cit->second.offer_exp = offer;
    cit->second.level = level;
    cit->second.grade = grade;
    cit->second._dummy = 0;

    TPacketGCGuild pack;
    TGuildMemberPacketData mbData;
    pack.header = HEADER_GC_GUILD;
    pack.subheader = GUILD_SUBHEADER_GC_LIST;
    pack.size = sizeof(TPacketGCGuild);
    pack.size += sizeof(TGuildMemberPacketData);

    for (TGuildMemberOnlineContainer::iterator it = m_memberOnline.begin(); it != m_memberOnline.end(); ++it)
    {
        LPDESC d = (*it)->GetDesc();
        if (d)
        {
            TEMP_BUFFER buf;

            buf.write(&pack, sizeof(pack));

            mbData.byNameFlag = 0;
            mbData.byGrade = cit->second.grade;
            mbData.byIsGeneral = cit->second.is_general;
            mbData.byJob = cit->second.job;
            mbData.byLevel = cit->second.level;
            mbData.dwOffer = cit->second.offer_exp;
            mbData.pid = cit->second.pid;
            buf.write(&mbData, sizeof(TGuildMemberPacketData));

            d->Packet(buf.read_peek(), buf.size());
        }
    }
}

tekrar arat

Kod:
void CGuild::LevelChange(DWORD pid, BYTE level)

kod bloğunu komple değiştir

Kod:
void CGuild::LevelChange(DWORD pid, int level)
{
    TGuildMemberContainer::iterator cit = m_member.find(pid);

    if (cit == m_member.end())
        return;

    cit->second.level = level;

    TPacketGuildChangeMemberData gd_guild;

    gd_guild.guild_id = GetID();
    gd_guild.pid = pid;
    gd_guild.offer = cit->second.offer_exp;
    gd_guild.grade = cit->second.grade;
    gd_guild.level = level;

    db_clientdesc->DBPacket(HEADER_GD_GUILD_CHANGE_MEMBER_DATA, 0, &gd_guild, sizeof(gd_guild));

    TPacketGCGuild pack;
    TGuildMemberPacketData mbData;
    pack.header = HEADER_GC_GUILD;
    pack.subheader = GUILD_SUBHEADER_GC_LIST;
    pack.size = sizeof(TPacketGCGuild);
    pack.size += sizeof(TGuildMemberPacketData);
    cit->second._dummy = 0;

    for (TGuildMemberOnlineContainer::iterator it = m_memberOnline.begin(); it != m_memberOnline.end(); ++it)
    {
        LPDESC d = (*it)->GetDesc();

        if (d)
        {
            TEMP_BUFFER buf;

            buf.write(&pack, sizeof(pack));

            mbData.byNameFlag = 0;
            mbData.byGrade = cit->second.grade;
            mbData.byIsGeneral = cit->second.is_general;
            mbData.byJob = cit->second.job;
            mbData.byLevel = cit->second.level;
            mbData.dwOffer = cit->second.offer_exp;
            mbData.pid = cit->second.pid;
            buf.write(&mbData, sizeof(TGuildMemberPacketData));

            d->Packet(buf.read_peek(), buf.size());
        }
    }
}

tekrar arat

Kod:
bool CGuild::OfferExp(LPCHARACTER ch, int amount)

kod bloğunu komple değiştir

Kod:
bool CGuild::OfferExp(LPCHARACTER ch, int amount)
{
    TGuildMemberContainer::iterator cit = m_member.find(ch->GetPlayerID());

    if (cit == m_member.end())
        return false;

    if (m_data.exp+amount < m_data.exp)
        return false;

    if (amount < 0)
        return false;

    if (ch->GetExp() < (DWORD) amount)
    {
        ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("<±ćµĺ> Á¦°řÇϰíŔÚ ÇĎ´Â °ćÇčġ°ˇ ł˛Ŕş °ćÇčġş¸´Ů ¸ą˝Ŕ´Ď´Ů."));
        return false;
    }

    if (ch->GetExp() - (DWORD) amount > ch->GetExp())
    {
        sys_err("Wrong guild offer amount %d by %s[%u]", amount, ch->GetName(), ch->GetPlayerID());
        return false;
    }

    ch->PointChange(POINT_EXP, -amount);

    TPacketGuildExpUpdate guild_exp;
    guild_exp.guild_id = GetID();
    guild_exp.amount = amount / 100;
    db_clientdesc->DBPacket(HEADER_GD_GUILD_EXP_UPDATE, 0, &guild_exp, sizeof(guild_exp));
    GuildPointChange(POINT_EXP, amount / 100, true);

    cit->second.offer_exp += amount / 100;
    cit->second._dummy = 0;

    TPacketGCGuild pack;
    TGuildMemberPacketData mbData;
    pack.header = HEADER_GC_GUILD;
    pack.subheader = GUILD_SUBHEADER_GC_LIST;
    pack.size = sizeof(TPacketGCGuild);
    pack.size += sizeof(TGuildMemberPacketData);

    for (TGuildMemberOnlineContainer::iterator it = m_memberOnline.begin(); it != m_memberOnline.end(); ++it)
    {
        LPDESC d = (*it)->GetDesc();
        if (d)
        {

            TEMP_BUFFER buf;

            buf.write(&pack, sizeof(pack));

            mbData.byNameFlag = 0;
            mbData.byGrade = cit->second.grade;
            mbData.byIsGeneral = cit->second.is_general;
            mbData.byJob = cit->second.job;
            mbData.byLevel = cit->second.level;
            mbData.dwOffer = cit->second.offer_exp;
            mbData.pid = cit->second.pid;
            buf.write(&mbData, sizeof(TGuildMemberPacketData));

            d->Packet(buf.read_peek(), buf.size());
        }
    }

    SaveMember(ch->GetPlayerID());

    TPacketGuildChangeMemberData gd_guild;

    gd_guild.guild_id = GetID();
    gd_guild.pid = ch->GetPlayerID();
    gd_guild.offer = cit->second.offer_exp;
    gd_guild.level = ch->GetLevel();
    gd_guild.grade = cit->second.grade;

    db_clientdesc->DBPacket(HEADER_GD_GUILD_CHANGE_MEMBER_DATA, 0, &gd_guild, sizeof(gd_guild));
    return true;
}

tekrar arat

Kod:
void CGuild::SendListPacket(LPCHARACTER ch)

kod bloğunu komple değiştir

Kod:
void CGuild::SendListPacket(LPCHARACTER ch)
{
    /*
       List Packet

       Header
       Count (byte)
       [
       ...
       name_flag 1 - Ŕ̸§Ŕ» ş¸ł»´ŔłÄ ľČş¸ł»´ŔłÄ
       name CHARACTER_NAME_MAX_LEN+1
       ] * Count

     */
    LPDESC d;
    if (!(d=ch->GetDesc()))
        return;

    TPacketGCGuild pack;
    pack.header = HEADER_GC_GUILD;
    pack.size = sizeof(TPacketGCGuild);
    pack.subheader = GUILD_SUBHEADER_GC_LIST;

    pack.size += sizeof(TGuildMemberPacketData) * m_member.size();
    pack.size += (CHARACTER_NAME_MAX_LEN + 1) * m_member.size();

    TEMP_BUFFER buf;

    TGuildMemberPacketData mbData;

    buf.write(&pack,sizeof(pack));

    char c[CHARACTER_NAME_MAX_LEN+1];

    for (TGuildMemberContainer::iterator it = m_member.begin(); it != m_member.end(); ++it)
    {
        it->second._dummy = 1;

        mbData.byNameFlag = 1;
        mbData.byGrade = it->second.grade;
        mbData.byIsGeneral = it->second.is_general;
        mbData.byJob = it->second.job;
        mbData.byLevel = it->second.level;
        mbData.dwOffer = it->second.offer_exp;
        mbData.pid = it->second.pid;

        buf.write(&mbData, sizeof(TGuildMemberPacketData));

        strlcpy(c, it->second.name.c_str(), MIN(sizeof(c), it->second.name.length() + 1));

        buf.write(c, CHARACTER_NAME_MAX_LEN+1 );

        if ( test_server )
            sys_log(0 ,"name %s job %d  ", it->second.name.c_str(), it->second.job );
    }

    d->Packet(buf.read_peek(), buf.size());

    for (TGuildMemberOnlineContainer::iterator it = m_memberOnline.begin(); it != m_memberOnline.end(); ++it)
    {
        SendLoginPacket(ch, *it);
    }

    for (TGuildMemberP2POnlineContainer::iterator it = m_memberP2POnline.begin(); it != m_memberP2POnline.end(); ++it)
    {
        SendLoginPacket(ch, *it);
    }

}

tekrar arat

Kod:
void CGuild::SendListOneToAll(DWORD pid)

kod bloğunu komple değiştir

Kod:
void CGuild::SendListOneToAll(DWORD pid)
{

    TPacketGCGuild pack;
    pack.header = HEADER_GC_GUILD;
    pack.size = sizeof(TPacketGCGuild);
    pack.subheader = GUILD_SUBHEADER_GC_LIST;

    pack.size += sizeof(TGuildMemberPacketData);

    TGuildMemberPacketData mbData;

    char c[CHARACTER_NAME_MAX_LEN+1];
    memset(c, 0, sizeof(c));

    TGuildMemberContainer::iterator cit = m_member.find(pid);
    if (cit == m_member.end())
        return;

    for (TGuildMemberOnlineContainer::iterator it = m_memberOnline.begin(); it!= m_memberOnline.end(); ++it)
    {
        LPDESC d = (*it)->GetDesc();
        if (!d)
            continue;

        TEMP_BUFFER buf;

        buf.write(&pack, sizeof(pack));

        cit->second._dummy = 1;

        mbData.byNameFlag = 1;
        mbData.byGrade = cit->second.grade;
        mbData.byIsGeneral = cit->second.is_general;
        mbData.byJob = cit->second.job;
        mbData.byLevel = cit->second.level;
        mbData.dwOffer = cit->second.offer_exp;
        mbData.pid = cit->second.pid;
        //buf.write(&(cit->second), sizeof(DWORD) * 3 +1);
        buf.write(&mbData, sizeof(TGuildMemberPacketData));
        buf.write(cit->second.name.c_str(), cit->second.name.length());
        buf.write(c, CHARACTER_NAME_MAX_LEN + 1 - cit->second.name.length());
        d->Packet(buf.read_peek(), buf.size());
    }
}

tekrar arat

Kod:
SGuildMember::SGuildMember(DWORD pid, BYTE grade, BYTE is_general, BYTE job, BYTE level, DWORD offer_exp, char* name)

değiştir

Kod:
SGuildMember::SGuildMember(DWORD pid, BYTE grade, BYTE is_general, BYTE job, int level, DWORD offer_exp, char* name)

Commona geçelim

tables.h aç ve arat


Kod:
BYTE        byLevel;

değiştir

Kod:
int        byLevel;

tekrar arat

Kod:
BYTE    level;

değiştir

Kod:
int    level;

tekrar arat

Kod:
BYTE level;

değiştir

Kod:
int level;

tekrar arat typedef struct SPacketPartySetMemberLevel altında

Kod:
BYTE    bLevel;

değiştir

Kod:
int    bLevel;

tekrar arat

Kod:
BYTE    bLevel;

değiştir typedef struct SPacketDGGuildMember altında

Kod:
int    bLevel;

lenght.h aç ve arat kaç level yaptıysan düzenle

Kod:
    PLAYER_EXP_TABLE_MAX    = 120,
    PLAYER_MAX_LEVEL_CONST    = 120,

db/src geçelim

clientmanager.h aç ve arat

Kod:
    struct TPartyInfo
    {
        BYTE bRole;
        BYTE bLevel;

değiştir
Kod:
    struct TPartyInfo
    {
        BYTE bRole;
        int bLevel;

clientmanager.cpp aç ve arat

Kod:
pkPeer->Encode(&it_member->second.bLevel, sizeof(BYTE));

değiştir

Kod:
pkPeer->Encode(&it_member->second.bLevel, sizeof(int));

clientmanagerplayer.cpp aç ve arat

Kod:
"PLAYER_DELETE FAILED LEVEL %u >= DELETE LIMIT %d"

değiştir

Kod:
"PLAYER_DELETE FAILED LEVEL %d >= DELETE LIMIT %d"

tekrar arat

Kod:
"PLAYER_DELETE FAILED LEVEL %u >= DELETE LIMIT %d"

değiştir

Kod:
"PLAYER_DELETE FAILED LEVEL %d >= DELETE LIMIT %d"


şimdi sıra clientte

packet.h aç ve arat

Kod:
BYTE                byLevel;

değiştir

Kod:
int                byLevel;

tekrar arat

Kod:
BYTE byLevel;

değiştir

Kod:
int byLevel;

Pythonguild.h aç ve arat

Kod:
BYTE byLevel;

değiştir

Kod:
int byLevel;




Bütün Anlatımı Tek Tek Elimde Ekledim.
Sorunsuz kendi tarafımca kullanılmaktadır.

Hayırlı Forumlar.




nQ0305.png


Fakir Savar Kanıt @UmuTsuZinsaN

PdMRjq.png



 

Ekli dosyalar

  • 0528_131949.jpg
    0528_131949.jpg
    272.8 KB · Görüntüleme: 0
Hocam paylaşımınız için teşekkür ederim ufak bir sorum olacak Navicattan Level stünunu int yapmak gerekir mi ?
 

Şu an konuyu görüntüleyenler (Toplam : 1, Üye: 0, Misafir: 1)

Geri
Üst