LOS SANTOS

İnsanlarla tanışın, hikayenizi yaşayın.

Etkileşim, eğlence ve daha fazlası burada.

Menü

İletileri Göster

Bu özellik size üyenin attığı tüm iletileri gösterme olanağı sağlayacaktır. Not sadece size izin verilen bölümlerdeki iletilerini görebilirsiniz.

İletileri Göster Menü

Mesajlar - PinkStarseed

#1
Mobilya Editörü – Rotasyon Açısı İçin Kısayol Sistemi

Mobilya düzenlerken bazı binaların veya yapıların yönü farklı olabiliyor. Örneğin bina yapısı 30 derece yönüne bakıyorsa, eklediğimiz her yeni obje için sürekli olarak;

/rz 30
/rz 120
/rz 210
/rz 300

şeklinde manuel olarak rotasyon vermemiz gerekiyor.

Buradaki açı mantığı ise başlangıç açısına 90 derecelik artışlar eklenmesi:

30 → 120 → 210 → 300 → 30
Bu işlemi sürekli /rz komutlarıyla yapmak yerine, oturum boyunca geçerli olacak bir Rotasyon Angle değeri ve buna bağlı bir klavye kısayolu eklenmesi kullanım kolaylığı sağlayacaktır.

Önerilen Sistem

1. Rotasyon Angle Değeri

Oturum boyunca geçerli olacak bir Rotasyon Angle değeri tutulabilir.

Örneğin:

/rangle 30
komutu kullanıldığında, bundan sonra eklenen yeni objelerin varsayılan rotasyon açısı:

/rz 30
olarak kabul edilir.

Yani yeni obje eklendiğinde başlangıç rotasyonu otomatik olarak 30 derece olur.

2. Gizmo Editörü İçerisinde R Tuşu

Gizmo Editörü açıkken R tuşuna basıldığında mevcut Rotasyon Angle değerine 90 derece eklenebilir.

Örneğin başlangıç değeri:

/rangle 30
ise:

R → 120°
R → 210°
R → 300°
R → 30°
R → 120°

şeklinde döngüsel olarak devam eder.

Örnek Kullanım Senaryosu

Bina yönü 30 derece olan bir alanda mobilya yerleştiriyoruz.

Öncelikle:

/rangle 30
komutu ile başlangıç açısını belirliyoruz.

Daha sonra yeni objeler eklerken herhangi bir /rz komutu kullanmamıza gerek kalmadan:

Obje 1 → 30°
R → 120°
Obje 2 → 120°
R → 210°
Obje 3 → 210°
R → 300°
Obje 4 → 300°
R → 30°
Obje 5 → 30°

şeklinde çok daha hızlı bir şekilde çalışabiliriz.

Avantajları

  • Her obje için tekrar tekrar /rz komutu yazma ihtiyacı ortadan kalkar.
  • Farklı yönlere bakan binalarda mobilya yerleşimi çok daha hızlı yapılabilir.
  • 90 derecelik dönüşler tek bir tuşla gerçekleştirilebilir.
  • Rotasyon açısı oturum boyunca korunabilir.
  • Gizmo Editörü içerisindeki çalışma akışı daha pratik hale gelir.
  • Özellikle çok sayıda obje yerleştirilen sahnelerde ciddi zaman kazandırır.

Özet

/rangle 30
ile başlangıç rotasyon açısını belirleyelim.

Gizmo Editörü açıkken:

R = +90°
mantığıyla açıyı değiştirelim.

Örneğin:

30 → 120 → 210 → 300 → 30 → ...
şeklinde döngüsel olarak çalışsın.

Böylece mobilya editlerken sürekli /rz komutu kullanmak yerine sadece R tuşuna basarak objelerin rotasyon yönünü hızlıca değiştirebiliriz.
#2
/mgrouplist gibi bir şey olsa interiordaki tüm grup listesini gösteren bir tablo olsa iyi olabilir.
#3
İnterior içerisinde freecam ile gidebileceğimiz bir sınır var bu sınır neden kondu bilmiyorum. Bence 2-3 kat daha sınırın uzatılması gerekiyor.


