Merhaba arkadaşlar, bu konuda Metin2 serverinizi yönetirken Navicat'ı SQL kodları ile nasıl daha verimli bi hale getireceğinizi elimden geldiğince anlatmaya çalışacağım, en azından bunun mantığını vermeye çalışacağım.
SQL aslında yapısal bir sorgulama dilidir, bunu işimize uygun halde kullanmamızda mümkün.
Geçenler de BU konumda örneklendirdiğim şeyleri SQL kodlarıyla 1 tıkla yapabiliyorsunuz. Bu ve benzeri şeyleri de yine aynı şekilde 1 SQL kodu ile yapmanız mümkün.
Mesela bi kullanıcıyı CTRL F ile nickini aratmadan bir sorgu ile tüm bilgilerini getirip, ortadan görüntü karmaşıklığını kaldırabilirsiniz.
Atıyorum oyuna giriş ID'si cengiz olan bir kullanıcının account bilgilerini ekranda yazdırmak istiyorum, bunun için sırasıyla şu adımları izleyebiliriz;

Query'a basıyoruz ve

RUN diyerek bütün bilgileri listeleyebiliyoruz.
Veya biz bu kişinin oyuna giriş id sini değil de, oyunda ki nick'ini biliyoruz ve bu şekilde sıralamak istiyoruz.
Bu durumda ise yapacağımız şey şu adımları izlemek olacaktır ;
İlk önce player tablosuna girip tekrar;
Üstte ki Query ekranını açıp
SELECT * FROM player WHERE name='Etki2'
Yazmamız olacaktır.

Bunu çeşitli listelemeler için kullanabiliriz.
Burada önemli olan mantığı almanızdır.
Atıyorm ben oyunda 50EP den fazla EP si olan oyuncuları listelendirmek istiyorum yine accoun tablosuna girip New Query diyerek;
SELECT * FROM account WHERE coins='+50'
Yazıp run demem yeterli olacaktır.

Bunu tekrar belirtmek istiyorum ki, bir çok amaç için bir çok şeyi listelemek için kullanabilirsiniz ve ekranda ki bir çok görüntü kabalığınıda atlamış olursunuz.
Veya bunları event yaparken de kullanabilirsiniz birine EP vermek için, bir itemin süresini uzatmak için vs. Önemli olan hangi tabloda ve hangi stunda işlem yapacağınız.
UPDATE account set coins = coins +100
Diyerek herkese EP yükleme yapabilirsiniz. Mantığı almanız için ben bunu tek kişiye EP verebilmeniz için gerekli kod sorgusunu yazıyorum.
update account set coins = coins +100 where login = 'cengiz'

oyuna giriş ID'si cengiz olan kişiye 100EP ekledi. Aynı şekilde -100 yaparak verdiğiniz EP'i geri de alabilirsiniz.
Bunlar günümüzde panelden yapılıyor fakat, ben bunun mantığını alıp yapamayacağınız işlemleri yaparak diğer tablolara güncelleme vermeniz için açıklıyorum.
update account set coins = coins +100 where login = 'cengiz' > kodunu tabloların ve stünların isimlerini değiştirerek farklı amaçlarla kullanabilirsiniz.
Atıyorum ki biz şuan EXP tablosunda oynama yapmak istiyoruz fakat her yaratığın verdiği EXP'i tek tek ayarlamak yerine topluca ayarlamak istiyoruz.
Bunun için Player > New Query i seçiyoruz ve
UPDATE mob_proto set exp = exp +100
Yazarak tüm yaratıklara 100 EXP eklemiş oluyoruz.
- yapınca tekrar bu exp'i alır.
Bunlar esasında temel SQL bilgileridir, bir çok kişinin farklı alanda işine yarayacağını düşündüğüm için bu bilgilendirmeleri yapma gereğinde bulundum. Umarım işinize yarar
Önemli olan SQL kodunu yazarken ki mantığı alabilmek. Elimden geldiğince açıklayıcı olabilmişimdir umarım.
SQL aslında yapısal bir sorgulama dilidir, bunu işimize uygun halde kullanmamızda mümkün.
Geçenler de BU konumda örneklendirdiğim şeyleri SQL kodlarıyla 1 tıkla yapabiliyorsunuz. Bu ve benzeri şeyleri de yine aynı şekilde 1 SQL kodu ile yapmanız mümkün.
Mesela bi kullanıcıyı CTRL F ile nickini aratmadan bir sorgu ile tüm bilgilerini getirip, ortadan görüntü karmaşıklığını kaldırabilirsiniz.
Atıyorum oyuna giriş ID'si cengiz olan bir kullanıcının account bilgilerini ekranda yazdırmak istiyorum, bunun için sırasıyla şu adımları izleyebiliriz;

Query'a basıyoruz ve

RUN diyerek bütün bilgileri listeleyebiliyoruz.
Veya biz bu kişinin oyuna giriş id sini değil de, oyunda ki nick'ini biliyoruz ve bu şekilde sıralamak istiyoruz.
Bu durumda ise yapacağımız şey şu adımları izlemek olacaktır ;
İlk önce player tablosuna girip tekrar;
Üstte ki Query ekranını açıp
SELECT * FROM player WHERE name='Etki2'
Yazmamız olacaktır.

Bunu çeşitli listelemeler için kullanabiliriz.
Burada önemli olan mantığı almanızdır.
Atıyorm ben oyunda 50EP den fazla EP si olan oyuncuları listelendirmek istiyorum yine accoun tablosuna girip New Query diyerek;
SELECT * FROM account WHERE coins='+50'
Yazıp run demem yeterli olacaktır.

Bunu tekrar belirtmek istiyorum ki, bir çok amaç için bir çok şeyi listelemek için kullanabilirsiniz ve ekranda ki bir çok görüntü kabalığınıda atlamış olursunuz.
Veya bunları event yaparken de kullanabilirsiniz birine EP vermek için, bir itemin süresini uzatmak için vs. Önemli olan hangi tabloda ve hangi stunda işlem yapacağınız.
UPDATE account set coins = coins +100
Diyerek herkese EP yükleme yapabilirsiniz. Mantığı almanız için ben bunu tek kişiye EP verebilmeniz için gerekli kod sorgusunu yazıyorum.
update account set coins = coins +100 where login = 'cengiz'

oyuna giriş ID'si cengiz olan kişiye 100EP ekledi. Aynı şekilde -100 yaparak verdiğiniz EP'i geri de alabilirsiniz.
Bunlar günümüzde panelden yapılıyor fakat, ben bunun mantığını alıp yapamayacağınız işlemleri yaparak diğer tablolara güncelleme vermeniz için açıklıyorum.
update account set coins = coins +100 where login = 'cengiz' > kodunu tabloların ve stünların isimlerini değiştirerek farklı amaçlarla kullanabilirsiniz.
Atıyorum ki biz şuan EXP tablosunda oynama yapmak istiyoruz fakat her yaratığın verdiği EXP'i tek tek ayarlamak yerine topluca ayarlamak istiyoruz.
Bunun için Player > New Query i seçiyoruz ve
UPDATE mob_proto set exp = exp +100
Yazarak tüm yaratıklara 100 EXP eklemiş oluyoruz.
- yapınca tekrar bu exp'i alır.
Bunlar esasında temel SQL bilgileridir, bir çok kişinin farklı alanda işine yarayacağını düşündüğüm için bu bilgilendirmeleri yapma gereğinde bulundum. Umarım işinize yarar
Önemli olan SQL kodunu yazarken ki mantığı alabilmek. Elimden geldiğince açıklayıcı olabilmişimdir umarım.


