İçeriğe geç

Harita bölgeleri

Bölgeler harita sayfasında, Harita → Bölgeler altında; web panelinde de oyun içi menüde de. Bölge, kuralları olan bir alandır. Kurallar oyunu düzenler; kimse tespit edilmez ya da cezalandırılmaz.

ŞekilNasıl çizilir
DaireMerkeze tıkla, yarıçap için mavi tutamağı sürükle. Altını ve üstünü de kapsar (bir sütun).
KutuMerkeze tıkla; mavi köşe genişliği ve uzunluğu, mor tutamak yönü değiştirir.
ÇokgenTıklayarak 64’e kadar nokta koy; noktayı sürükle, + araya nokta koyar, sağ tık noktayı siler.
KüreMerkez, yarıçap ve yükseklik (z). Yalnız topun kendisi sayılır.

Yükseklik: panel haritası yalnız X ve Y’yi bilir. Bölgeyi bir kata ya da çatı altına sınırlamak için Yüksekliği sınırla’yı açıp alt ve üst değeri (z) gir. Sınır yoksa bölge deniz dibinden gökyüzüne kadar her yeri kapsar.

Kenarları kesişen çokgen kabul edilmez. Merkezi oyundaki bir oyuncunun yerine de taşıyabilirsin (çokgende nokta ekler).

Oyun içi menüde Oyunda çiz’e bas. Menü kapanır, lazerle nişan alırsın:

Tuşİşlev
ENokta koy (çokgen) ya da merkezi buraya al (daire, kutu, küre).
BackspaceSon noktayı geri al; hiçbir şey yokken vazgeç.
TekerlekYarıçap (daire, küre; Shift ile ×10) ya da yön (kutu).
Shift / Alt + tekerlekKutunun uzunluğu / genişliği.
↑ / ↓ (Shift: alt)Üst yükseklik (Shift ile alt yükseklik).
HYükseklik sınırını aç/kapa.
Ctrlİnce adım.
EnterBitir: menü formunla ve yeni şekille yeniden açılır.

Çizgiler yalnız çizerken görünür. Ad, kurallar ve diğer ayarlar olduğu gibi kalır.

Bir bölgeye birden çok kural bağlanabilir. Grup alan kurallar şunları dışarıda bırakabilir (giriş izninde içeri alabilir): en az dereceyle meslek, en az dereceyle çete, bütün yetkililer ya da bir yetkili grubu. Meslek grupları yalnız mesaideyken sayılsın açıksa mesaide olmayan polis de herkes gibi sayılır; mesai bilgisi vermeyen framework’lerde herkes mesaide sayılır.

KuralNe yapar
Silah yasağıİçeride silah çekilemez; eldeki silah bırakılır (ox_inventory’de kendi bırakma olayıyla). Araçtan ateş kapalı. Yumruk serbest.
Hız sınırıİçerideyken sürücünün azami hızı seçilen km/s’ye düşer, çıkınca geri gelir.
Güvenli bölgeİçerideki oyuncu hasar almaz, içeriden dışarıdakine de hasar verilemez. İsabeti sunucu düşürür. Muaf gruplar yine hasar verebilir.
Giriş izniYalnız seçilen gruplar girebilir; diğerleri az önce bulundukları sınır dışındaki yere geri alınır ve kısa bir uyarı görür. Yetkililer kendiliğinden giremez; girsinler istiyorsan yetkili grubu ekle.
Araca binme yasağıİçerideki yaya oyuncu araca binemez. Araçla içinden geçmek serbest.
Giriş/çıkış mesajıOyuncu girince ya da çıkınca ekranında kısa bir yazı çıkar.
Yetkili loguGiriş ve çıkış Fiveops loguna, Bölgeler kategorisine yazılır.

Kimin hangi kurala tabi olduğuna sunucu karar verir: oyuncunun oyununa yalnız ona işleyen kurallar iner, muaf polisin oyunu silah yasağını hiç görmez. Karakterin mesleği, çetesi ya da mesaisi değişince liste hemen yenilenir.

Girişi ve çıkışı oyuncunun oyunu bildirir; sunucu bölgede log kuralı olduğunu ve oyuncunun bölgenin yakınında olduğunu denetler, sonra sıklığı sınırlar:

SınırDeğer
Aynı oyuncu, aynı bölge, aynı yön30 saniyede bir
Tek oyuncuDakikada 12 kayıt
Bütün sunucuDakikada 240 kayıt

Bölge ekleme, düzenleme ve silme de Bölgeler kategorisine yazılır.

  • Sınırı göster: bölgeye yaklaşan oyuncu kenar boyunca açık renkli bir duvar görür.
  • Haritada göster: durdurma haritasında ve mini haritada alan olarak. Çokgen, çevresini saran dikdörtgen olarak görünür.
  • Bölge görünümü (yetkili): oyun içi menüde Harita → Bölgeler → Bölge görünümü, çevrendeki bütün bölgelerin sınırını ve adını gösterir, kapalılar dahil. Yalnız sen görürsün.

Her bölge kendi scriptlerinde kullanmak için kod olarak kopyalanabilir: Kod olarak kopyala → ox_lib (lib.zones.poly, box, sphere) ya da PolyZone (PolyZone:Create, BoxZone:Create, CircleZone:Create). İki kütüphane de kutuyu Fiveops ile aynı yöne döndürür; kopyalanan bölge aynı alanı kapsar. Fiveops’un kendisi ox_lib ya da PolyZone istemez.

Fiveopsox_libPolyZone
Yüksekliksiz daire32 köşeli çokgen, tam yükseklikCircleZone, useZ = false
Yükseklikli daire32 köşeli çokgen, o yükseklikte32 köşeli çokgen, minZ / maxZ
Kutulib.zones.box, size = vec3(g, u, yükseklik)BoxZone, önce uzunluk sonra genişlik
Çokgenlib.zones.poly, bütün noktalar orta yüksekliktePolyZone:Create, minZ / maxZ
Kürelib.zones.sphereCircleZone, useZ = true

Bölgeler oyuncunun oyununda neredeyse sıfır maliyetle denetlenir:

  • Hiç bölge yoksa hiçbir şey çalışmaz. Bölgelerden uzaktayken denetim, oyuncu bir bölgeye varabilecek kadar zaman uyur (en çok 2,5 sn).
  • Konum 500 ms’de bir (hızlı araçta 250 ya da 150 ms) ve yalnız oyuncunun 256 m’lik harita hücresindeki bölgelerle, sınır kutusu elemesinden sonra denetlenir.
  • Her karede çalışan döngü yalnız gerekince açılır: silah ya da araca binme yasağı olan bölgenin içindeyken, sınırı gösterilen bölgenin yakınında ve bölge görünümü açıkken.

Resource bir kopyayı map-zones.json içinde tutar; Fiveops’a ulaşılamazken de kurallar işler.

İzinNe açar
Bölgeleri görHarita → Bölgeler’i açar, oyunda bölge görünümünü açar, bölgeyi kod olarak kopyalar.
Bölge çiz ve düzenleBölgeleri panelden ve oyun içinden çizer, düzenler ve siler.