Çözüldü Kod kaldırma hk.

Bu konu çözüme ulaştırılmıştır. Çözüm için konuya yazılan tüm yorumları okumayı unutmayın. Eğer konudaki yorumlar sorununuzu çözmediyse yeni bir konu açabilirsiniz.
Durum
İçerik kilitlendiği için mesaj gönderimine kapatıldı.

MEKA

Discord: mekaprojects
Site yetkilisi
Süper Moderatör
Premium Üye
Grafiker
Geliştirici
Yardımsever Üye
Mesaj
2.793
Çözümler
287
Beğeni
2.053
Puan
1.850
Ticaret Puanı
2
Bu kod bloğundan CHEONMA'yı kaldırmak istiyorum fakat bir yerde takıldım tam olarak nasıl kaldırmam gerek?

2, 17 kapatılıp 21inde && USE_SKILL_PROTO kaldırılması gerektiğini düşünüyorum fakat emin olamadım.

2,17 ve 21. Satırlar.

C++:
        // OVERWRITE_SKILLPROTO_POLY
        bool USE_SKILL_PROTO = LocaleService_IsCHEONMA() ? false : true;

        switch (iVnum)
        {
            case 34:

            // GUILD_SKILL_DISPLAY_BUG_FIX
            case 151:
            case 152:
            case 153:
            case 154:
            case 155:
            case 156:
            case 157:
            // END_OF_GUILD_SKILL_DISPLAY_BUG_FIX
                USE_SKILL_PROTO = false;
                break;
        }
      
        if (!rSkillData.AffectDataVector.empty() && USE_SKILL_PROTO)
        { 
            TAffectData& affect = rSkillData.AffectDataVector[0];

            if (strstr(c_strPointPoly.c_str(), "atk")        != NULL    ||
                strstr(c_strPointPoly.c_str(), "mwep")        != NULL ||
                strstr(c_strPointPoly.c_str(), "number")    != NULL)
            {
                src_poly_rand = "";
                src_poly_atk = "";
                src_poly_mwep = "";

                // MIN
                string_replace_word(c_strPointPoly.c_str(), c_strPointPoly.length(),
                    "number", 6, "min", 3, src_poly_rand);             
                string_replace_word(src_poly_rand.c_str(), src_poly_rand.length(),
                    "atk", 3, "minatk", 6, src_poly_atk);
                string_replace_word(src_poly_atk.c_str(), src_poly_atk.length(),
                    "mwep", 4, "minmwep", 7, affect.strAffectMinFormula);
                // END_OF_MIN

                // MAX
                string_replace_word(c_strPointPoly.c_str(), c_strPointPoly.length(),
                    "number", 6, "max", 3, src_poly_rand);             
                string_replace_word(src_poly_rand.c_str(), src_poly_rand.length(),
                    "atk", 3, "maxatk", 6, src_poly_atk);
                string_replace_word(src_poly_atk.c_str(), src_poly_atk.length(),
                    "mwep", 4, "maxmwep", 7, affect.strAffectMaxFormula);
                // END_OF_MAX
                              
                switch (iVnum)
                {
                    case 1: // 삼연참
                        affect.strAffectMinFormula += "* 3";
                        affect.strAffectMaxFormula += "* 3";
                        break;                 
                }
              
            }
            else
            {
                affect.strAffectMinFormula = c_strPointPoly;
                affect.strAffectMaxFormula = "";
            }                 
        }     
        // END_OF_OVERWRITE_SKILLPROTO_POLY
 
Son düzenleme:
2. satırı şu şekilde değiştirebilirsiniz. Diğerlerine müdahale etmenize gerek yok.
C++:
  bool USE_SKILL_PROTO = true
 
Çözüm
2. satırı şu şekilde değiştirebilirsiniz. Diğerlerine müdahale etmenize gerek yok.
C++:
  bool USE_SKILL_PROTO = true
LocaleService_IsCHEONMA buraya müdahele etmem gerekiyor ama :D bunu burdan silmek amacım o yüzden tam olarak nasıl bir düzenleme yapmam lazım.
 
Server files LocaleService_IsCHEONMA modunda ise o değer false alıyor. Türkçe files geliştirdiğinizi düşünerek dediğim şekilde düzenlemeniz yeterli olacaktır.
 
Server files LocaleService_IsCHEONMA modunda ise o değer false alıyor. Türkçe files geliştirdiğinizi düşünerek dediğim şekilde düzenlemeniz yeterli olacaktır.
Ben anlatamadım sanırım :D Şimdi ben o tanımı kaldırdığım için otomatik IsCHEONMA arıyor o yüzden 'LocaleService_IsCHEONMA': tanımlayıcı bulunamadı hatasını veriyor benim oradan direk CHEONMA iptal etmem lazım :D
 
Ben anlatamadım sanırım :D Şimdi ben o tanımı kaldırdığım için otomatik IsCHEONMA arıyor o yüzden 'LocaleService_IsCHEONMA': tanımlayıcı bulunamadı hatasını veriyor benim oradan direk CHEONMA iptal etmem lazım :D
locale.py:
def LoadLocaleData():
    if IsYMIR():
        import net
        CHEONMA = "õ¸¶ ¼¹ö"
        if CHEONMA == net.GetServerInfo()[:len(CHEONMA)]:
            app.SetCHEONMA(1)
            app.LoadLocaleData("locale/ymir")
            constInfo.ADD_DEF_BONUS_ENABLE = 1
        else:
            app.SetCHEONMA(0)
            app.LoadLocaleData("locale/korea")
            constInfo.ADD_DEF_BONUS_ENABLE = 0
    else:
        app.LoadLocaleData(app.GetLocalePath())

def IsCHEONMA():
    if IsYMIR():
        return app.IsCHEONMA()
    else:
        return 0
 
locale.py:
def LoadLocaleData():
    if IsYMIR():
        import net
        CHEONMA = "õ¸¶ ¼¹ö"
        if CHEONMA == net.GetServerInfo()[:len(CHEONMA)]:
            app.SetCHEONMA(1)
            app.LoadLocaleData("locale/ymir")
            constInfo.ADD_DEF_BONUS_ENABLE = 1
        else:
            app.SetCHEONMA(0)
            app.LoadLocaleData("locale/korea")
            constInfo.ADD_DEF_BONUS_ENABLE = 0
    else:
        app.LoadLocaleData(app.GetLocalePath())

def IsCHEONMA():
    if IsYMIR():
        return app.IsCHEONMA()
    else:
        return 0
Ortalığı niye karıştırıyon :D amacım eklemek değil bilerek kaldırdım zaten :D
 
Ortalığı niye karıştırıyon :D amacım eklemek değil bilerek kaldırdım zaten :D

O zaman dediğin şekilde yapmalısın. Başka bir yolu olduğunu düşünmüyorum. Yalnız bunu neden kaldırmak istediğini pek anlamadım.

Kod:
ADD_DEF_BONUS_ENABLE

Bundan dolayı mı kaldırmak istiyorsun?
 
Son düzenleme:
O zaman dediğin şekilde yapmalısın. Başka bir yolu olduğunu düşünmüyorum. Yalnız bunu neden kaldırmak istediğini pek anlamadım.

Kod:
ADD_DEF_BONUS_ENABLE

Bundan dolayı mı kaldırmak istiyorsun?
Single language server files hazırlıyorum o yüzden gereksiz kod bunlar benim için Alt yapı fileste bunlara ihtiyaç olduğunu düşünmüyorum yeni başlayanların hep kafasını karıştırıyor fazla kodlar böylelikle işler kolaylaşacak ve korece yazım hataları olmayacak
 
Single language server files hazırlıyorum o yüzden gereksiz kod bunlar benim için Alt yapı fileste bunlara ihtiyaç olduğunu düşünmüyorum yeni başlayanların hep kafasını karıştırıyor fazla kodlar böylelikle işler kolaylaşacak ve korece yazım hataları olmayacak


