İçeriğe geç
Türkiye'nin SRO tanıtım & topluluk platformu

vSro Paylaşım vSRO Çantadaki Eşya/Adet Sorgulama ve Aktif SC (Buff) Silme

Cevaplar0
Görüntüleme5
Ticaret Puanı
0
Katılım
8 Eyl 2026
Mesajlar
88
Tepkime puanı
1
Puanları
0
Mevcut Bakiye
2960 ₺
[YÖNETİCİ REHBERİ] vSRO Çantadaki Eşya/Adet Sorgulama ve Aktif SC (Buff) Silme
_Inventory, _Items ve _TimedJob Tabloları Üzerinden Oyuncu Yönetimi



Merhaba değerli forum sakinleri,

Sunucunuzda oyuncu destek taleplerinde (ticket), incelemelerde veya bug kontrollerinde iki işlemle sıkça karşılaşırsınız:
  1. Karakterin çantasında belirli bir item var mı, kaç adet ve kaç artı basılı?
  2. Karakterin üzerinde basılı olan süreli buff/scroll (Damage, Def, Hız, Premium, Godbless vb.) etkilerini silme.

Aşağıda her iki işlem için optimize edilmiş, temiz ve güvenli SQL sorgularını bulabilirsiniz.

Önemli Uyarı' Alıntı:
DİKKAT:
  • Karakter üzerinde silme veya düzenleme işlemi yaparken oyuncunun kesinlikle oyunda olmaması (OFFLINE) gerekir. Oyuncu online iken veritabanından veri silinirse sunucu hafızası ile DB senkronizasyonu bozulur ve oyuncu oyundan çıktığında eski veriler tekrar DB'ye yazılabilir.
  • İşlem öncesinde SRO_VT_SHARD yedeğinizi almayı unutmayınız.



1. BÖLÜM: Karakterin Çantasındaki İtemi, Adedini ve Artısını Öğrenme

Aşağıdaki sorgu ile hem karakter adına hem de aradığınız itemin kod adına göre filtreleme yapabilirsiniz. Sorgu; itemin kaçıncı slotta olduğunu, artı değerini (`Plus`) ve adet miktarını (`Adet`) listeler:

SQL:
USE [SRO_VT_SHARD]
GO

-- ===================================================================
-- ÇANTA İTEM & ADET SORGULAMA
-- ===================================================================
DECLARE @CharName VARCHAR(16)  = 'OYUNDAKIKARAKTERINADI' -- İncelemek istediğiniz karakter adı
DECLARE @ItemCode VARCHAR(128) = '%ITEM_ETC_SD_TOKEN%'   -- Aramak istediğiniz eşya kodu parçası

SELECT 
    CH.CharName16,
    INV.Slot AS [CantaSlotu],
    REF.CodeName128 AS [ItemKodu],
    IT.OptLevel AS [Plus],
    CASE 
        WHEN IT.Data = 0 THEN 1 
        ELSE IT.Data 
    END AS [Adet],
    IT.ID64 AS [ItemSerialID]
FROM dbo._Char CH
INNER JOIN dbo._Inventory INV ON INV.CharID = CH.CharID
INNER JOIN dbo._Items IT ON IT.ID64 = INV.ItemID
INNER JOIN dbo._RefObjCommon REF ON REF.ID = IT.RefItemID
WHERE CH.CharName16 = @CharName
  AND REF.CodeName128 LIKE @ItemCode
ORDER BY INV.Slot ASC



2. BÖLÜM: Karakterde Basılı Olan Süreli SC / Buffları Silme

Zaman sınırlı efektler, scrollar, damage/def artırıcılar ve premium süreleri _TimedJob tablosunda tutulur.

Yöntem A: Karakterdeki TÜM Aktif Scroll ve Buffları Temizleme
Oyuncunun üzerindeki tüm süreli etkileri tamamen sıfırlamak için kullanılır:

SQL:
USE [SRO_VT_SHARD]
GO

-- Karakterin üzerindeki tüm basılı süreli SC / Buffları kaldırır
DELETE FROM dbo._TimedJob 
WHERE CharID = (SELECT CharID FROM dbo._Char WHERE CharName16 = 'OYUNDAKIKARAKTERINADI')

Yöntem B: Sadece Belirli Bir Scroll / Buff Etkisini Silme
Önce karakterin üzerinde hangi buffların basılı olduğunu listeleyip yalnızca sorunlu olanı silmek isterseniz:

SQL:
USE [SRO_VT_SHARD]
GO

-- 1. ADIM: Karakterde aktif olan buffları ve JobID'leri gör
SELECT TJ.ID, TJ.JobID, TJ.TimeToKeep, SK.CodeName128
FROM dbo._TimedJob TJ
JOIN dbo._Char CH ON CH.CharID = TJ.CharID
LEFT JOIN dbo._RefSkill SK ON SK.ID = TJ.JobID
WHERE CH.CharName16 = 'OYUNDAKIKARAKTERINADI'

-- 2. ADIM: Listeden tespit ettiğiniz tekil ID'yi silin (Örn: ID = 12345)
DELETE FROM dbo._TimedJob 
WHERE ID = 12345



Nasıl Uygulanır?

  1. Oyuncunun oyundan çıkış yaptığından (Disconnect/Offline) emin olun.
  2. SQL Server Management Studio (SSMS) programında New Query penceresi açın.
  3. İlgili sorgudaki @CharName veya OYUNDAKIKARAKTERINADI alanını güncelleyip F5 ile çalıştırın.
  4. İşlem tamamlandığında oyuncu oyuna girdiğinde yapılan değişiklikler hemen geçerli olacaktır (Bu işlem için GameServer restart gerekmez).

Sorularınızı ve takıldığınız yerleri bu konu altından paylaşabilirsiniz. Herkese iyi forumlar!
 

Konuyu görüntüleyenler

Yükleniyor...
Yükleniyor...
Etiketler
Etiketler Etiketler
buff database item sql sorgu vsro
Şu anda sitemizde 40,458 Aktif Kullanıcı
Çevrimiçi üyeler
Konular 1,311
Mesajlar 4,191
Kullanıcılar 1,624
Son üye mrt
Geri
Üst