Jump to content
Araştır
  • Diğer seçenekler ...
Sonuçları bul ...
Sonuçları bul ...

Genel Araştırma

'depo' etiketi için arama sonuçları.

  • Etiketlere Göre Ara

    Aralarına virgül koyarak ekleyin
  • Yazara Göre Ara

İçerik Türü


Forum

  • PvP Serverlar
    • Server Tanıtımı
    • Server Kurulumu
    • Server Muhabbeti
  • Forum Genel
    • Forum Kuralları
    • Duyurular
    • Şikayet ve Öneriler
    • Geliştirici Paylaşımları
    • English Forum
  • Satış
    • Alım & Satım
  • Mini KO Forum (Yardım & İstek)
    • Genel Yardım
    • Genel İstek
  • KO Development
    • Geliştirme (Yeni)
    • Paketler
    • Özel Paylaşımlar
    • Projeler
    • Knight Online Kaynak Kod Paylaşımı
  • Knight OnLine Paylaşım Forum
    • Genel Paylaşımlar
    • Client Paylaşımları
    • Database Paylaşımları
    • Server Dosyası Paylaşımları
    • Prosedür & Query Kod Paylaşımları
    • Web Dosyası Paylaşımları
    • Yardımcı Program Paylaşımları
    • Gerekli Bilgi Paylaşımları
  • Hile paylaşımları
  • Programlama
  • Online Oyunlar
  • Ticaret
  • Webmaster
  • KO Developers Gazinosu
  • Kişisel
  • Diğer

Sonuçları bul ...

Sonuçları bul ...


Oluşturma Tarihi

  • Start

    End


Son Güncelleme

  • Start

    End


Filter by number of...

Katılım

  • Start

    End


Üye Grubu


Hakkımda