Dediğin şekilde yapıp, en azından yorum satırına alıp istediğin gibi olup olmadığına bakmalısın.


C++:
        // OVERWRITE_SKILLPROTO_POLY
        #bool USE_SKILL_PROTO = LocaleService_IsCHEONMA() ? false : true;

        switch (iVnum)
        {
            case 34:

            // GUILD_SKILL_DISPLAY_BUG_FIX
            case 151:
            case 152:
            case 153:
            case 154:
            case 155:
            case 156:
            case 157:
            // END_OF_GUILD_SKILL_DISPLAY_BUG_FIX
                #USE_SKILL_PROTO = false;
                break;
        }
    
        #if (!rSkillData.AffectDataVector.empty() && USE_SKILL_PROTO)
        if (!rSkillData.AffectDataVector.empty())
        {
            TAffectData& affect = rSkillData.AffectDataVector[0];

            if (strstr(c_strPointPoly.c_str(), "atk")        != NULL    ||
                strstr(c_strPointPoly.c_str(), "mwep")        != NULL ||
                strstr(c_strPointPoly.c_str(), "number")    != NULL)
            {
                src_poly_rand = "";
                src_poly_atk = "";
                src_poly_mwep = "";

                // MIN
                string_replace_word(c_strPointPoly.c_str(), c_strPointPoly.length(),
                    "number", 6, "min", 3, src_poly_rand);           
                string_replace_word(src_poly_rand.c_str(), src_poly_rand.length(),
                    "atk", 3, "minatk", 6, src_poly_atk);
                string_replace_word(src_poly_atk.c_str(), src_poly_atk.length(),
                    "mwep", 4, "minmwep", 7, affect.strAffectMinFormula);
                // END_OF_MIN

                // MAX
                string_replace_word(c_strPointPoly.c_str(), c_strPointPoly.length(),
                    "number", 6, "max", 3, src_poly_rand);           
                string_replace_word(src_poly_rand.c_str(), src_poly_rand.length(),
                    "atk", 3, "maxatk", 6, src_poly_atk);
                string_replace_word(src_poly_atk.c_str(), src_poly_atk.length(),
                    "mwep", 4, "maxmwep", 7, affect.strAffectMaxFormula);
                // END_OF_MAX
                            
                switch (iVnum)
                {
                    case 1: // 삼연참
                        affect.strAffectMinFormula += "* 3";
                        affect.strAffectMaxFormula += "* 3";
                        break;               
                }
            
            }
            else
            {
                affect.strAffectMinFormula = c_strPointPoly;
                affect.strAffectMaxFormula = "";
            }               
        }   
        // END_OF_OVERWRITE_SKILLPROTO_POLY


locale.py:
/* def LoadLocaleData():
    if IsYMIR():
        import net
        CHEONMA = "õ¸¶ ¼¹ö"
        if CHEONMA == net.GetServerInfo()[:len(CHEONMA)]:
            app.SetCHEONMA(1)
            app.LoadLocaleData("locale/ymir")
            constInfo.ADD_DEF_BONUS_ENABLE = 1
        else:
            app.SetCHEONMA(0)
            app.LoadLocaleData("locale/korea")
            constInfo.ADD_DEF_BONUS_ENABLE = 0
    else:
        app.LoadLocaleData(app.GetLocalePath())

def IsCHEONMA():
    if IsYMIR():
        return app.IsCHEONMA()
    else:
        return 0 */
 
Dediğin şekilde yapıp, en azından yorum satırına alıp istediğin gibi olup olmadığına bakmalısın.


