vSRO Paylaşım vSRO Clone Map Yapımı. ( Clone Map Anlatım )

Admin1

silkroadpvp.com.tr
Yönetici
Katılım
26 Ocak 2022
Mesajlar
511
Tepkime puanı
1
Puanları
0
Konum
KRAL
[HIDE]
Bu konu ile ilgili güzel anlatıma sahip konuya forum sitelerinde denk gelmediğim için elimden geldiğince anlatmaya çalıştım. Öncelikle klon map için ben Togui'yi seçtim ve bunun üzerinden anlatımı yapacağım. Biraz karışık ve zor gelebilir ama mantığını anladıktan sonra yapması gayet kolaydır.
Başlamadan önce bazı ana tablolar hakkında kısa bilgiler vereceğim ki işleyişin ve mantığın ne olduğu biraz kafanızda şekillensin.

Kod:
Region: Silkroad'ın map'i küçük bölgeciklerden oluşmaktadır. Bu durumu büyük bir arazinin parsellere ayrılması gibi düşünebiliriz. Bu küçük map'ciklere region diyoruz.
World: World parçalara ayrılmış mapimizin bir veya birden fazla region'unun oluşturduğu alandır. Bu durumu parsellere ayrılmış
büyük arazimizin 4 parsellik kısımına konut inşa edilmiş gibi düşünebiliriz. Bu bir veya bir kaç regionun birleşmesiyle oluşturulan bölgeyede World diyoruz.


_RefGame_World                        -->        WorldID tanımlanması ve bazı worldID lere player limit, world time gibi sürelerin verildiği tablo
_RefGame_World_Config            -->        _RefGame_World tablosunda tanımlanmış World'lerin ayrıntılı özelliklerinin verildiği tablo ( Giriş için şu item gerekli gibi ... )
_RefInstance_World_Region        -->        WorldID ler ile Region ların arasında ilişki kurulduğu tablo
_RefInstance_World_Start_Pos    -->        World içerisine ışınlandığımızda hangi region ve koordinatlarda belireceğimizin ayarlandığı tablo
_RefRegion                                  -->        Region'larımızın ve birbirine bağlı reğionların olduğu tablo
Gelelim ekleme yapılacak kısımlara:
1- Yukarıdaki açıklamadan da göreceğiniz üzere klon yapmamız için önce yeni bir World tanımamlamamız gerekli. Bunun için _RefGame_World tablomuzu açıp şu satırları ekliyoruz.
Kod:
95    INS_SILKROADPVP_TOGUI    0    1    0    0    0    0    0    0    GROUP_SILKROADPVP_TOGUI
Kırmızı kısıma dikkat ediyoruz. Bu kısım WorldID'mizdir. Databasenize yapılan ekleme, çıkarma işlemlerine göre değişebilir. Bunu kendinize göre ayarlanamız gerekmektedir. Mavi kısmın bir sonraki adım olan _RefGame_World_Config tablomuzun GroupCodeName128 kolonuyla aynı olması gerekmektedir.

2- _RefGame_World_Config tablomuza ben aşağıdaki satırları ekledim. Oluşturmak istediğiniz World'e göre farklı özellikler verebilirsiniz. Özellikleri yine bu tablo içerisindeki diğer World'lerden alabilirsiniz. (Her özellik çalışmayabilir hepsini tek tek denemedim ama aşağıdakiler bir soruna sebep olmadı)
Kod:
1    825    GROUP_SILKROADPVP_TOGUI    GAME_WORLD_NORMALIZE_TYPE    GAME_WORLD_NORMALIZE_TYPE_A    STRING
1    826    GROUP_SILKROADPVP_TOGUI    ENTER_LIMIT_CONDITION_LEVEL_MINIMUM_NUM    1    INT32
1    827    GROUP_SILKROADPVP_TOGUI    ENTER_LIMIT_CONDITION_LEVEL_MAXIMUM_NUM    120    INT32
1    828    GROUP_SILKROADPVP_TOGUI    ENTER_LIMIT_CONDITION_JOB_CLOTHES_TAKE_OFF    OFF    STRING
1    829    GROUP_SILKROADPVP_TOGUI    ENTER_LIMIT_CONDITION_RIDE_COS_NOT_RIDING    OFF    STRING
1    830    GROUP_SILKROADPVP_TOGUI    ENTER_LIMIT_CONDITION_TRADE_COS_NOT_RIDING    OFF    STRING
1    831    GROUP_SILKROADPVP_TOGUI    PARTYMONSTER_SPAWN    OFF    STRING
1    832    GROUP_SILKROADPVP_TOGUI    ENTER_LIMIT_CONDITION_FRPVP_VOUCHER_TAKE_OFF    ON    STRING
Buradaki yeşil kısımlar _RefGame_World_Config ID sidir sizde değişiklik gösterebilir. Bağlı olduğu bir alan olmadığı için başka yerde kullanmayacağız ama tablo içerisinde ID çakışmasının olmamasına özen gösterin.

