Unrealin kendi Blueprintinde bunu yapan şeyler var. Ama bu macro mu? Function Library mi? Bilmiyorum.
Şöyle söyleyeyim size. Ben bir Multiplayer Ev satın alma sistemi yaptım. Ve bu sistemde aynı GTA oyunlarındaki gibi ev alabiliyorsunuz ve kurucu kim ise bilgisayarına SaveData olarak kaydoluyor. Ayrıca oyuncuların ID bilgileri de kaydoluyor. Sistem tamamen kapansa bile oyuncular çıkıp girse bile kendi evlerini görebiliyorlar. Ve kendi evlerine girebiliyorlar. Ve ben bunu olabildiğinde modular tasarladım. Yani bu sistemi alan birinin yapması gereken tek şey birkaç ActorComponenti gerekli yerlere eklemek.
Başka da bir şey yapmıyorlar. Sonra sahneye BasePropertyden yeni bir property türetip bırakıyor. Meshini seçiyor, satın alınmayı veya etkileşimi sağlayan kapı ikonunu evin istediği kısmına (genelde önüne) bırakıyor. Ardından buraya gelen oyuncu eğer eve sahip değilse, Evi Satın al diye button çıkıyor. Evi satın alırsa bu sefer de "Evi sat, Eve gir" gibi seçenekler geliyor. Bu evin sahibi olmayan diğer oyuncularda ise ev ikonu kırmızı görünüyor. Ayrıca açılan pencerede her türlü owner bilgisi ev bilgisi , ismi ,resmi,türü yazıyor.
Tüm her şey ActorComponentler ile replicated şekilde Save sistemiyle çalışmakta.
Kullanıcının sistemini bozmadan olabildiğince sadece tak çıkar mantığı yapmak istedim. Yani benim yaptığım ekosistemi kullanmasın oyununu benim ekosistemime göre tasarlamasın. Benim eko sistemimi tek tık ile kendi devasa sistemine entegre edebilsin. Çünkü biz bu adamın hangi sistemleri kullandığını ne şekilde kullandığını bilemeyiz.
Şimdi gelelim asıl probleme. Ben bu Evi alma sistemine Para olayı eklemek istiyorum. Fakat kullanıcı, para sistemini nasıl yaptı? Hangi Blueprintte yaptı? Mesel Pawn da mı yaptı? Yoksa PlayerStatede mi yaptı? Bunu ben bilemem. Ben istiyorum ki benim sisteme tek bir BP nodesi ile erişsin ve Float değerindeki parasını bağlasın. Ev alma komutu çalıştığında benim sistem o girilen değeri evin fiyatı ile karşılaştırsın eğer uygunsa evin fiyatından çıkarsın ve geri SET etsin.
Yani dışarıdan girilecek veriyi bilmiyoruz. Girdiyi alıp tekrar kendisine SET edip çıktı olarak verecek. Fakat değişkeni asla bilmiyoruz ve tamamen dışarıdan girilen bir değişken bu.
Bunu yapan bir şey vardı Soft Reference mi? Farklı bir şeydi. Bir videoda izlemiştim.
Bana bunu bilen biri varsa söylerse çok sevinirim.
EDIT: Sanırım buldum. Fonksiyonlardaki Pass-BY-Reference sistemi. Fakat RPC ağından geçemiyormuş bu sistem. Yani multiplayer için kullanışsız. Onun yerine BP_Interface yapmak daha doğru olacak sanırım. Parası neredeyse oraya implement eder.


Şöyle söyleyeyim size. Ben bir Multiplayer Ev satın alma sistemi yaptım. Ve bu sistemde aynı GTA oyunlarındaki gibi ev alabiliyorsunuz ve kurucu kim ise bilgisayarına SaveData olarak kaydoluyor. Ayrıca oyuncuların ID bilgileri de kaydoluyor. Sistem tamamen kapansa bile oyuncular çıkıp girse bile kendi evlerini görebiliyorlar. Ve kendi evlerine girebiliyorlar. Ve ben bunu olabildiğinde modular tasarladım. Yani bu sistemi alan birinin yapması gereken tek şey birkaç ActorComponenti gerekli yerlere eklemek.
Başka da bir şey yapmıyorlar. Sonra sahneye BasePropertyden yeni bir property türetip bırakıyor. Meshini seçiyor, satın alınmayı veya etkileşimi sağlayan kapı ikonunu evin istediği kısmına (genelde önüne) bırakıyor. Ardından buraya gelen oyuncu eğer eve sahip değilse, Evi Satın al diye button çıkıyor. Evi satın alırsa bu sefer de "Evi sat, Eve gir" gibi seçenekler geliyor. Bu evin sahibi olmayan diğer oyuncularda ise ev ikonu kırmızı görünüyor. Ayrıca açılan pencerede her türlü owner bilgisi ev bilgisi , ismi ,resmi,türü yazıyor.
Tüm her şey ActorComponentler ile replicated şekilde Save sistemiyle çalışmakta.
Kullanıcının sistemini bozmadan olabildiğince sadece tak çıkar mantığı yapmak istedim. Yani benim yaptığım ekosistemi kullanmasın oyununu benim ekosistemime göre tasarlamasın. Benim eko sistemimi tek tık ile kendi devasa sistemine entegre edebilsin. Çünkü biz bu adamın hangi sistemleri kullandığını ne şekilde kullandığını bilemeyiz.
Şimdi gelelim asıl probleme. Ben bu Evi alma sistemine Para olayı eklemek istiyorum. Fakat kullanıcı, para sistemini nasıl yaptı? Hangi Blueprintte yaptı? Mesel Pawn da mı yaptı? Yoksa PlayerStatede mi yaptı? Bunu ben bilemem. Ben istiyorum ki benim sisteme tek bir BP nodesi ile erişsin ve Float değerindeki parasını bağlasın. Ev alma komutu çalıştığında benim sistem o girilen değeri evin fiyatı ile karşılaştırsın eğer uygunsa evin fiyatından çıkarsın ve geri SET etsin.
Yani dışarıdan girilecek veriyi bilmiyoruz. Girdiyi alıp tekrar kendisine SET edip çıktı olarak verecek. Fakat değişkeni asla bilmiyoruz ve tamamen dışarıdan girilen bir değişken bu.
Bunu yapan bir şey vardı Soft Reference mi? Farklı bir şeydi. Bir videoda izlemiştim.
Bana bunu bilen biri varsa söylerse çok sevinirim.
EDIT: Sanırım buldum. Fonksiyonlardaki Pass-BY-Reference sistemi. Fakat RPC ağından geçemiyormuş bu sistem. Yani multiplayer için kullanışsız. Onun yerine BP_Interface yapmak daha doğru olacak sanırım. Parası neredeyse oraya implement eder.


Son düzenleme: