- #1
Konu Sahibi
: serkankacan
[FİX & REHBER] vSRO Thief Şehir İçi Kervan Malı Çalma Bug Fix
_AddLogItem (@Operation = 144) Üzerinden Güvenli Bölgede Pet Envanterine Kervan Malı Aktarımını Engelleme
_AddLogItem (@Operation = 144) Üzerinden Güvenli Bölgede Pet Envanterine Kervan Malı Aktarımını Engelleme
Merhaba değerli forum sakinleri,
vSRO sunucularında hırsız (Thief) oyuncuların en sık başvurduğu suistimallerden biri; şehir girişlerinde veya güvenli bölgelerde (Safe Zone / Town) düşen veya transfer edilen kervan mallarını binek/toplayıcı hayvanlarının (COS) envanterine alarak cezasız ve risksiz şekilde kaçırmalarıdır.
Aşağıda paylaşılan prosedür; Thief rolündeki bir oyuncu savaş alanı dışındaki güvenli bir bölgede (
IsBattleField = 0) petine kervan malı atmaya çalıştığı anda eşyayı tespit edip hem pet slotundan hem de veritabanından anında silerek hileyi tamamen geçersiz kılar.Önemli Uyarı' Alıntı:DİKKAT:
- Bu kontrol SRO_VT_LOG veritabanındaki **_AddLogItem** prosedürüne eklenmelidir.
@ItemSerialveID64alanları BIGINT olarak tanımlanmıştır; böylece yüksek ID'li sunucularda veri taşması (overflow) hatası yaşanmaz.- İşlem öncesinde SRO_VT_LOG yedeğinizi almayı unutmayınız.
Optimize Edilmiş _AddLogItem Prosedür Kodu
SRO_VT_LOG veritabanını açın, **Programmability -> Stored Procedures -> _AddLogItem** prosedürüne sağ tıklayıp **Modify** deyin.
AS satırının altına uygun bir yere şu bloğu ekleyin:
İçeriği görüntülemek için Giriş yapın veya Kayıt olun.
Yapılan İyileştirmeler Nelerdir?
- BIGINT Düzeltmesi: Eşya ID'si `int` yerine `bigint` yapılarak veri tabanı taşma hataları ve kilitlenmeler engellendi.
- WITH (NOLOCK) Koruması: Yoğun saatlerde eşya aktarımlarında veritabanı kilitlenmelerini (Deadlock) önlemek için sorguya tablo okuma kilit önleyicileri eklendi.
- Fiziksel Veri Temizliği: Sadece slotu `0` yapmak yerine `_Items` tablosundaki kayıt da silinerek haksız elde edilen eşyanın tamamen yok edilmesi sağlandı.
Nasıl Uygulanır?
- SQL Server Management Studio (SSMS) üzerinden `_AddLogItem` prosedürünü açın.
- Yukarıdaki kodu ekleyip F5 tuşuna basarak prosedürü güncelleyin.
- Herhangi bir GameServer restartına gerek kalmadan anında aktifleşir.
Sorularınızı ve takıldığınız noktaları konu altından sorabilirsiniz. Herkese keyifli ve adil oyunlar!
Moderatör tarafında düzenlendi:

