Öneri Quest - Db

Konu sahibi önerilerinizi bekliyor. Konuya yorum yazabilirsiniz.

Legandalith

Üye
Üye
Mesaj
135
Çözümler
5
Beğeni
140
Puan
769
Ticaret Puanı
0
Merhaba aklımda bir sistem var fakat buna başlamadan önce bir şey öğrenmek istiyorum. Öğrenmek istediğim şey şu, kill fonksiyonuyla her metin patlatıldığı zaman hem veritabanına bilgi gönderip hem veritabanı bilgisi yapmak sistemi ne kadar zorlar? Eğer bu şekilde yoracaksa, nasıl bir yol izlemeliyim? Örnek olarak kırdığın metin sayısını sayan bir sistem bulamadığım için kodları inceleyemedim, mesela bu sistem nasıl çalışıyor?
 
Questlerde query çalıştırabiliyoruz. Bu yüzden istediğiniz şeyi yapabilirsiniz.
 
qf ile yaptığınız işlemlerde player.quest tablosuna veri girişi yapar. Eğer player.quest tablosunu incelerseniz saklayacağınız verinin çerçevesini az çok anlayabilirsiniz.

player.quest içerisinde ne var?
SQL:
CREATE TABLE `quest` (
  `dwPID` int(10) unsigned NOT NULL DEFAULT '0',
  `szName` varchar(32) NOT NULL DEFAULT '',
  `szState` varchar(64) NOT NULL DEFAULT '',
  `lValue` int(11) NOT NULL DEFAULT '0',
  PRIMARY KEY (`dwPID`,`szName`,`szState`),
  KEY `pid_idx` (`dwPID`),
  KEY `name_idx` (`szName`),
  KEY `state_idx` (`szState`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
Kaynak:
Linkleri görebilmek için giriş yap veya kayıt ol.


dwPID => Oyuncunun id değeri. player.quest tablosunda fark ettiyseniz bazı değerlerin dwPID'ının 0 olduğunu görebilirsiniz. 0 olanlar aslında event flag oluyor. Tüm oyunculara uygulanacak verilerin dwPID karşılığı 0'dır. Eğer 0'dan fazla ise atıyorum. dwPID => 10. Bu Whistle adında bi oyuncuya sahip diyelim. Bu durumda sadece Whistle hesabı ile ilişkilendirilir.
szName => Eklenen verinin anahtar değeri (bunu qf komutu otomatik sağlıyor zaten. quest_adi.sizin_yazdiginiz_qf_adi)
szState => Questlerin state adımları oluyor.
lValue => Eklenen verinin değeri

Bu sayede bir oyuncunun görevlerde ve etkinliklerdeki ilerlemelerini kayıt edebiliyoruz.
Sizin istediğiniz şey için qf kullanımı uygundur. Fakat bu şablona uymayan veri girişi yapacaksanız o zaman tablo oluşturmanız gerekecek ve query ile işlem yapmalısınız.

Performans durumu ne sıklıkla işlem yaptığınıza bağlı olarak değişen bir durum.
 
Geri
Üst