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

vSro Paylaşım vSRO Belirli Bir Eşyayı Tüm Sunucudan Silme

Cevaplar0
Görüntüleme14
Ticaret Puanı
0
Katılım
8 Eyl 2026
Mesajlar
88
Tepkime puanı
1
Puanları
0
Mevcut Bakiye
2960 ₺
[QUERY] vSRO Belirli Bir Eşyayı Tüm Sunucudan Silme
Envanter, Banka (Kasa), Guild Kasası ve Pet/COS Depolarından Toplu İtem Temizleme



Merhaba değerli forum sakinleri,

Sunucunuzda hatalı basılan, piyasayı bozan, bug ile çoğaltılan veya kaldırılmasına karar verilen herhangi bir eşyayı tüm oyunculardan tek seferde silmeniz gerekebilir.

Aşağıda paylaşılan SQL prosedürü; belirlediğiniz CodeName128 değerine ait eşyayı oyuncuların **çantasından (_Inventory)**, **kişisel kasasından (_Chest)**, **birlik deposundan (_GuildChest)** ve **toplayıcı pet / binek çantalarından (_InvCOS)** bularak slot referansını sıfırlar (ItemID = 0).

Önemli Uyarı' Alıntı:
DİKKAT:
  • Bu sorguyu çalıştırmadan önce mutlaka SRO_VT_SHARD yedeğinizi (Backup) alınız.
  • İşlemi uygulamadan önce oyuncuların oyunda olmaması (GameServer'ların kapalı olması) tavsiye edilir. Oyuncu oyundayken envanterde değişiklik yapılması durumunda sunucu senkronizasyonu bozulabilir veya oyuncu relog attığında eşya geri gelebilir.



Kullanım Adımları

  1. Microsoft SQL Server Management Studio (SSMS) programını açın.
  2. Üst menüden New Query butonuna tıklayın.
  3. Aşağıdaki kod bloğunu yapıştırın.
  4. SET @codename128 = 'ITEM KODUNU BURAYA YAZINIZ' satırındaki tırnak arasına silmek istediğiniz eşyanın tam kodunu yazın (Örnek: 'ITEM_ETC_SD_TOKEN_01').
  5. F5 tuşuna basarak veya Execute butonuna tıklayarak sorguyu çalıştırın.



SQL Query Kodu

SQL:
USE [SRO_VT_SHARD]
GO

-- Silinmek istenen eşyanın _RefObjCommon tablosundaki CodeName128 değeri
DECLARE @codename128 VARCHAR(128)
SET @codename128 = 'ITEM KODUNU BURAYA YAZINIZ'

-- 1. Oyuncu Çantalarından (Inventory) Silme
UPDATE _Inventory 
SET ItemID = 0
FROM _Inventory
JOIN _Items ON _Items.ID64 = _Inventory.ItemID
JOIN _RefObjCommon ON _Items.RefItemID = _RefObjCommon.ID
WHERE _RefObjCommon.CodeName128 = @codename128

-- 2. Kişisel Depolardan (Storage / Chest) Silme
UPDATE _Chest 
SET ItemID = 0
FROM _Chest
JOIN _Items ON _Items.ID64 = _Chest.ItemID
JOIN _RefObjCommon ON _Items.RefItemID = _RefObjCommon.ID
WHERE _RefObjCommon.CodeName128 = @codename128

-- 3. Guild Kasalarından (Guild Storage) Silme
UPDATE _GuildChest 
SET ItemID = 0
FROM _GuildChest
JOIN _Items ON _Items.ID64 = _GuildChest.ItemID
JOIN _RefObjCommon ON _Items.RefItemID = _RefObjCommon.ID
WHERE _RefObjCommon.CodeName128 = @codename128

-- 4. Toplayıcı Pet ve Binek (COS) Çantalarından Silme
UPDATE _InvCOS 
SET ItemID = 0
FROM _InvCOS
JOIN _Items ON _Items.ID64 = _InvCOS.ItemID
JOIN _RefObjCommon ON _Items.RefItemID = _RefObjCommon.ID
WHERE _RefObjCommon.CodeName128 = @codename128



Geliştirici / DB Notu:
Bu sorgu sadece ilgili depolardaki slot bağlantısını keser (ItemID = 0 yapar). Eğer tablolardaki artık/yetim kalan satırları temizlemek isterseniz, işlem sonrasında _Items tablosundaki sahipsiz kayıtları temizleyen bakım sorgularını da çalıştırabilirsiniz.

Takıldığınız veya eklemek istediğiniz alanları konu altından belirtebilirsiniz. Herkese iyi çalışmalar!
 

Konuyu görüntüleyenler

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