Çözüldü Oto metin farmı primum harici farm yapamama

  • Konuyu açan Konuyu açan texas1343
  • Açılış Tarihi Açılış Tarihi
  • Yanıt Yanıt 22
  • Gösterim Gösterim 227
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ı.

texas1343

MT Üye
MT Üye
Mesaj
492
Çözümler
22
Beğeni
226
Puan
499
Ticaret Puanı
0
iyi aksamlar Oto metin farmı da bir düzenleme yapmak istiyorum ama bir türlü ben yapmadım

nomralde primum itemi olamayan oyuncular 3 adet metin oto kesebilyiyor
ama primum item alan oyucular ise toplam 5 adet oto kesebiliyor

bende diyorumki primum item basmayan oyuncular bu sistemden yararlanamasın

rar olarak attım define __AUTO_QUQUE_ATTACK__
 

Dosya Eklentileri

Çözüm
Premium etkisi olmayanlar 3 tane kesebiliyorsa bunun bir yerde 3 tane kessin kodu vardır. O kodu kaldırdığında zaten dediğin olur. Yani premium etkisi olmayan kısacası faydalanmamış olur. Dediğini yanlış anlamadıysam.
Çok mantıklı, pratik :)

PythonPlayerInputMouse.cpp:
Genişlet Daralt Kopyala
//Bul
    if (isAdd)

//Ustune ekle
    if (bTotalQuqueAutoAttack <= 0)
    {
        CPythonChat::Instance().AppendChat(1, "[Metin Farm] Premium esya etkisine sahip olmalisin.");
        return false;
    }

PythonPlayer.cpp:
Genişlet Daralt Kopyala
//Bul
    bTotalQuqueAutoAttack = 3;

//Degistir
    bTotalQuqueAutoAttack = 0;
Premium itemin proto satırını gösterir misin?

Ve sadece item takılıyken mi premium oluyor? Yoksa affect olarak mı premium oluyor?
 
evet iteme sağ tıklayıp aynı ejderha markası basmak gibi sol üstte icon beliriyor toplam 5 adet farklı günler 61400- 61405

Kod:
Genişlet Daralt Kopyala
61400    item    ITEM_QUEST    0    1    NONE    ITEM_STACKABLE    NONE    NONE    0    0    0    0    0    LIMIT_NONE    0    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    1    0    0    0    0    0    0    0    0
61401    item    ITEM_QUEST    0    1    NONE    ITEM_STACKABLE    NONE    NONE    0    0    0    0    0    LIMIT_NONE    0    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    3    0    0    0    0    0    0    0    0
61402    item    ITEM_QUEST    0    1    NONE    ITEM_STACKABLE    NONE    NONE    0    0    0    0    0    LIMIT_NONE    0    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    7    0    0    0    0    0    0    0    0
61403    item    ITEM_QUEST    0    1    NONE    ITEM_STACKABLE    NONE    NONE    0    0    0    0    0    LIMIT_NONE    0    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    15    0    0    0    0    0    0    0    0
61404    item    ITEM_QUEST    0    1    NONE    ITEM_STACKABLE    NONE    NONE    0    0    0    0    0    LIMIT_NONE    0    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    30    0    0    0    0    0    0    0    0
61405    item    ITEM_QUEST    0    1    NONE    ITEM_STACKABLE    NONE    NONE    0    0    0    0    0    LIMIT_NONE    0    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    999    0    0    0    0    0    0    0    0
 
evet iteme sağ tıklayıp aynı ejderha markası basmak gibi sol üstte icon beliriyor toplam 5 adet farklı günler 61400- 61405

Kod:
Genişlet Daralt Kopyala
61400    item    ITEM_QUEST    0    1    NONE    ITEM_STACKABLE    NONE    NONE    0    0    0    0    0    LIMIT_NONE    0    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    1    0    0    0    0    0    0    0    0
61401    item    ITEM_QUEST    0    1    NONE    ITEM_STACKABLE    NONE    NONE    0    0    0    0    0    LIMIT_NONE    0    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    3    0    0    0    0    0    0    0    0
61402    item    ITEM_QUEST    0    1    NONE    ITEM_STACKABLE    NONE    NONE    0    0    0    0    0    LIMIT_NONE    0    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    7    0    0    0    0    0    0    0    0
61403    item    ITEM_QUEST    0    1    NONE    ITEM_STACKABLE    NONE    NONE    0    0    0    0    0    LIMIT_NONE    0    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    15    0    0    0    0    0    0    0    0
61404    item    ITEM_QUEST    0    1    NONE    ITEM_STACKABLE    NONE    NONE    0    0    0    0    0    LIMIT_NONE    0    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    30    0    0    0    0    0    0    0    0
61405    item    ITEM_QUEST    0    1    NONE    ITEM_STACKABLE    NONE    NONE    0    0    0    0    0    LIMIT_NONE    0    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    999    0    0    0    0    0    0    0    0
Bunlar premium için kullanılan itemler mi yoksa auto attack itemleri mi? Emin olamadım.
 
bunlar premium için gerekli itemler bu itemlerden herhangi birine sağ tıkladık mı 3 adet oto metin farkmını 5 adet olarak yükseltiyor

oto metin farmı derken yanlış anlaşılmasın oto farm değil

shift+sağ tık ile manuel şekilde kendimizz yapıyoruz
 
