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

vSro Paylaşım vSRO Godbless Silme (Buff Remover) Scroll Sistemi

Cevaplar0
Görüntüleme4
Ticaret Puanı
0
Katılım
8 Eyl 2026
Mesajlar
88
Tepkime puanı
1
Puanları
0
Mevcut Bakiye
2960 ₺
[REHBER & SİSTEM] vSRO Godbless Silme (Buff Remover) Scroll Sistemi
_AddLogItem ve _TimedJob Tablosu Üzerinden Aktif Godbless Buff'ını Anında ve Güvenle Kaldırma



Merhaba değerli forum sakinleri,

Silkroad Online sunucularında oyuncular mevcut **Godbless** buff'ını süresi bitmeden önce değiştirmek, kaldırmak veya farklı bir renkteki/türdeki Godbless buff'ını basabilmek isteyebilirler.

İnternette paylaşılan ham kodlarda sadece tablo silinip bırakıldığı için `GameServer` belleği yenilenmez, oyuncunun üzerindeki efekt kaybolmaz ve relog atıldığında buff geri gelebilir.

Aşağıda paylaşılan rehber sayesinde; önce karakter üzerindeki Godbless JobID değerini doğru tespit edebilir, ardından scroll kullanıldığında kaydı temizleyip karakteri otomatik DC ederek buff'ı eksiksiz şekilde kaldırabilirsiniz.

Önemli Sistem Uyarısı' Alıntı:
DİKKAT (Bellek Eşitlemesi & İşlem Kodu):
  • Eşyanın çanta içinde yere atılırken veya depoya konurken değil, yalnızca sağ tıklanarak tüketildiğinde çalışması için @Operation = 41 şartı zorunludur.
  • Veritabanından buff kaydı silindikten sonra sunucu belleğinin (RAM) sıfırlanması için oyuncu scroll'u bastığı an otomatik olarak oyundan düşürülür (DC edilir).
  • İşlem öncesinde SRO_VT_LOG ve SRO_VT_SHARD yedeklerinizi almayı unutmayınız.



1. ADIM: Karakterdeki Godbless JobID Değerini Tespit Etme

Karakterin üzerinde aktif olan süreli buff ve servislerin listesini görmek için öncelikle şu analiz sorgusunu çalıştırın:

SQL:
USE [SRO_VT_SHARD]
GO

-- ===================================================================
-- AKTİF SÜRELİ BUFF VE SERVİSLERİ SORGULAMA
-- ===================================================================
DECLARE @CharName VARCHAR(16) = 'KarakterNick' -- Üzerinde Godbless açık olan karakter

SELECT 
    TJ.CharID,
    TJ.Category,
    TJ.JobID,
    TJ.TimeToKeep,
    TJ.Data
FROM dbo._TimedJob TJ WITH (NOLOCK)
INNER JOIN dbo._Char C WITH (NOLOCK) ON C.CharID = TJ.CharID
WHERE C.CharName16 = @CharName

Gelen sonuçlar içerisindeki Godbless'a ait olan JobID değerini (Örn: 45017) not edin.



2. ADIM: _AddLogItem Tetikleyicisine Bağlama

SRO_VT_LOG
veritabanındaki **_AddLogItem** prosedürünü açın (Modify) ve AS satırının hemen altına aşağıdaki optimize bloğu ekleyin:

SQL:
-- ===================================================================
-- GODBLESS SİLME (BUFF REMOVER) SCROLL TETİKLEYİCİSİ
-- @Operation = 41 (Eşya Tüketimi)
-- 451224: Godbless Silici Parşömen RefItemID Değeri (Örnek)
-- 45017: _TimedJob Tablosundaki Godbless JobID Değeri (Örnek)
-- ===================================================================
IF (@Operation = 41 AND @ItemRefID = 451224)
BEGIN
    -- 1. _TimedJob tablosundaki Godbless kaydını sil
    DELETE FROM SRO_VT_SHARD.dbo._TimedJob 
    WHERE CharID = @CharID 
      AND JobID = 45017

    -- 2. KRİTİK: GameServer belleğindeki buff efektinin anında kalkması için DC et
    UPDATE SRO_VT_SHARD.dbo._User 
    SET Sec_Primary = 1 
    WHERE CharID = @CharID
END



Nasıl Test Edilir?

  1. SQL kodundaki @ItemRefID (Scroll ID) ve JobID değerlerini kendi veritabanınıza göre düzenleyip prosedürü derleyin (F5 / Execute).
  2. Karakterinizle oyuna girip Godbless buff'ını açın (karakterin parıldadığını doğrulayın).
  3. Hazırladığınız 451224 ID'li silici parşömene sağ tıklayarak kullanın.
  4. Karakteriniz anında oyundan düşecektir (Disconnect).
  5. Oyuna tekrar bağlandığınızda Godbless efektinin ve ek özelliklerinin karakterden başarıyla silindiğini göreceksiniz.

Sorularınızı ve takıldığınız noktaları konu altından iletebilirsiniz. Herkese keyifli geliştirmeler!
 

Konuyu görüntüleyenler

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