Genel Araştırma
'premium' etiketi için arama sonuçları.
Araştırmada 31 sonuç bulundu
-
Merhabalar. DB'ye switch premium eklemek istiyorum. İtem kodu gerekli. Yardımcı olan herkese şimdiden teşekkürler.
-
[Güncel] Kullanılan Premium Tipleri
Bir konuya OzkanOzdemir içerik ekledi : Gerekli Bilgi Paylaşımları
Oyun içerisinde sağ üst köşede gördüğünüz premium penceresindeki çeşitlerin tiplerini aşağıda bulabilirsiniz. WIZ_MYINFO ve WIZ_PREMIUM paketleri içerisinde karaktere premium bilgilerini gönderirken aşağıdaki tiplere göre göndereceksiniz. [HIDE][/HIDE]- 122 yanıt
-
- 12
-
- [güncel]
- kullanılan
-
(2 tane daha)
İle Etiketeklendi:
-
CREATE PROCEDURE [dbo].[SAVE_PREMIUM_SERVICE_USER] @strAccountID char(20), @strCharID char(20), @bType tinyint, @sTime smallint AS DECLARE @dtExpiry datetime SET @dtExpiry = DATEADD(HH, @sTime, GETDATE()) UPDATE TB_USER SET bPremiumType = @bType, dtPremiumTime = @dtExpiry, sHours = @sTime WHERE strAccountID = @strAccountID GO ----------- bunları yazdığımda Msg 137, Level 15, State 2, Line 11 Must declare the scalar variable "@bType". bu hatayı alıyorum yardımcı olurmusunuz
- 16 yanıt
-
- prosedürde
- hata
-
(1 tane daha)
İle Etiketeklendi:
-
Merhaba.. Sql 2014 Procedure den çeviremedim. ancak yapamadım. LOAD_PREMIUM_SERVICE_USER bool CDBAgent::LoadPremiumServiceUser(string & strAccountID, CUser *pUser) { if (pUser == nullptr) return false; unique_ptr dbCommand(m_AccountDB->CreateCommand()); if (dbCommand.get() == nullptr) return false; dbCommand->AddParameter(SQL_PARAM_INPUT, strAccountID.c_str(), strAccountID.length()); if (!dbCommand->Execute(_T("{CALL LOAD_PREMIUM_SERVICE_USER(?)}"))) { ReportSQLError(m_AccountDB->GetError()); return false; } if (!dbCommand->hasData()) return false; char strPremium[30]; memset(strPremium, 0, sizeof(strPremium)); uint8 bPremiumCount = 0; dbCommand->FetchByte(1, pUser->m_bPremiumInUse); dbCommand->FetchByte(2, bPremiumCount); dbCommand->FetchBinary(3, strPremium, sizeof(strPremium)); for (int i = 0, index = 0; i < bPremiumCount; i++, index += 5) { uint8 bPremiumType = *(uint8*)(strPremium + index); uint32 iPremiumTime = *(uint32*)(strPremium + index + 1); if (iPremiumTime < UNIXTIME) continue; _PREMIUM_DATA *pPremium = new _PREMIUM_DATA; pPremium->bPremiumType = bPremiumType; pPremium->iPremiumTime = iPremiumTime; if (!pUser->m_PremiumMap.PutData(bPremiumType, pPremium)) delete pPremium; } if (pUser->m_PremiumMap.GetSize() == 0) { _PREMIUM_DATA *pPremium = new _PREMIUM_DATA; pPremium->bPremiumType = PremiumTypes::Dummy_Premium; pPremium->iPremiumTime = uint32(UNIXTIME) + 24 * 60 * 60 * 2; if (!pUser->m_PremiumMap.PutData(pPremium->bPremiumType, pPremium)) delete pPremium; else pUser->m_bPremiumInUse = PremiumTypes::Dummy_Premium; } else { if (pUser->m_PremiumMap.GetData(pUser->m_bPremiumInUse) == nullptr) { pUser->m_bPremiumInUse = NO_PREMIUM; foreach_stlmap(itr, pUser->m_PremiumMap) { _PREMIUM_DATA * uPrem = itr->second; if (uPrem == nullptr || uPrem->iPremiumTime == 0) continue; pUser->m_bPremiumInUse = uPrem->bPremiumType; break; } } } // this is hardcoded because we don't really care about the other mode if (pUser->m_bPremiumInUse != NO_PREMIUM) pUser->m_bAccountStatus = 1; // normal premium with expiry time else pUser->m_bAccountStatus = 0; return true; } SAVE_PREMIUM_SERVICE_USER bool CDBAgent::SavePremiumServiceUser(CUser *pUser) { if (pUser == nullptr) return false; unique_ptr dbCommand(m_AccountDB->CreateCommand()); if (dbCommand.get() == nullptr) return false; int8 bRet = -2; // generic error char strPremium[30]; int index = 0; memset(strPremium, 0, sizeof(strPremium)); int counter = 0; uint32 time = 0; foreach_stlmap(itr, pUser->m_PremiumMap) { if (itr->second == nullptr || itr->second->iPremiumTime < UNIXTIME || itr->second->bPremiumType == PremiumTypes::Dummy_Premium) continue; if (time < itr->second->iPremiumTime) time = itr->second->iPremiumTime; *(uint8 *)(strPremium + index) = itr->first; *(uint32 *)(strPremium + 1 + index) = itr->second->iPremiumTime; index += 5; counter++; } if (time > uint32(UNIXTIME)) time = uint32(time - UNIXTIME); // total premium seconds left dbCommand->AddParameter(SQL_PARAM_OUTPUT, &bRet); dbCommand->AddParameter(SQL_PARAM_INPUT, pUser->GetAccountName().c_str(), pUser->GetAccountName().length()); dbCommand->AddParameter(SQL_PARAM_INPUT, (char *)strPremium, sizeof(strPremium), SQL_BINARY); if (!dbCommand->Execute(string_format(_T("{? = CALL SAVE_PREMIUM_SERVICE_USER(?, ?, %d, %d, %d)}"), counter, pUser->m_bPremiumInUse == PremiumTypes::Dummy_Premium ? 0 : pUser->m_bPremiumInUse, time))) ReportSQLError(m_AccountDB->GetError()); return true; }
-
Soacs premium user kontrolu ( stat ve skil sifirlama)
Bir konuya
xtermeiçerik ekledi : Prosedür & Query Kod Paylaşımlarıs.a arkadaşlar bi arkadasimiz yardim konusu acmis o yuzden bende burdan acarak yardimci olmayi dusundum. Örnek olarak ucretsiz stat skil ve premium kontolu olarak sadece premiumlara ozel stat akil sifirlama gosterecem. bir teşekkürü çok görmeyin :) Anlatıma geçelim; [Gizli İçerik] -
Merhaba arkadaşlar soacs'de npc'den premium kontrolü nasıl yaptırabiliriz mantıgını bilen veya yardımcı olabilecek arkadaş varsa çok sevinirim, benim aklıma gelen ilk şey prosedürle yapmak oldu fakat bi mantıgını gösterebilecek olursa çok sevinirim