- Mesaj
- 225
- Çözümler
- 14
- Beğeni
- 113
- Puan
- 749
- Ticaret Puanı
- 0
Great benzeri ve daha iyisiymiş öyle söylentiler var
Sistem sahibinin forumda satış konusu bulunduğu için konu kapatılmıştır.
[Paid Services]Dali
Başka bir forumdan alıntıdır.
Sistem sahibinin forumda satış konusu bulunduğu için konu kapatılmıştır.
[Paid Services]Dali
Başka bir forumdan alıntıdır.
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İ
ticaret camı ekleyip sorun çıktığında uygulanacak düzenleme
arkadaşlar o kadar uzatmışsınız ki konuyu ordan oraya burdan şuraya aslında çok basit
ara:pack2.dwShopPID = GetOwner->GetPlayerID();
değiştir:if (item->GetOwner()) pack2.dwShopPID = item->GetOwner()->GetVID(); else pack2.dwShopPID = 0;
kod bloğunu bulunla tamamen değiştir:void CShopManager::ShopSearchBuy(LPCHARACTER ch, const TPacketCGPrivateShopSearchBuyItem* p) { if (ch == NULL || ch->GetDesc() == NULL || p == NULL) return; int32_t shopVid = p->dwShopPID; if (ch->GetExchange() || ch->GetMyShop() || ch->GetShopOwner() || ch->IsOpenSafebox() || ch->IsCubeOpen()) { ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("SHOP_SEARCH_CLOSE_TABS")); return; } LPCHARACTER ShopCH = CHARACTER_MANAGER::instance().Find(shopVid); if (ShopCH == NULL) { ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("SHOP_SEARCH_NO_SHOP")); return; } if (ch == ShopCH) // what? return; CShop* pkShop = ShopCH->GetMyShop(); if (pkShop == NULL || pkShop->IsPCShop() == false) { ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("SHOP_SEARCH_NO_SHOP")); return; } const BYTE bState = ch->GetPrivateShopSearchState(); switch (bState) { case SHOP_SEARCH_LOOKING: { if (ch->CountSpecifyItem(PRIVATE_SHOP_SEARCH_LOOKING_GLASS) == 0) { const TItemTable* GlassTable = ITEM_MANAGER::instance().GetTable(PRIVATE_SHOP_SEARCH_LOOKING_GLASS); if (GlassTable) ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("SHOP_SEARCH_WHERE_IS_ITEM"), GlassTable->szLocaleName); return; } if (ch->GetMapIndex() != ShopCH->GetMapIndex()) { ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("SHOP_SEARCH_SAMEMAP_ERR")); return; } const DWORD dwSellerVID(ShopCH->GetVID()); if (CTargetManager::instance().GetTargetInfo(ch->GetPlayerID(), TARGET_TYPE_VID_SHOP_SEARCH, dwSellerVID)) CTargetManager::instance().DeleteTarget(ch->GetPlayerID(), SHOP_SEARCH_INDEX, "__SHOPSEARCH_TARGET__"); CTargetManager::Instance().CreateTarget(ch->GetPlayerID(), SHOP_SEARCH_INDEX, "__SHOPSEARCH_TARGET__", TARGET_TYPE_VID_SHOP_SEARCH, dwSellerVID, 0, ch->GetMapIndex(), "Ticaret Camı", 1); if (CTargetManager::instance().GetTargetInfo(ch->GetPlayerID(), TARGET_TYPE_VID_SHOP_SEARCH, dwSellerVID)) ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("SHOP_SEARCH_SUCCESS_TARGET")); break; } case SHOP_SEARCH_TRADING: { if (ch->CountSpecifyItem(PRIVATE_SHOP_SEARCH_TRADING_GLASS) == 0) { const TItemTable* GlassTable = ITEM_MANAGER::instance().GetTable(PRIVATE_SHOP_SEARCH_TRADING_GLASS); if (GlassTable) ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("SHOP_SEARCH_WHERE_IS_ITEM"), GlassTable->szLocaleName); return; } ch->SetMyShopTime(); int ret = pkShop->Buy(ch, p->bPos, true); if (SHOP_SUBHEADER_GC_OK != ret) { TPacketGCShop pack; pack.header = HEADER_GC_SHOP; pack.subheader = static_cast<BYTE>(ret); pack.size = sizeof(TPacketGCShop); ch->GetDesc()->Packet(&pack, sizeof(pack)); } else ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("SHOP_SEARCH_OK")); break; } default: sys_err("ShopSearchBuy ch(%s) wrong state(%d)", ch->GetName(), bState); break; } }
pazar süresinin gözükmeme hatası fixi
Bugün Sistemi Kontrol Ettim Sistem Anlatımında Eksikler Var Bu Saat Gözükmeme Sorunu Ondan Kaynaklanıyor Senin Düzenlediğin Kod Sadece Gösteriş Olarak Duracaktır Orada Bir İşlevi Olmayacaktır. Yine de Uğraşın İçin Sağ ol Bu Sorunu Sadece Bir Kod Ekleyerek Çözebiliriz Aşağıda Paylaştım İsteyen Ekleyebilir.
uishop.py:def OnUpdate(self): USE_SHOP_LIMIT_RANGE = 1000 (x, y, z) = player.GetMainCharacterPosition() if abs(x - self.xShopStart) > USE_SHOP_LIMIT_RANGE or abs(y - self.yShopStart) > USE_SHOP_LIMIT_RANGE: self.Close() self.offlineShopWnd.UpdateTime() #Bu Kodu Ekliyoruz Bu Kadar
8236 eklentisini görüntüle
En son bir moderatör tarafından düzenlenmiş: