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

vSro Paylaşım vSRO Kervan Gelirlerini Arttırma (Trader, Hunter, Thief Kazanç Ayarı)

Cevaplar0
Görüntüleme5
Ticaret Puanı
0
Katılım
8 Eyl 2026
Mesajlar
88
Tepkime puanı
1
Puanları
0
Mevcut Bakiye
2960 ₺
[REHBER & EKONOMİ] vSRO Kervan Gelirlerini Arttırma (Trader, Hunter, Thief Kazanç Ayarı)
_ItemQuotation, _RefPricePolicyOfItem ve _RefObjItem Üzerinden Kervan Kâr Yüzdesini, Mal Fiyatını ve Stack Limitini Optimize Etme



Merhaba değerli forum sakinleri,

Silkroad Online sunucularında Job aktivitesini ve şehirler arası ticareti canlandırmanın en temel yolu kervan kazançlarını (Trader net kârı, Hunter koruma payı ve Thief kaçak mal satış gelirini) sunucunun Gold dengesine göre ayarlamaktır.

Kervan gelirleri 3 ana sütun üzerinden belirlenir:
  1. Kâr Yüzdesi / Borsa Çarpanı (_ItemQuotation): Malın teslim edildiği şehirdeki taban kâr oranını (BaseQuot, Quot_LB, Quot_UB) belirler.
  2. Alış Maliyeti (_RefPricePolicyOfItem): Trader'ın NPC'den mal çekerken ödediği birim fiyattır.
  3. Maksimum Stack (_RefObjItem.MaxStack): Kervan petinin her bir slotuna kaç adet mal istiflenebileceğini belirler.

İnternetteki eski paylaşımlarda çarpan 99.9 gibi kontrolsüz verildiği için tek kervanda trilyonlarca Gold basılıp ekonomi buga girmektedir. Aşağıda dengeli, kontrollü ve ID aramadan dinamik çalışan optimize sorguyu paylaşıyoruz.

Teknik Bilgilendirme (Kâr Çarpanı Mantığı)' Alıntı:
  • Kâr Çarpanı (@ProfitMultiplier): Örneğin 2.0 yaparsanız orijinal kâr %100 (2 kat) artar. 3.0 yaparsanız 3 katına çıkar.
  • MaxStack (@NewStack): Standartta 40'tır. Yüksek kapasiteli taşımalar için 250, 1000 veya 5000 yapabilirsiniz.
  • İşlem öncesinde SRO_VT_SHARD yedeğinizi almayı unutmayınız.



Hatasız & Dinamik Kervan Gelir Arttırma SQL Kodu

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

SQL:
USE [SRO_VT_SHARD]
GO

-- ===================================================================
-- 1. ADIM: AYARLAR VE ÇARPANLAR
-- ===================================================================
DECLARE @ProfitMultiplier FLOAT = 2.5   -- Kâr Katsayısı (Örn: 2.5 katına çıkarır)
DECLARE @UnitCost         BIGINT = 5000  -- NPC Mal Alış Birim Bedeli
DECLARE @UnitSellPrice    BIGINT = 150   -- Mal Taban Satış Değeri (_RefObjItem.SellPrice)
DECLARE @ThiefSellPrice   BIGINT = 5000  -- Kaçak Mal (Thief) Satış Tabanı (_RefObjItem.Price)
DECLARE @NewStack         INT    = 1000  -- Slot Başı Maksimum Mal Kapasitesi (Stack)

-- ===================================================================
-- 2. ADIM: BORSA KÂR ORANLARINI ARTIRMA (_ItemQuotation)
-- Jangan, Donwhang, Hotan, Alex vb. tüm kervan mallarını otomatik bulur
-- ===================================================================
UPDATE IQ
SET 
    IQ.BaseQuot = ROUND(IQ.BaseQuot * @ProfitMultiplier, 2),
    IQ.Quot_LB  = ROUND(IQ.Quot_LB  * @ProfitMultiplier, 2),
    IQ.Quot_UB  = ROUND(IQ.Quot_UB  * @ProfitMultiplier, 2)
