Merhaba. Bu rehberde @342524 hocamın isteği üzerine bugün size nasıl değişkenlerinizi Save edebileceğinizi göstereceğim, bu sayede oyun her yeniden başladığında değişkenlerimiz (int, float vb.) sıfırlanmayacak.
Öncelikle bir SaveGame classı açmamız gerek. Content Browser'de sağ tık yapıp Blueprint Class'a tıklayalım. Ardından All Classes'a tıklayıp SaveGame'i seçelim.
Seçtikten sonra çift tıklayıp açalım. Açtıktan sonra Variable oluşturmamız gerekiyor. Kaydetmek istediğiniz şey neyse ismini koyun ve türünü Integer yapın.
ThirdPerson Template kullanıyorsanız ThirdPersonChracter'e, FirstPerson Template kullanıyorsanız FirstPersonChracter'e girin.
Şimdi Save sistemi ve load sistemi adında 2 adet Custom Event oluşturalım.
Ardından adım adım benim yaptıklarımı yapın.
İlk önce Save sisteminin eylemlerini yapacağız.
(Burada slot name için sağ tık yapıp "Promote to Variable" diyelim.)
"Load Game from Slot" ve "Create Save Game Object" değerleri için birininkine sağ tıklayıp "Promote to Variable" diyelim, ismi fark etmiyor.
(Ekstra olarak ben burada para integerını kaydetmek istediğim için parayı set para ve get para olmak üzere çağırıyorum.)
Ardından ikisini de "Save Game to Slot" eylemine bağlıyoruz.
Şimdi sıra Load sisteminde, yaptıklarımı yapın.
Load sistemi de bu kadardı. Şimdi gelin otomatik kaydetmeyi yapalım:
Bunun için bir Event Tick çağırıyoruz. Ardından belirli bir saniye aralığında yapması için delay çağırıp Save Sistemi functionunu çağıralım. Ve her kaydettiğinde kaydettiği belli olsun diye sol üstte bir yazı çıkması için Print String çağıralım. Ben 10 saniye de bir kaydetmesini istediğim için 10 saniye yazdım.
Ve son olarak oyunu başlattığımızda kayıtlı veriyi yüklemesi için Event Beginplay kullanacağız.
İşte bitti, sorunuz varsa çekinmeden sorabilirsiniz. İlk bu şekilde yaptığım rehberdi ne kadar gereklidir bilmiyorum ama değerli hocam istediği için yaptım. Yorumlarınız önemli. Fazla iyi anlatamamış olabilirim, fazla hatam olabilir affola, gördüğünüzde belirtirseniz sevinirim. Ayrıca bu gösterilenleri yapabilmek için temelinizin olması gerekiyor, fazla ayrıntıya inmedim.
Öncelikle bir SaveGame classı açmamız gerek. Content Browser'de sağ tık yapıp Blueprint Class'a tıklayalım. Ardından All Classes'a tıklayıp SaveGame'i seçelim.
Seçtikten sonra çift tıklayıp açalım. Açtıktan sonra Variable oluşturmamız gerekiyor. Kaydetmek istediğiniz şey neyse ismini koyun ve türünü Integer yapın.
ThirdPerson Template kullanıyorsanız ThirdPersonChracter'e, FirstPerson Template kullanıyorsanız FirstPersonChracter'e girin.
Şimdi Save sistemi ve load sistemi adında 2 adet Custom Event oluşturalım.
Ardından adım adım benim yaptıklarımı yapın.
İlk önce Save sisteminin eylemlerini yapacağız.
(Burada slot name için sağ tık yapıp "Promote to Variable" diyelim.)
"Load Game from Slot" ve "Create Save Game Object" değerleri için birininkine sağ tıklayıp "Promote to Variable" diyelim, ismi fark etmiyor.
(Ekstra olarak ben burada para integerını kaydetmek istediğim için parayı set para ve get para olmak üzere çağırıyorum.)
Ardından ikisini de "Save Game to Slot" eylemine bağlıyoruz.
Şimdi sıra Load sisteminde, yaptıklarımı yapın.
Load sistemi de bu kadardı. Şimdi gelin otomatik kaydetmeyi yapalım:
Bunun için bir Event Tick çağırıyoruz. Ardından belirli bir saniye aralığında yapması için delay çağırıp Save Sistemi functionunu çağıralım. Ve her kaydettiğinde kaydettiği belli olsun diye sol üstte bir yazı çıkması için Print String çağıralım. Ben 10 saniye de bir kaydetmesini istediğim için 10 saniye yazdım.
Ve son olarak oyunu başlattığımızda kayıtlı veriyi yüklemesi için Event Beginplay kullanacağız.
İşte bitti, sorunuz varsa çekinmeden sorabilirsiniz. İlk bu şekilde yaptığım rehberdi ne kadar gereklidir bilmiyorum ama değerli hocam istediği için yaptım. Yorumlarınız önemli. Fazla iyi anlatamamış olabilirim, fazla hatam olabilir affola, gördüğünüzde belirtirseniz sevinirim. Ayrıca bu gösterilenleri yapabilmek için temelinizin olması gerekiyor, fazla ayrıntıya inmedim.