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

vSro Paylaşım vSRO Forgotten World (FGW) Bekleme Süresi Sıfırlama Scroll'u

Cevaplar0
Görüntüleme7
Ticaret Puanı
0
Katılım
8 Eyl 2026
Mesajlar
88
Tepkime puanı
1
Puanları
0
Mevcut Bakiye
2960 ₺
[REHBER & SİSTEM] vSRO Forgotten World (FGW) Bekleme Süresi Sıfırlama Scroll'u
_AddLogItem Tetikleyicisi ve _TimedJob Tablosu Üzerinden FGW Cooldown Resetleme



Merhaba değerli forum sakinleri,

Silkroad Online sunucularında oyuncuların **Forgotten World (FGW - Kayıp Dünya)** zindanlarına girdikten sonra standart olarak beklemek zorunda kaldıkları 5 veya 24 saatlik giriş bekleme süresini (Cooldown) sıfırlayabilmeleri için **FGW Time Reset Scroll** sistemi kullanılır.

Aşağıda paylaşılan prosedür; oyuncu parşömene sağ tıkladığında _TimedJob tablosundaki FGW zindan kısıtlama sayacını temizler ve `GameServer` belleğini sıfırlamak için karakteri güvenle oyundan düşürür (DC eder).

Önemli Uyarı' Alıntı:
DİKKAT (Bellek Eşitlemesi):
  • FGW bekleme süreleri `GameServer` hafızasında anlık tutulur. Veritabanından kayıt silindikten sonra sayacın sıfırlandığını sunucunun algılaması için karakter anında DC edilir.
  • İşlem öncesinde SRO_VT_LOG ve SRO_VT_SHARD yedeklerinizi almayı unutmayınız.



1. ADIM: _FGW_TIME_RESET Prosedürünü Oluşturma

SRO_VT_LOG
veritabanını seçip aşağıdaki temizleme prosedürünü derleyin:

SQL:
USE [SRO_VT_LOG]
GO

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

CREATE OR ALTER PROCEDURE dbo._FGW_TIME_RESET
    @CharID INT
AS
BEGIN
    SET NOCOUNT ON;

    -- 1. _TimedJob tablosundaki FGW Zindan Kısıtlama Kayıtlarını Sil
    -- vSRO'da FGW Cooldown işi genellikle Category = 5 veya JobID referansıyla tutulur.
    DELETE FROM SRO_VT_SHARD.dbo._TimedJob
    WHERE CharID = @CharID 
      AND Category = 5 -- FGW World Cooldown Kategorisi

    -- 2. KRİTİK: Sayacın GameServer belleğinde sıfırlanması için karakteri DC et
    UPDATE SRO_VT_SHARD.dbo._User 
    SET Sec_Primary = 1 
    WHERE CharID = @CharID
END
GO



2. ADIM: _AddLogItem Tetikleyicisine Bağlama

SRO_VT_LOG
içerisindeki **_AddLogItem** prosedürünü açarak (Modify) AS satırının altına tetikleyici bloğunu ekleyin:

SQL:
-- ===================================================================
-- FGW TIME RESET SCROLL TETİKLEYİCİSİ
-- @Operation = 41 (Eşya Tüketimi)
-- 70004 (FGW Time Reset Scroll RefItemID Değeri)
-- ===================================================================
IF (@Operation = 41 AND @ItemRefID = 70004)
BEGIN
    EXEC SRO_VT_LOG.dbo._FGW_TIME_RESET @CharID
END



Nasıl Test Edilir?

  1. SQL prosedürünü Management Studio üzerinden derleyin (F5 / Execute).
  2. Herhangi bir FGW boyut taşı (Dimension Hole) kullanarak bir zindana girip çıkın (Karakterinizde bekleme süresi oluşsun).
  3. 70004 ID'li parşömene sağ tıklayarak kullanın.
  4. Karakteriniz anında oyundan düşecektir (Disconnect).
  5. Oyuna tekrar giriş yaptığınızda bekleme süresinin kalktığını ve anında yeni bir FGW taşı basabildiğinizi göreceksiniz.

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

Konuyu görüntüleyenler

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