- #1
Konu Sahibi
: serkankacan
[REHBER & QUERY] vSRO Simya Taşı (Magic & Attribute Stone) Başarı Oranını (Rate) Ayarlama
_RefObjItem Param4 Üzerinden Stat ve Magic Taşlarının Tutma Yüzdesini (%100 Başarı vb.) Dereceye Göre Toplu Düzenleme
_RefObjItem Param4 Üzerinden Stat ve Magic Taşlarının Tutma Yüzdesini (%100 Başarı vb.) Dereceye Göre Toplu Düzenleme
Merhaba değerli forum sakinleri,
Silkroad Online sunucularında oyuncuların eşyalarına Blue ve White stat basarken (Magic ve Attribute taşları) taşların sürekli yanması (Fail) oyuncuları bezdirebilir. Özellikle PvP veya High-Rate (Kolay) sunucularda taşların **%100 oranla geçmesi** veya başarı yüzdesinin artırılması sıklıkla tercih edilir.
İnternette paylaşılan eski sorgularda rastgele ID aralıkları verildiği için kendi DB'nize uymayabilir veya yanlış eşyaların ayarları bozulabilir.
Aşağıdaki optimize SQL sorgusu sayesinde; hiçbir ID aramakla uğraşmadan dilediğiniz **Degree (Örn: Sadece 11D veya Tüm Taşlar)** için başarı yüzdesini tek bir kodla güncelleyebilirsiniz.
Teknik Bilgilendirme (Param4 Mantığı)' Alıntı:
- Param4 = 100: Taşın başarı oranını %100 yapar (Asla yanmaz, tek seferde basılır).
- Param4 = 70: Taşın başarı oranını %70 yapar.
- Param4 = 50: Orijinal orana yakın orta zorluk (%50).
- Kapsam: Kod hem Magic Stone (STR, INT, HP, MP vb.) hem de Attribute Stone (Attack, Durability, Parry vb.) taşlarını kapsar.
- İşlem öncesinde SRO_VT_SHARD yedeğinizi almayı unutmayınız.
Hatasız & Dinamik SQL Stone Rate Güncelleme Kodu
SRO_VT_SHARD veritabanını seçip aşağıdaki optimize bloğu çalıştırın:
SQL:
USE [SRO_VT_SHARD]
GO
-- ===================================================================
-- AYARLAR
-- ===================================================================
DECLARE @NewSuccessRate INT = 100 -- İstenen Başarı Oranı (Örn: 100 = %100 Başarı)
DECLARE @TargetDegree INT = 0 -- Belirli bir Degree (Örn: 11). Eğer TÜM taşlar içinse 0 bırakın.
-- ===================================================================
-- MAGIC VE ATTRIBUTE TAŞLARINI GÜNCELLEME (_RefObjItem.Param4)
-- ===================================================================
UPDATE ROI
SET ROI.Param4 = @NewSuccessRate
FROM dbo._RefObjItem ROI
INNER JOIN dbo._RefObjCommon ROC ON ROC.Link = ROI.ID
WHERE ROC.Service = 1
AND (
ROC.CodeName128 LIKE 'ITEM_ETC_ARCHEOLOGY_MAGICSTONE_%' -- Magic Taşlar (STR, INT, vb.)
OR
ROC.CodeName128 LIKE 'ITEM_ETC_ARCHEOLOGY_ATTRSTONE_%' -- Attribute Taşlar (Parry, Atk, vb.)
)
AND (
(@TargetDegree = 0) -- Tüm dereceler
OR
(@TargetDegree > 0 AND ROC.ItemClass = @TargetDegree) -- Belirli bir Degree
)
PRINT '====================================================='
PRINT 'BAŞARILI: Simya taşlarının başarı oranı ' + CAST(@NewSuccessRate AS VARCHAR(10)) + '% olarak ayarlandı!'
IF (@TargetDegree > 0)
PRINT 'Hedef Derece: ' + CAST(@TargetDegree AS VARCHAR(10)) + ' Degree'
ELSE
PRINT 'Tüm Dereceler (1D - 14D) güncellendi.'
PRINT 'Değişikliklerin aktif olması için GameServer yeniden başlatılmalıdır.'
PRINT '====================================================='
Neden Bu Optimize Versiyon Kullanılmalı?
- Sıfır ID Arama Zahmeti: Eşyaları `ID BETWEEN X AND Y` şeklinde ezbere aratmak yerine sistem kodlarından (
ITEM_ETC_ARCHEOLOGY_%) dinamik yakalar. - Degree Filtresi:
@TargetDegree = 11yazarak sadece son derece taşları %100 yapabilir, alt dereceleri orijinal zorluğunda bırakabilirsiniz. - Güvenli Güncelleme: Yalnızca aktif olan (
Service = 1) simya taşlarını hedefler, çöp veya test eşyalarına dokunmaz.
Nasıl Uygulanır & Senkronize Edilir?
- SQL Server Management Studio (SSMS) programını açın.
- Üst panelden New Query penceresi açıp yukarıdaki SQL kodunu yapıştırın.
- İhtiyacınıza göre
@NewSuccessRate(Örn:100) ve@TargetDegreedeğerlerini belirleyin. - F5 tuşuna basarak çalıştırın.
- Sunucudaki GameServer pencerelerini yeniden başlatın.
- (İsteğe Bağlı - Arayüz Uyumu): Oyuncuların Alchemy penceresinde oran metnini doğru görebilmesi için Media.pk2 (server_dep\itemdata_xxx.txt) dosyasındaki ilgili taşların
Param4sütunlarını da aynı değere eşitleyip patch atmanız önerilir. - Oyunda bir eşyaya Magic veya Attribute Stone basarak tek seferde başarıyla tuttuğunu doğrulayın.
Sorularınızı ve takıldığınız yerleri bu konu altından iletebilirsiniz. Herkese keyifli geliştirmeler!

