- Katılım
- 23 Eki 2022
- Mesajlar
- 8,584
- Çözümler
- 12
- Tepkime puanı
- 5,747
- Puanları
- 113
- Yaş
- 28
Merhaba arkadaşlar,
Bu rehberde birçok kişinin karıştırdığı bir konuyu net şekilde açıklıyoruz:
RefObjCommon tablosundaki teleport taşlarını WorldID bazlı spawn edebilir miyiz?
Kısa cevap: Hayır, direkt edemezsiniz.
Ama doğru yöntemle istediğiniz World'e teleport taşı ekleyebilirsiniz.
RefObjCommon sadece objenin tanımını (template) tutar.
Yani:
Bu yüzden burada WorldID aramak boşuna
Teleport taşlarının veya herhangi bir objenin world ile bağlantısı şu tablolar üzerinden yapılır:
Bir teleport taşını belirli bir world'e eklemek için:
Burada:
veya
Asıl olay burada:
Teleport çalışması için:
Bağlantıları da yapılmalı.
Aksi halde:
Taş görünür ama çalışmaz
Çoğu kişi şunu yapmaya çalışır:
RefObjCommon içine WorldID eklemek
Hive veya filter ile map zorlamak
Bunlar:
✔ RefObjCommon → sadece obje
✔ WorldID → RefRegion
✔ Spawn → Region üzerinden
✔ Teleport → Link tabloları
Eğer dinamik spawn yapmak istiyorsan:
Bu rehberde birçok kişinin karıştırdığı bir konuyu net şekilde açıklıyoruz:
RefObjCommon tablosundaki teleport taşlarını WorldID bazlı spawn edebilir miyiz?
Kısa cevap: Hayır, direkt edemezsiniz.
Ama doğru yöntemle istediğiniz World'e teleport taşı ekleyebilirsiniz.
1. RefObjCommon Ne İşe Yarar?
RefObjCommon sadece objenin tanımını (template) tutar.Yani:
- Objeyi oluşturur
- Tipini belirler (NPC, Teleport, Mob vs.)
- Ama hangi mapte spawn olacağını tutmaz
Bu yüzden burada WorldID aramak boşuna
2. WorldID Sistemi Nerede?
Teleport taşlarının veya herhangi bir objenin world ile bağlantısı şu tablolar üzerinden yapılır:
- _RefRegion
- _RefObjChar
- _RefTeleport
- _RefTeleportLink
- _RefObjCommon → sadece referans
- _RefRegionBindAssoc
- _RefRegion → WorldID burada var
3. Doğru Mantık (Spawn Sistemi)
Bir teleport taşını belirli bir world'e eklemek için:
Adımlar:
1. RefObjCommon'dan Objeyi Bul
SELECT * FROM _RefObjCommon WHERE CodeName128 LIKE '%TELEPORT%'
2. Region ID Bul (WorldID Bağlantısı)
SELECT * FROM _RefRegion WHERE WorldID = 1
Burada:
- WorldID = Map (Jangan, DW, vs.)
- Region = koordinat sistemi
3. Spawn Tablosuna Ekle
Teleport taşı spawn etmek için:INSERT INTO _RefObjChar (ID, CodeName128, ...)
veya
INSERT INTO _RefRegionBindAssoc (...)
Asıl olay burada:
- Objeyi region'a bağlarsın
- Region zaten WorldID içerir
4. Teleport Link Sistemi
Teleport çalışması için:_RefTeleport
_RefTeleportLink
Bağlantıları da yapılmalı.
Aksi halde:
Taş görünür ama çalışmaz
5. En Büyük Hata
Çoğu kişi şunu yapmaya çalışır:
RefObjCommon içine WorldID eklemek
Hive veya filter ile map zorlamakBunlar:
- ya çalışmaz
- ya da client crash verir
6. Doğru Yöntem Özeti
✔ RefObjCommon → sadece obje✔ WorldID → RefRegion
✔ Spawn → Region üzerinden
✔ Teleport → Link tabloları
Bonus (Pro Tip)
Eğer dinamik spawn yapmak istiyorsan:- Filter (örn: vSRO STFilter) kullanabilirsin
- Ama yine backend'de region sistemi çalışır

