mrtcnaslnts

Aktif üye
8 Ara 2019
588
2
43
28
Ben haritadaki etkileşim kurduğum ya da take ettiğim actorleri bir değişkende toplayıp ona göre oyunu load ettiğimde ilgili actor bu listede varsa kendini destroy etsin ya da artık etkileşim kurulmasın istiyorum. Yaptığım yöntem işe yarıyor ancak şöyle bir sorun var. Levelde var olmaya devam eden actor değişken içerisinde korunurken, yok olan actorun ismi değişken içerisinde yok gibi davranıyor. Dikkatinizi çekerim değişken içerisi dolu aslında ama isim boş. İtemin ismi üzerinden işi çözeyim dedim mesele halloldu ama bu kez de başka bir sorun çıktı. Örneğin 1 tane Silah adında actor var. Ben bu actoru levele 4 adet koyarsam isimleri Silah1-silah2-silah3-silah4 oluyor. Bu haliyle değişkene almam gerekiyor ama sadece silah olarak alabildim kafam bir türlü basmadı olaya. Haritada var olan ismini set etmem lazım. yani silah2 olarak ya da silahxxxx artık neyse.
ChatGPT ye sordum "InstanceGUID = Unique ID" vs gibi bişeyler zırvaladı bişey anlamadım.
 
Son düzenleme:
Ben haritadaki etkileşim kurduğum ya da take ettiğim actorleri bir değişkende toplayıp ona göre oyunu load ettiğimde ilgili actor bu listede varsa kendini destroy etsin ya da artık etkileşim kurulmasın istiyorum. Yaptığım yöntem işe yarıyor ancak şöyle bir sorun var. Levelde var olmaya devam eden actor değişken içerisinde korunurken, yok olan actorun ismi değişken içerisinde yok gibi davranıyor. Dikkatinizi çekerim değişken içerisi dolu aslında ama isim boş. İtemin ismi üzerinden işi çözeyim dedim mesele halloldu ama bu kez de başka bir sorun çıktı. Örneğin 1 tane Silah adında actor var. Ben bu actoru levele 4 adet koyarsam isimleri Silah1-silah2-silah3-silah4 oluyor. Bu haliyle değişkene almam gerekiyor ama sadece silah olarak alabildim kafam bir türlü basmadı olaya. Haritada var olan ismini set etmem lazım. yani silah2 olarak ya da silahxxxx artık neyse.
ChatGPT ye sordum "InstanceGUID = Unique ID" vs gibi bişeyler zırvaladı bişey anlamadım.
Tag ile yapsana daha iyi olur. Tag ekle silahlara otomatik eklesin hatta.
 
Tag ile yapsana daha iyi olur. Tag ekle silahlara otomatik eklesin hatta.
iyi de aynı silahtan 2 tane olunca tekini alsam taglar aynı olduğu için load olduğunda ikisi birden silinir.

İlgili actorlerin display nameini değişkene atayıp ordan da array değişkenine gönderiyorum böylece halloldu. Ama Display name güvenli mi? değişkenlik gösterir mi?. Haritaya koyduğun actorlerin display nameleri her oyun başladığında aynıdır değişmez mi? yoksa değişkenlik gösterir mi?
 
Son düzenleme:
iyi de aynı silahtan 2 tane olunca tekini alsam taglar aynı olduğu için load olduğunda ikisi birden silinir.

İlgili actorlerin display nameini değişkene atayıp ordan da array değişkenine gönderiyorum böylece halloldu. Ama Display name güvenli mi? değişkenlik gösterir mi?. Haritaya koyduğun actorlerin display nameleri her oyun başladığında aynıdır değişmez mi? yoksa değişkenlik gösterir mi?
Oyuna sonradan yüklenme gibi bir şey olursa bir tanesi önce spawn edilirse display sırası değişir.
Set Tags ile bp içinde tag ayarlayabilirsin objelerine.
Ya da kendi sistemini yapabilirsin ID verebilirsin mesela.
Weapon1456
Weapon253 gibi randomize edilmiş şekilde.
DisplayName de olur ama kesinlik ne şekilde üretilir bilmiyorum displayname obje sırasına göre gelen bir şey sabit bir değer değil
Get Object Name var fakat bunlardan hangisini kullanırsan kullan değişken bunlar.
Senin yapman gereken sistem ise bir STR sistemi. Objenin adı tipi , türü ve durumu bir STR ye kayıt edilmeli. Böyle yaparsan kalıcı olur.
Ama display name veya objectname kullanmak değişkendir.
 
