Envanter sisteminde eşya agırlıgı diye bir ınteger oluşturduk eşyalara agırlık verdik. Bu eşyaların ağırlığını toplayarak 20'ye eşitleyecek ve 20 den sonra eşya almayacak. Bu sistemi nasıl yapabiliriz ?
alcak0001' Alıntı:Envanter sisteminde eşya agırlıgı diye bir ınteger oluşturduk eşyalara agırlık verdik. Bu eşyaların ağırlığını toplayarak 20'ye eşitleyecek ve 20 den sonra eşya almayacak. Bu sistemi nasıl yapabiliriz ?
Teşekkür edrim ama benim şimdilik geçici olarak ınteger sayısını saklamam lazım nasıl yapıldıgını bilen varsa acıklarsa sevinirimsupernova2132' Alıntı:alcak0001' Alıntı:Envanter sisteminde eşya agırlıgı diye bir ınteger oluşturduk eşyalara agırlık verdik. Bu eşyaların ağırlığını toplayarak 20'ye eşitleyecek ve 20 den sonra eşya almayacak. Bu sistemi nasıl yapabiliriz ?
Benim şimdiye kadar öğrendiğim bilgiye göre yapacak olsaydım
Taşıma kapasitesi(integer) ve kapasite dolu(boolean) oluştururdum ve bir eşya aldığında o eşyanın ağırlığı kadar taşıma kapasitesine eklerdim.Mesela bir taşı aldığında önce kapasite dolu adlı değişkeni kontrol eder eğer true ise alır ve taşıma kapasitesine 2 eklenir.Taşıma kapasitesi 20'yi geçince kapasite doluyu aktif eder.Yanlış varsa affola çok da uzman değilim.
nurisural' Alıntı:Benim önerim şu şekilde;
Bazı değişkenleri yada sabitleri(Buradaki genel karşılaştırılması gereken toplam ağırlık'tır) gameinstance blueprint'i içinde tutmak. Level(Map) atladıkça da oyun boyunca bu değişkenleri gameinstance aracılığıyla mapler arası taşıyabiliriz.
Örneğin gameinstance blueprint'inde Envantermaxagirlik (Default 20) ve Envanteractuelagirlik(Default 0) adında birer integer kodlayıp.
Envantere aldığınız her mesh için ise bir actor blueprint oluşturup; (Bunu yapmamın nedeni o mesh'i actor haline getirdikten sonra artık bir çok şeye erişimimizin olması. Örneğin actor blueprint'in içerisine "actoragirlik" adında bir integer değişken atayabilirsiniz.) Yerden kılıç aldığımızı farz edelim. Kılıç'ın actor blueprint'ine ise actoragirlik adında bir integer tanımlardım. Actor içerisinde gameinstance blueprint'ine cast ederek Envanteractuelagirlik=Envanteractuelagirlik+actoragirlik sonucunu verecek bir custom event oluşturabiliriz.
Artık bir çok veri elimizde olduğuna göre; örneğin f tuşuna basıp o actor'ü envantere alma ile ilgili trigger'ı tetiklediğimizde gameinstance blueprint'imizdeki Envantermaxagirlik ile custom event'deki Envanteractuelagirlik'ı compare integer yardımıyla kontrol edip sonuc 20 veya daha az ise actor'ü envantere katma ile ilgli işlemleri yaptırabiliriz.
Gecenin bu vaktinde eksik veya yanlış anlatım yapmış olabilirim. Şimdiden eksiklerim için affediniz.
Ama işin mantığının bu yönde olması gerektiğini düşünüyorum.
İyi çalışmalar dileklerimle,
Unreal Engine Türkiye topluluğunun çalışmasını sağlamak için isteğe bağlı olarak çerezleri kullanmaktayız.