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

Tengrist

MT Üye
MT Üye
Mesaj
374
Çözümler
11
Beğeni
273
Puan
809
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++:
// 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: 233
Son düzenleme:
Levelı orada gösteren fonksiyonu atarsa biri düzenlerim kolay
 
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