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

MEKA

Discord: mekaprojects
Site yetkilisi
Süper Moderatör
Premium Üye
Grafiker
Geliştirici
Yardımsever Üye
Mesaj
2.789
Çözümler
287
Beğeni
2.038
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:
case USE_SPECIAL:
Altına Ekle:
#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:
#define ENABLE_UNLIMITED_POTIONS

root/uiinventory.py
Arat:
    def RefreshBagSlotWindow(self):
Bul:
        self.wndItem.RefreshSlot()
Üstüne Ekle:
            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:
#define ENABLE_UNLIMITED_POTIONS

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

SQL:
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:
            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:
            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:
    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