5 levelde skill seçme

mhmtakfsrt

Üye
Üye
Mesaj
50
Çözümler
3
Beğeni
80
Puan
669
Ticaret Puanı
0
char.cpp:
            if (GetLevel() >= 5 && GetSkillGroup() == 0)
                ChatPacket(CHAT_TYPE_COMMAND, "open_select_skill_window %d", GetJob());
            

void CHARACTER::SelectSkillGroupWithWindow(BYTE group)
{
    if (!IsPC() || GetSkillGroup() != 0)
        return;
    SetSkillGroup(group);
    SetHorseLevel(SKILL_MAX_LEVEL);
    for (int i = 0; i < SKILL_MAX_NUM; i++)
    {
        if (true == CanUseSkill(i))
        {
            switch(i)
            {
                case SKILL_COMBO:
                    SetSkillLevel(i, 2);
                    break;
                case SKILL_LEADERSHIP:
                case SKILL_POLYMORPH:
                    SetSkillLevel(i, 40);
                    break;
                case SKILL_LANGUAGE1:
                case SKILL_LANGUAGE2:
                case SKILL_LANGUAGE3:
                    SetSkillLevel(i, 20);
                    break;
                case SKILL_HORSE_SUMMON:
                    SetSkillLevel(i, 10);
                    break;
                case SKILL_HORSE:
                    SetSkillLevel(i, HORSE_MAX_LEVEL);
                    break;
                case SKILL_HORSE_WILDATTACK:
                case SKILL_HORSE_CHARGE:
                case SKILL_HORSE_ESCAPE:
                case SKILL_HORSE_WILDATTACK_RANGE:
                    SetSkillLevel(i, 20);
                    break;
                default:
                    SetSkillLevel(i, 20);
                    break;
            }
        }
        else
        {
            switch(i)
            {
            case SKILL_HORSE_WILDATTACK:
            case SKILL_HORSE_CHARGE:
            case SKILL_HORSE_ESCAPE:
            case SKILL_HORSE_WILDATTACK_RANGE:
                SetSkillLevel(i, 20);
                break;
            }
        }
    }
    SetHorseLevel(HORSE_MAX_LEVEL);
    ComputePoints();
    SkillLevelPacket();
}

if (GetLevel() >= 5 && GetSkillGroup() == 0) -- Sarı ile işaretlenmiş kısımdan level seviyesini değiştirebilirsiniz.


default:
SetSkillLevel(i, 20); -- Sarı ile işaretlenmiş kısım beceri seviyesini M olarak verir. 30 yapınca G, 40 yapınca P olarak verir.
break;

Binek Fixi

