Çözüldü Lycan Beceri Kitabı

  • Konuyu açan Konuyu açan ByExpert
  • Açılış Tarihi Açılış Tarihi
  • Yanıt Yanıt 2
  • Gösterim Gösterim 2K
Bu konu çözüme ulaştırılmıştır. Çözüm için konuya yazılan tüm yorumları okumayı unutmayın. Eğer konudaki yorumlar sorununuzu çözmediyse yeni bir konu açabilirsiniz.
Durum
İçerik kilitlendiği için mesaj gönderimine kapatıldı.

ByExpert

Üye
Üye
Mesaj
82
Çözümler
1
Beğeni
20
Puan
414
Ticaret Puanı
0
Serverde lycan ve 6.skiller vardı kaldırdım ama lycan bk ve 6.skil bkları düşüyor nasıl kaldırabilirim.
 
Çözüm
Oyunda bazı itemler tekli olmasına rağmen birden fazla değer alabilir. Örneğin: Beceri Kitabı, Gözlem bandı vs.
Bu tür itemler sistem tarafından oluşturulurken socket 0 kısmına bazı değerler verir. Beceri kitabı ve gözlem bandında verdiği bu değer yeteneğin idsi olur. Zaten bu yüzden item yerdeyken beceri kitabı olarak gözükür ama üstüne fare ile geldiğinizde yetenek ismi ile beraber yazar. uitooltip.py içinde 50300 diye aratın göreceksiniz.

Şimdi bu itemlerin çalışma mantığını anladığınızı varsayıyorum şimdi bu sorununuzu nasıl çözebileceğinize odaklanalım.

game/src/char_skill.cpp içinde şu kodu aratın;
C++:
Genişlet Daralt Kopyala
const DWORD GetRandomSkillVnum(BYTE bJob)
{
    // the chosen skill
    DWORD dwSkillVnum = 0;
    do
    {
        // tmp...
Oyunda bazı itemler tekli olmasına rağmen birden fazla değer alabilir. Örneğin: Beceri Kitabı, Gözlem bandı vs.
Bu tür itemler sistem tarafından oluşturulurken socket 0 kısmına bazı değerler verir. Beceri kitabı ve gözlem bandında verdiği bu değer yeteneğin idsi olur. Zaten bu yüzden item yerdeyken beceri kitabı olarak gözükür ama üstüne fare ile geldiğinizde yetenek ismi ile beraber yazar. uitooltip.py içinde 50300 diye aratın göreceksiniz.

Şimdi bu itemlerin çalışma mantığını anladığınızı varsayıyorum şimdi bu sorununuzu nasıl çözebileceğinize odaklanalım.

game/src/char_skill.cpp içinde şu kodu aratın;
C++:
Genişlet Daralt Kopyala
const DWORD GetRandomSkillVnum(BYTE bJob)
{
    // the chosen skill
    DWORD dwSkillVnum = 0;
    do
    {
        // tmp stuff
        DWORD tmpJob = (bJob != JOB_MAX_NUM)?MINMAX(0, bJob, JOB_MAX_NUM-1):number(0, JOB_MAX_NUM-1);
        DWORD tmpSkillGroup = number(0, SKILL_GROUP_MAX_NUM-1);
        DWORD tmpSkillCount = number(0, SKILL_COUNT-1);
        // set skill
        dwSkillVnum = SkillList[tmpJob][tmpSkillGroup][tmpSkillCount];

Eğer sonuç çıkmazsa sadece şu şekilde de arayabilirsiniz: GetRandomSkillVnum(BYTE bJob)

Daha sonra şu kodun;
C++:
Genişlet Daralt Kopyala
        dwSkillVnum = SkillList[tmpJob][tmpSkillGroup][tmpSkillCount];

Altına şunu ekleyin;
C++:
Genişlet Daralt Kopyala
        if (tmpJob==JOB_WOLFMAN)
            continue;

Daha sonra gameyi build edip servere atınız. :)
 
Çözüm
merhaba doğru aradığıma eminim fakat aramamız gereken kodların hiçbiri çıkmadı bende galiba farklı benimkinde size atsam inceleme fırsatınız olabilir mi?
 
Durum
İçerik kilitlendiği için mesaj gönderimine kapatıldı.
Üst