Kod:
        // OVERWRITE_SKILLPROTO_POLY
        #bool USE_SKILL_PROTO = LocaleService_IsCHEONMA() ? false : true;

        switch (iVnum)
        {
            case 34:

            // GUILD_SKILL_DISPLAY_BUG_FIX
            case 151:
            case 152:
            case 153:
            case 154:
            case 155:
            case 156:
            case 157:
            // END_OF_GUILD_SKILL_DISPLAY_BUG_FIX
                #USE_SKILL_PROTO = false;
                break;
        }
    
        #if (!rSkillData.AffectDataVector.empty() && USE_SKILL_PROTO)
        if (!rSkillData.AffectDataVector.empty())
        {
            TAffectData& affect = rSkillData.AffectDataVector[0];

            if (strstr(c_strPointPoly.c_str(), "atk")        != NULL    ||
                strstr(c_strPointPoly.c_str(), "mwep")        != NULL ||
                strstr(c_strPointPoly.c_str(), "number")    != NULL)
            {
                src_poly_rand = "";
                src_poly_atk = "";
                src_poly_mwep = "";

                // MIN
                string_replace_word(c_strPointPoly.c_str(), c_strPointPoly.length(),
                    "number", 6, "min", 3, src_poly_rand);           
                string_replace_word(src_poly_rand.c_str(), src_poly_rand.length(),
                    "atk", 3, "minatk", 6, src_poly_atk);
                string_replace_word(src_poly_atk.c_str(), src_poly_atk.length(),
                    "mwep", 4, "minmwep", 7, affect.strAffectMinFormula);
                // END_OF_MIN

                // MAX
                string_replace_word(c_strPointPoly.c_str(), c_strPointPoly.length(),
                    "number", 6, "max", 3, src_poly_rand);           
                string_replace_word(src_poly_rand.c_str(), src_poly_rand.length(),
                    "atk", 3, "maxatk", 6, src_poly_atk);
                string_replace_word(src_poly_atk.c_str(), src_poly_atk.length(),
                    "mwep", 4, "maxmwep", 7, affect.strAffectMaxFormula);
                // END_OF_MAX
                            
                switch (iVnum)
                {
                    case 1: // 삼연참
                        affect.strAffectMinFormula += "* 3";
                        affect.strAffectMaxFormula += "* 3";
                        break;               
                }
            
            }
            else
            {
                affect.strAffectMinFormula = c_strPointPoly;
                affect.strAffectMaxFormula = "";
            }               
        }   
        // END_OF_OVERWRITE_SKILLPROTO_POLY
Dediğim şekilde oluyor zaten fakat bilen biri onay verirse daha iyi olacak ileride bir problem çıkarmaması lazım o yüzden konu açtım. Pack tarafından tüm dilleri kaldırdım pack kodunu eklemene gerek yok. Server tarafınıda yavaş yavaş kaldırıyorum bir kaç dil kaldı clientte sadece burası kaldı
 
Umarım açıklayıcı olmuştur.

Edit: SERVER = "쾌도 서버" olarak tanımlanmadığı sürece kodlar işlevsiz.

Python:
# SUPPORT_NEW_KOREA_SERVER
def LoadLocaleData():
    if IsYMIR():
        import net
        SERVER = "쾌도 서버" // Server = Keyfi/Zevk Sunucusu
        if SERVER == net.GetServerInfo()[:len(SERVER)]: // Eğer serverinfo, keyfi/zevk sunucu ile eşitse CHEONMA (Bu konuda açık) sunucuya geç.
            app.SetCHEONMA(0)
            app.LoadLocaleData("locale/we_korea")
            constInfo.ADD_DEF_BONUS_ENABLE = 0
        else: // Eğer serverinfo, keyfi/zevk sunucu değilse CHEONMA (Bu konuda açık) sunucusuna geçme.
            app.SetCHEONMA(1)
            app.LoadLocaleData("locale/ymir")
            constInfo.ADD_DEF_BONUS_ENABLE = 1
    else:
        app.LoadLocaleData(app.GetLocalePath())

def IsCHEONMA():
    return IsYMIR()        # 이제 YMIR 로케일은 무조건 천마서버임. // YMIR yerel ayarı artık Cheonma sunucusudur.

# END_OF_SUPPORT_NEW_KOREA_SERVER

-- Edit 2 --

Etki ettiği yerler;

