Dali - OfflineShop

bosymax

Aktif Üye
Mesaj
134
Beğeni
54
Puan
729
Great benzeri ve daha iyisiymiş öyle söylentiler var

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

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


Başka bir forumdan alıntıdır.

image.png

Bir arkadaşımın isteği üzerine birlikte kontrol ettik. Saat kısmı shopta gözükmüyor. İlk bakışta pack taraflı bir eksik gibi gözüksede sonradan kodu okutmadığı için okumadığını farkettim. Elbet başka bir çözüm yolu da vardır fakat ben böyle çözdüm. Sadece bu foruma özel olarak veriyorum çözümü. Kullanacaklar bunu da uygulamayı unutmasın. Hatta mümkünse konuya eklenebilir.

uishop.py:
arat

def SetShopInfo(self, sign, channel, index, x, y, timeLeft, update):
  
içeriğiyle birlikte değiştir

        def SetShopInfo(self, sign, channel, index, x, y, timeLeft, update):
            expired = self.expireTime <= time.clock()
            self.expireTime = time.clock() + timeLeft

            (mapName, xBase, yBase) = background.GlobalPositionToMapInfo(x, y)
            localeMapName = localeInfo.MINIMAP_ZONE_NAME_DICT.get(mapName, "")
            self.posInfoText.SetText("CH %d, %s (%d, %d)" % (channel, localeMapName, int(x - xBase) / 100, int(y - yBase) / 100))

            m, s = divmod(self.expireTime - time.clock(), 60)
            h, m = divmod(m, 60)
            d, h = divmod(h, 24)
          
            self.timeLeftText.SetText(uiScriptLocale.OFFLINE_SHOP_TIME_LEFT % ((d, h, m) if not expired else (0, 0, 0)))
          
            if expired:
                self.lockButton.SetText(uiScriptLocale.OFFLINE_SHOP_BUTTON_RENEW)

            self.signInputBoard.SetDescription(uiScriptLocale.OFFLINE_SHOP_INPUT_SIGN_DESC % sign)
            self.signText.SetText(sign if len(sign) < 18 else sign[:17] + "...")

Konuya ekleyeceğin yeni bir ek daha vereyim. Pazarı açarken yang istemiyor onu için ufak bir ekleme yapayım.

