• 23-05-2009, 15:40:53
    #1
    Merhaba arkadaşlar;

    Birçoğumuz web tabanlı oyunlar oynamıştır. Web tabanlı oyunlarda mesela bir binanın yapımı için emir verilir. Ardından binanın yapım süresi ne kadarsa o sürede bina tamamlanır. Ama dikkatinizi çekmek istiyorum, kullanıcı siteden cıksa bile mesela akşam 8 de emir verilen 2 saat sonra tamamlancaksa kullanıcı oyunda olmasa bile o sürede inşaat tamamlanır.

    Ben şöyle birşey düşündüm, kullanıcı emir verir, ve veritabanında inşaat bitim süresi belirlenir. Kullanıcı inşaat bitim süresinden önce yada sonra gelse de giriş yaptıgı zaman inşaatın bitim süresine bakılır, eğer kişi geldiği zaman inşaatın bitmiş olması gerekiyorsa sorguyla o anda bitirilir.


    Ama işte böyle olmaması gerekiyor. Kişi oyunda olmasa bile inşaat eğer 1035 de bitecekse o sürede bitecek. Kullanıcının gelmesi beklenmeyecek.

    Bunun için sanırım Cron job kullanılması gerekiyor. Bu iş için cron job mu uygundur?

    Eğer cron job ise bu dediğim işin basamaklarını mantıgıyla anlatacak olan varsa sevinirim. Teknik olarak olursa da daha bi güzel olur

    Şimdiden yardımcı olan herkese teşekkürler.
  • 23-05-2009, 18:33:54
    #2
    Yok mu arakdaşlar bu konuda bilgisi olan?
  • 23-05-2009, 19:37:15
    #3
    Eposta Aktivasyonu Gerekmekte
    bende o konuya merak sardım, devana diye bi browser tabanlı oyun scripti var ücretsiz dağıtılıyor ondan inceledim.
    Mesala bir binayı basıyorsunuz.Bastığınız tarih 8:23 mesala.
    2 saat 10 dakika sonra bitecek.Yani 10:33'te bitecek.Sen tablondaki 2 sütüna başlangıç ve bitiş saatini yazıyorsun.Eğer kullanıcı girdiğinde saat 10:33 ise yani 8:23 tarihinden 2 saat 10 dakika sonrası ise binanın yapımı tamamlanacak.Fakat daha bitmemişse bu sefer biteceği zamandan şimdiki zamanı çıkarıp ekrana ne kadar kaldığını yazdırabilirsin.

    Peki madenlerin arttırımını nasıl yaparım?


    eğer bunu merak ediyorsan söyleyim.Kullanıcının sontarih sütününda sayfayı en son çalıştırdığı tarih kayıt edilir.Daha sonraŞimdiki tarihten en son çalıştırdığı tarih çıkarılır ve aradaki süre bulunur.Bu süreyi saniyeye çevirip, saniyede ne kadar maden üretiyorsa onla çarpıp gerekli sütüna eklersin vs..Daha sonra gene son girdiği tarih güncellenir
  • 23-05-2009, 20:09:04
    #4
    2 saat 10 dakika sonra bitecek.Yani 10:33'te bitecek.Sen tablondaki 2 sütüna başlangıç ve bitiş saatini yazıyorsun.Eğer kullanıcı girdiğinde saat 10:33 ise yani 8:23 tarihinden 2 saat 10 dakika sonrası ise binanın yapımı tamamlanacak.Fakat daha bitmemişse bu sefer biteceği zamandan şimdiki zamanı çıkarıp ekrana ne kadar kaldığını yazdırabilirsin.


    Ama işte bu türlü olsun istemiyorum. Mesela oyuncu gece işlemi başlatır. Sabah kahvaltısını yapar çayını içer hele birde pazar keyfiyse oyuna gelmesi uzun sürer. Onun için binanın son işlemi için kullanıcıyı beklemek istemiyorum. Eğer 10.33 de bina bitecekse o zamanda bina bitmeli.. Kullanıcı girişinde işlemler sorgulanıp bina tamamlanması biraz oyu dışı geliyor bana.

    Benim istediğim bu değil
  • 23-05-2009, 20:21:54
    #5
    neden oyun dışı olsun ki ,
    oyuncu girince siteye bitmiş oluyor işte
    savaş olur diger takımlar saldırırsa da benzer kontroller yapılabilir.
  • 23-05-2009, 20:23:13
    #6
    Belirli sürelerde çalışan bir update dosyası oluşturursun. Bu dosya ile bitiş süresi gelmiş işler tamamlanır. CronJob'a dosya eklemek ise cpanel ile gayet basit.
  • 23-05-2009, 20:45:54
    #7
    uysal_rockci adlı üyeden alıntı: mesajı görüntüle
    neden oyun dışı olsun ki ,
    oyuncu girince siteye bitmiş oluyor işte
    savaş olur diger takımlar saldırırsa da benzer kontroller yapılabilir.

    İnşaat seviyelerine göre belirli gelirler elde edilcek. Buna göre de seviye 2 de gelen gelirlerle seviye 3 de elde edilen gelirler aynı olmayacağı için bu çok öenmli. Kişi gerekirse 1 gün oyuna girmeyebilir. Ve seviye arası gelirler oyun açısından önemli olabilir..

    Dediğim türde oluyorsa bilgilendirirseniz sevinirim.
  • 25-05-2009, 09:52:43
    #8
    Üyeliği durduruldu
    Aykut adlı üyeden alıntı: mesajı görüntüle
    Belirli sürelerde çalışan bir update dosyası oluşturursun. Bu dosya ile bitiş süresi gelmiş işler tamamlanır. CronJob'a dosya eklemek ise cpanel ile gayet basit.
    teknik 1: 1 dakikada bir calisan cronjob tanimlarsin
    içeriği

    wget -O /dev/null register com domain cheapest names at domanin.com

    olur bu armut.php nin içerisinde de gerekli updateleri yapan kodlari yazarsin dakikada bir sistemi taradigi için süresi gelen işleri bitirmiş olur.

    ama bu çok uygun degildir

    teknik 2: bunun gibi realtime calisan sistemlerde bir konsol uygulamasinin olup (c,delphi neyse herhangi bir dilde) devamlı çalışıp ve devamlı taramasi. bulduğu kayıtları update etmesi gerekir.

    bu tarz işlemleri kullanininin sayfaya girmesi ile yapmaya calisirsaniz diger bir kullanici bu kullanicinin verileri ile ilgili işlem yapacak olursa veriler güncelleştirilmemiş olur.
  • 25-05-2009, 21:35:17
    #9
    sdemirkeser adlı üyeden alıntı: mesajı görüntüle
    teknik 1: 1 dakikada bir calisan cronjob tanimlarsin
    içeriği
    wget -O /dev/null register com domain cheapest names at domanin.com
    olur bu armut.php nin içerisinde de gerekli updateleri yapan kodlari yazarsin dakikada bir sistemi taradigi için süresi gelen işleri bitirmiş olur.
    ama bu çok uygun degildir
    teknik 2: bunun gibi realtime calisan sistemlerde bir konsol uygulamasinin olup (c,delphi neyse herhangi bir dilde) devamlı çalışıp ve devamlı taramasi. bulduğu kayıtları update etmesi gerekir.
    bu tarz işlemleri kullanininin sayfaya girmesi ile yapmaya calisirsaniz diger bir kullanici bu kullanicinin verileri ile ilgili işlem yapacak olursa veriler güncelleştirilmemiş olur.

    Teknik2 deki gibi dediğin şekilde olursa hocam bu uygulama anlık tarama yapınca kasmazmı? Ayrıca bu tür uygulamalar yokmu? Cron job bu denileni yapmıyormu?

    Eğer cron job yapmıyorsa bu tür anlı ktaramaları hangi uygulamalar yapıyor? Yazılmış bir program varmı?