constinfo.py:
ADD_DEF_BONUS_ENABLE = 0
constinfo.py:
ADD_DEF_BONUS_ENABLE = 1
uicharacter.py:
    def __GetTotalDefText(self):
        defValue=player.GetStatus(player.DEF_GRADE)
        if constInfo.ADD_DEF_BONUS_ENABLE:
            defValue+=player.GetStatus(player.DEF_BONUS)
        return "%d" % (defValue)

locale.cpp:
unsigned LocaleService_GetLastExp(int level)
{
    static const int GUILD_LEVEL_MAX = 20;

    if (LocaleService_IsCHEONMA())
    {
        static DWORD CHEONMA_GUILDEXP_LIST[GUILD_LEVEL_MAX+1] =
        {
            0,            // 0
            15000ul,    // 1
            45000ul,    // 2
            90000ul,    // 3
            160000ul,    // 4
            235000ul,    // 5
            325000ul,    // 6
            430000ul,    // 7
            550000ul,    // 8
            685000ul,    // 9
            835000ul,    // 10
            1000000ul,    // 11
            1500000ul,    // 12
            2100000ul,    // 13
            2800000ul,    // 14
            3600000ul,    // 15
            4500000ul,    // 16
            6500000ul,    // 17
            8000000ul,    // 18
            10000000ul,    // 19      
            42000000UL    // 20
        };
        if (level < 0 && level >= GUILD_LEVEL_MAX)
            return 0;
   
        return CHEONMA_GUILDEXP_LIST[level];
    }
 
    static DWORD INTERNATIONAL_GUILDEXP_LIST[GUILD_LEVEL_MAX+1] =
    {
        0,            // 0
        6000UL,        // 1
        18000UL,    // 2
        36000UL,    // 3
        64000UL,    // 4
        94000UL,    // 5
        130000UL,    // 6
        172000UL,    // 7
        220000UL,    // 8
        274000UL,    // 9
        334000UL,    // 10
        400000UL,    // 11
        600000UL,    // 12
        840000UL,    // 13
        1120000UL,    // 14
        1440000UL,    // 15
        1800000UL,    // 16
        2600000UL,    // 17
        3200000UL,    // 18
        4000000UL,    // 19  
        16800000UL    // 20  
    };

    if (level < 0 && level >= GUILD_LEVEL_MAX)
        return 0;
 
    return INTERNATIONAL_GUILDEXP_LIST[level];
}

int LocaleService_GetSkillPower(unsigned level)
{
    static const unsigned SKILL_POWER_NUM = 50;

    if (level >= SKILL_POWER_NUM)
        return 0;

    if (LocaleService_IsCHEONMA())
    {
        static unsigned CHEONMA_SKILL_POWERS[SKILL_POWER_NUM]=
        {
            0,
                5,  7,  9, 11, 13,
                15, 17, 19, 20, 22,
                24, 26, 28, 30, 32,
                34, 36, 38, 40, 50, // master
                52, 55, 58, 61, 63,
                66, 69, 72, 75, 80, // grand_master
                82, 84, 87, 90, 95,
                100,110,120,130,150,// perfect_master
                150,
        };
        return CHEONMA_SKILL_POWERS[level];  
    }
 
    // 0 5 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 50 52 54 56 58 60 63 66 69 72 82 85 88 91 94 98 102 106 110 115 125 125 125 125 125
    static unsigned INTERNATIONAL_SKILL_POWERS[SKILL_POWER_NUM]=
    {
        0,
            5,  6,  8, 10, 12,
            14, 16, 18, 20, 22,
            24, 26, 28, 30, 32,
            34, 36, 38, 40, 50, // master
            52, 54, 56, 58, 60,
            63, 66, 69, 72, 82, // grand_master
            85, 88, 91, 94, 98,
            102,106,110,115,125,// perfect_master
            125,
    };
    return INTERNATIONAL_SKILL_POWERS[level];
}

const char*    LocaleService_GetSecurityKey()
{
    return __SECURITY_KEY_STRING__.c_str();
}

// CHEONMA
void LocaleService_SetCHEONMA(bool isEnable)
{
    IS_CHEONMA = isEnable;
}