Araştırmada 1 sonuç bulundu

  1. Merhaba... VipStorage Depo itemleri koyunca bi kaç siliniyor Sonra item süresi eski tarih gösteriyor. 1.Soru : Cevap: Anahtar eklemiştim tarih doğru verildi. 2.Soru : Cevap : 2 tanesi item koydum.. Sonrada kapattım tekrar açınca Sonrada 3. Soru: Cevap : item süresi oluyo neden. CDBAgent-> LoadWarehouseDataVip bool CDBAgent::LoadWarehouseDataVip(string & strAccountID, CUser *pUser) { char strVIPItem[VIPSTORAGE_MAX * 12], strVIPSerial[VIPSTORAGE_MAX * 8]; unique_ptr dbCommand(m_GameDB->CreateCommand()); if (dbCommand.get() == nullptr) return false; if (pUser == nullptr || pUser->m_bLogout) return false; dbCommand->AddParameter(SQL_PARAM_INPUT, strAccountID.c_str(), strAccountID.length()); if (!dbCommand->Execute(_T("SELECT strVIPItem, strVIPSerial, VIPStorePassword, VIPStoreMinute FROM VIP_WAREHOUSE WHERE strAccountID = ?"))) ReportSQLError(m_GameDB->GetError()); if (!dbCommand->hasData()) return false; memset(strVIPItem, 0x00, sizeof(strVIPItem)); memset(strVIPSerial, 0x00, sizeof(strVIPSerial)); dbCommand->FetchBinary(1, strVIPItem, sizeof(strVIPItem)); dbCommand->FetchBinary(2, strVIPSerial, sizeof(strVIPSerial)); dbCommand->FetchString(3, pUser->VIPStorePassword); dbCommand->FetchUInt32(54, pUser->nVIPExpirationTime); ByteBuffer VitemBuffer, VserialBuffer, VitemExBuffer; VitemBuffer.append(strVIPItem, sizeof(strVIPItem)); VserialBuffer.append(strVIPSerial, sizeof(strVIPSerial)); memset(pUser->m_sVIPItemArray, 0x00, sizeof(pUser->m_sVIPItemArray)); for (int i = 0; i { uint64 nSerialNum; uint32 nItemID; int16 sDurability, sCount; VitemBuffer >> nItemID >> sDurability >> sCount; VserialBuffer >> nSerialNum; _ITEM_TABLE *pTable = g_pMain->GetItemPtr(nItemID); if (pTable == nullptr || sCount continue; if (!pTable->m_bCountable && sCount > 1) sCount = 1; else if (sCount > ITEMCOUNT_MAX) sCount = ITEMCOUNT_MAX; pUser->m_sVIPItemArray[i].nNum = nItemID; pUser->m_sVIPItemArray[i].sDuration = sDurability; pUser->m_sVIPItemArray[i].sCount = sCount; pUser->m_sVIPItemArray[i].nSerialNum = nSerialNum; UserItemSealMap::iterator sealitr = pUser->m_sealedItemMap.find(nSerialNum); if (sealitr != pUser->m_sealedItemMap.end()) { if (sealitr->second->bSealType == 1) pUser->m_sVIPItemArray[i].bFlag = ITEM_FLAG_SEALED; else if (sealitr->second->bSealType == 3) pUser->m_sVIPItemArray[i].bFlag = ITEM_FLAG_BOUND; } if (g_pMain->IsDuplicateItem(nItemID, nSerialNum)) pUser->m_sVIPItemArray[i].bFlag = ITEM_FLAG_DUPLICATE; } return true; } CDBAgent-> UpdateWarehouseDataVip bool CDBAgent::UpdateWarehouseDataVip(string & strAccountID, UserUpdateType type, CUser *pUser) { if (strAccountID.length() == 0) return false; unique_ptr dbCommand(m_GameDB->CreateCommand()); if (dbCommand.get() == nullptr) return false; if (type == UPDATE_LOGOUT || type == UPDATE_ALL_SAVE) pUser->m_dwTime = 0; // This *should* be padded like the database field is (unnecessarily), but I want to see how MSSQL responds. ByteBuffer strVIPItem, strVIPSerial; for (int i = 0; i { _ITEM_DATA *pItem = &pUser->m_sVIPItemArray[i]; strVIPItem nNum sDuration sCount; strVIPSerial nSerialNum; } dbCommand->AddParameter(SQL_PARAM_INPUT, (char *)strVIPItem.contents(), strVIPItem.size(), SQL_BINARY); dbCommand->AddParameter(SQL_PARAM_INPUT, (char *)strVIPSerial.contents(), strVIPSerial.size(), SQL_BINARY); dbCommand->AddParameter(SQL_PARAM_INPUT, strAccountID.c_str(), strAccountID.length()); if (!dbCommand->Execute(string_format(_T("UPDATE VIP_WAREHOUSE SET strVIPItem=?, strVIPSerial=? , VIPStoreMinute=%d WHERE strAccountID=?"), pUser->nVIPExpirationTime))) { ReportSQLError(m_GameDB->GetError()); return false; } return true; } Sloth hesaplamıştım eğer yanlış varsa Söyle VIPSTORAGE_MAX 48 char strVIPItem[VIPSTORAGE_MAX * 12], strVIPSerial[VIPSTORAGE_MAX * 8]; 48 * 12 = 576 48 * 8 = 384 CREATE TABLE [dbo].[VIP_WAREHOUSE]( [strAccountID] [char](21) NOT NULL, [strUserID] [char](21) NULL, [strVIPItem] [binary](576) NULL, [strVIPSerial] [binary](384) NULL, [VIPStorePassword] [char](4) NOT NULL, [VIPStoreMinute] [int] NOT NULL, CONSTRAINT [PK_WAREHOUSE_VIP] PRIMARY KEY CLUSTERED ( [strAccountID] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] GO ALTER TABLE [dbo].[VIP_WAREHOUSE] ADD CONSTRAINT [DF_VIP_WAREHOUSE_VIPStorePassword_1] DEFAULT ('0') FOR [VIPStorePassword] GO ALTER TABLE [dbo].[VIP_WAREHOUSE] ADD CONSTRAINT [DF_VIP_WAREHOUSE_VIPStoreMinute_1] DEFAULT ((0)) FOR [VIPStoreMinute] GO DB Deki VIP_WAREHOUSE http://prntscr.com/hs3sh1 DB Kayıtladı İyi Çalışmalar Ko-kodevelopers.Com
×
×
  • Yeni Oluştur...