Sınırsız Aç/Kapat Pot Şebnem | MEKA-SF

  • Konuyu açan Konuyu açan MEKA
  • Açılış Tarihi Açılış Tarihi
  • Yanıt Yanıt 22
  • Gösterim Gösterim 3K

MEKA

Discord: mekaprojects
Süper Moderatör
Grafiker
Geliştirici
Yardımsever Üye
Mesaj
2.854
Çözümler
299
Beğeni
2.138
Puan
1.850
Ticaret Puanı
2
# sinirsiz-ac-kapat-pot-sebnem

Diğer sistemler gibi var olan şebnemleri vs. çoğaltmadan sınırsız ve aç kapat yapabileceğiniz bir sistemi paylaşıyorum.

Kanıt için @al1h4nkvlc2 teşekkürler.

game/src/char_item.cpp
Arat:
Genişlet Daralt Kopyala
case USE_SPECIAL:
Altına Ekle:
Genişlet Daralt Kopyala
#ifdef ENABLE_UNLIMITED_POTIONS
                        if (item->GetValue(3) == 4248)
                        {
                            DWORD dwType = item->GetValue(0);
                            BYTE bBonus = aApplyInfo[item->GetValue(1)].bPointType;

                            if (AFFECT_NONE == dwType)
                                break;

                            CAffect * pAffect = FindAffect(dwType, bBonus);

                            if (!pAffect)
                            {
                                DWORD dwFlag = item->GetValue(4);
                                AddAffect(dwType, bBonus, item->GetValue(2), dwFlag, INFINITE_AFFECT_DURATION, 0, true, true);

                                item->Lock(true);
                                item->SetSocket(0, true);
                            }
                            else
                            {
                                if (item->GetSocket(0))
                                {
                                    RemoveAffect(pAffect);
                                    item->Lock(false);
                                    item->SetSocket(0, false);
                                }
                            }
                            break;
                        }
#endif

common/service.h
Ekle:
Genişlet Daralt Kopyala
#define ENABLE_UNLIMITED_POTIONS

root/uiinventory.py
Arat:
Genişlet Daralt Kopyala
    def RefreshBagSlotWindow(self):
Bul:
Genişlet Daralt Kopyala
        self.wndItem.RefreshSlot()
Üstüne Ekle:
Genişlet Daralt Kopyala
            if app.ENABLE_UNLIMITED_POTIONS:
                item.SelectItem(itemVnum)
                if item.GetValue(3) == 4248 or item.GetValue(3) == 42480:
                    metinSocket = [player.GetItemMetinSocket(slotNumber, j) for j in xrange(player.METIN_SOCKET_MAX_NUM)]
                    isActivated = 0 != metinSocket[0]
                    if isActivated:
                        self.wndItem.ActivateSlot(slotNumber)
                    else:
                        self.wndItem.DeactivateSlot(slotNumber)

Userinterface/Locale_inc.h
Ekle:
Genişlet Daralt Kopyala
#define ENABLE_UNLIMITED_POTIONS

Userinterface/PythonApplicationModule.cpp
Ekle:
Genişlet Daralt Kopyala
#ifdef ENABLE_UNLIMITED_POTIONS
    PyModule_AddIntConstant(poModule, "ENABLE_UNLIMITED_POTIONS", 1);
#else
    PyModule_AddIntConstant(poModule, "ENABLE_UNLIMITED_POTIONS", 0);
#endif

SQL:
Genişlet Daralt Kopyala
71027    용신의 생명    ITEM_USE    USE_AFFECT    1    ANTI_DROP | ANTI_SELL | ANTI_GIVE | ANTI_STACK | ANTI_MYSHOP    ITEM_STACKABLE | LOG    NONE        0    0    0    0    0    LIMIT_NONE    0    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    510    69    20    1800    0    0    0    0    0

  • USE_AFFECT kısmını USE_SPECIAL olarak değiştir.
  • 1800 kısmını(Value3) 4248 olarak değiştir.

Başka platformlarda paylaşılırken aşağıdaki kaynağı eklemeyi unutmayın.
Kaynak:
Linkleri görebilmek için giriş yap veya kayıt ol.
 
Son düzenleme:
Daha geçen gün arıyordum. Bulmuştum fakat sorunluydu.. Ekleyeceğim teşekkürler paylaşım için..<3
 
bunu cesaret pelerinine yapacak babayiğit var mı :D yapabilene helal olsun şimdiden
 
bunu cesaret pelerinine yapacak babayiğit var mı :D yapabilene helal olsun şimdiden
Bunu cesaret pelerinine yapmak çok saçma olur. Böyle bir düzenlemeyi yapmak için cesaret pelerini aktifken sürekli mob çekmesi felan lazım :D Buda bildiğin oyuna çekme botu eklemişsin gibi birşey oluyor.

Amacın sadece cesaret pelerinini sınırsız yapmaksa

char_item.cpp:
Genişlet Daralt Kopyala
            case REWARD_BOX_UNIQUE_ITEM_CAPE_OF_COURAGE:
                AggregateMonster();
                // item->SetCount(item->GetCount()-1);
                break;
 
Bunu cesaret pelerinine yapmak çok saçma olur. Böyle bir düzenlemeyi yapmak için cesaret pelerini aktifken sürekli mob çekmesi felan lazım :D Buda bildiğin oyuna çekme botu eklemişsin gibi birşey oluyor.

Amacın sadece cesaret pelerinini sınırsız yapmaksa

char_item.cpp:
Genişlet Daralt Kopyala
            case REWARD_BOX_UNIQUE_ITEM_CAPE_OF_COURAGE:
                AggregateMonster();
                // item->SetCount(item->GetCount()-1);
                break;
Cesaret pelerinini sınırsız yapmak daha iyi bir fikir gibi şimdilik. Saçma duracağını düşünmemiştim aksine oyuncuya kolaylık sağlar diye düşünmüştüm. Sürekli olarak çekmek için her seferinde o tuşa bastığını düşün bu seni yormaz mı? bu işi senin yerine sistemin otomatik olarak bastığını düşün otomatik olarak çekiyor sende tekrardan deaktive etmek istersen iteme sağ tıklayıp deaktive etmesini sağlıyabileceksin. Bunu yapacak olsaydım questflagsız nasıl yapardım onu düşünüyorum :)
 
Cesaret pelerinini sınırsız yapmak daha iyi bir fikir gibi şimdilik. Saçma duracağını düşünmemiştim aksine oyuncuya kolaylık sağlar diye düşünmüştüm. Sürekli olarak çekmek için her seferinde o tuşa bastığını düşün bu seni yormaz mı? bu işi senin yerine sistemin otomatik olarak bastığını düşün otomatik olarak çekiyor sende tekrardan deaktive etmek istersen iteme sağ tıklayıp deaktive etmesini sağlıyabileceksin. Bunu yapacak olsaydım questflagsız nasıl yapardım onu düşünüyorum :)
Peki bunun farm bottan farkı ne kaldı :D Her yerde afk adam sürekli level ve para kasan yan hesaplar... Metin2de zaten otomatik olduğun yerde vuruşa bırakabiliyorsun bunuda yaparsan tam olarak dediklerim yaşanacak.
 
Basıldığında etrafında dönen beyaz işaret yok nedense. Yardımcı olabilirmisiniz?
 
Basıldığında etrafında dönen beyaz işaret yok nedense. Yardımcı olabilirmisiniz?
ActivateSlot kodu değiştirilmiş olabilir ui.py içerisinde aratın kontrol edin genelde acce/sash sistemiyle çakıştığı için değiştiriyorlar. Ona göre pack tarafına eklediğin kodu düzenle
 
ActivateSlot kodu değiştirilmiş olabilir ui.py içerisinde aratın kontrol edin genelde acce/sash sistemiyle çakıştığı için değiştiriyorlar. Ona göre pack tarafına eklediğin kodu düzenle
ui.py'mde

Kod:
Genişlet Daralt Kopyala
    def ActivateSlot(self, slotNumber):
        wndMgr.ActivateSlot(self.hWnd, slotNumber)

böyle gözüküyor.

Değiştirilmemiş sanırsam fakat yinede yok:/
 
Son düzenleme:
Ekleme işlemi yaptığın dosyaları birde ui.py dosyanı ekle bi inceliyim.
 
Bir problem gözükmüyor. Eğer src tarafını felanda düzgün eklediyseniz problemsiz çalışması gerekiyor. Bazı kullanıcılar ekleme yaptıkları pack dosyalarını kapatmayı felan unutuyor eski root dosyanı silip root tekrar kapatmayı deneyin.
 
hocam paylaşım için teşekkkür ederim, anti exp yüzüğü olarak nasıl yapabiliriz nasıl bir yol izlemem gerekiyor ?
 
Geri
Üst