Ticaret Zar Sistemi İtem Belirleme Eklentisi

  • Konuyu açan Konuyu açan MCB
  • Açılış Tarihi Açılış Tarihi
  • Yanıt Yanıt 23
  • Gösterim Gösterim 950

MCB

MT Üye
MT Üye
Mesaj
358
Çözümler
25
Beğeni
161
Puan
164
Ticaret Puanı
0
Öncelikle Herkese Merhaba.
Şuan birçok kişi fileslerinde Ticaret tipi Zar sistemi kullanıyor.
Fakat bütün itemler konulabiliyor.
Bende bunun için Farklı bir kısıtlama getirdim.
İşine yarayacak olan arkadaşlar hayrını görsün.

örnek :
/e target_dice_system 1 = Bahse sadece Otlar Konulabilir.
/e target_dice_system 2 = Bahse sadece Epler Konulabilir.
/e target_dice_system 3 = Bahse bütün itemler Konulabilir.

şeklinde uyarladım Bahse konulabilecek itemleri basit bir şekilde uidice.py`den Değiştirebilirsiniz.

SİSTEM LİNK:
Linkleri görebilmek için giriş yap veya kayıt ol.

Linkleri görebilmek için giriş yap veya kayıt ol.


inputlogin.cpp:
Genişlet Daralt Kopyala
arat :
    if (ch->GetHorseLevel() > 0)
    {
        ch->EnterHorse();
    }
 
altına ekle :
#ifdef ENABLE_DICE_EXCHANGE_SYSTEM
    if (quest::CQuestManager::instance().GetEventFlag("target_dice_system") < 3)
        ch->ChatPacket(CHAT_TYPE_COMMAND, "BINARY_DICE_OPTION %d", quest::CQuestManager::instance().GetEventFlag("target_dice_system"));
#endif

questmanager.cpp:
Genişlet Daralt Kopyala
arat :
        else if (name == "pre_event_hc")
     
üstüne ekle :

#ifdef ENABLE_DICE_EXCHANGE_SYSTEM
        else if (name == "target_dice_system")
        {
            const DESC_MANAGER::DESC_SET& rkDesc = DESC_MANAGER::instance().GetClientSet();
            for (itertype(rkDesc) it = rkDesc.begin(); it != rkDesc.end(); ++it)
            {
                LPCHARACTER pkChar = (*it)->GetCharacter();
                if (pkChar != NULL)
                    pkChar->ChatPacket(CHAT_TYPE_COMMAND, "BINARY_DICE_OPTION %d", value);
            }
        }
#endif

game.py:
Genişlet Daralt Kopyala
En Alta ekle :
 
    def BINARY_DICE_OPTION(self, value):
        if int(value) == 3:
            constInfo.BINARY_DICE_EP = 0
            constInfo.BINARY_DICE_OT = 0

        if int(value) == 2:
            constInfo.BINARY_DICE_EP = 1
            constInfo.BINARY_DICE_OT = 0

        if int(value) == 1:
            constInfo.BINARY_DICE_OT = 1
            constInfo.BINARY_DICE_EP = 0


constinfo.py:
Genişlet Daralt Kopyala
Müsait biyere ekle :

BINARY_DICE_OT = 0
BINARY_DICE_EP = 0

uidice.py:
Genişlet Daralt Kopyala
arat :
                itemID = player.GetItemIndex(attachedInvenType, SrcSlotNumber)
                item.SelectItem(itemID)
altına ekle :

                if constInfo.BINARY_DICE_EP == 1:
                    if itemID != 80014 and itemID != 80015 and\
                        itemID != 80016 and itemID != 80017:
                        chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.DICE_DONT_ITEM)
                        return

                if constInfo.BINARY_DICE_OT == 1:
                    if itemID != 70255 and itemID != 70256 and\
                        itemID != 70257 and itemID != 70258:
                        chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.DICE_DONT_ITEM)
                        return
 

Dosya Eklentileri

En son bir moderatör tarafından düzenlenmiş:
Aklımda şu var bu dice sistemini oyuncular birbirleriyle değilde npcye karşı oynasalar nasil olur? @hasanmacit sence hocam
Saçma olur. Ep,Ot artık değerli ne varsa oyunda kalmadığı için npc üzerinen çok oyuncu kaybeder ve ürün adeti azalır. Bu durumda ürünün kaybolması demek talep doğrultusunda oyun içinde fiyat artışına gider dengelemek için sürekli drop felan filan ayarlarını yapmak zorunda kalırsın yani kısaca oyuncular arasında iyi bence
 
Paylaşım icin teşekkürler , bi düzenlemede benden gelsin o zaman ,
2:
Genişlet Daralt Kopyala
    def DiceAddNumber  Arat
    
    değiştir kod blogunu komple
    
    def DiceAddNumber(self, myNumber, targetNumber):
        self.Owner_Number_Text.SetText(str(myNumber))
        self.Target_Number_Text.SetText(str(targetNumber))

        if myNumber > targetNumber:
            self.Owner_Number_Text.SetPackedFontColor(0xff00ff00)
            self.Target_Number_Text.SetPackedFontColor(0xffff0000)
        elif myNumber < targetNumber:
            self.Owner_Number_Text.SetPackedFontColor(0xffff0000)
            self.Target_Number_Text.SetPackedFontColor(0xff00ff00)
        else:
            pass

        self.closenotimer = 1
 
Paylaşılan her dosya için VirusTotal sonuçları eklemelisiniz. Bu seferlik ben ekledim. Linkin ölme ihtimaline karşı da dosyayı konuya ekledim.
 
Paylaşım icin teşekkürler , bi düzenlemede benden gelsin o zaman ,
2:
Genişlet Daralt Kopyala
    def DiceAddNumber  Arat
  
    değiştir kod blogunu komple
  
    def DiceAddNumber(self, myNumber, targetNumber):
        self.Owner_Number_Text.SetText(str(myNumber))
        self.Target_Number_Text.SetText(str(targetNumber))

        if myNumber > targetNumber:
            self.Owner_Number_Text.SetPackedFontColor(0xff00ff00)
            self.Target_Number_Text.SetPackedFontColor(0xffff0000)
        elif myNumber < targetNumber:
            self.Owner_Number_Text.SetPackedFontColor(0xffff0000)
            self.Target_Number_Text.SetPackedFontColor(0xff00ff00)
        else:
            pass

        self.closenotimer = 1
Salih hocam bu düzenleme ne için?
 
Paylaşılan her dosya için VirusTotal sonuçları eklemelisiniz. Bu seferlik ben ekledim. Linkin ölme ihtimaline karşı da dosyayı konuya ekledim.
Hocam şehir dışına gidiyorum. Linki telefondan paylaştım , istendiği için. O yüzden virüs total ekleyemedim. Eklediğiniz için teşekkürler 🙏🏼
 
Salih hocam bu düzenleme ne için?
uidice.py den aratıp değiştirilcek.

Önceki hali :
def DiceAddNumber(self, myNumber, targetNumber):
self.Owner_Number_Text.SetText(str(myNumber))
self.Target_Number_Text.SetText(str(targetNumber))
self.closenotimer = 1


kodlara if ve else eklenmiş renkli göstersin diye olası bi durum yok

0xff00ff00 : Yeşil Renk
0xffff0000 : Kırmızı Renk
 
Anladım hocam teşekkürler ettim ♥️
uidice.py den aratıp değiştirilcek.

Önceki hali :
def DiceAddNumber(self, myNumber, targetNumber):
self.Owner_Number_Text.SetText(str(myNumber))
self.Target_Number_Text.SetText(str(targetNumber))
self.closenotimer = 1


kodlara if ve else eklenmiş renkli göstersin diye olası bi durum yok

0xff00ff00 : Yeşil Renk
0xffff0000 : Kırmızı Renk
 
Paylaşım icin teşekkürler , bi düzenlemede benden gelsin o zaman ,
2:
Genişlet Daralt Kopyala
    def DiceAddNumber  Arat
   
    değiştir kod blogunu komple
   
    def DiceAddNumber(self, myNumber, targetNumber):
        self.Owner_Number_Text.SetText(str(myNumber))
        self.Target_Number_Text.SetText(str(targetNumber))

        if myNumber > targetNumber:
            self.Owner_Number_Text.SetPackedFontColor(0xff00ff00)
            self.Target_Number_Text.SetPackedFontColor(0xffff0000)
        elif myNumber < targetNumber:
            self.Owner_Number_Text.SetPackedFontColor(0xffff0000)
            self.Target_Number_Text.SetPackedFontColor(0xff00ff00)
        else:
            pass

        self.closenotimer = 1
Senin bu mantığın farklı şeklini uyarladım :d
Linkleri görebilmek için giriş yap veya kayıt ol.
 
Geri
Üst