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

Tengrist

MT Üye
MT Üye
Mesaj
329
Çözümler
10
Beğeni
230
Puan
759
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++:
// 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.png
    asd.png
    648,3 KB · Gösterim: 214
Son düzenleme:
Level_Value:
        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
 
Geri
Üst