Yardım Lonca Savaşı Hakkında

Konu sahibi bu konuda soru soruyor. Sorusu ile ilgili bilgisi olanların yanıtlamasını bekliyor.

DarkNight

Üye
Üye
Mesaj
98
Çözümler
8
Beğeni
24
Puan
429
Ticaret Puanı
0
Öncelikle herkese iyi forumlar diliyorum.
Üzerinde çalışmış olduğum filesimde lonca savaşları ile alakalı bir sürece geldim.
Bu süreçte bakmamı önerdiğiniz, kendi çalışmalarınızda hata aldığınız veya fixlenmesi gerektiğini düşündüğünüz hususlar nelerdir?
Bu bana rehber niteliğinde bir katkı sağlar ve ona göre testler ve düzenlemeler yapabilirim.​
 
Lonca exploit fixi:
Game-Db Source/Server/common/service.h

gir ve müsait bir yere ekle;

#define ENABLE_LONCA_YANG_FIX

Game-Db Source/Server/game/src/input_main.cpp

gir ve arat;

                const int gold = MIN(*reinterpret_cast<const int*>(c_pData), 500000);

değiştir;

#ifdef ENABLE_LONCA_YANG_FIX
                const int gold = *reinterpret_cast<const int*>(c_pData);
#else
                const int gold = MIN(*reinterpret_cast<const int*>(c_pData), 500000);
#endif

tekrar arat;

                pGuild->RequestWithdrawMoney(ch, gold);

üstüne ekle ve derle;

#ifdef ENABLE_LONCA_YANG_FIX
                if(ch->GetGold()+gold/**/ >= /**/ GOLD_MAX)
                {
                    ch->ChatPacket(CHAT_TYPE_INFO, "Yang miktarın maksimum seviyeye ulaşmış.");
                    return SubPacketLen;
                }
#endif
Lonca imparatorluk bugu fixi:
//Game-Db Source/Server/game/src/char_change_empire.cpp

//gir ve arat;

        if (msg->Get()->uiAffectedRows > 0)
        {
            SetChangeEmpireCount();
            SetEmpire(empire);
            return 999;
        }

//değiştir ve derle;

        if (msg->Get()->uiAffectedRows > 0)
        {
            SetChangeEmpireCount();
            SetEmpire(empire); // bug fix ds_aim
            UpdatePacket();  // bug fix ds_aim thanks .Alpha
            return 999;
        }
Benden bunlar çıkar gerisi sizde arkadaşlar :D
 
Son düzenleme:
Lonca savaşlarıyla alakalı toplu bir konu yok ve yapılan fixler ne mantıkla yapıldı paylaşılmıyor.
Deneyim sonuç aldığım fixleri ve işlevlerini konu altında paylaşacağım.
Sizlerde katkıda bulunursanız sevinirim.​
Lonca Savaşı Esnasında Lonca Silmek Fix:
questlua_pc.cpp'de arat ve değiştir.

#ifdef ENABLE_FIX_DESTROY_GUILD_IF_WAR_IS_ACTIVE
    int pc_destroy_guild(lua_State * L)
    {
        LPCHARACTER ch = CQuestManager::instance().GetCurrentCharacterPtr();
        CGuild * g = ch->GetGuild();

        if (g)
        {
            if(g->UnderAnyWar())
            {
                ch->ChatPacket(CHAT_TYPE_INFO, "Lonca savasi esnasinda loncayi dagitamazsiniz");
                return 0;
            }
            else
                g->RequestDisband(ch->GetPlayerID());
        }

        return 0;
    }

    int pc_remove_from_guild(lua_State* L)
    {
        LPCHARACTER ch = CQuestManager::instance().GetCurrentCharacterPtr();
        CGuild * g = ch->GetGuild();

        if (g)
        {
            if(g->UnderAnyWar())
            {
                ch->ChatPacket(CHAT_TYPE_INFO, "Lonca savasi esnasinda loncayi dagitamazsiniz");
                return 0;
            }
            else
                g->RequestRemoveMember(ch->GetPlayerID());
        }

        return 0;
    }
#else
    int pc_destroy_guild(lua_State * L)
    {
        LPCHARACTER ch = CQuestManager::instance().GetCurrentCharacterPtr();
        CGuild * g = ch->GetGuild();

        if (g)
            g->RequestDisband(ch->GetPlayerID());

        return 0;
    }

    int pc_remove_from_guild(lua_State* L)
    {
        LPCHARACTER ch = CQuestManager::instance().GetCurrentCharacterPtr();
        CGuild * g = ch->GetGuild();

        if (g)
            g->RequestRemoveMember(ch->GetPlayerID());

        return 0;
    }
#endif

Service.h:
#define ENABLE_FIX_DESTROY_GUILD_IF_WAR_IS_ACTIVE
 
Geri
Üst