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

vSro Paylaşım vSRO İki El Silahlarda Kalkan Takma (2H Shield Bug) Fix

Cevaplar0
Görüntüleme2
Ticaret Puanı
0
Katılım
8 Eyl 2026
Mesajlar
88
Tepkime puanı
1
Puanları
0
Mevcut Bakiye
2960 ₺
[GÜVENLİK & BUG FİX] vSRO İki El Silahlarda Kalkan Takma (2H Shield Bug) Fix
_RefObjItem Tablosu Üzerinden Tüm İki El Silahların TwoHanded Parametresini Güncelleme



Merhaba değerli forum sakinleri,

Silkroad Online sunucularında özellikle Warrior (Two-Handed Sword, Dual Axe), Wizard (Staff), Rogue (Crossbow) ve Çin sınıflarında (Bow, Glavie, Spear) oyuncuların iki el ile taşınması gereken silahların yanına makro, hızlı slot değişimi veya paket gönderimiyle **Kalkan (Shield)** takabilmesi ciddi bir PvP dengesizliği yaratır. Karakter hem iki el silahın yüksek hasarını vurur hem de kalkanın block/defans avantajından faydalanır.

Eski paylaşımlarda tek bir eşya ID'si (`20029`) verilip geçildiği için diğer silahlarda açık devam eder. Aşağıdaki sorgu sunucunuzdaki **istisnasız tüm iki el silahları** tespit ederek tek seferde koruma altına alır.

Teknik Bilgilendirme & İki El Silah Tipleri' Alıntı:
  • Çin (CH) İki El Silahlar: Spear, Glavie, Bow
  • Avrupa (EU) İki El Silahlar: Two-Handed Sword (2H), Dual Axe, Crossbow, Staff
  • TwoHanded = 1: Bu parametre 1 olduğunda sunucu sol el slotuna (Shield/Arrow) ikinci bir ana eşya takılmasına izin vermez.
  • İşlem öncesinde SRO_VT_SHARD yedeğinizi almayı unutmayınız.



Hatasız & Tüm Silahları Kapsayan SQL Fix Sorgusu

SRO_VT_SHARD
veritabanını seçip aşağıdaki optimize bloğu çalıştırın:

SQL:
USE [SRO_VT_SHARD]
GO

-- ===================================================================
-- TÜM İKİ EL SİLAHLARDA KALKAN BUGUNU FİXLEME (TwoHanded = 1)
-- ===================================================================

UPDATE ROI
SET ROI.TwoHanded = 1
FROM dbo._RefObjItem ROI
INNER JOIN dbo._RefObjCommon ROC ON ROC.Link = ROI.ID
WHERE ROC.Service = 1
  AND (
      -- ÇİN İKİ EL SİLAHLAR
      ROC.CodeName128 LIKE 'ITEM_CH_SPEAR%'       -- Mızrak (Spear)
      OR ROC.CodeName128 LIKE 'ITEM_CH_BLUNT%'    -- Glavie
      OR ROC.CodeName128 LIKE 'ITEM_CH_BOW%'      -- Yay (Bow)
      
      -- AVRUPA İKİ EL SİLAHLAR
      OR ROC.CodeName128 LIKE 'ITEM_EU_2HSWORD%'  -- Two-Handed Sword
      OR ROC.CodeName128 LIKE 'ITEM_EU_AXE%'      -- Dual Axe (Çift Balta)
      OR ROC.CodeName128 LIKE 'ITEM_EU_CROSSBOW%' -- Crossbow
      OR ROC.CodeName128 LIKE 'ITEM_EU_STAFF%'    -- Wizard Asası (Staff)
  )
  AND ROI.TwoHanded <> 1

PRINT '====================================================='
PRINT 'BAŞARILI: İki el silahların TwoHanded parametresi 1 olarak güncellendi!'
PRINT 'Değişikliklerin aktif olması için GameServer yeniden başlatılmalıdır.'
PRINT '====================================================='



Client (Media.pk2) Senkronizasyonu

Sunucu tarafında kalkan takılması engellense de, oyuncuların arayüzde görsel çakışma (desync) yaşamaması için istemci dosyasını güncellemeniz tavsiye edilir:

  1. PK2 editörü ile Media.pk2 dosyanızı açın.
  2. server_dep\silkroad\textdata\ dizininden silahların bulunduğu itemdata_xxx.txt dosyalarını dışarı aktarın.
  3. Yukarıdaki iki el silahların TwoHanded sütunundaki değerlerin 1 olduğundan emin olun.
  4. Dosyayı kaydedip tekrar Media.pk2 içine import edin ve oyuncularınıza patch olarak iletin.



Nasıl Test Edilir?

  1. SQL Server Management Studio (SSMS) üzerinde sorguyu çalıştırın.
  2. Sunucudaki GameServer modüllerini yeniden başlatın.
  3. Oyuna 2H Sword, Glavie veya Staff kullanan bir karakterle giriş yapın.
  4. Silah takılıyken kalkanı sağ tıklayarak veya sürükleyerek takmayı deneyin.
  5. Sunucunun kalkan takılmasına izin vermediğini ve karakterin iki el silahla kalkanı aynı anda kullanamadığını doğrulayın.

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

Konuyu görüntüleyenler

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