/freecam ile etrafa bakarken /mtext3d yazıların uzaklığı freecam'a bağlı olarak göstermiyor. Karakter neredeyse text3d yazıları karakterin bulunduğu uzaklığa göre gösteriyor. Bence freecam aktif iken mtext3d yazıların uzaklığı freecama göre davranmalı.
#4
Okunmuş AR&GE / Alt Grup Kopyalama Menüsü Hk.
28 Eylül 2026, 10:25:05
Alt Grup Kopyalama Menüsü Hk.


Özel Ad İnputun Gizlenmesi
Her alt grup için özel ad input kısmı görünüyor. Bunlar gizlense daha iyi olabilir; yalnızca ilgili alt grupta **özel ad seçeneği** seçilmiş ise o zaman görünsün.

Yeniden Sıralama ve Renklendirme
Seçeneklerin renk olarak kolayca anlaşılabilmesi için sol tarafta dikey bir çizgi ile renklendirme öneriyorum:
 
Yeniden sıralama da bu şekilde olabilir:
┃ Yeni grup oluştur
┃ Aynı grup adı ile kullan
┃ Özel grup adı gir
┃ Bu grup bilgisini kopyalama
 
 
Max Alt Grup Sayısı
Max alt grup kopyalama sayısı 8'miş bana göre bu yetersiz olabilir. Alt grup kopyalama menuye scrollbar eklenerek max alt grup sayısının artılabileceğini düşünüyorum.
 
#5
Bu arada bazı objelerin dynamic özelliği olmadığını veya düzgün çalışmayacağını biliyorum.
#6
/msel .id edit veya /mgroup ile objeyi düzenlerken. dynamic özelliğini açıp kapatılabilen tuş tanımlanmasını istiyorum.


numpad2 tuşuna bastığımızda dynamic özelliği açılacak tekrar basarsak kapanacak ama önemli olan detay şu.

Obje havada ise dynamic numpad2 ile dynamic aktifleştirdiğimizde temas etmemize gerek kalmadan yerçekimi olarak yere düşmeli ardından dynamic haliyle en son hangi konum ve rotasyonda ise o bilgiler kaydedilecek.  ama o obje için dynamic olarak kaydedilmeyecek /msel .id dynamic ile yapılmalı.

Editleme işlemi yaparken dynamic geçici olmalıdır.

Peki bu neden gerekli?
Objeleri dizerken örneğin masanın üzerine eşyalar yerleştirirken hep z kordinatı üzerinden deyiyormu deymiyor mu çakışıyor mu diye sürekli kontrol ediyoruz.

Senaryo şu şekilde

masanın üstüne saksı koymak için saksıyı masanın üstüne getirdim numpad2 tuşuna bastım saksı yerçekimi etkisiyle aşağı düşmeye başladı ve masanın üstüne denk geldi. Orada durdu ve enterleyip konumu onayladım. Böylece çakışma olmayacak. ama saksı dynamic özelliği olarak kaydedilmeyecek bunun için /msel id dynamic ile ayar yapılmalı biz sadece geçici olarak dynamic özelliği kazandırıyoruz.


Başka bir örnek ise gitarı duvara yaslanmış gerçekçi bir şekilde yerleştirmek isterim. numpad2 tuşuna bastım ve onu duvara doğru iterim kusursuz bir şekilde duvara yaslanmış olucak ve kaydedeceğim.
#7
Ben aslında fazla teknik detayla anlatmışım.

Normal bir kullanıcı tarafı olarak şunu görücek

Herhangi bir interiorda ev veya işyeri olsun fark etmez N menüsüne basacak oradan Kişiselleştirme butonu olucak.

Bu kişiselleştirme kısmında /kombin deki grup sistemine benzer bir şekilde aynı şekilde burada kategoriler olucak.

Örneğin "Mutfak" diye bir kategori oluşturduk. Bu kategoride "Yemek Masası" diye bir grup oluşturduk. Bu gruba ait seçenekler ekleyeceğiz. "Akşam yemeği kur", "Kahvaltı kur", "Masayı topla" gibi seçenekler ekleyeceğiz.

Bu seçenekleri N menüsü Kişiselleştirme butonu üzerinden uygulayabilir veya /kapioto /poster /info' da ki olduğu gibi 3D etkileşim noktası kurulabilir.  Yani yemek masasının yanına 3D etkileşim noktası kurup oradayken Y tuşuna bastığımızda seçenekler çıkıcak   "Akşam yemeği kur", "Kahvaltı kur", "Masayı topla"  bunlardan birine tıkladığımızda objeler görünürlüğünü değiştirecek yani boş masa varken "Akşam yemeği kur" seçeneğine tıkladığımızda masada akşam yemeği için hazırlanmış olur.


Bu sistem getirilirse yapılabilecek şeyler şunlar:


Ateşi söndürebilir veya yakabilir.
Işıkların rengini değiştirebilir.
Her odaya ait veya belli bölüme ait ışıkları açıp kapatabilir.
Kişisel tercih olarak Duvar Renkleri, Zemin, Tavan gibi tercihlerine bağlı olarak değiştirebilir.
Dynamic Objeleri resetleyebilir.
Perdeleri açabilir kapatabilir.
Ocaktaki tava, tencere, vb kaldırabilir veya koyabilirsiniz.
Misafirler geldiğinde isteklere göre sehpaya alkol, içki, kahve, atıştırmalık gibi bir çok çeşitli şeyler koyabilirsiniz rolsel açıdan destekleyici olucaktır.
Çalışma masanızın üzerindeki düzenini değiştirebilir.
Mutfaktaki yemek masası modelini değiştirebilirsiniz.
Noel dekorlarının gizleyebilir veya aktifleştirebilirsiniz
Parti objelerini gizleyebilir veya aktifleştirebilirsiniz.

Ama bunların ayarlarını Hera yapmayacak bunun ayarlamasını mapperler yapacak benim dediğim şeyi anlamışlardır muhtemelen. Yani her interior için mapper bilgisi olan birisi tarafından ayarlamalı.

Dediğim şeyler örnektir geri kalan başka fikirlerde olabilir bunlar tamamen mapper kişilere kalmış.
Genel kullanım ise renk değişimi, stil değiştirme, her odaya ait lamba ayarı yapılması
#8
Okunmuş AR&GE / Grup Kopyalama Koruması
22 Eylül 2026, 23:29:10
Grup Kopyalama Koruması

Mapperların hazırladığı interiorlar ciddi miktarda zaman ve emek gerektirebilmektedir.

Bir interior satıldığında veya başka bir kullanıcıya devredildiğinde, mevcut sistemler üzerinden hazırlanan yapının çok kolay şekilde tekrar kopyalanabilmesi mapperlar açısından önemli bir problem oluşturmaktadır.

Bu nedenle, mapperın kendi koyduğu objeler için isteğe bağlı bir kopyalama koruma sistemi olması önerilmektedir.

Örnek kullanım:

/mgroup g_bina secure

Bu komut ile ilgili grup içerisinde mapper tarafından oluşturulan/koyulan objeler korumalı hale getirilebilir.

Önemli:

Bu koruma, objenin normal kullanımını engellememelidir. Korumanın temel amacı objeyi kullanılamaz hale getirmek değil, mapperın emeğinin izinsiz şekilde çoğaltılmasını engellemektir. Sadece koruma sahibi çoğaltabilir.

Korumalı Objelerin Özellikleri

Korumalı bir obje normal şekilde kullanılmaya devam edebilmelidir.


Korumalı Grubun Sahibi değil ise:

  • Taşınabilir.
  • Silinebilir.
  • Satılabilir.
  • Kopyalanamaz.
  • Copy işlemiyle çoğaltılamaz.
  • Mark olarak işaretlenemez.
  • Mark / Paste sistemiyle çoğaltılamaz.
  • Interior kopyalama işlemiyle çoğaltılamaz.
  • Seed kopyalama işlemiyle çoğaltılamaz.
  • Modeli değiştirilemez.
  • Korumalı grup unlink edilemez.
  • Başka bir gruba dahil edilemez.

Buradaki koruma mekanizmasının amacı, objenin kullanımını kısıtlamak değil; izinsiz çoğaltılmasını engellemektir.

Obje Koruma Sahipliği

Koruma yalnızca objeyi oluşturan/koyan mapper tarafından uygulanabilmelidir.

Başka bir mapper, kendi koymadığı veya sahibi olmadığı bir objeyi secure durumuna getirememelidir.

Objenin üzerinde aşağıdaki gibi bir sahiplik bilgisi tutulabilir:

Obje ID: 1234567
Obje Sahibi: Mapper A
Secure: YES

Bu şekilde objenin hem sahibi hem de secure durumu sistem tarafından takip edilebilir.

Secure Korumasının Kaldırılması

Secure koruması yalnızca aşağıdaki kişiler tarafından kaldırılabilmelidir:

  • Korumanın sahibi olan mapper.
  • Yetkili üst yönetim.

Bunun dışında başka bir mapper veya kullanıcı, objenin secure durumunu değiştirememelidir.

Interior Satışı ve Devir Durumu

Interiorın başka bir kullanıcıya satılması veya devredilmesi halinde secure korumasının sahibi değişmemelidir.

Örneğin:

Mapper A → Interiorı oluşturdu
Mapper A → Objeleri secure etti

Interior → Kullanıcı B'ye satıldı

Bu durumda Mapper A tarafından secure edilmiş objeler, interior artık B kullanıcısına ait olsa dahi Mapper A'nın koruması altında kalmaya devam etmelidir.

Kullanıcı B, interioru kullanıcı C'ye satarken korumalı objeler dahil edilmeden kopyalamalıdır.

Secure Edilmiş Objelerin Satışı

Secure edilmiş objenin sahibi, kendi isteği doğrultusunda objeyi satabilmelidir.

Örneğin:

/mgroup [grup] sell

komutu ile grup satabilir ve silebilir.

Secure durumu, satış/silme işlemini engellememelidir.

Kopyalama İşlemlerinde Secure Kontrolü

Secure durumu, sistemde bulunan tüm çoğaltma/kopyalama mekanizmalarında kontrol edilmelidir.

Aşağıdaki işlemlerin tamamında secure kontrolü yapılmalıdır:

/msel copy

/mgroup copy

/mgroup mark

/mgroup paste

Seed kopyalama

Interior kopyalama

Korumalı bir obje herhangi bir kopyalama veya çoğaltma işleminin içerisinde bulunuyorsa, sistem bu objenin kopyalanmasına izin vermemelidir. Korumalı obje sahibi kim ise sadece ona izin verilir.

/mgroup [grup adı] unsecure ile koruma sahibi korumayı kaldırabilir.
#9
İnterior Kişiselleştirme Sistemi

İnteriorlarda her zaman aktif olarak kullanılmayan, belirli durumlarda gösterilip gizlenmesi veya değiştirilmesi gereken birçok obje bulunabilmektedir.

Bu nedenle interior sahibinin veya mapper'ın, interior içerisindeki bazı objeleri farklı kullanım senaryolarına göre kolayca değiştirebilmesi ve bu değişiklikleri normal kullanıcıya teknik detaylardan arındırılmış şekilde sunabilmesi amaçlanmaktadır.

Kişiselleştirme sistemi ile interior sahibi, kendi interioru için farklı kategoriler ve bu kategoriler altında seçenekler oluşturabilecek; her seçeneğin arkasında bir veya birden fazla teknik komut çalıştırabilecektir.

Normal kullanıcı ise yalnızca hazırlanan seçenekleri görecek ve teknik olarak hangi komutların veya grupların kullanıldığını bilmek zorunda kalmayacaktır.



Amaç ve Kullanım Alanları

Kişiselleştirme sistemi özellikle durumuna göre değiştirilebilen interior ve çevre objelerinin yönetilmesi için kullanılabilir.

Örnek kullanım alanları:

  • Kahvaltı masası / akşam yemeği masası gibi farklı masa düzenleri

  • Doğum günü veya parti dekorasyonları

  • Mevsimsel dekorasyonlar

  • Perdelerin açık / kapalı durumları

  • Bahçe düzenlemeleri

  • Geçici dekorasyonlar

  • Duvar veya interior renklerinin değiştirilmesi

  • Lamba ışık renklerinin değiştirilmesi

  • Interior içerisindeki belirli lambaların kapatılması veya farklı bir model ile değiştirilmesi

  • Performans amacıyla ince veya gereksiz objelerin gizlenmesi


Örneğin bir yemek masası için;

Kahvaltı Masası Hazırla
Akşam Yemeği Hazırla

şeklinde iki farklı kullanım senaryosu oluşturulabilir.

Kullanıcı yalnızca bu seçenekleri görürken, sistem arka planda birden fazla teknik işlemi gerçekleştirebilir.



Mevcut Uygulanabilir Çözüm

