Madem gönüllü bir hoca çıktı yararlanalım tabii ki. Şimdi hocam şöyle bir şey var, php üzerinden zamanlı işlem yapmayı planlıyorum, yani işlem kaydı alındıktan 20 dk sonra oyun karakterinin canı 5birim azalsın ya da her saat oyun karakterinin bankasındaki miktar 20 artsın gibi. Bunun için kendim bir şeyler kurdum üzerinde biraz daha çalışıp onu kullanmayı planlıyorum ama bakınmaya da devam ediyorum.
Benim yapım kısaca şöyle; eğer bir işleme istinaden yapılacaksa işlem çok basit bir yöntem. Yani kulanıcı bir buton veya sayfa üzerinden bir işlem yaptıktan 5 dk sonra işlemin gerçekleşmesini istiyorsam şöyle yaptım : o işlemin kaydını alıyorum, time ile o anı bir sütuna kaydediyorum, gerçekleşeceği zamanı da hesaplayıp time üzerine ekleyip ayrı bir sütuna kaydediyorum. Sayfa çalıştırılırken kontrol.php diye bir dosya include ediyorum hepsinin başına, bu dosya islemler tablosundaki durumu 0 olan yani bekleyen işlemleri while ile sıralıyor. Eğer işlemin yapılacağı zamanın değeri, şu anki değerden küçük ya da eşitse, yani işlemin yapılacağı zaman geçilmiş ya da erişilmişse ilgili işlem fonksiyonu çalışıp gerekli işlemi yapacak. Yani onun için bir fonksiyonum var caneksilt(1,20); şeklinde kullanarak 1 idli kullanıcının canından 20 çıkarıyorum falan. Böylece sayfa ziyaret edildikçe bu işlemler kontrol edilip uygulanıyor.
Maaş sistemine gelince, diyelim ki kullanıcının saatlik kazancı 10 altın, kullanıcı sisteme 2 gün sonra girdiğinde günde 240 altından toplamda 480 altın işlenmiş olması lazım hesabına. Bunun için de şöyle düşündüm, bunda her kullanıcı kendi karakterinin id'sine göre maaş işlemini kontrol edecek. O da her açılışta olacak ki şöyle anlatayım. Son maaş yatırılma time oalrak kaydedeceğim, sonraki girişte bu time kontrol edilecek, şu anki timedan çıkarılacak, kalan zaman farkı saniye olarak alınmış olacak, bunu bir saatin saniye sayısına bölüp ne kadar birim kazanç alması gerektiğini göreceğim, tabii ki kalan bir zaman birimi olur, onu da son güncelleme tarihinden çıakracağım ki aradaki kazançlar güme gitmesin. Neyse bu şekilde kaç birim kazanç alacağıyla saatlik kazancını çarpıp ilgili alanı güncelleyeceğim.
Şu anda kafamdaki zamanlı işlemler bu. Ya da saat başı cron ile ziyaret edip site genelinde güncelleştirme olabilir falan ama buna dair bir net bilgim yok. İlgili konuyla ilgili bir formülünüz, örneğiniz varsa geliştirmelerimde daha pratik oalcaksa kullanmak isterim.
Teşekkürler