Yardım Cube Renewal Uzaktan Açma

Konu sahibi bu konuda soru soruyor. Sorusu ile ilgili bilgisi olanların yanıtlamasını bekliyor.

nyami

ZeRo
Geliştirici
Yardımsever Üye
Usta Üye
Mesaj
658
Çözümler
46
Beğeni
1.104
Puan
1.130
Ticaret Puanı
1
Cube Renewal 'da uzaktan açma olayını yapabilen var mı?
aşağıdaki komut ile aça biliyorum ama 2 şart koşuyor bana en az bir defa o npc ile iletişim kurma ve menzil içerinde olma.
net.SendChatPacket("/cube open")

menzil olayı game tarafında engel olarak eklenmiş ama devre dışı bırakılsa da olay devam ediyor.

eke kısa bir video ekledim.
 

Dosya Eklentileri

  • 20230831-2004-41.1330893.mp4
    1,2 MB
Denedim ancak bende yapamamıştım varsa bilen şuraya rez aldım
 
Öncelikle cube sistemine hiç hakim değilim ama kodlarda şöyle bir şey gördüm:
cuberenewal.cpp:
Genişlet Daralt Kopyala
    long distance = DISTANCE_APPROX(ch->GetX() - npc->GetX(), ch->GetY() - npc->GetY());
    if (distance >= CUBE_MAX_DISTANCE)
    {
        sys_log(1, "CUBE: TOO_FAR: %s distance %d", ch->GetName(), distance);
        return;
    }

Bunu pasifleştirmeyi deneyebilirsin.
Sonra aynı dosya içinde şöyle bir kısım mevcut:

C++:
Genişlet Daralt Kopyala
    if (FN_check_valid_npc(npcVNUM) == false)
    {
        if (test_server == true)
        {
            // dev_log(LOG_DEB0, "cube not valid NPC");
        }
        return;
    }

Emin değilim ancak yukarıdakiyle beraber bunu da yoruma çevirip deneyebilirsin.
Son olarak eğer bu şekilde uzaktan açılsa bile itemleri okumama ihtimali söz konusu olabilir. Tabi kodları yanlış okumadıysam..
 
Öncelikle cube sistemine hiç hakim değilim ama kodlarda şöyle bir şey gördüm:
cuberenewal.cpp:
Genişlet Daralt Kopyala
    long distance = DISTANCE_APPROX(ch->GetX() - npc->GetX(), ch->GetY() - npc->GetY());
    if (distance >= CUBE_MAX_DISTANCE)
    {
        sys_log(1, "CUBE: TOO_FAR: %s distance %d", ch->GetName(), distance);
        return;
    }

Bunu pasifleştirmeyi deneyebilirsin.
Sonra aynı dosya içinde şöyle bir kısım mevcut:

C++:
Genişlet Daralt Kopyala
    if (FN_check_valid_npc(npcVNUM) == false)
    {
        if (test_server == true)
        {
            // dev_log(LOG_DEB0, "cube not valid NPC");
        }
        return;
    }

Emin değilim ancak yukarıdakiyle beraber bunu da yoruma çevirip deneyebilirsin.
Son olarak eğer bu şekilde uzaktan açılsa bile itemleri okumama ihtimali söz konusu olabilir. Tabi kodları yanlış okumadıysam..
Bu şekilde denemiştim ama core yemişti. Mesafe olayı oradan çözülüyor core olayı tekrarlar mı o malum test etmek gerekiyor. Ama npc ile iletişim kurmadan kesinlikle cube penceresi açılmıyor.

aşağıdaki halden yola çıkacak olursak npc kodunu versek bile

1693664149142.webp


bu npc değişkenin bizden sistem tekrar talep ediyor. bunun yerini nasıl doldurulacak onu bilemiyorum. benim konuyu asıl açmamdaki sebep bu bilemediğim yerler. =)
1693664249111.webp
 
Son düzenleme:
Cube işlrmlerini tek bir npcye taşıyıp, npc uzaklık sorgusundaki distance değişkenini cubemaxdistance+1 şeklinde değiştirip, ilgili npcyi tüm maplerin bir noktasına sabitlerseniz çözülür diye düşünüyorum, yoksa komple sistemi inceleyip mantığı baştan yazmak gerebilir
 
Cube işlrmlerini tek bir npcye taşıyıp, npc uzaklık sorgusundaki distance değişkenini cubemaxdistance+1 şeklinde değiştirip, ilgili npcyi tüm maplerin bir noktasına sabitlerseniz çözülür diye düşünüyorum, yoksa komple sistemi inceleyip mantığı baştan yazmak gerebilir
teşekkürler, ama npc ile iletişim kurmadan ilk seferinde asla pencere açılmıyor. dediğiniz şey bu yüzden işlevsiz kalıyor.
 
Geri
Üst