s1studios

Üye
27 Haz 2022
30
4
8
(34) İstanbul Avrupa
Arkadaşlar merhaba.

Unreal'da yeni sayılırım.

Bir envanter sistemim var. Karakter level'da yer alan bir aktörle (buna weapon diyebiliriz) etkileşime geçip envanterine alabiliyor. Atanmış bir tuş vasıtasıyla envanterinden çıkarıp eline alabiliyor.

Sorun bunu save&load etmede.

Basit bir BP_Save oluşturuyorum. Tüm değişkenleri giriyorum. Sağlık ve konum gibi değişkenler başarılı bir şekilde save&load ediliyorken weapon'u soketten çağıramıyorum. bunun için save function'da getallactorsofclass - for each loop, load function'da ise getallactosofclass - add array vb gibi pek çok yöntem denedim. Bırakın weapon'un sockette kayıt edilmesini envantere bile kayıt etmediğini görüyorum.

İnternette arama yaptım. Attach ve Socket save&load 'ın birazcık karmaşık olabileceği söyleniyor.

Bunu yapmanın kolay bir yolu var mı? Yani mesela weapon için bir enuramation açsak ve bunu karakter planı ile save planında birbirine bağlasak (şu anda saçmaladım. bunu derken bile nasıl yapabileceğimi bilmiyorum).

Gerçekten bilgi desteğinize ihtiyacım var. Hatta örnek bir bluprintue kodu bile işime yarayabilir.

EKLEME: Arkadaşlar şayet gameinstance'de save ve load sistemini kurarsam bu sefer envantere weaponu aldığını görüyorum. Ama bu seferde load ettikten sonra USE edemiyor. Yani silahı soketinden çıkarıp eline alamıyor :D
 
Son düzenleme:
Böyle bir şeyin save i olmaz. Neyin envanterinde olduğunu neyin şu an kullandığın silah olduğunu vb şeyleri bir değişken haline getirip kaydetmen gerekiyor. Load zamanı da bunları okuyup ne gerekiyorsa envanterini yeniden doldurman ve elindeki silahı yükleyip sokete attach lemen gerekiyor. Yani gitmeye çalıştığın yol yanlış. Eğer çok yeni isen bu konu ile ilgili hazır plug in ler var marketplace te onları kullanabilirsin.
 
Teşekkürler.

Marketten gerçekten tatlı bir para verip save&load sistemi aldım. Her şeyi kaydettiğini söylüyordu (yapılar dahil). Ancak maalesef konum, sağlık ve diğer değişkenler haricinde envanteri kaydedemiyorum. Çünkü load kısmında envanterle ayrıca bir çalışma olması gerekiyo sanırım hazır plugin bile kullansam.