FROM dbo._ItemQuotation IQ
INNER JOIN dbo._RefObjCommon ROC ON IQ.RefItemID = ROC.ID
WHERE ROC.CodeName128 LIKE 'ITEM_ETC_TRADE_%'
  AND ROC.Service = 1

-- ===================================================================
-- 3. ADIM: NPC SATIN ALMA MALİYETİ (_RefPricePolicyOfItem)
-- ===================================================================
UPDATE dbo._RefPricePolicyOfItem
SET Cost = @UnitCost
WHERE Service = 1
  AND RefPackageItemCodeName LIKE 'PACKAGE_ITEM_ETC_TRADE_%'

-- ===================================================================
-- 4. ADIM: TABAN SATIŞ, THIEF FİYATI VE STACK GÜNCELLEME (_RefObjItem)
-- ===================================================================
UPDATE ROI
SET 
    ROI.Price     = @ThiefSellPrice, -- Thief Kazanç Tabanı
    ROI.SellPrice = @UnitSellPrice,  -- Trader Satış Referansı
    ROI.MaxStack  = @NewStack        -- Çanta / Pet İstif Miktarı
FROM dbo._RefObjItem ROI
INNER JOIN dbo._RefObjCommon ROC ON ROC.Link = ROI.ID
WHERE ROC.CodeName128 LIKE 'ITEM_ETC_TRADE_%'
  AND ROC.Service = 1

PRINT '====================================================='
PRINT 'BAŞARILI: Kervan kâr oranları ve gelirleri güncellendi!'
PRINT 'Kâr Çarpanı: ' + CAST(@ProfitMultiplier AS VARCHAR(10)) + 'x'
PRINT 'Yeni Stack Limiti: ' + CAST(@NewStack AS VARCHAR(10))
PRINT 'Değişikliklerin aktif olması için GameServer yeniden başlatılmalıdır.'
PRINT '====================================================='



Neden Bu Optimize Versiyon Kullanılmalı?

  1. Ekonomiyi Korur: Orijinal koddaki devasa 99.9 çarpanı yerine kontrollü oran (@ProfitMultiplier) kullanılarak sunucudaki Gold enflasyonu ve olası negatif Gold (taşma) bugları önlenmiştir.
  2. Sıfır ID Bağımlılığı: BETWEEN komutlarıyla tek tek ID aramak yerine ITEM_ETC_TRADE_% koduyla veritabanınızdaki Jangan, Hotan, Dowhang ve Alexandria mallarının tümü otomatik tespit edilir.
  3. Doğru Tablo Eşleştirmesi: Fiyatlar _RefObjCommon yerine oyun motorunun asıl okuduğu _RefObjItem tablosuna işlenir.



Nasıl Uygulanır & Senkronize Edilir?

  1. SQL Server Management Studio (SSMS) programını açın.
  2. Üst menüden New Query penceresi açıp yukarıdaki SQL kodunu yapıştırın.
  3. Sunucunuzun Gold dengesine göre en üstteki değişkenleri (@ProfitMultiplier, @NewStack vb.) belirleyin.
  4. F5 tuşuna basarak sorguyu yalnızca 1 defa çalıştırın.
  5. Media.pk2 dosyanızı açıp itemdata_xxx.txt dosyalarında ilgili kervan mallarının MaxStack değerlerini de @NewStack ile aynı sayıya getirerek patch atın (Stack sınırının istemcide düzgün görünmesi için şarttır).
  6. Sunucudaki GameServer pencerelerini yeniden başlatın.
  7. Oyuna girip 5★ kervan çekerek alış maliyetini ve hedef şehirdeki kârı test edin.

Sorularınızı ve rotasyonel kâr hesaplama taleplerinizi konu altından iletebilirsiniz. Herkese bol kazançlı kervanlar!
 

Konuyu görüntüleyenler

Yükleniyor...
Yükleniyor...
Ş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