vSRO Model Switcher Kurulum | Gamesfrm.com
 

vSRO Model Switcher Kurulum

AmonRa

Seviye 6
Üye
Katılım
5 Ağu 2022
Mesajlar
120
Tepki puanı
8
Konum
Bursa
1- Model Switcher Nedir?

Model Switcher'ı bilmeyenler için tanımlamak gerekirse ;

Bir iteme yeni bir görünüm kazandırmak.

9 Degree Moon Sword > 1 Degree '' Görünüm değişmektedir item değerleri aynı kalır ''

Model Switcher Kurulumu Gerekenler

İhtiyacımız olanlar ;
SRO_VT_SHARD / RefobjCommon Tablosu
SRO_VT_SHARD / Refobjitem Tablosu
Media / itemdata4500
Media / texdata_object.txt

Model Switcher Kurulum Aşaması (DATABASE KISMI)

Bu işlemde kademeli gidelim istiyorum. Çünkü oluşturmamız gereken hem Model Switcher Scroll'u hemde itemlerimizi oluşturmamız gerek. Dilerseniz önce basite kaçıp Model Switcher Scroll'umuzu ekleyelim.


Model Switcher Scroll'u Kurulum Aşaması (DATABASE KISMI)

Öncelikle kafanız karışmasın diye yeniden _RefObjItem Tablosunu kullanarak şu satırları eklemenizi istiyorum;

SQL:
23097    50    2    0    0    1    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    1000    ????    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

23097 sizin _RefObjItem ID'niz olmasına dikkat edin biraz sonra kullanacağız.

Şimdi burada işimiz bitti, sırada _RefObjCommon adlı tabloya giriş yapmaya geldi;

SQL:
1    44759    ITEM_MALL_DTRACTUS_SWITCHER_01    ???? ???? ??? (???)    xxx    SN_ITEM_MALL_DTRACTUS_SWITCHER_01    SN_ITEM_MALL_DTRACTUS_SWITCHER_01_TT_DESC    1    0    3    3    3    1    180000    3    0    1    1    1    255    1    1    0    0    1    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\model_switcher.ddj    xxx    xxx    23097

44759 ID _RefObjCommon için vermiş olduğunuz yeni ID olsun.
Satır sonu 23097 vermiş olduğum ID, Biraz Önceki _RefObjItem ID'si ile aynı olmasına dikkat edin.

Model Switcher Scroll'u Kurulum Aşaması (MEDIA KISMI)

ItemData45000'i çıkartıyoruz ve en alta şu eklmemizi yapıyoruz;

SQL:
1    44759    ITEM_MALL_DTRACTUS_SWITCHER_01    ???? ???? ??? (???)    xxx    SN_ITEM_MALL_DTRACTUS_SWITCHER_01    SN_ITEM_MALL_DTRACTUS_SWITCHER_01_TT_DESC    1    0    3    3    3    1    180000    3    0    1    1    1    255    1    1    0    0    1    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\model_switcher.ddj    xxx    xxx    50    2    0    0    1    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    1000    ????    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

44759 _RefObjCommon alanı olacak.

Hadi buna da isim verelim;

textdata_object'i açalım ve şunları ekleyelim;

SQL:
1    SN_ITEM_MALL_DTRACTUS_SWITCHER_01                                1 Degree Model Switcher
1    SN_ITEM_MALL_DTRACTUS_SWITCHER_01_TT_DESC                                1 Degree Model Switcher

Evvet, Switcher kısmını tamamladık. Şimdi dönüşüm işinden bahsedelim.

Model Switcher Dönüşecek İtemin Kurulum Aşaması (DATABASE KISMI)

Şimdi biraz kafanız karışabilir, yahu kardeşim yukarıdaki ne bu ne diye. Onu da şöyle açıklayayım ;

Yukarıda sadece değişim için scroll hazırladık. Ama düşünsenize bu item aynı özelliklerde bi iteme nasıl dönüşsün diye. İmkansız gibi geliyor değil mi? Ama değil. Sadece biraz yorulacağız o kadar. Ama sonu müthiş olacak söyleyeyim.

Yukarıda örneği 10 Degree Moon Sword için vermiştim hatırlıyorsanız, gelin örneği hiç bozmadan, kafanızı karıştırmadan 10 Degree Moon Sword'u 1 Degree görünümüne nasıl vereceğimizi anlatalım.

Bize neler lazım;

10D Moon Sword İteminin Özellikleri.

Bu özellikleri nerede bulacağım diyorsanız aslında çok basit. Yapmamız gereken dönüşüm yapacak olduğumuz itemin _RefObjCommon'dan Linkini almak ve o Link ID'si ile _RefObjItem'den satırı kopyalamak.

Misal 10 Degree Moon Sword'u ben RefObjCommonda aratıyorum ve aldığım sonuç ;

SQL:
1    4042    ITEM_CH_SWORD_10_B_RARE    10? ? (?)    xxx    SN_ITEM_CH_SWORD_10_B_RARE    SN_ITEM_CH_SWORD_10_B_RARE_TT_DESC    0    0    3    1    6    2    180000    0    6    1    1    1    255    3    1    1    1    0    0    8426000    6980    10471    0    9000    2949100    1    90    -1    0    -1    0    -1    0    -1    0    0    0    0    0    0    0    100    0    0    0    item\china\weapon\sword_10.bsr    item\etc\drop_ch_equip_rare.bsr    item\china\weapon\sword_10.ddj    xxx    xxx    2319

Peki kardeş bunun Link'i neresi diye sorarsanız yukarıda satırın en sonunda görmüş olduğunuz , 2319

Şimdi bunu _RefObjItem'in ID'sinde arayacağız. Yani ID'si 2319 olanı bulacağız. Bakalım buradan ne sonuç alıyorum ben ;

SQL:
2319    1    2    0    0    29    79    123    151    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    2    0    6    1483    1573    1650    1740    45    2528    2683    2863    3018    77,4    2189    2278    2468    2567    3725    3876    4282    4456    116    244    0    5    17    -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    -1    xxx    -1    xxx    0    ?? ??? ?? ?? ?    9    0    0

Gördüğünüz gibi 2319 ID'sine ait aldığım sonuç budur. Şimdi kardeş ben bunu ne yapacağım derseniz, RefObjItem'e yeni bir satır ekleyeceksiniz. Hemde hiçbirşeyini değiştirmeyeceksiniz. Değişen sadece ID olacak yani 2319 yerine Yeni bir ID sahibi olacaksınız.

Hadi onuda verelim bakalım ;

SQL:
23111    1    2    0    0    29    79    123    151    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    2    0    6    1483    1573    1650    1740    45    2528    2683    2863    3018    77,4    2189    2278    2468    2567    3725    3876    4282    4456    116    244    0    5    17    -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    -1    xxx    -1    xxx    0    ?? ??? ?? ?? ?    9    0    0

Gördünüz mü, değişen sadece ID. gerisi hepsi aynı. Şimdi işin zevkli yanına yani _RefObjCommona ekleme yerine gelelim. 10 Degree Moon Sword için yukarıda RefObjCommon bilgilerini göstermiştik, biraz ekleme yapıp birkaç yeri değiştireceğiz o kadar.

SQL:
1    44773    ITEM_CH_SWORD_10_B_RARE_LOOK1    10? ? (?)    xxx    SN_ITEM_CH_SWORD_10_B_RARE    SN_ITEM_CH_SWORD_10_B_RARE_TT_DESC    0    0    3    1    6    2    180000    0    6    1    1    1    255    3    1    1    1    0    0    8426000    6980    10471    0    9000    2949100    1    90    -1    0    -1    0    -1    0    -1    0    0    0    0    0    0    0    100    0    0    0    item\china\weapon\sword_01.bsr    item\etc\drop_ch_equip_rare.bsr    item\china\weapon\sword_01.ddj    xxx    xxx    23111

Neleri değiştirdiğimize ve neden değiştirdiğimize bir göz atalım ki akılda kalıcı olsun;