Şu anda bu tür işlemler grup ve alpha komutları kullanılarak gerçekleştirilebilmektedir.

Örneğin kahvaltı masası için:

/mgroup g_bina_kitchen_table_all alpha 10
/mgroup g_bina_kitchen_table_breakfast alpha 0

Akşam yemeği masası için:

/mgroup g_bina_kitchen_table_all alpha 10
/mgroup g_bina_kitchen_table_dinner alpha 0

Perde için:

/mgroup g_ofis_perde_all alpha 10
/mgroup g_ofis_perde_on alpha 0

Lamba gibi objelerde ise model değişimi kullanılarak ışık kapatılmış gibi davranabilir

/mgroup g_myroom_lamps model null

veya:

/mgroup g_myroom_lamps model lampa_yellow_large

Bu yöntem teknik açıdan çalışabilir durumdadır ve mapper için yeterince anlaşılırdır.

Ancak bu işlemlerin doğrudan normal kullanıcıya sunulması uygun değildir.

Kullanıcıdan;

/mgroup [grup adı] alpha [değeri]

gibi teknik detaylarla ilgilenmesi beklenmemelidir.

Bu nedenle mevcut `/mgroup` yapısının doğrudan kullanıcıya açılması yerine, bu komutların arka planda çalıştırıldığı bir üst seviye kişiselleştirme sistemi oluşturulması önerilmektedir.



Önerilen Kişiselleştirme Sistemi

Önerilen sistemde kişiselleştirme tanımları mapper veya ilgili interior sahibi tarafından oluşturulur.

Sistem sabit kategorilerden oluşmamalıdır.

Tıpkı `/kombin` içerisindeki gruplama mantığında olduğu gibi, kullanıcı kendi ihtiyacına göre kategori ve seçeneklerini oluşturabilmelidir.

Örneğin:

KİŞİSELLEŞTİRME

Mutfak
└── Yemek Masası
├── Kahvaltı Masası Hazırla
└── Akşam Yemeği Hazırla

Ev Dışı
└── Bahçe
├── Korkuluğu Yerleştir
└── Korkuluğu Kaldır

Mevsimsel
└── Kış Dekoru
├── Kış Dekorunu Aç
└── Kış Dekorunu Kapat

Parti
└── Doğum Günü Partisi
├── Doğum Günü Dekorlarını Yerleştir
└── Doğum Günü Dekorlarını Kaldır

Interior sahibi / mapper aşağıdaki işlemleri gerçekleştirebilmelidir:

  • Kategori oluşturabilmeli

  • Kategori silebilmeli

  • Kategori adını değiştirebilmeli

  • Seçenek oluşturabilmeli

  • Seçenek silebilmeli

  • Seçenek adını değiştirebilmeli

  • Bir seçenek içerisine birden fazla teknik komut ekleyebilmeli

  • Komutların çalışma sırasını belirleyebilmeli

  • Oluşturulan kişiselleştirme grubunu yönetebilmeli

  • Bir kişiselleştirme grubu veya seçeneği için 3D etkileşim noktası oluşturabilmeli


Bir seçenek içerisinde birden fazla komut bulunabilmelidir.

Bu komutlar, mapper tarafından tanımlanan sıra ile çalıştırılmalıdır.

Örneğin:

Seçenek: Kahvaltı Masası Hazırla

1. /mgroup g_bina_kitchen_table_all alpha 10
2. /mgroup g_bina_kitchen_table_breakfast alpha 0
   

Başka bir seçenek:

Seçenek: Akşam Yemeği Hazırla

1. /mgroup g_bina_kitchen_table_all alpha 10
2. /mgroup g_bina_kitchen_table_dinner alpha 0
   

Lamba için:

Seçenek: Odanın Işığını Kapat

1. /mgroup g_myroom_lamps model null
   

ve:

Seçenek: Odanın Işığını Aç

1. /mgroup g_myroom_lamps model lampa_yellow_large
   

Bu sayede mapper istediği kadar teknik işlem tanımlayabilir ancak normal kullanıcı yalnızca;

Kahvaltı Masası Hazırla
Akşam Yemeği Hazırla
Odanın Işığını Aç
Odanın Işığını Kapat

gibi kullanıcı dostu seçenekleri görür.



Kişiselleştirme Tanımlarının Kalıcılığı