3- _RefInstance_World_Region tablomuza ekleme yapmak için önce World'ümüze tanımlayacağımız regionları belirlememiz lazım bunun için ben aşağıdaki kodu kullandım ve 48 adet region buldum. Klonlamak istediğiniz alana göre kodu düzenleyebilirsiniz.

Kod:
USE SRO_VT_SHARD

SELECT
R1.RegionID
FROM _RefGame_World AS W1 LEFT JOIN _RefInstance_World_Region AS R1 ON W1.ID=R1.WorldID
WHERE W1.WorldCodeName128 LIKE '%INS_GOD_TOGUI_%'
GROUP BY R1.RegionID

Bulunan sonuçlardaki region'larımızı yeni tanımaladığımız WorldID ler ile birlikte _RefInstance_World_Region tablomuza ekliyoruz.

Kod:
95    31201
95    31202
95    31203
95    31204
95    31205
95    31206
95    31207
95    31208
95    31457
95    31458
95    31459
95    31460
95    31461
95    31462
95    31463
95    31464
95    31713
95    31714
95    31715
95    31716
95    31717
95    31718
95    31719
95    31720
95    31969
95    31970
95    31971
95    31972
95    31973
95    31974
95    31975
95    31976
95    32225
95    32226
95    32227
95    32228
95    32229
95    32230
95    32231
95    32232
95    32481
95    32482
95    32483
95    32484
95    32485
95    32486
95    32487
95    32488
4- Son olarak Togui de default olarak bulunan barikatları kaldırmak için aşağıdaki queryi okutuyoruz. Bu basamak Togui'de barikat olduğu için var. Siz mesela jupiter odasını klonlamak istediniz jupiter odasında herhangi bir barikat olmadığı için bu basamaktaki işleme ihtiyacınız yoktur.

Kod:
USE SRO_VT_SHARD

UPDATE _RefEventZone SET Service=0 WHERE ZoneName LIKE '%GATE_TOGUI%'
5- Oluşturduğumuz klon map'e girebilmek için ise asağıdaki kodu okutup çıkan sonuçta RegionID, PosX, PosY ve PosZ değerini _Char tablosunda karakterimize yazıyoruz. Ek olarak klon mapimizin WorldID si farklı olduğu için yeni WorldID mizide _Char tablosuna işliyoruz.
Kod:
USE SRO_VT_SHARD

SELECT
WorldCodeName128,
RegionID,
PosX,
PosY,
PosZ
FROM _RefGame_World AS W1 LEFT JOIN _RefInstance_World_Start_Pos AS SP1 ON W1.ID=SP1.WorldID
WHERE W1.WorldCodeName128 LIKE '%INS_GOD_TOGUI_%'

6- Klon map işlemimiz tamamlanmıştır. Gerekli değişiklikleri media içerisinde de yapmayı unutmuyoruz. Dbtomedia da sorun yaşamayan arkadaşların dbtomedia daki txt leri atması yeterlidir.

Not: Bazı DB lerde Togui yolu işlemi togui'ye bağlı regionlara worldID 60 değeri girilerek yapılmakta bu sıkıntıya sebebiyet vermektedir. WorldID 60 değeri temple içindir. Bunu yaptığınız taktirde tüm temple özellikerlini Togui'ye eklemiş olursunuz. En sağlıklı yöntem klonlama yönetimidir.
[/HIDE]
 
Son düzenleme:

Konu görüntüleyen kullanıcılar

Benzer konular

Geri
Üst