44773, sahip olduğu yeni ID'si bunu zaten değiştirmeniz gerektiğiniz anlamışsınızdır.
1 Degree görünüm için "_LOOK1" , 2 Degree Görünüm için "_LOOK2" şeklinde devam etmek zorundasınız.Aksi takdirde çalışmaz.
item\china\weapon\sword_01.bsr , item\china\weapon\sword_01.ddj yollarını 10D itemimiz 1Degree Swic'e dönüşecegi için onun bsr ve ddj yollarını yazıyoruz.
23111 ID ise az önce _RefObjItem de yeni oluşturduğumuz ID'dir.

Model Switcher Dönüşecek İtemin Kurulum Aşaması (MEDIA KISMI)

ItemData45000'i çıkartıyoruz ve en alta şu eklememizi yapıyoruz;

SQL:
1    44773    ITEM_CH_SWORD_10_B_RARE_LOOK1    10? ? (?)    xxx    SN_ITEM_CH_SWORD_10_B_RARE    SN_ITEM_CH_SWORD_10_B_RARE_TT_DESC    0    0    3    1    6    2    180000    0    6    1    1    1    255    3    1    1    1    0    0    8426000    6980    10471    0    9000    2949100    1    90    -1    0    -1    0    -1    0    -1    0    0    0    0    0    0    0    100    0    0    0    item\china\weapon\sword_01.bsr    item\etc\drop_ch_equip_rare.bsr    item\china\weapon\sword_01.ddj    xxx    xxx    1    2    0    0    29    79    123    151    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    2    0    6    1483    1573    1650    1740    45    2528    2683    2863    3018    77.4    2189    2278    2468    2567    3725    3876    4282    4456    116    244    0    5    17    -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    -1    xxx    -1    xxx    0    ?? ??? ?? ?? ?    9    0

Harikasınız! Bunları Update edin, son olarak Model Switcher'ımız için Prosedürümüzü yazalım ve deneyelim.

SRO_VT_LOG > Programmability > Stored Procedures yolundaki _AddLogItem'i açalım ve şunu ekleyelim ;

SQL:
------ Model Switcher 1DG

IF(@Operation = 41 AND @ItemRefID= 45487) -- 1 Dg Model Switcher (SOM)
Begin

Declare @refItemID int;
Declare @ItemCode varchar(64);
Declare @NewItemID varchar(64);
SET @refItemID = (SELECT RefItemID From [SRO_VT_SHARD].[dbo].[_Items] Where ID64 = ( Select ItemID From [SRO_VT_SHARD].[dbo].[_Inventory] Where CharID = @CharID and Slot = '13' and ItemID > 0 ));
SET @ItemCode = (SELECT NameStrID128 From [SRO_VT_SHARD].[dbo].[_RefObjCommon] Where ID = @refItemID);
SET @NewItemID = (SELECT ID From [SRO_VT_SHARD].[dbo].[_RefObjCommon] Where NameStrID128 = @ItemCode AND CodeName128 like '%LOOK1' );
Update [SRO_VT_SHARD].[dbo].[_Items] Set RefItemID = @NewItemID Where ID64 = ( Select ItemID From [SRO_VT_SHARD].[dbo].[_Inventory] Where CharID = @CharID and Slot = '13' and ItemID > 0 );

Burada da dikkat etmeniz gerek yukarıdaki koddaki kırmızı ID. Bu ID : Yukarıda Model Switcher Scroll için RefObjCommon tablosuna giriş yapmıştık hatırlıyorsanız. İşte onun ID'si olacak.

Model Switcher Kullanımı Dikkat Edilmesi Gereken Nokta

Değiştirmek istediğiniz item çantanızda "1." slotta olması gerekmekte. Ama model switcher isterseniz 3. sayfada olsun önemli değil. Ama item 1. slotta olmak zorunda.
 

AmonRa

Seviye 6
Üye
Katılım
5 Ağu 2022
Mesajlar
120
Tepki puanı
8
Konum
Bursa
Yorumlarınız için teşekkür ederim devamı gelicek ;)
 
Üst