- #1
Konu Sahibi
: serkankacan
[SİSTEM & PROSEDÜR] vSRO Gelişmiş Dinamik Model & Glow Switcher Sistemi
Tablo Bağımsız, Kod Adı (CodeName) Formatı Üzerinden Anlık Silah Modeli ve Parlama Efekti Değiştirme
Tablo Bağımsız, Kod Adı (CodeName) Formatı Üzerinden Anlık Silah Modeli ve Parlama Efekti Değiştirme
Merhaba değerli forum sakinleri,
Silkroad Online sunucularında en popüler bağış / coin mağazası özelliklerinden biri **Model ve Glow Switcher (Görünüm ve Parlama Değiştirici)** parşömenleridir. Geleneksel yöntemlerde her eşyanın geçişini tek tek bir SQL eşleştirme tablosuna satır satır yazmak binlerce satırlık hantal bir iş yükü doğurur.
Bu sistemde; eşyalarınızı belirli bir Joymax kodlama standardına göre (
_MODELxx ve _LOOKxx) eklediğiniz takdirde, araya hiçbir ara tablo koymadan **tek bir dinamik T-SQL prosedürü** ile oyuncuların 1. envanter slotundaki (Slot 13) silahlarının modelini ve parlamasını dönüştürebilirsiniz.Eşya Kodlama Standardı (Hayati Kural)' Alıntı:Sistemin dinamik string parçalama mantığıyla hatasız çalışabilmesi için veritabanına ekleyeceğiniz modellerin ve parlamaların şu formatta olması zorunludur:
Format her zaman önce `_MODELxx`, en sonda ise `_LOOKxx` olacak şekilde bitmelidir.
- Orijinal Taban Eşya:
ITEM_EU_TSTAFF_11_A_RARE- Sadece Model Değişimi:
ITEM_EU_TSTAFF_11_A_RARE_MODEL01- Sadece Parlama (Glow) Değişimi:
ITEM_EU_TSTAFF_11_A_RARE_LOOK01- Hem Model Hem Parlama:
ITEM_EU_TSTAFF_11_A_RARE_MODEL01_LOOK01
Hatasız & Güvenli Switcher Prosedürü
Prosedürünüzü barındırdığınız yardımcı veritabanında (Örn:
SRO_VT_SHARD veya Promaker) aşağıdaki optimize prosedürü derleyin:
İçeriği görüntülemek için Giriş yapın veya Kayıt olun.
Neden Bu Optimize Versiyon Kullanılmalı?
- Arithmetic Overflow Engellendi: Eşya benzersiz kimliği olan
ID64değişkeniBIGINTyapılarak yüksek envanter sayılı sunucularda prosedürün patlaması önlenmiştir. - Çift Yönlü Dinamik Koruma: Oyuncu önce Glow basıp ardından Model bastığında (veya tam tersi) eski parlama veya model kaybolmaz; kod her iki eki de bağımsız ayrıştırıp birleştirir.
- RAM Senkronizasyonu & Anti-Rollback: Eşya dönüştüğü an karakter güvenle oyundan düşürülür (
Sec_Primary = 1). Böylece oyuncu oyuna girdiğinde yeni modeli gecikmesiz ve sorunsuz olarak görür. - Crash Koruması: Eğer ilgili model veritabanında (
_RefObjCommon) tanımlı değilse veyaService = 0ise işlem durdurulur ve GameServer çökmesi engellenir.
Nasıl Uygulanır & Test Edilir?
- SQL Server Management Studio (SSMS) programında yukarıdaki prosedürü derleyin.
- Parşömene tıklandığında bu prosedürün tetiklenmesi için MaxiGuard / TimedJob tetikleyicinize
EXEC dbo._Switchers @CharID, @JobIDkomutunu bağlayın. - Dönüştürmek istediğiniz silahı çantanızın **1. Slotuna (Slot 13)** yerleştirin.
- Model veya Glow Switcher parşömenine sağ tıklayın.
- Karakterinizin anında oyundan düştüğünü, tekrar giriş yaptığınızda silahın statları, artısı (+), adv'si ve bluesu bozulmadan yalnızca dış görünümünün ve efektinin değiştiğini test edin.
Sorularınızı ve takıldığınız yerleri konu altından paylaşabilirsiniz. Herkese keyifli geliştirmeler!
Moderatör tarafında düzenlendi:

