55-120ler için Çakma Yohara Level Gösterimi

Tengrist

Yardımsever Üye
Yardımsever Üye
MT Üye
Mesaj
1.305
Çözümler
41
Beğeni
1.085
Puan
1.309
Ticaret Puanı
0
Evet arkadaşlar bir süredir düşünüyordum şöyle bir çözüm buldum src'den level sınırını 240 yaparsanız yohara 120 levelmış gibi gözükür, 150 yaparsanız sınırı yohara 30 levelmış gibi gözükür:
C++:
Genişlet Daralt Kopyala
// Client/UserInterface/InstanceBaseEffect.cpp içinde şu komutu aratın;
// CInstanceBase::UpdateTextTailLevel(DWORD level) ve değiştirin:
void CInstanceBase::UpdateTextTailLevel(DWORD level)
{
    D3DXCOLOR s_kLevelColor;
    char szText[256];
    if (level > 120) {
        int adjustedLevel = level - 120;
        s_kLevelColor = D3DXCOLOR(135.0f/255.0f, 206.0f/255.0f, 235.0f/255.0f, 1.0f);
        sprintf(szText, "Lv +%d", adjustedLevel);
    } else {
        s_kLevelColor = D3DXCOLOR(152.0f/255.0f, 255.0f/255.0f, 51.0f/255.0f, 1.0f);
        sprintf(szText, "Lv %d", level);
    }
    CPythonTextTail::Instance().AttachLevel(GetVirtualID(), szText, s_kLevelColor);
}

mantıken yazdım deneyen birisi kanıt atarsa ya da başka sorun yazsın yardımcı olurum elimden geldiğince.
 
En son bir moderatör tarafından düzenlenmiş:
Karakter penceresi ve karakter seçme ekranında da görüntüsel değişikliği yapılırsa kısaca çakma yohara leveli eklenmiş olur
charahcterwindow da nasıl bu şekilde gösterebiliriz?
 

Dosya Eklentileri

  • asd.webp
    asd.webp
    44,5 KB · Gösterim: 341
Son düzenleme:
Levelı orada gösteren fonksiyonu atarsa biri düzenlerim kolay
 
Level_Value:
Genişlet Daralt Kopyala
        try:
            self.GetChild("Level_Value").SetText(str(player.GetStatus(player.LEVEL)))
            self.GetChild("Exp_Value").SetText(str(unsigned32(player.GetEXP())))
            self.GetChild("RestExp_Value").SetText(str(unsigned32(player.GetStatus(player.NEXT_EXP)) - unsigned32(player.GetStatus(player.EXP))))
            self.GetChild("HP_Value").SetText(str(player.GetStatus(player.HP)) + '/' + str(player.GetStatus(player.MAX_HP)))
            self.GetChild("SP_Value").SetText(str(player.GetStatus(player.SP)) + '/' + str(player.GetStatus(player.MAX_SP)))

            self.GetChild("STR_Value").SetText(str(player.GetStatus(player.ST)))
            self.GetChild("DEX_Value").SetText(str(player.GetStatus(player.DX)))
            self.GetChild("HTH_Value").SetText(str(player.GetStatus(player.HT)))
            self.GetChild("INT_Value").SetText(str(player.GetStatus(player.IQ)))

            self.GetChild("ATT_Value").SetText(self.__GetTotalAtkText())
            self.GetChild("DEF_Value").SetText(self.__GetTotalDefText())

            self.GetChild("MATT_Value").SetText(self.__GetTotalMagAtkText())
            #self.GetChild("MATT_Value").SetText(str(player.GetStatus(player.MAG_ATT)))

            self.GetChild("MDEF_Value").SetText(str(player.GetStatus(player.MAG_DEF)))
            self.GetChild("ASPD_Value").SetText(str(player.GetStatus(player.ATT_SPEED)))
            self.GetChild("MSPD_Value").SetText(str(player.GetStatus(player.MOVING_SPEED)))
            self.GetChild("CSPD_Value").SetText(str(player.GetStatus(player.CASTING_SPEED)))
            self.GetChild("ER_Value").SetText(str(player.GetStatus(player.EVADE_RATE)))

        except:
            #import exception
            #exception.Abort("CharacterWindow.RefreshStatus.BindObject")
            pass

bu kısımda yazıyor Level_Value ama bir türlü ayarlayamadım
 
Yarın bakayım buna hocam 120 levelı geçince 120 şeklinde yazacak anladığım kadarıyla o şekilde yazacak bir şeyler eklerim
 
125lv yaptığımızda karakterin üstünde lv5 olarak yazıyor ya (adjustedLevel = level - 120) bu mantıkla karakter penceresinde de 5 yazılabilir
 
try: level = player.GetStatus(player.LEVEL) if level > 120: level = 120 self.GetChild("Level_Value").SetText(str(level)) self.GetChild("Exp_Value").SetText(str(unsigned32(player.GetEXP()))) self.GetChild("RestExp_Value").SetText(str(unsigned32(player.GetStatus(player.NEXT_EXP)) - unsigned32(player.GetStatus(player.EXP)))) self.GetChild("HP_Value").SetText(str(player.GetStatus(player.HP)) + '/' + str(player.GetStatus(player.MAX_HP))) self.GetChild("SP_Value").SetText(str(player.GetStatus(player.SP)) + '/' + str(player.GetStatus(player.MAX_SP))) self.GetChild("STR_Value").SetText(str(player.GetStatus(player.ST))) self.GetChild("DEX_Value").SetText(str(player.GetStatus(player.DX))) self.GetChild("HTH_Value").SetText(str(player.GetStatus(player.HT))) self.GetChild("INT_Value").SetText(str(player.GetStatus(player.IQ))) self.GetChild("ATT_Value").SetText(self.__GetTotalAtkText()) self.GetChild("DEF_Value").SetText(self.__GetTotalDefText()) self.GetChild("MATT_Value").SetText(self.__GetTotalMagAtkText()) #self.GetChild("MATT_Value").SetText(str(player.GetStatus(player.MAG_ATT))) self.GetChild("MDEF_Value").SetText(str(player.GetStatus(player.MAG_DEF))) self.GetChild("ASPD_Value").SetText(str(player.GetStatus(player.ATT_SPEED))) self.GetChild("MSPD_Value").SetText(str(player.GetStatus(player.MOVING_SPEED))) self.GetChild("CSPD_Value").SetText(str(player.GetStatus(player.CASTING_SPEED))) self.GetChild("ER_Value").SetText(str(player.GetStatus(player.EVADE_RATE))) except: # import exception # exception.Abort("CharacterWindow.RefreshStatus.BindObject") pass

Bu şekilde dener misiniz 120 leveldan yüksek olduğunda
https://www.mmotutkunlari.com/eklentiler/asd-png.11945/
resimdeki gibi 120 göstereceğiniz düşünüyorum. tab ayarını düzenleyin
 
Uyarı: Bu konu açıldığından bu yana baya zaman geçmiş.
Muhtemelen daha fazla tartışma gerekli değildir ki bu durumda yeni bir konu başlatmayı öneririz. Eğer yine de cevabınızın gerekli olduğunu düşünüyorsanız buna rağmen cevap verebilirsiniz.
Geri
Üst