O zaman yanlış anlamadıysam bu itemlerden herhangi biri basılmadığı sürece kullanılmasını istemiyorsun. Eğer öyleyse aşağıdaki gibi bir kontrol ekleyebilirsin:

PythonCharacterModule.cpp:
C++:
Genişlet Daralt Kopyala
PyObject * chrIsPremiumMetin(PyObject * poSelf, PyObject * poArgs)
{
    CInstanceBase* pInstance = CPythonCharacterManager::Instance().GetMainInstancePtr();
    if (!pInstance)
        return Py_BuildNone();

    if (pInstance->IsAffect(CInstanceBase::NEW_AFFECT_AUTO_METIN_FARM))
        return Py_BuildValue("b", true);

    return Py_BuildValue("b", false);
}
PythonCharacterModule.cpp:
C++:
Genişlet Daralt Kopyala
...
{ "IsPremiumMetinItem",                    chrIsPremiumMetin,                        METH_VARARGS },
...

Python içinden ise;
Python:
Genişlet Daralt Kopyala
    if app.__AUTO_QUQUE_ATTACK__:
        def __AutoFarmInfo(self):
            if not chr.IsPremiumMetinItem(): # kontrol
                chat.AppendChat(1,"Premium bulunamadigi icin kullanilamaz.")
                return
           
            if not self.autoFarmInfo:
                self.autoFarmInfo = AutoFarmInfoWindow()
            if self.autoFarmInfo.IsShow():
                self.autoFarmInfo.Close()
            else:
                self.autoFarmInfo.Open()
                (x, y) = self.autoFarmBtn.GetGlobalPosition()
                self.autoFarmInfo.SetPosition(x + 10, y + 30)

gibi bir kullanım yapabilirsin.
 
olmadı maalesef :(

bu düzenleme sadece sistem hakkında soru işareti butonuna tıklayınca işe yarıyor
 



videoda anlattım birde premium kullanan oyuncu da sistem hakkında butouna tıkladğı zaman onlarada uyarı veriyor
 
PythonPlayerInputMouse.cpp:
Genişlet Daralt Kopyala
//Bul
                if (!isClickingAutoFarm)
                    __ChangeTargetToPickedInstance();

//Altina ekle
                CInstanceBase* pkInstMain=NEW_GetMainActorPtr();
                if (!pkInstMain)
                    return;
              
                if (isClickingAutoFarm && !pkInstMain->IsAffect(CInstanceBase::NEW_AFFECT_AUTO_METIN_FARM))
                {
                    CPythonChat::Instance().AppendChat(1, "[Metin Farm] Premium esya etkisine sahip olmalisin.");
                    return;
                }
 
Son düzenleme:
PythonPlayerInputMouse.cpp:
Genişlet Daralt Kopyala
//Bul
                if (!isClickingAutoFarm)
                    __ChangeTargetToPickedInstance();

//Altina ekle
                CInstanceBase* pkInstMain=NEW_GetMainActorPtr();
                if (!pkInstMain)
                    return;
               
                if (!pInstance->IsAffect(CInstanceBase::NEW_AFFECT_AUTO_METIN_FARM))
                {
                    CPythonChat::Instance().AppendChat(1, "[Metin Farm] Premium esya etkisine sahip olmalisin.");
                    return;
                }

evet işe yaradı ama premium bastığım zaman da Premium esya etkisine sahip olmalisin diyor
 
Premium etkisi olmayanlar 3 tane kesebiliyorsa bunun bir yerde 3 tane kessin kodu vardır. O kodu kaldırdığında zaten dediğin olur. Yani premium etkisi olmayan kısacası faydalanmamış olur. Dediğini yanlış anlamadıysam.
 
Kod:
Genişlet Daralt Kopyala
bool CPythonNetworkStream::RecvAffectRemovePacket()
{
    TPacketGCAffectRemove kAffectRemove;
    if (!Recv(sizeof(kAffectRemove), &kAffectRemove))
        return false;

#ifdef __AUTO_QUQUE_ATTACK__
    if (kAffectRemove.dwType == CInstanceBase::NEW_AFFECT_AUTO_METIN_FARM)
        CPythonPlayer::Instance().SetTotalAutoFarmCount(3);
#endif


    PyCallClassMemberFunc(m_apoPhaseWnd[PHASE_WINDOW_GAME], "BINARY_NEW_RemoveAffect", Py_BuildValue("(ii)", kAffectRemove.dwType, kAffectRemove.bApplyOn));

    return true;
}

burada sildim ama olmadı
 
Premium etkisi olmayanlar 3 tane kesebiliyorsa bunun bir yerde 3 tane kessin kodu vardır. O kodu kaldırdığında zaten dediğin olur. Yani premium etkisi olmayan kısacası faydalanmamış olur. Dediğini yanlış anlamadıysam.
Çok mantıklı, pratik :)

PythonPlayerInputMouse.cpp:
Genişlet Daralt Kopyala
//Bul
    if (isAdd)

//Ustune ekle
    if (bTotalQuqueAutoAttack <= 0)
    {
        CPythonChat::Instance().AppendChat(1, "[Metin Farm] Premium esya etkisine sahip olmalisin.");
        return false;
    }

PythonPlayer.cpp:
Genişlet Daralt Kopyala
//Bul
    bTotalQuqueAutoAttack = 3;

//Degistir
    bTotalQuqueAutoAttack = 0;
 
Çözüm
Durum
İçerik kilitlendiği için mesaj gönderimine kapatıldı.
Geri
Üst