bool LocaleService_IsCHEONMA()
{
    return LocaleService_IsYMIR();
}

PythonPlayer.cpp:
DWORD CPythonPlayer::__GetTotalAtk(DWORD dwWeaponPower, DWORD dwRefineBonus)
{
    DWORD dwLvAtk=__GetLevelAtk();
    DWORD dwStAtk=__GetStatAtk();

    /////

    DWORD dwWepAtk;
    DWORD dwTotalAtk;

    if (LocaleService_IsCHEONMA())
    {
        dwWepAtk = __GetWeaponAtk(dwWeaponPower+dwRefineBonus);
        dwTotalAtk = dwLvAtk+(dwStAtk+dwWepAtk)*(GetStatus(POINT_DX)+210)/300;  
    }
    else
    {
        int hr = __GetHitRate();
        dwWepAtk = __GetWeaponAtk(dwWeaponPower+dwRefineBonus);
        dwTotalAtk = dwLvAtk+(dwStAtk+dwWepAtk)*hr/100;
    }

    return dwTotalAtk;
}

DWORD CPythonPlayer::__GetHitRate()
{
    int src = 0;

    if (LocaleService_IsCHEONMA())
    {
        src = GetStatus(POINT_DX);
    }
    else
    {
        src = (GetStatus(POINT_DX) * 4 + GetStatus(POINT_LEVEL) * 2)/6;
    }

    return 100*(min(90, src)+210)/300;
}
 
Son düzenleme:
LocaleService_IsCHEONMA buraya müdahele etmem gerekiyor ama :D bunu burdan silmek amacım o yüzden tam olarak nasıl bir düzenleme yapmam lazım.
Zaten verdiğiniz kodlardan yola çıkarak nasıl çözeceğinizi belirttim. Söylediğim değişiklikleri uygulayıp test ettiniz mi?
 
Zaten verdiğiniz kodlardan yola çıkarak nasıl çözeceğinizi belirttim. Söylediğim değişiklikleri uygulayıp test ettiniz mi?
Ben anlatamadım sanırım :D Şimdi ben o tanımı kaldırdığım için otomatik IsCHEONMA arıyor o yüzden 'LocaleService_IsCHEONMA': tanımlayıcı bulunamadı hatasını veriyor benim oradan direk CHEONMA iptal etmem lazım :D
Söylediğinizi denediğim için verdiği hatayı buraya yazmıştım. 'LocaleService_IsCHEONMA': tanımlayıcı bulunamadı
 
İlgili kod bloğunda yaptığınız düzenlemenin tamamını atabilir misiniz? Silinmiş olan bir şeyin hatasını veremez sonuçta
 
İlgili kod bloğunda yaptığınız düzenlemenin tamamını atabilir misiniz? Silinmiş olan bir şeyin hatasını veremez sonuçta
Konuda var olan kod şuan sadece tek cheonmanın bulunduğu kodu içeriyor diğer dosyalarda cheonma ile ilgili hiç bir kod bulunmadığı ve bu kod içerisinde cheonma bulunduğu için hata veriyor kısacası bu kod içinden cheonmayı arındırmak gerekiyor

Bulunmadığı dediğimde diğer dosyalardan full sildim sadece burada takıldım o yüzden burdan silmedim nasıl sileceğimi soruyorum.
 
