Best Studio 1
Best Studio
BlackFullMoon 1
BlackFullMoon
NovaLst 1
NovaLst
SLyFeLLowTR 1
SLyFeLLowTR
xranzei 1
xranzei
InfernoShade 1
InfernoShade
shrpnl 1
shrpnl
D 1
delimuratt
noisiv 1
noisiv
Manwe Work 1
Manwe Work
kralhakan2009 1
kralhakan2009
Vahsi Uzman 1
Vahsi Uzman
Hikaye Ekle
Reklam vermek için turkmmo@gmail.com

Cevaplanmadı skill select sorun hk

  • Konuyu başlatan Konuyu başlatan XxZeMaHSeRxX
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 16
  • Görüntüleme Görüntüleme 538

XxZeMaHSeRxX

“.”
Telefon Numarası Onaylanmış Üye TC Kimlik Numarası Doğrulanmış Üye
Paylaşım
TM Üye
Katılım
2 Ara 2024
Konular
186
Mesajlar
1,981
Çözüm
8
Online süresi
5mo 13d
Reaksiyon Skoru
1,495
Altın Konu
1
Başarım Puanı
206
MmoLira
12,390
DevLira
36
Ticaret - 0%
0   0   0

ROHAN2 WORLD 1-120 TR TİPİ OFFICIAL YOHARA, BALATHOR VE AMON! 80. GÜNÜNDE! +10.000 ONLİNE! HİLE VE BOT %100 ENGELLİ HEMEN TIKLA!


bu sistemi ekledim

şaman mesela seçtm karakter atmadan skil P olmuyor illa karakter atcam.
birde binek yetenekleri açık değil onu nsl açtırrm

@Okan Çakın
 
uicharacter.py de
Ara

Kod:
def OnActivateSkill(self, slotIndex):
        skillGrade = player.GetSkillGrade(slotIndex)
        slotIndex = self.__GetRealSkillSlot(skillGrade, slotIndex)

        for slotWindow in self.skillPageDict.values():
            if slotWindow.HasSlot(slotIndex):
                slotWindow.ActivateSlot(slotIndex)
                return

Altına ekle

Kod:
self.RefreshSkill()

Ara

Kod:
def OnDeactivateSkill(self, slotIndex):
        skillGrade = player.GetSkillGrade(slotIndex)
        slotIndex = self.__GetRealSkillSlot(skillGrade, slotIndex)

        for slotWindow in self.skillPageDict.values():
            if slotWindow.HasSlot(slotIndex):
                slotWindow.DeactivateSlot(slotIndex)
                return

Altına ekle

Kod:
self.RefreshSkill()
 
Son düzenleme:
uicharacter.py de
Ara

Kod:
def OnActivateSkill(self, slotIndex):
        skillGrade = player.GetSkillGrade(slotIndex)
        slotIndex = self.__GetRealSkillSlot(skillGrade, slotIndex)

        for slotWindow in self.skillPageDict.values():
            if slotWindow.HasSlot(slotIndex):
                slotWindow.ActivateSlot(slotIndex)
                return

Altına ekle

Kod:
self.RefreshSkill()

Ara

Kod:
def OnDeactivateSkill(self, slotIndex):
        skillGrade = player.GetSkillGrade(slotIndex)
        slotIndex = self.__GetRealSkillSlot(skillGrade, slotIndex)

        for slotWindow in self.skillPageDict.values():
            if slotWindow.HasSlot(slotIndex):
                slotWindow.DeactivateSlot(slotIndex)
                return

Altına ekle

Kod:
self.RefreshSkill()
düzeldi teşekkür ederim.

şuan sadece şey kaldı

1738914613929.png


şu baştaki 3 at binek yeteneği açık değil

oda bu cppden yapılıyo bi bakarmsnz. ekledim dosya olarak aşağıya
 

Ekli dosyalar

düzeldi teşekkür ederim.

şuan sadece şey kaldı

Ekli dosyayı görüntüle 131767

şu baştaki 3 at binek yeteneği açık değil

oda bu cppden yapılıyo bi bakarmsnz. ekledim dosya olarak aşağıya
Kod:
void CHARACTER::SelectSkillGroup(uint8_t skill_group)
{
    if (GetDesc() == nullptr)
        return;

    if (GetSkillGroup() > 0)
    {
        ChatPacket(CHAT_TYPE_INFO, LC_TEXT("You can't learn a skill again."));
        return;
    }

    // Skill Group
    SetSkillGroup(skill_group);

    // Define Common Skills
    std::unordered_map<uint8_t, uint8_t> commonSkillLevels = {
        {SKILL_LEADERSHIP, SKILL_MAX_LEVEL},
        {SKILL_COMBO, 2},
        {SKILL_MINING, SKILL_MAX_LEVEL},
        {SKILL_POLYMORPH, SKILL_MAX_LEVEL},
        {SKILL_HORSE_SUMMON, 10}, // At çağırma skili max 10
        {SKILL_HORSE, HORSE_MAX_LEVEL}, // At sürme skili max seviye
    };

    // At skilleri (Her karaktere uygun şekilde dağıtılmış)
    std::unordered_map<uint8_t, uint8_t> horseSkillLevels = {
        {SKILL_HORSE_WILDATTACK, 40},
        {SKILL_HORSE_CHARGE, 40},
        {SKILL_HORSE_ESCAPE, 40},
    };

    // Set Job Skill
    SelectSkill_JobSkillIndex(skill_group);

    // Set Common Skill
    for (uint16_t i = 0; i < SKILL_MAX_NUM; ++i)
    {
        if (CanUseSkill(i))
        {
            if (commonSkillLevels.contains(i))
            {
                SetSkillLevel(i, commonSkillLevels.at(i));
            }
            else if (horseSkillLevels.contains(i))
            {
                SetSkillLevel(i, horseSkillLevels.at(i));
            }
        }
    }

    // Özel Assassin At Skili Ayarı
    if (GetJob() == EJobs::JOB_ASSASSIN)
    {
        SetSkillLevel(ESkillIndexes::SKILL_HORSE_WILDATTACK_RANGE, 20); // Assassinler için özel
    }

    // Dil skilleri (Empire sistemine göre ayarlanmış)
    switch (GetEmpire())
    {
        case EEmpire::SHINSOO_EMPIRE: // Empire 1 (Shinsoo)
            SetSkillLevel(SKILL_LANGUAGE2, 40);
            SetSkillLevel(SKILL_LANGUAGE3, 40);
            break;

        case EEmpire::CHUNJO_EMPIRE: // Empire 2 (Chunjo)
            SetSkillLevel(SKILL_LANGUAGE1, 40);
            SetSkillLevel(SKILL_LANGUAGE3, 40);
            break;

        case EEmpire::JINNO_EMPIRE: // Empire 3 (Jinno)
            SetSkillLevel(SKILL_LANGUAGE1, 40);
            SetSkillLevel(SKILL_LANGUAGE2, 40);
            break;

        default:
            break;
    }

    // At seviyesini maksimuma ayarla
    SetHorseLevel(HORSE_MAX_LEVEL);
    ComputePoints();
    SkillLevelPacket();
  
    commonSkillLevels.clear();
    horseSkillLevels.clear();
}
 
Son düzenleme:
Gereksiz kodlar kaldırıldı bunu tanımlıyıp entegre edip deneyiniz
 

Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)

Geri
Üst