- #1
Konu Sahibi
: serkankacan
[REHBER] vSRO Canavar & Unique Seviye (Level) ve Can (HP) Düzenleme
_RefObjChar ve _RefObjCommon Üzerinden Mobların Özelliklerini Güncelleme Rehberi
_RefObjChar ve _RefObjCommon Üzerinden Mobların Özelliklerini Güncelleme Rehberi
Merhaba değerli forum sakinleri,
Sunucunuzda bulunan Unique yaratıkların (Tiger Girl, Cerberus, Isyutaru, Lord Yarkan, Demon Shaitan vb.) veya herhangi bir normal/event canavarının **Level** ve **MaxHP** değerlerini değiştirmek isteyebilirsiniz.
Aşağıdaki sorgular ile yaratığın mevcut değerlerini görüntüleyebilir ve dilediğiniz yeni değerleri tek seferde veritabanına işleyebilirsiniz.
Önemli Uyarı' Alıntı:DİKKAT (Client - Server Senkronizasyonu):
- Canavarın canı (HP) sunucu taraflıdır; SQL'den değiştirip GameServer'ı yeniden başlattığınızda doğrudan oyuna yansır.
- Ancak canavarın başının üzerinde yazan Level bilgisi istemci taraflıdır (Client-side). Oyuncunun canavarın seviyesini doğru görebilmesi için değişikliğin Media.pk2 (server_dep\characterdata_xxx.txt) dosyasına da işlenmesi gerekir.
- İşlem öncesinde SRO_VT_SHARD yedeğinizi almayı unutmayınız.
1. Adım: Mevcut Değerleri Görüntüleme Sorgusu
Canavarın şu anki seviyesini, can miktarını ve tablo ID'sini görmek için bu sorguyu çalıştırın:
SQL:
USE [SRO_VT_SHARD]
GO
-- Canavarın mevcut Level ve MaxHP değerlerini listeler
SELECT
ROC.ID AS [CommonID],
ROC.CodeName128,
CHAR.Lvl AS [MevcutLevel],
CHAR.MaxHP AS [MevcutMaxHP]
FROM dbo._RefObjCommon ROC
JOIN dbo._RefObjChar CHAR ON CHAR.ID = ROC.Link
WHERE ROC.CodeName128 = 'MOB_CH_TIGERWOMAN' -- Buraya canavarın tam kodunu yazın
2. Adım: Level ve HP Değerlerini Güncelleme (Optimize Edilmiş)
Aşağıdaki sorgu ile hem seviyeyi hem de can değerini tek seferde güncelleyebilirsiniz:
SQL:
USE [SRO_VT_SHARD]
GO
-- ===================================================================
-- DEĞİŞKENLER
-- ===================================================================
DECLARE @MobCode VARCHAR(128) = 'MOB_CH_TIGERWOMAN' -- Hedef Mob/Unique Kodu
DECLARE @YeniLevel INT = 40 -- Ayarlanacak yeni seviye
DECLARE @YeniHP BIGINT = 1500000 -- Ayarlanacak yeni MaxHP miktarı
-- ===================================================================
-- GÜNCELLEME İŞLEMİ
-- ===================================================================
UPDATE CHAR
SET CHAR.Lvl = @YeniLevel,
CHAR.MaxHP = @YeniHP
FROM dbo._RefObjChar CHAR
JOIN dbo._RefObjCommon ROC ON ROC.Link = CHAR.ID
WHERE ROC.CodeName128 = @MobCode
Sık Kullanılan Bazı Standart Unique Kodları
| Unique Adı | CodeName128 Değeri | Orijinal Level |
|---|---|---|
| Tiger Girl | MOB_CH_TIGERWOMAN | 20 |
| Cerberus | MOB_EU_KERBEROS | 24 |
| Captain Ivy | MOB_EU_CAPTAINIVY | 30 |
| Uruchi | MOB_OA_URUCHI | 40 |
| Isyutaru | MOB_KK_ISYUTARU | 60 |
| Lord Yarkan | MOB_TK_BONELORD | 80 |
| Demon Shaitan | MOB_RM_ROC | 90 |
| Medusa | MOB_SD_ERIS | 105 |
Nasıl Uygulanır?
- SQL Management Studio üzerinden yukarıdaki güncelleme sorgusunu hedefinize göre düzenleyip okutun.
- Eğer seviyeyi (Level) değiştirdiyseniz, `characterdata_xxx.txt` dosyasını Media.pk2 içerisinden çıkartıp ilgili satırdaki Level sütununu güncelleyerek tekrar import edin.
- Sunucunuzdaki GameServer'ları yeniden başlatın.
Sorularınızı konu altından belirtebilirsiniz. Herkese iyi forumlar!