Ben anlamadım neden bu konu saçma sapan bir şekilde uzadı. Zaten nasıl kaldırılacağını söylemişim. En iyisi komple düzenleyip paylaşayım.
Bakın sizin konuya eklediğiniz kodda sadece 2. satırda LocaleService_IsCHEONMA kullanılıyor. Onu silmek için kısa if kullanımını kaldırmak yeterli olacaktır. Paylaştığınız tüm kodu şöyle değiştirebilir misiniz? Değiştirdiğim yeri vurguladım.
C++:
        // OVERWRITE_SKILLPROTO_POLY
        bool USE_SKILL_PROTO = true;

        switch (iVnum)
        {
            case 34:

            // GUILD_SKILL_DISPLAY_BUG_FIX
            case 151:
            case 152:
            case 153:
            case 154:
            case 155:
            case 156:
            case 157:
            // END_OF_GUILD_SKILL_DISPLAY_BUG_FIX
                USE_SKILL_PROTO = false;
                break;
        }
     
        if (!rSkillData.AffectDataVector.empty() && USE_SKILL_PROTO)
        {
            TAffectData& affect = rSkillData.AffectDataVector[0];

            if (strstr(c_strPointPoly.c_str(), "atk")        != NULL    ||
                strstr(c_strPointPoly.c_str(), "mwep")        != NULL ||
                strstr(c_strPointPoly.c_str(), "number")    != NULL)
            {
                src_poly_rand = "";
                src_poly_atk = "";
                src_poly_mwep = "";

                // MIN
                string_replace_word(c_strPointPoly.c_str(), c_strPointPoly.length(),
                    "number", 6, "min", 3, src_poly_rand);            
                string_replace_word(src_poly_rand.c_str(), src_poly_rand.length(),
                    "atk", 3, "minatk", 6, src_poly_atk);
                string_replace_word(src_poly_atk.c_str(), src_poly_atk.length(),
                    "mwep", 4, "minmwep", 7, affect.strAffectMinFormula);
                // END_OF_MIN

                // MAX
                string_replace_word(c_strPointPoly.c_str(), c_strPointPoly.length(),
                    "number", 6, "max", 3, src_poly_rand);            
                string_replace_word(src_poly_rand.c_str(), src_poly_rand.length(),
                    "atk", 3, "maxatk", 6, src_poly_atk);
                string_replace_word(src_poly_atk.c_str(), src_poly_atk.length(),
                    "mwep", 4, "maxmwep", 7, affect.strAffectMaxFormula);
                // END_OF_MAX
                             
                switch (iVnum)
                {
                    case 1: // 삼연참
                        affect.strAffectMinFormula += "* 3";
                        affect.strAffectMaxFormula += "* 3";
                        break;                
                }
             
            }
            else
            {
                affect.strAffectMinFormula = c_strPointPoly;
                affect.strAffectMaxFormula = "";
            }                
        }    
        // END_OF_OVERWRITE_SKILLPROTO_POLY

Bakın burada artık öyle bir kod yok bu yüzden söz konusu hatayı vermesi imkansız. Önbellekleri temizleyip tekrardan derleme alabilirsiniz.
 
Ben anlamadım neden bu konu saçma sapan bir şekilde uzadı. Zaten nasıl kaldırılacağını söylemişim. En iyisi komple düzenleyip paylaşayım.
Bakın sizin konuya eklediğiniz kodda sadece 2. satırda LocaleService_IsCHEONMA kullanılıyor. Onu silmek için kısa if kullanımını kaldırmak yeterli olacaktır. Paylaştığınız tüm kodu şöyle değiştirebilir misiniz? Değiştirdiğim yeri vurguladım.
C++:
        // OVERWRITE_SKILLPROTO_POLY
        bool USE_SKILL_PROTO = true;

        switch (iVnum)
        {
            case 34:

            // GUILD_SKILL_DISPLAY_BUG_FIX
            case 151:
            case 152:
            case 153:
            case 154:
            case 155:
            case 156:
            case 157:
            // END_OF_GUILD_SKILL_DISPLAY_BUG_FIX
                USE_SKILL_PROTO = false;
                break;
        }
    
        if (!rSkillData.AffectDataVector.empty() && USE_SKILL_PROTO)
        {
            TAffectData& affect = rSkillData.AffectDataVector[0];

            if (strstr(c_strPointPoly.c_str(), "atk")        != NULL    ||
                strstr(c_strPointPoly.c_str(), "mwep")        != NULL ||
                strstr(c_strPointPoly.c_str(), "number")    != NULL)
            {
                src_poly_rand = "";
                src_poly_atk = "";
                src_poly_mwep = "";

                // MIN
                string_replace_word(c_strPointPoly.c_str(), c_strPointPoly.length(),
                    "number", 6, "min", 3, src_poly_rand);           
                string_replace_word(src_poly_rand.c_str(), src_poly_rand.length(),
                    "atk", 3, "minatk", 6, src_poly_atk);
                string_replace_word(src_poly_atk.c_str(), src_poly_atk.length(),
                    "mwep", 4, "minmwep", 7, affect.strAffectMinFormula);
                // END_OF_MIN

                // MAX
                string_replace_word(c_strPointPoly.c_str(), c_strPointPoly.length(),
                    "number", 6, "max", 3, src_poly_rand);           
                string_replace_word(src_poly_rand.c_str(), src_poly_rand.length(),
                    "atk", 3, "maxatk", 6, src_poly_atk);
                string_replace_word(src_poly_atk.c_str(), src_poly_atk.length(),
                    "mwep", 4, "maxmwep", 7, affect.strAffectMaxFormula);
                // END_OF_MAX
                            
                switch (iVnum)
                {
                    case 1: // 삼연참
                        affect.strAffectMinFormula += "* 3";
                        affect.strAffectMaxFormula += "* 3";
                        break;               
                }
            
            }
            else
            {
                affect.strAffectMinFormula = c_strPointPoly;
                affect.strAffectMaxFormula = "";
            }               
        }   
        // END_OF_OVERWRITE_SKILLPROTO_POLY

