Çözüldü Metin2 Balık Adası c++ yardım

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ı.

selim9550

The Godfather
Premium Üye
Üye
Mesaj
113
Çözümler
3
Beğeni
54
Puan
719
Ticaret Puanı
0
Merhaba, konuyu umarım yanlış yere açmamışımdır.

Sorunum başlıkta belirttiğim üzere, Balık Adası.

Oyunuma Balıkçıdan gidilen bir balık adası ekleyip, 60'level hesap ve üstünün gidebildiği, balık adası dışında her yerde balıkçılığı yasaklamak.

Konu ile ilgili bir kaç araştırma yaptım, Türk forumlarında bulmak pek mümkün olmadı. dev'de bir konu buldum. Bir tane de arkadaş yardımcı olmaya çalıştı.


Yardımcı olmaya çalışan arkadaş der ki;:
Genişlet Daralt Kopyala
server source içerisinde ki "fishing.cpp" açılır

int GetProbIndexByMapIndex(int index) aratılır
keysleri göreceksin orada ki keysler balık tutabildiğin yerler, oradaki keysleri kaldırıp kendi keysini ekleyebilirsin.

Dev üzerinde ki diğer anlatım için forum linkini paylaşacağım yasak değilse, orada derler ki char.cpp üzerinden yasaklayabilirsin, diğer arkadaşta der ki balık adasına git kodlaması nasıl yapılır.
Linkleri görebilmek için giriş yap veya kayıt ol.

c++ ve python ortaklaşa çalışarak, yapacağımızı düşündüğüm bu sistemi nasıl derleyip toparlayabilirim, yardımı olabilir misiniz? Herkese teşekkür edeirm.
 
Çözüm
key ile falan uğraşmaya gerek yok bence.
Basit bir if komutu ile balık tutma işlevini belirlenen haritaya göre engelleyebilirsin.

char.cpp içinde arat:
C++:
Genişlet Daralt Kopyala
void CHARACTER::fishing()

İçinde bul:
C++:
Genişlet Daralt Kopyala
    if (0 == rod->GetSocket(2))
    {
        ChatPacket(CHAT_TYPE_INFO, LC_TEXT("¹Ì³¢¸¦ ³¢°í ´øÁ® ÁÖ¼¼¿ä."));
        return;
    }

Altına ekle:
C++:
Genişlet Daralt Kopyala
    if (GetMapIndex() == 41)
    {
        ChatPacket(CHAT_TYPE_INFO, "Bu haritada bunu yapamazsin..");
        return;
    }

balik.jpg


Bu haliyle Mavi 1.köy dışındaki tüm haritalarda balık tutabilir. Bu if sorgusunu kendi haritana göre tersine çevirebilirsin.
Örnek:
C++:
Genişlet Daralt Kopyala
    if (GetMapIndex() != BALIK_ADASININ_MAP_INDEXI)
    {
        ChatPacket(CHAT_TYPE_INFO, "Bu haritada bunu...
key ile falan uğraşmaya gerek yok bence.
Basit bir if komutu ile balık tutma işlevini belirlenen haritaya göre engelleyebilirsin.

char.cpp içinde arat:
C++:
Genişlet Daralt Kopyala
void CHARACTER::fishing()

İçinde bul:
C++:
Genişlet Daralt Kopyala
    if (0 == rod->GetSocket(2))
    {
        ChatPacket(CHAT_TYPE_INFO, LC_TEXT("¹Ì³¢¸¦ ³¢°í ´øÁ® ÁÖ¼¼¿ä."));
        return;
    }

Altına ekle:
C++:
Genişlet Daralt Kopyala
    if (GetMapIndex() == 41)
    {
        ChatPacket(CHAT_TYPE_INFO, "Bu haritada bunu yapamazsin..");
        return;
    }

balik.jpg


Bu haliyle Mavi 1.köy dışındaki tüm haritalarda balık tutabilir. Bu if sorgusunu kendi haritana göre tersine çevirebilirsin.
Örnek:
C++:
Genişlet Daralt Kopyala
    if (GetMapIndex() != BALIK_ADASININ_MAP_INDEXI)
    {
        ChatPacket(CHAT_TYPE_INFO, "Bu haritada bunu yapamazsin..");
        return;
    }

Bu şekilde yaparsan balık adası hariç diğer hiç bir haritada balık tutamaz.
 
Çözüm
Hocam söylediklerini uygulayıp, sonrasında npcden giriş yapacağım bir quest yazmaya çalışacağım takıldığım nokta da müsaadenle yardım talebinde bulunayım.

şu anki hali ile bana çok fazla yardımcı oldu paylaşımın, çok teşekkür ederim.
 
Durum
İçerik kilitlendiği için mesaj gönderimine kapatıldı.
Geri
Üst