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

vSro Paylaşım vSRO Tek Kodla Karakter Full Ayarlama & İtem Verme

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 & QUERY] vSRO Tek Kodla Karakter Full Ayarlama & İtem Verme
Seviye, Stat, SP, Gold, Rütbe, Konum ve Otomatik İtem Tanımlama Query'si



Merhaba değerli forum sakinleri,

Test sunucularında veya GM karakterleri hazırlarken tek tek karakterle oyuna girip level kasmak, stat vermek ve item aramak yerine; tek bir SQL sorgusuyla karakterin seviyesini, stat puanlarını, altınını, SP'sini, rütbesini (Title) ve çantasını fulleyip üstüne istediğiniz eşyayı gönderebilirsiniz.

Kritik Güvenlik Uyarısı' Alıntı:
DİKKAT:
  • Orijinal paylaşımlarda WHERE şartı unutulduğu için sorgu çalıştırıldığında sunucudaki tüm oyuncuların verileri değişmekteydi. Aşağıdaki optimize sorguya tekil karakter filtresi (@CharName) eklenmiştir.
  • Karakterin bu güncellemeleri hatasız alabilmesi için kesinlikle oyunda olmaması (Offline/Exit) gerekir. Karakter oyundayken çalıştırırsanız GameServer bellek verisini tekrar DB'ye yazarak işlemi bozar.
  • İşlem öncesinde SRO_VT_SHARD yedeğinizi almayı unutmayınız.



Hatasız & Güvenli SQL Query Kodu

SQL:
USE [SRO_VT_SHARD]
GO

-- ===================================================================
-- 1. ADIM: AYARLAR (Hedef Karakter ve Değerler)
-- ===================================================================
DECLARE @CharName VARCHAR(16) = 'CharNickYazin' -- Güncellenecek Karakter Adı

-- Karakterin var olup olmadığını kontrol et
IF NOT EXISTS (SELECT 1 FROM dbo._Char WHERE CharName16 = @CharName)
BEGIN
    RAISERROR('HATA: Belirtilen karakter veritabanında bulunamadı!', 16, 1)
    RETURN
END

-- ===================================================================
-- 2. ADIM: KARAKTER TABLOSUNU GÜNCELLE (_Char)
-- ===================================================================
UPDATE dbo._Char
SET 
    CurLevel        = 90,           -- Karakter Seviyesi
    MaxLevel        = 90,           -- Ulaşılan Maksimum Seviye
    Strength        = 300,          -- STR Değeri
    Intellect       = 300,          -- INT Değeri
    RemainGold      = 2000000000,   -- 2B Gold (Maksimum sınır güvenliği)
    RemainSkillPoint= 5000000,      -- 5M SP
    RemainStatPoint = 0,            -- Boştaki Stat Puanı
    HwanLevel       = 5,            -- Rütbe (Title Seviyesi)
    InventorySize   = 108,          -- Maksimum Çanta Kapasitesi (3 Sayfa Tam Açık)
    LatestRegion    = 25000,        -- Jangan Şehir İçi Bölge Kodu
    PosX            = 969.0,        -- Jangan X Koordinatı
    PosY            = 0.0,          -- Jangan Y Koordinatı
    PosZ            = 1369.0,       -- Jangan Z Koordinatı
    AppointedTeleport = 2094        -- Spawn Noktası Referansı
WHERE CharName16 = @CharName;

-- ===================================================================
-- 3. ADIM: KARAKTERE EŞYA GÖNDERME (_ADD_ITEM_EXTERN)
-- Kullanım: EXEC _ADD_ITEM_EXTERN 'KarakterNick', 'ItemKodu', Adet, Artı(+)
-- ===================================================================
-- Örnek 1: +12 Sun 11 Dg Spear
EXEC dbo._ADD_ITEM_EXTERN @CharName, 'ITEM_CH_SPEAR_11_A_RARE', 1, 12;

-- Örnek 2: 11 Adet Global Chatting
EXEC dbo._ADD_ITEM_EXTERN @CharName, 'ITEM_MALL_GLOBAL_CHATTING', 11, 0;

-- Örnek 3: 50 Adet Reverse Return Scroll
EXEC dbo._ADD_ITEM_EXTERN @CharName, 'ITEM_MALL_REVERSE_RETURN_SCROLL', 50, 0;

PRINT '====================================================='
PRINT 'BAŞARILI: ' + @CharName + ' adlı karakter başarıyla fullendi ve eşyaları teslim edildi!'
PRINT '====================================================='



Yapılan İyileştirmeler Nelerdir?

  1. Karakter Güvenliği (WHERE Şartı): Sorgunun tüm veritabanındaki oyuncuları bozması engellendi; işlem yalnızca en başta tanımladığınız @CharName karakterine uygulanır.
  2. Envanter Sınırı (108 Slot): Silkroad çanta yuvası sınırı 108'dir. 109 değeri istemcide slot taşmalarına ve eşyaların kaybolmasına yol açabildiği için stabil limit olan 108'e çekildi.
  3. Gold Taşma Koruması: Silkroad motorunda maksimum taşınabilir altın miktarı integer sınırına tabidir. Taşma (overflow) yaşanmaması için 2 Milyar Gold olarak sabitlendi.
  4. Dinamik Eşya Dağıtımı: _ADD_ITEM_EXTERN fonksiyonuna doğrudan üstteki değişken bağlanarak tek tek isim yazma zahmeti ortadan kaldırıldı.



Nasıl Uygulanır?

  1. Hedef karakterin oyundan tamamen çıkış yaptığından emin olun (Offline).
  2. SQL Server Management Studio (SSMS) programını açıp New Query deyin.
  3. Yukarıdaki SQL kodunu yapıştırın.
  4. En üstteki @CharName = 'CharNickYazin' kısmına karakterinizin tam adını yazın.
  5. F5 tuşuna basarak sorguyu çalıştırın.
  6. Karakterle oyuna giriş yaptığınızda Jangan'da ful özellikleri ve çantasındaki eşyalarıyla hazır olduğunu göreceksiniz.

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

Konuyu görüntüleyenler

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