Bakın burada artık öyle bir kod yok bu yüzden söz konusu hatayı vermesi imkansız. Önbellekleri temizleyip tekrardan derleme alabilirsiniz.
Dediğiniz şekilde yapınca bu şekilde hata veriyor

Kod:
1>Locale.obj : error LNK2001: çözümlenmemiş dış sembol "char const * __cdecl LocaleService_GetName(void)" (?LocaleService_GetName@@YAPBDXZ)
1>PythonApplicationModule.obj : error LNK2001: çözümlenmemiş dış sembol "char const * __cdecl LocaleService_GetLocaleName(void)" (?LocaleService_GetLocaleName@@YAPBDXZ)
1>PythonApplicationModule.obj : error LNK2001: çözümlenmemiş dış sembol "char const * __cdecl LocaleService_GetLocalePath(void)" (?LocaleService_GetLocalePath@@YAPBDXZ)
1>PythonApplicationModule.obj : error LNK2001: çözümlenmemiş dış sembol "unsigned int __cdecl LocaleService_GetCodePage(void)" (?LocaleService_GetCodePage@@YAIXZ)
 
Sanırsam siz PythonSkill.cpp dosyasındaki kodu eklemişsiniz konuya. Bu dosya ile ilgili bi hata vermemiş.
Locale ve PythonApplicationModule dosyalarını kontrol edebilir misiniz? Bu hatalar başka bir şeyle alakalı olabilir belki.

locale.h dosyasından LocaleService_LoadConfig, LocaleService_GetLocaleName, LocaleService_GetCodePage kodlarını kaldırdınız mı?
 
Sanırsam siz PythonSkill.cpp dosyasındaki kodu eklemişsiniz konuya. Bu dosya ile ilgili bi hata vermemiş.
Locale ve PythonApplicationModule dosyalarını kontrol edebilir misiniz? Bu hatalar başka bir şeyle alakalı olabilir belki.

locale.h dosyasından LocaleService_LoadConfig, LocaleService_GetLocaleName, LocaleService_GetCodePage kodlarını kaldırdınız mı?
Hayır kaldırmadım kalırırsam locale.cfg dosyasının kodlarınıda kaldırmış olcaz fakat konudada yazdığım gibi yapınca bir hata vermiyor fakat bu dediğim çözüm yöntemi mantıklı mı emin olamadım.

Kod:
2, 17 kapatılıp 21inde && USE_SKILL_PROTO kaldırılması gerektiğini düşünüyorum fakat emin olamadım.
 
Durum
İçerik kilitlendiği için mesaj gönderimine kapatıldı.
Geri
Üst