Guid ile hallettim bu sistemde her iteme "{CA56BD9B-423C-70F9-A393-B69415E8692D}" tarzı değerler veriyor. haritaya yerleştirdiğin itemler de ayrı ayrı numaralanıyor aynı bp item olsa bile çok pro yöntemmiş. Değişken oluşturup türünü Guid olarak seçiyorsun
 
Guid ile hallettim bu sistemde her iteme "{CA56BD9B-423C-70F9-A393-B69415E8692D}" tarzı değerler veriyor. haritaya yerleştirdiğin itemler de ayrı ayrı numaralanıyor aynı bp item olsa bile çok pro yöntemmiş. Değişken oluşturup türünü Guid olarak seçiyorsun
Nasıl yapılıyor tam olarak? Türünü Guid seçiyorsun derken? STR türü mü?
 
Değişken oluşturduğunda hani türünü seçiyorsunya bool float gibi orda arama kısmına guid yaz geliyor. Bunu begin playde get new guid -Set Guid değişkeni şeklinde çalıştırırsan aktör her spawn olduğunda o actöre ID verir. Ancak şöyle bir sorun var bu durum her seferinde Actore yeni bir ID verilmesine sebep oluyor. O yüzden değişkeni editabble yapıp Levele yerleştirdiğin actoru seçip detailsten ID eklemek daha doğru olur save işlemi için. Aslında başlarda bunu bilmiyordum. GUID yerine bir name string değişkeni oluşturup yine aynı yöntemle manuel ID vermek de aynı yola çıkıyor aslında tek fark GUID "{CA56BD9B-423C-70F9-A393-B69415E8692D}" olarak atıyor sen "asfsdfdgdfh" yazarsın yani
 
Değişken oluşturduğunda hani türünü seçiyorsunya bool float gibi orda arama kısmına guid yaz geliyor. Bunu begin playde get new guid -Set Guid değişkeni şeklinde çalıştırırsan aktör her spawn olduğunda o actöre ID verir. Ancak şöyle bir sorun var bu durum her seferinde Actore yeni bir ID verilmesine sebep oluyor. O yüzden değişkeni editabble yapıp Levele yerleştirdiğin actoru seçip detailsten ID eklemek daha doğru olur save işlemi için. Aslında başlarda bunu bilmiyordum. GUID yerine bir name string değişkeni oluşturup yine aynı yöntemle manuel ID vermek de aynı yola çıkıyor aslında tek fark GUID "{CA56BD9B-423C-70F9-A393-B69415E8692D}" olarak atıyor sen "asfsdfdgdfh" yazarsın yani
Aynen işte benim dediğim şeye geliyor yine :D
Gidip bir Integer atasan yine aynı olacak. Guidi Event Begin de bir kere atayacaksan eğer save load sistemi yapıp kayıt etmen lazım kayıt varsa tekrar oluşturmayı sadece yüklemesi gerekecek guidi mesela.
If Savegameslot.exitst
then
Load
else
Set Guid new guid

gibi bir şey yapmak lazım.
 
Sen tag derken bu yöntemden bahsettiğini anlamadım. Bildiğimiz actor bp içerisindeki tagları sandım. :D İnt de de olur evet ama intde itemin ne olduğunu bilmezsin. çok gerekemz ama gerek duysan bilmezsin yan.

Aslında bak kafama şimdi girdi. GUID ile gayet de tertemiz olur. Nasıl biliyor musun? Actor begigin play olurken GIUD e ID vermeden önce Contains ile sorar ben bu array değişken listesinde var mıyım diye varsam yok et yoksam ID ver diye. ;) bu else flan derken sen de bu tarz bişy mi kasdettin
 
Sen tag derken bu yöntemden bahsettiğini anlamadım. Bildiğimiz actor bp içerisindeki tagları sandım. :D İnt de de olur evet ama intde itemin ne olduğunu bilmezsin. çok gerekemz ama gerek duysan bilmezsin yan.

Aslında bak kafama şimdi girdi. GUID ile gayet de tertemiz olur. Nasıl biliyor musun? Actor begigin play olurken GIUD e ID vermeden önce Contains ile sorar ben bu array değişken listesinde var mıyım diye varsam yok et yoksam ID ver diye. ;) bu else flan derken sen de bu tarz bişy mi kasdettin
GUID vermene de gerek yok ki. Şimdi baktım. Aktörden > get actor guid diyince zaten bir serial numarası geliyor. Oyunu kapatıp açsan da aynı numara geliyor. Aktörü kopyalarsan ama o numara değişiyor birine C5 verdiyse diğerine D2 veriyor. Ama Oyunu kapatıp açınca yine aynı numarayı veriyor.