[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.
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.
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ı)
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.
Bulunan sonuçlardaki region'larımızı yeni tanımaladığımız WorldID ler ile birlikte _RefInstance_World_Region tablomuza ekliyoruz.
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.
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.
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]
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
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
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
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
Kod:
USE SRO_VT_SHARD
UPDATE _RefEventZone SET Service=0 WHERE ZoneName LIKE '%GATE_TOGUI%'
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: