VSRO Auto Equipment Sistemi Rehberi – Otomatik Ekipman ve Coupon Sistemi
admin
Katılım
23 Eki 2022
Mesajlar
9,730
Çözümler
14
Tepkime puanı
9,454
Puanları
113
Yaş
28
Web sitesi
farming-simulator.r10dev.net
Bu sistem, VSRO için karakterin seviyesine veya mastery seviyesine göre uygun Weapon, Shield, Gear ve Accessory ekipmanlarını otomatik olarak değiştirmeyi sağlayan alternatif bir Auto Equipment sistemidir.

Sistem, daha önce kullanılan GM Gear Coupon mantığından geliştirilmiştir ve klasik auto-equipment sistemlerinden farklı bir alternatif olarak kullanılabilir.

Sistem Ne Yapıyor?

Karakterin seviyesi veya mastery seviyesi bir sonraki Degree gereksinimini karşıladığında ekipmanları otomatik olarak değiştirebilir.

Desteklenen ekipmanlar:

  • Weapon
  • Shield
  • Gear
  • Accessory

1H weapon kullanan karakterlerde Shield da otomatik olarak eklenebilir.

Sistem maksimum 11 Degree için hazırlanmıştır.


Kullanım Yöntemleri

Sistemin iki farklı kullanım yöntemi bulunur:

1. Coupon / Scroll

Oyuncuya Auto-Equipment Coupon verilir.

Oyuncu scroll'u kullandığında karakterin uygun ekipmanları otomatik olarak değiştirilir.

2. Automatic Equipment

Sistem herhangi bir scroll kullanmadan karakteri kontrol eder ve uygun Degree'ye ulaştığında ekipmanları otomatik olarak değiştirir.


Gerekli Şartlar

Karakterin:

  • Herhangi bir Weapon takıyor olması
  • En az bir Gear item takıyor olması

yeterlidir.

Full set giymek zorunlu değildir.


Chinese ve European Karakterlerde Çalışma Mantığı

Sistem karakter tipine göre farklı kontrol yapar.

Chinese

Chinese karakterlerde sistem Character Level değerini kontrol eder.

Karakterin seviyesi bir sonraki Degree için yeterli olduğunda uygun ekipman seçilir.

European

European karakterlerde Mastery Level kontrol edilir.

Bu nedenle otomatik ekipman sistemi kullanılırken mastery seviyesinin doğru ayarlanması önemlidir.

Örneğin:

Mastery 56 → Degree 7

gibi bir geçiş yapılacaksa ilgili mastery gereksiniminin doğru şekilde ayarlanması gerekir.


Database Kurulumu

Sistemi kurmak için database tarafında bazı işlemler yapılmalıdır.

1. _RefObjCommon

Auto Equipment Coupon için yeni bir item oluşturulur.

Örnekte kullanılan item ID:

46030

Item code:

ITEM_EVENT_AUTOEQUIP_COUPON


2. _RefObjItem

Oluşturulan coupon iteminin item bilgileri _RefObjItem tablosuna eklenir.

Buradaki Item ID ile _RefObjCommon içerisindeki ID'nin eşleşmesi gerekir.


Stored Procedure

Sistemin ana işlemlerinden biri SRO_VT_SHARD database içerisindeki yeni Stored Procedure'dür.

Örnekte:

_ADD_AUTOEQUIP_GEAR

kullanılmaktadır.

Bu procedure karakterin ekipmanlarını kontrol ederek uygun ekipmanların otomatik olarak verilmesini/değiştirilmesini sağlar.


SETTINGS Bölümü

Stored Procedure içerisindeki SETTINGS bölümünün mutlaka kontrol edilmesi gerekir.

Özellikle Gear suffix değeri server database'inde kullandığınız itemlere göre değiştirilmelidir.

Örnekte:

A_RARE

kullanılmıştır.

Bu değer örnek bir item yapısına göre verilmiştir. Kendi database'inizdeki item kodlarına göre değiştirilmesi gerekir.


SRO_VT_LOG Ayarları

Sistemin düzgün çalışabilmesi için:

_AddLogItem

ve

_AddLogChar

procedure'larının da kontrol edilmesi gerekir.

Özellikle _AddLogItem çalışmıyorsa sistemin bazı işlemleri doğru şekilde gerçekleştirmeyebilir.

Evangelion SR_GameServer kullanılıyorsa misc.ini içerisindeki:

disableLog = 0

ayarının aktif olması ve GameServer'ın yeniden başlatılması gerekir.


Media Dosyaları

Client tarafında gerekli media dosyalarının da eklenmesi gerekir.

Örnekte:

itemdata_45000.txt

ve

textdata_object.txt

dosyalarının güncellenmesi istenmektedir.

Ayrıca coupon ikonunun:

Media\icon\item\etc\coupon_weapon.ddj

konumuna eklenmesi gerekir.


SQL ile Test Etme

Coupon'u doğrudan karakterin inventory'sine göndermek için örnekte şu procedure kullanılmaktadır:



EXEC [SRO_VT_SHARD].[dbo].[_ADD_ITEM_EXTERN]
'Charname',
'ITEM_EVENT_AUTOEQUIP_COUPON',
1,
0



Burada Charname yerine oyuncunun karakter adı yazılır.

Otomatik ekipman sistemini doğrudan test etmek için:



EXEC [SRO_VT_SHARD].[dbo].[_ADD_AUTOEQUIP_GEAR]
'Charname',
<item_plus_here>



şeklinde çalıştırılabilir.

Buradaki <item_plus_here> bölümü kullanılacak upgrade/plus değerine göre düzenlenmelidir.


Özet

VSRO Auto Equipment sistemi temel olarak şu şekilde çalışır:

Character Level / Mastery



Degree kontrolü



Uygun Weapon + Shield + Gear + Accessory



Ekipmanları otomatik değiştir

Sistemi Coupon/Scroll şeklinde kullanabileceğiniz gibi tamamen otomatik ekipman sistemi olarak da çalıştırabilirsiniz.

Önemli: Bu paylaşımda verilen SQL ve item ID değerleri örnek VSRO database yapısına aittir. Kendi database'inizdeki _RefObjCommon, _RefObjItem, item code'ları, Degree yapısı ve Gear suffix değerlerini kontrol etmeden doğrudan production database'e uygulamayın.

Now the boring part: :closedeyes:

- Database:

_RefObjCommon
Kod:
INSERT INTO _RefObjCommon VALUES (1,46030,'ITEM_EVENT_AUTOEQUIP_COUPON','???? ???? ??? (???)','xxx','SN_ITEM_EVENT_AUTOEQUIP_COUPON','SN_ITEM_GM_GEAR_COUPON_TT_DESC',1,0,3,3,3,1,180000,3,0,1,1,1,3,0,1,0,0,129,0,0,0,0,0,0,0,-1,0,-1,0,-1,0,-1,0,-1,0,0,0,0,0,0,0,100,0,0,0,'xxx','item\etc\drop_mall_scroll.bsr','item\etc\coupon_weapon.ddj','xxx','xxx',46030)


_RefObjItem
Kod:
INSERT INTO _RefObjItem VALUES (46030,1,2,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5000,'????',1,'??????',-1,'RESURRECT',-1,'xxx',-1,'xxx',-1,'xxx',-1,'xxx',-1,'xxx',-1,'xxx',-1,'xxx',-1,'xxx',-1,'xxx',-1,'xxx',-1,'xxx',-1,'xxx',-1,'xxx',-1,'xxx',-1,'xxx',-1,'xxx',-1,'xxx',0,0,0)



- Stored procedure in [SRO_VT_SHARD] database (NEW): View attachment SRO_VT_SHARD - [SP] - _ADD_AUTOEQUIP_GEAR.sql.txt

Stuff that NEEDED TO BE CHANGED in that NEW SP ("SETTINGS" section):
Kod:
    -- @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
    -- @@@ BEGIN: SETTINGS

    -- CHANGE THIS! -- CHANGE THIS! -- CHANGE THIS! (if needed)

    -- (Represent ITEM_CH_BOW_11_A_RARE), change as you need it
    DECLARE [USER=1333434675]Gears[/USER]uffix VARCHAR(16) = 'A_RARE'

    -- @@@ END: SETTINGS
    -- @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@


- Stored procedure in [SRO_VT_LOG] database: (ADD THIS IN YOUR EXISTING _AddLogItem and _AddLogChar procedure, you can put at the most bottom line if you want)

_AddLogItem
Spoiler
Kod:
IF (@Operation = 41) -- scroll is used
BEGIN
    IF (@ItemRefID = 46030) -- Auto-equipment Coupon
    BEGIN
        DECLARE [USER=551894]Char[/USER]NameEQ VARCHAR(64) = (SELECT CharName16 from [SRO_VT_SHARD].[dbo].[_Char] WHERE CharID = [USER=551894]Char[/USER]ID)
        EXEC [SRO_VT_SHARD].[dbo].[_ADD_AUTOEQUIP_GEAR] [USER=551894]Char[/USER]NameEQ, 7
    END
END
 
Üst
Reklam Ver
R10dev.net'i ana ekrana ekle!