Char.cpp Aratılır:
void CHARACTER::CreateMyOfflineShop(const char *c_pszSign, TShopItemTable *pTable, BYTE bItemCount)
{

Altına Eklenir:
    int iOpenPrice = OFFLINE_SHOP_OPEN_PRICE;

    if (GetGold() < iOpenPrice)
    {
        ChatPacket(CHAT_TYPE_INFO, LC_TEXT("You don't have enough gold to open an offline shop! (%d)"), iOpenPrice);
        return;
    }

    PointChange(POINT_GOLD, -iOpenPrice);

Service.h yada CommonDefines.h Hangi Kullanılıyorsa Filesinizde İçine Eklenir:
#define OFFLINE_SHOP_OPEN_PRICE 1000000        //ÇEVRİMDIŞI PAZAR AÇILIŞ ÜCRETİ
 

Dosya Eklentileri

  • Offline_Shop.rar
    55 KB · Gösterim: 9
Son düzenleme:

hasanmacit

developgenel kurmay başkanı
Mesaj
750
Beğeni
368
Puan
784
greatı cacheye ve kanallar arasına taşımış diye biliyorum. çoğu kişi kodlamasının temiz olduğundan bahsediyor. bende guisinden felan hoşnut kaldım şans verilebilir. paylaşım için teşekkürler.
 

Yeniceri

Jamais vu
Mesaj
2.121
Beğeni
1.812
Puan
1.319
Linkin kırılma ihtimaline karşılık, dosyayı konuya dahil ettim. Paylaşım için teşekkürler.
Görüntü olarak hoşuma gitti ama kesin bir kanıya varmadan kullanmak istemedim açıkcası. Özellikle yüksek onlineda herhangi bir sorunu var mı yokmu vs. gibi soru işaretlerinin cevaplanması gerek diye düşünüyorum...
 

hasanmacit

developgenel kurmay başkanı
Mesaj
750
Beğeni
368
Puan
784
Bir arkadaşımın isteği üzerine birlikte kontrol ettik. Saat kısmı shopta gözükmüyor. İlk bakışta pack taraflı bir eksik gibi gözüksede sonradan kodu okutmadığı için okumadığını farkettim. Elbet başka bir çözüm yolu da vardır fakat ben böyle çözdüm. Sadece bu foruma özel olarak veriyorum çözümü. Kullanacaklar bunu da uygulamayı unutmasın. Hatta mümkünse konuya eklenebilir.

uishop.py:
arat

def SetShopInfo(self, sign, channel, index, x, y, timeLeft, update):
    
içeriğiyle birlikte değiştir

        def SetShopInfo(self, sign, channel, index, x, y, timeLeft, update):
            expired = self.expireTime <= time.clock()
            self.expireTime = time.clock() + timeLeft

            (mapName, xBase, yBase) = background.GlobalPositionToMapInfo(x, y)
            localeMapName = localeInfo.MINIMAP_ZONE_NAME_DICT.get(mapName, "")
            self.posInfoText.SetText("CH %d, %s (%d, %d)" % (channel, localeMapName, int(x - xBase) / 100, int(y - yBase) / 100))

            m, s = divmod(self.expireTime - time.clock(), 60)
            h, m = divmod(m, 60)
            d, h = divmod(h, 24)
            
            self.timeLeftText.SetText(uiScriptLocale.OFFLINE_SHOP_TIME_LEFT % ((d, h, m) if not expired else (0, 0, 0)))
            
            if expired:
                self.lockButton.SetText(uiScriptLocale.OFFLINE_SHOP_BUTTON_RENEW)

            self.signInputBoard.SetDescription(uiScriptLocale.OFFLINE_SHOP_INPUT_SIGN_DESC % sign)
            self.signText.SetText(sign if len(sign) < 18 else sign[:17] + "...")
 

bosymax

Aktif Üye
Mesaj
134
Beğeni
54
Puan
729
Bir arkadaşımın isteği üzerine birlikte kontrol ettik. Saat kısmı shopta gözükmüyor. İlk bakışta pack taraflı bir eksik gibi gözüksede sonradan kodu okutmadığı için okumadığını farkettim. Elbet başka bir çözüm yolu da vardır fakat ben böyle çözdüm. Sadece bu foruma özel olarak veriyorum çözümü. Kullanacaklar bunu da uygulamayı unutmasın. Hatta mümkünse konuya eklenebilir.

uishop.py:
arat

def SetShopInfo(self, sign, channel, index, x, y, timeLeft, update):
   
içeriğiyle birlikte değiştir

        def SetShopInfo(self, sign, channel, index, x, y, timeLeft, update):
            expired = self.expireTime <= time.clock()
            self.expireTime = time.clock() + timeLeft

            (mapName, xBase, yBase) = background.GlobalPositionToMapInfo(x, y)
            localeMapName = localeInfo.MINIMAP_ZONE_NAME_DICT.get(mapName, "")
            self.posInfoText.SetText("CH %d, %s (%d, %d)" % (channel, localeMapName, int(x - xBase) / 100, int(y - yBase) / 100))

            m, s = divmod(self.expireTime - time.clock(), 60)
            h, m = divmod(m, 60)
            d, h = divmod(h, 24)
           
            self.timeLeftText.SetText(uiScriptLocale.OFFLINE_SHOP_TIME_LEFT % ((d, h, m) if not expired else (0, 0, 0)))
           
            if expired:
                self.lockButton.SetText(uiScriptLocale.OFFLINE_SHOP_BUTTON_RENEW)

            self.signInputBoard.SetDescription(uiScriptLocale.OFFLINE_SHOP_INPUT_SIGN_DESC % sign)
            self.signText.SetText(sign if len(sign) < 18 else sign[:17] + "...")
kullanacak arkadaşlar adına geliştirme için teşekkürler konuya ekledim
 

hasanmacit

developgenel kurmay başkanı
Mesaj
750
Beğeni
368
Puan
784
/open_shop ile açılıyor pazar eğer açamamışsan bir hata vardır syserr kontrol etmen lazım
 

Üst