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

vSro Paylaşım vSRO Scroll ile Title (Rütbe / Hwan) Verme Sistemi

Cevaplar0
Görüntüleme6
Ticaret Puanı
0
Katılım
8 Eyl 2026
Mesajlar
88
Tepkime puanı
1
Puanları
0
Mevcut Bakiye
2960 ₺
[REHBER & SİSTEM] vSRO Scroll ile Title (Rütbe / Hwan) Verme Sistemi
_AddLogItem Tetikleyicisi Üzerinden Eşya Kullanıldığında Karakterin HwanLevel Seviyesini Değiştirme



Merhaba değerli forum sakinleri,

Silkroad Online sunucularında oyuncuların oyun içi mağazadan (Item Mall), etkinliklerden veya görevlerden elde ettikleri özel bir Scroll'a (parşömene) sağ tıkladıklarında karakterlerinin rütbesini (**Title / HwanLevel - Örn: Captain, General, Baronet, Baron, Count vb.**) otomatik olarak değiştirmesini sağlayabilirsiniz.

Bu sistem **SRO_VT_LOG** veritabanındaki **_AddLogItem** prosedürü üzerinden eşya tüketimini (@Operation = 41) yakalayarak çalışır.

Önemli Hatırlatma' Alıntı:
DİKKAT (Görsel Güncelleme):
  • Karakter oyundayken `_Char` tablosundaki `HwanLevel` değeri güncellendiğinde, rütbenin oyuncunun kafasında ve çevredeki oyuncularda anında belirmesi için karakterin ışınlanması (teleport) veya oyundan çıkıp tekrar girmesi (Relog) gerekir.
  • İşlem öncesinde SRO_VT_LOG ve SRO_VT_SHARD yedeklerinizi almayı unutmayınız.



1. ADIM: Standart Title (HwanLevel) Seviye Tablosu

Karaktere vermek istediğiniz rütbeye göre kullanmanız gereken standart `HwanLevel` değerleri şunlardır:

HwanLevel DeğeriCH (Çin) UnvanıEU (Avrupa) Unvanı
1Knight / CaptainKnight / Baronet2GeneralBaron
3ChampionCount
4HeroMarquis
5General Sonhyeon / vb.Duke

[TR]



2. ADIM: _AddLogItem Prosedürüne Eklenecek Kod

SRO_VT_LOG
veritabanını açın, **Programmability -> Stored Procedures -> _AddLogItem** prosedürüne sağ tıklayıp **Modify** deyin. AS bloğunun hemen altına aşağıdaki kodu entegre edin:

SQL:
-- ===================================================================
-- TITLE (HWAN LEVEL) DEĞİŞTİRME SCROLL TETİKLEYİCİSİ
-- @Operation = 41 (Eşya Sağ Tıklanarak Tüketildiğinde Tetiklenir)
-- ===================================================================
IF (@ItemRefID = 78646 AND @Operation = 41)
BEGIN
    -- 1. Karakterin rütbe seviyesini güncelle (Örnek: HwanLevel = 2 -> General / Baron)
    UPDATE SRO_VT_SHARD.dbo._Char 
    SET HwanLevel = 2 
    WHERE CharID = @CharID

    -- 2. İsteğe Bağlı: Karakterin oyundan anında DC alarak yeni unvanla girmesini sağlamak için:
    -- (Böylece rütbe anında aktifleşir ve bug oluşmaz)
    /*
    UPDATE SRO_VT_SHARD.dbo._User 
    SET Sec_Primary = 1 
    WHERE CharID = @CharID
    */
END



Çoklu Title Scroll'ları Tanımlamak İsterseniz (Örnek Yapı)

Farklı seviyedeki title scroll'larını tek bir `CASE` veya `IF - ELSE` bloğuyla yönetmek performansı korur:

SQL:
IF (@Operation = 41)
BEGIN
    -- Title 1 (Örn: Baronet / Captain)
    IF (@ItemRefID = 78646)
    BEGIN
        UPDATE SRO_VT_SHARD.dbo._Char SET HwanLevel = 1 WHERE CharID = @CharID
    END

    -- Title 2 (Örn: Baron / General)
    ELSE IF (@ItemRefID = 78647)
    BEGIN
        UPDATE SRO_VT_SHARD.dbo._Char SET HwanLevel = 2 WHERE CharID = @CharID
    END

    -- Title 3 (Örn: Count)
    ELSE IF (@ItemRefID = 78648)
    BEGIN
        UPDATE SRO_VT_SHARD.dbo._Char SET HwanLevel = 3 WHERE CharID = @CharID
    END
END



Nasıl Test Edilir?

  1. SQL kodunu `_AddLogItem` prosedürüne kaydedin (Execute / F5).
  2. 78646 numaralı eşyayı bir karaktere aktarın.
  3. Oyunda eşyaya sağ tıklayarak kullanın.
  4. Karakterinizle ışınlanın (Teleport) veya oyundan çıkıp tekrar girin; yeni unvanın karakter adınızın üzerinde sorunsuzca parladığını göreceksiniz.

Sorularınızı ve özel title/rütbe isteklerinizi konu altından iletebilirsiniz. Herkese keyifli geliştirmeler!
 

Konuyu görüntüleyenler

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