Kişiselleştirme tanımları geçici olmamalıdır.

Oluşturulan kategori, seçenek ve bunlara bağlı komutlar ilgili interior ile birlikte kalıcı olarak saklanmalıdır.

Oyuncunun oyundan çıkması veya interiordan ayrılması durumunda bu tanımlar silinmemelidir.

Tanımlar ilgili interiora ait olmalıdır.

Mapper veya interior sahibi daha sonra bu tanımları tekrar açarak düzenleyebilmeli, değiştirebilmeli veya silebilmelidir.

Oluşturulan kişiselleştirme tanımları `/mseeds` içerisine dahil edilmelidir.

Böylece interiorun kişiselleştirme yapısı da interior verisinin bir parçası olarak taşınabilmelidir.



N Menüsü Üzerinden Yönetim

N Menüsü içerisinde ayrı bir Kişiselleştirme bölümü bulunmalıdır.

Örneğin:

N MENÜSÜ

└── Kişiselleştirme
│   ├── Mutfak
│   │   └── Yemek Masası
│   │       ├── Kahvaltı Masası Hazırla
│   │       └── Akşam Yemeği Hazırla
│   │
│   ├── Ev Dışı
│   │   └── Bahçe
│   │       ├── Korkuluğu Yerleştir
│   │       └── Korkuluğu Kaldır
│   │
│   ├── Salon
│   ├── Mevsimsel
│   └── Parti

Normal kullanıcı N Menüsü üzerinden yalnızca mapper veya interior sahibi tarafından oluşturulan kişiselleştirme seçeneklerini görmelidir.

Teknik komutlar, `/mgroup` ifadeleri, grup isimleri veya alpha/model gibi teknik parametreler kullanıcıya gösterilmemelidir.

N Menüsü aynı zamanda kişiselleştirme sisteminin yönetim arayüzü olmalıdır.

Yetkili kullanıcı, kendi yetkisi dahilindeki interior içerisinde:

  • Kategori oluşturma

  • Kategori düzenleme

  • Kategori silme

  • Seçenek oluşturma

  • Seçenek düzenleme

  • Seçenek silme

  • Komut ekleme

  • Komut sırasını değiştirme

  • Kişiselleştirme seçeneği için 3D etkileşim noktası oluşturma


işlemlerini N Menüsü üzerinden gerçekleştirebilmelidir.



3D Etkileşim Noktalarının Oluşturulması

Kişiselleştirmelerin yalnızca N Menüsü içerisinden kullanılabilmesi yerine, belirli durumlarda interior içerisindeki fiziksel bir noktadan da kullanılabilmesi amaçlanmaktadır.

Bu nedenle kişiselleştirme sistemi içerisinde 3D Etkileşim Noktası desteği bulunmalıdır. Tıpkı /info ve /poster sistemleri gibi.

Etkileşim noktası oluşturma işlemi de N Menüsü üzerinden yapılmalıdır.

Örneğin mapper veya interior sahibi;

N MENÜSÜ
└── Kişiselleştirme
│   └── Mutfak
│   │   └── Yemek Masası
│   │   │   ├── Kahvaltı Masası Hazırla
│   │   │   ├── Akşam Yemeği Hazırla
│   │   │   └── Etkileşim Noktası Oluştur

seçeneğini kullanabilir.

Etkileşim Noktası Oluştur seçildiğinde sistem, karakterin o an bulunduğu konumu etkileşim noktası olarak kaydetmelidir.

Böylece mapper veya interior sahibi ayrıca koordinat girmek veya teknik bir komut kullanmak zorunda kalmadan, karakterin bulunduğu konuma ilgili kişiselleştirme grubu için bir etkileşim noktası yerleştirebilir.

Örneğin mapper yemek masasının yanında durarak:

N MENÜSÜ
→ Kişiselleştirme
→ Mutfak
→ Yemek Masası
→ Etkileşim Noktası Oluştur

işlemini gerçekleştirdiğinde, sistem o anki karakter konumuna yemek masası kişiselleştirmesine ait bir etkileşim noktası oluşturur.

Oyuncu daha sonra bu noktaya yaklaştığında:

[Y] Etkileşim

uyarısını görmelidir.

[Y] tuşuna basıldığında ilgili kişiselleştirme grubu açılmalıdır:

Y

