- #1
Konu Sahibi
: serkankacan
[REHBER & QUERY] vSRO Canavar & Unique Can (HP) ve Seviye (Level) Düzenleme
_RefObjChar ve _RefObjCommon Üzerinden Canavarların HP, MP ve Seviyelerini Güncelleme & Media.pk2 Senkronizasyonu
_RefObjChar ve _RefObjCommon Üzerinden Canavarların HP, MP ve Seviyelerini Güncelleme & Media.pk2 Senkronizasyonu
Merhaba değerli forum sakinleri,
Silkroad Online sunucularında gerek etkinlik Uniquelerinin (Tiger Girl, Cerberus, Lord Yarkan, Demon Shaitan, Medusa vb.) gerekse özel zindan/slot moblarının **Can Değerlerini (MaxHP)** ve **Seviyelerini (Level)** sunucunuzun Cap dengesine göre ayarlamak isteyebilirsiniz.
Örneğin 80 Cap bir sunucuda Medusa'yı 80 seviyeye çekip canını optimize etmek veya Tiger Girl'ün tek vuruşta ölmesini engellemek için HP miktarını 10 katına çıkarmak yaygın bir uygulamadır.
Aşağıda paylaşılan optimize rehber sayesinde; önce canavarın mevcut verilerini tek tıkla analiz edebilir, ardından HP ve Level değerlerini tek bir güvenli SQL sorgusuyla güncelleyebilirsiniz.
Teknik Bilgilendirme (Tablo Mimarisi)' Alıntı:
- _RefObjCommon: Canavarın benzersiz kodunu (
CodeName128) veLinkbağlantı ID'sini tutar.- _RefObjChar: Canavarın fiziksel niteliklerini (
Lvl, MaxHP, MaxMP, Exp, Sp) tutar.- İstemci Senkronizasyonu: Sunucu tarafında HP ve Level güncellense bile, oyuncuların canavarın seviyesini ve can barını doğru görebilmesi için Media.pk2 dosyasının da eşitlenmesi şarttır.
- İşlem öncesinde SRO_VT_SHARD yedeğinizi almayı unutmayınız.
1. ADIM: Canavarın Mevcut Bilgilerini Analiz Etme
Değişiklik yapmadan önce ilgili canavarın mevcut ID, Seviye ve HP değerlerini görmek için:
Aşağıdaki sorguyu görebilmek için konuyu beğenmeli ve bir yorum bırakmalısınız:
İçeriği görüntülemek için Giriş yapın veya Kayıt olun.
2. ADIM: HP ve Level Değerlerini Tek Seferde Güncelleme
Aşağıdaki sorgu ile hem Seviyeyi (Lvl) hem de Maksimum Canı (MaxHP) tek bir işlemle güncelleyebilirsiniz:
Aşağıdaki SQL güncelleme kodunu görebilmek için konuyu beğenmeli ve bir yorum bırakmalısınız:
İçeriği görüntülemek için Giriş yapın veya Kayıt olun.
3. ADIM: Client (Media.pk2) Eşitlemesi
Veritabanında yapılan değişiklik sonrası canavarın yeni seviyesinin oyuncu ekranında doğru görünmesi için:
- PK2 editörü ile Media.pk2 dosyasını açın.
server_dep\silkroad\textdata\dizininde canavarın bulunduğucharacterdata_xxxxx.txtdosyasını dışarı aktarın.- Dosyayı Notepad++ ile açıp canavar kodunu (Örn:
MOB_CH_TIGERWOMAN) aratın. - Satırda ilerleyerek:
- Lvl Değeri: Karakter seviyesini belirten sütunu SQL'de verdiğiniz değerle (Örn:
80) değiştirin. - MaxHP Değeri: Can barı değerini belirten sütunu yeni HP rakamınızla (Örn:
15000000) eşitleyin.
- Lvl Değeri: Karakter seviyesini belirten sütunu SQL'de verdiğiniz değerle (Örn:
- Dosyayı kaydedip Media.pk2 içerisine tekrar import edin ve oyuncularınıza patch olarak iletin.
Nasıl Test Edilir?
- SQL Server Management Studio (SSMS) üzerinde 2. Adımdaki sorguyu çalıştırın.
- Sunucunuzdaki GameServer pencerelerini yeniden başlatın.
- Oyuna bir GM karakterle girip ilgili Unique veya mobu yanınıza spawn edin (Örn:
/spawnmonster MOB_CH_TIGERWOMAN 1). - Canavarı seçtiğinizde hedef panelinde yeni seviyesini doğrulayın; canavara vuruş yaparak can barının belirlediğiniz yeni HP değerine göre azaldığını test edin.
Sorularınızı ve takıldığınız yerleri konu altından iletebilirsiniz. Herkese keyifli geliştirmeler!
Moderatör tarafında düzenlendi:

