- 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.
Desteklenen ekipmanlar:
1H weapon kullanan karakterlerde Shield da otomatik olarak eklenebilir.
Sistem maksimum 11 Degree için hazırlanmıştır.
Oyuncu scroll'u kullandığında karakterin uygun ekipmanları otomatik olarak değiştirilir.
yeterlidir.
Full set giymek zorunlu değildir.
Karakterin seviyesi bir sonraki Degree için yeterli olduğunda uygun ekipman seçilir.
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.
Örnekte kullanılan item ID:
46030
Item code:
ITEM_EVENT_AUTOEQUIP_COUPON
Buradaki Item ID ile _RefObjCommon içerisindeki ID'nin eşleşmesi gerekir.
Ö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.
Ö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.
_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.
Ö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.
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.
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.
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:
_RefObjCommonKod: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)
_RefObjItemKod: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
SpoilerKod: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
İçeriği görüntülemek için Giriş yapın veya Kayıt olun.