└── Yemek Masası
│   ├── Kahvaltı Masası Hazırla
│   └── Akşam Yemeği Hazırla

Burada önemli nokta, etkileşim noktasının doğrudan tek bir komuta bağlı olmak zorunda olmamasıdır.

Etkileşim noktası bir kişiselleştirme kategorisine, grubuna veya seçeneğine bağlanabilmelidir.

Örneğin bir yemek masası noktası;

Yemek Masası
├── Kahvaltı Masası Hazırla
└── Akşam Yemeği Hazırla

şeklinde birden fazla seçeneği açabilirken, farklı bir nokta doğrudan tek bir seçeneği çalıştıracak şekilde de tanımlanabilir.

Bu sayede aynı kişiselleştirme sistemi hem N Menüsü üzerinden hem de dünya içerisindeki fiziksel etkileşim noktaları üzerinden kullanılabilir.



N Menüsü ve 3D Etkileşim Noktalarının Birlikte Kullanımı

Sistem iki farklı kullanım yöntemi sunmalıdır.

1. N Menüsü üzerinden kullanım

Oyuncu:

N MENÜSÜ
→ Kişiselleştirme
→ Mutfak
→ Yemek Masası
→ Kahvaltı Masası Hazırla

şeklinde doğrudan kişiselleştirmeyi uygulayabilir.

2. 3D Etkileşim noktası üzerinden kullanım

Mapper veya interior sahibi tarafından önceden oluşturulmuş noktaya gelen oyuncu:

[Y] Etkileşim
→ Yemek Masası
→ Kahvaltı Masası Hazırla

şeklinde aynı kişiselleştirmeye ulaşabilir.




Genel Sistem Akışı

Sistemin genel çalışma mantığı aşağıdaki şekilde olmalıdır:

INTERIOR SAHİBİ / MAPPER

```
    ↓
```

N MENÜSÜ

```
    ↓
```

Kişiselleştirme Kategorisi Oluştur

```
    ↓
```

Kişiselleştirme Grubu Oluştur

```
    ↓
```

Seçenekleri Oluştur

```
    ↓
```

Her Seçeneğe Teknik Komutları Ekle

```
    ↓
```

Komutların Çalışma Sırasını Belirle

```
    ↓
```

Kişiselleştirmeyi Kaydet

```
    ↓
```

İsteğe Bağlı:
Etkileşim Noktası Oluştur

```
    ↓
```

Karakterin Mevcut Konumu Kaydedilir

```
    ↓
```

OYUNCU

```
    ↓
```

N Menüsü
veya
3D Etkileşim Noktası

```
    ↓
```

Kişiselleştirme Seçeneğini Seçer

```
    ↓
```

Sistemde kayıtlı teknik komutlar
tanımlanan sıra ile çalıştırılır

Bu yapıyla birlikte `/mgroup` gibi teknik komutlar sistemin kullanıcıya görünen yüzünden ayrılmış olur.

Mapper veya interior sahibi arka planda istediği teknik işlemleri tanımlarken, normal oyuncu yalnızca anlamlı ve kullanıcı dostu kişiselleştirme seçenekleriyle etkileşime girer.

Kişiselleştirme tanımları interior ile birlikte kalıcı olarak saklanır ve aynı tanımlar hem N Menüsü hem de 3D etkileşim noktaları tarafından kullanılabilir.

Ek olarak

Şuanda bir objeyi gizlemek için alpha 10 veya model null gibi alternatif yollar kullanıyoruz fakat ikisi de çok sağlıklı değil çünkü alpha interiorda aynı anda 255 objeyi destekliyor model null yöntemi ise içinde farklı farklı objeleri olan gruplar için önerilmiyor /mgroup [grup adı] deactive şeklinde bir komut olsa oyunda bu objelerin bir şekilde renderlenmesi veya ortaya çıkması engellense /mgroup [grup adı] active ile tekrardan aktifleştirilme gibi bir komut gelse olabilir aslında.
#10
Okunmuş AR&GE / Alt Grup Kopyalama Sistemi
22 Eylül 2026, 20:12:57
Grup Kopyalama Sisteminin Geliştirilmesi

Mevcut sistemde örneğin aşağıdaki gibi bir yapı bulunduğunu düşünelim:

g_bina
g_bina_out
g_bina_in