char.cpp:
// Arat:
void CHARACTER::SelectSkillGroupWithWindow(BYTE group)
{
 if (!IsPC() || GetSkillGroup() != 0)
 return;

 SetSkillGroup(group);

// Değiştir:
void CHARACTER::SelectSkillGroupWithWindow(BYTE group)
{
 if (!IsPC() || GetSkillGroup() != 0)
 return;

 LPITEM binek = GetWear(WEAR_MOUNT_COSTUME);// WEAR_MOUNT_COSTUME Filesten Filese Değişiklik Gösterebilir Sizin Binek Sisteminin Wear Kısmını Yazın
 if (binek)
 UnequipItem(binek);
 if (ch_Binek != NULL)// ch_Binek Filesten Filese Değişiklik Gösterebilir Sizin Binek Sisteminde Bineğin Spawn Olduğu LPCHARACTER tipindeki değişkeni yazın.
 {
 M2_DESTROY_CHARACTER(ch_Binek);// ch_Binek Değiştir
 ch_Binek->SetRider(NULL);// ch_Binek Değiştir
 ch_Binek = NULL;// ch_Binek Değiştir
 }
 RemoveAffect(AFFECT_MOUNT);
 RemoveAffect(AFFECT_MOUNT_BONUS);

 SetSkillGroup(group);

Dosyalar
Burayı görüntülemek için üye girişi yapmalı veya kayıt olmalısınız.

Linkleri görebilmek için giriş yap veya kayıt ol.
 
Peki skili normal şekilde uplarken 18 levelde M olacağına P oluyorsa ne yapmak lazım?
 
Paylaşım için teşekkürler sıfırlayıp karakter atınca geliyor mu tekrardan
karakter, beceri seçimi yapmamış ise, level aldığı esnada çalışır.

Peki skili normal şekilde uplarken 18 levelde M olacağına P oluyorsa ne yapmak lazım?

char_skill.cpp
içerisinde arat
char_skill.cpp:
if (pkSk->dwType != 0)

char_skill.cpp:
    if (pkSk->dwType != 0)
    {
        // 갑자기 그레이드 업하는 코딩
        switch (GetSkillMasterType(pkSk->dwVnum))
        {
            case SKILL_NORMAL:
                // 번섭은 스킬 업그레이드 17~20 사이 랜덤 마스터 수련
                if (GetSkillLevel(pkSk->dwVnum) >= 17)
                {
                    if (GetQuestFlag("reset_scroll.force_to_master_skill") > 0)
                    {
                        SetSkillLevel(pkSk->dwVnum, 20);
                        SetQuestFlag("reset_scroll.force_to_master_skill", 0);
                    }
                    else
                    {
                        if (number(1, 21 - MIN(20, GetSkillLevel(pkSk->dwVnum))) == 1)
                            SetSkillLevel(pkSk->dwVnum, 20);
                    }
                }
                break;

            case SKILL_MASTER:
                if (GetSkillLevel(pkSk->dwVnum) >= 30)
                {
                    if (number(1, 31 - MIN(30, GetSkillLevel(pkSk->dwVnum))) == 1)
                        SetSkillLevel(pkSk->dwVnum, 30);
                }
                break;

            case SKILL_GRAND_MASTER:
                if (GetSkillLevel(pkSk->dwVnum) >= 40)
                {
                    SetSkillLevel(pkSk->dwVnum, 40);
                }
                break;
        }
    }

kod bloğunu burdakiler ile değiştir.
 
karakter, beceri seçimi yapmamış ise, level aldığı esnada çalışır.



char_skill.cpp
içerisinde arat
char_skill.cpp:
if (pkSk->dwType != 0)

char_skill.cpp:
    if (pkSk->dwType != 0)
    {
        // 갑자기 그레이드 업하는 코딩
        switch (GetSkillMasterType(pkSk->dwVnum))
        {
            case SKILL_NORMAL:
                // 번섭은 스킬 업그레이드 17~20 사이 랜덤 마스터 수련
                if (GetSkillLevel(pkSk->dwVnum) >= 17)
                {
                    if (GetQuestFlag("reset_scroll.force_to_master_skill") > 0)
                    {
                        SetSkillLevel(pkSk->dwVnum, 20);
                        SetQuestFlag("reset_scroll.force_to_master_skill", 0);
                    }
                    else
                    {
                        if (number(1, 21 - MIN(20, GetSkillLevel(pkSk->dwVnum))) == 1)
                            SetSkillLevel(pkSk->dwVnum, 20);
                    }
                }
                break;

            case SKILL_MASTER:
                if (GetSkillLevel(pkSk->dwVnum) >= 30)
                {
                    if (number(1, 31 - MIN(30, GetSkillLevel(pkSk->dwVnum))) == 1)
                        SetSkillLevel(pkSk->dwVnum, 30);
                }
                break;

            case SKILL_GRAND_MASTER:
                if (GetSkillLevel(pkSk->dwVnum) >= 40)
                {
                    SetSkillLevel(pkSk->dwVnum, 40);
                }
                break;
        }
    }

kod bloğunu burdakiler ile değiştir.
Benim files 98 Başlangıç beceriler ilk karakter oluşturulunca karşıma çıkıyor ve seçim yapılıyor seçim yapıldıktan sonra daha da gelmiyor skilleri tekrardan alamıyoruz
 
karakter, beceri seçimi yapmamış ise, level aldığı esnada çalışır.



char_skill.cpp
içerisinde arat
char_skill.cpp:
if (pkSk->dwType != 0)

char_skill.cpp:
    if (pkSk->dwType != 0)
    {
        // 갑자기 그레이드 업하는 코딩
        switch (GetSkillMasterType(pkSk->dwVnum))
        {
            case SKILL_NORMAL:
                // 번섭은 스킬 업그레이드 17~20 사이 랜덤 마스터 수련
                if (GetSkillLevel(pkSk->dwVnum) >= 17)
                {
                    if (GetQuestFlag("reset_scroll.force_to_master_skill") > 0)
                    {
                        SetSkillLevel(pkSk->dwVnum, 20);
                        SetQuestFlag("reset_scroll.force_to_master_skill", 0);
                    }
                    else
                    {
                        if (number(1, 21 - MIN(20, GetSkillLevel(pkSk->dwVnum))) == 1)
                            SetSkillLevel(pkSk->dwVnum, 20);
                    }
                }
                break;

            case SKILL_MASTER:
                if (GetSkillLevel(pkSk->dwVnum) >= 30)
                {
                    if (number(1, 31 - MIN(30, GetSkillLevel(pkSk->dwVnum))) == 1)
                        SetSkillLevel(pkSk->dwVnum, 30);
                }
                break;

            case SKILL_GRAND_MASTER:
                if (GetSkillLevel(pkSk->dwVnum) >= 40)
                {
                    SetSkillLevel(pkSk->dwVnum, 40);
                }
                break;
        }
    }

kod bloğunu burdakiler ile değiştir.
<3
 
Sağlıklı bir şekilde çalışıyor yalnız binekteyken bug oluşuyor skill vermiyor. fix'ini buldum ama atamadım yardımcı olacak var mı
 

Dosya Eklentileri

  • WhatsApp Görsel 2024-03-02 saat 21.07.54_70c5c6c2.jpg
    WhatsApp Görsel 2024-03-02 saat 21.07.54_70c5c6c2.jpg
    284,7 KB · Gösterim: 22
  • WhatsApp Görsel 2024-03-02 saat 21.07.59_99040383.jpg
    WhatsApp Görsel 2024-03-02 saat 21.07.59_99040383.jpg
    317,4 KB · Gösterim: 21
Geri
Üst