[g_bina] grubundaki objeler aynı zamanda [g_bina_out] ve [g_bina_in] gibi başka gruplarda da bulunabilir.

Örneğin:

g_bina

├── g_bina_out
└── g_bina_in

şeklinde bir yapı olabilir.

Mevcut sistemde /mgroup [grup] copy işleminde ana grubun objeleri kopyalanmakta; ancak bu objelerin sahip olduğu diğer grup bilgileri yeni objelere otomatik olarak aktarılmamaktadır.

Örneğin:

g_bina

├── g_bina_out
└── g_bina_in

yapısında /mgroup g_bina copy yapıldığında, g_bina_out ve g_bina_in grup bilgileri yeni objelere aktarılmamaktadır.

Sonuç olarak, örneğin yeni binadaki g_bina_in objelerinin tamamını başka bir işlem için tek seferde yönetmek mümkün değil ve mapper'ın bu objeleri tek tek tekrar gruplandırması gerekmektedir.

Bu durum özellikle büyük interiorlarda ciddi miktarda ek iş oluşturuyor.

Önerilen sistem:

/mgroup g_bina copy komutu çalıştırıldığında sistem, kopyalanacak ana gruba ait objelerde bulunan diğer grup bilgilerini tespit ederek mapper'a bir seçim ekranı göstermelidir.

Örneğin:

Alıntı YapGRUP KOPYALAMA

Ana Grup:

g_bina

Yeni Ana Grup:

[ g_bina_2 ]



g_bina_out

○ Aynı grup adı ile kullan

○ Yeni grup oluştur

○ Bu grup bilgisini kopyalama

○ Özel grup adı gir



g_bina_in

○ Aynı grup adı ile kullan

○ Yeni grup oluştur

○ Bu grup bilgisini kopyalama

○ Özel grup adı gir


Mevcut sistemde olduğu gibi:

/mgroup g_bina copy [yeni grup adı]

şeklinde mapper tarafından doğrudan bir isim verilebilir.

Alan boş bırakıldığında ise sistem, mevcut isimlendirme mantığına göre uygun numarayı otomatik olarak oluşturmalıdır. Yani mevcut grup kopyalama sistemiyle aynı şekilde çalışmalıdır.



Alt gruplar için 4 seçenek:

1. Aynı grup adı ile kullan

Kopyalanan objeler mevcut grubun içerisine dahil edilir.

Örneğin:

g_bina_out

seçildiğinde yeni kopyalanan dış duvar objeleri de g_bina_out grubuna dahil edilir.

Böylece eski bina ve yeni bina aynı grup üzerinden birlikte yönetilebilir.



2. Yeni grup oluştur

Sistem otomatik olarak yeni bir grup oluşturur.

Örneğin:

g_bina      → g_bina_2
g_bina_out  → g_bina_out_2
g_bina_in   → g_bina_in_2

Mevcut grup isimlerine göre numara otomatik olarak artırılır.



3. Bu grup bilgisini kopyalama

Örneğin g_bina_in için bu seçenek seçilirse:

Objeler g_bina_2 grubuna kopyalanır ancak g_bina_in grup bilgisi yeni objelere eklenmez.

Yani yeni objeler:

g_bina_2

grubunda bulunur fakat:

g_bina_in

grup bağlantısına sahip olmaz.



4. Özel grup adı gir

Mapper, kopyalanan grup için istediği ismi kendisi belirleyebilir.

Örneğin:

g_bina_out → bina2_dis_duvar
g_bina_in  → ikinci_bina_ic

şeklinde özel grup isimleri kullanılabilir.



Örnek kullanım:

Bir mapper aşağıdaki yapıya sahip olsun:

g_bina
g_bina_out
g_bina_in

Kopyalama sırasında:

g_bina      → otomatik: g_bina_2
g_bina_out  → aynı grup: g_bina_out
g_bina_in   → yeni grup: g_bina_in_2

seçilebilir.

Böylece ikinci binanın dış duvarları mevcut g_bina_out grubuyla birlikte yönetilirken, iç duvarlar g_bina_in_2 üzerinden tamamen bağımsız şekilde özelleştirilebilir.

Bu sistem özellikle model değiştirme, renk değiştirme, toplu alpha ayarlama ve toplu düzenleme işlemlerinde ciddi şekilde zaman kazandıracaktır.