Yardım Query ile navicattan çekilen bilginin questte değişkene atanması.

  • Konuyu açan Konuyu açan maxbro
  • Açılış Tarihi Açılış Tarihi
  • Yanıt Yanıt 2
  • Gösterim Gösterim 650
Konu sahibi bu konuda soru soruyor. Sorusu ile ilgili bilgisi olanların yanıtlamasını bekliyor.

maxbro

[GM]MaxBro
MT Üye
Mesaj
573
Çözümler
21
Beğeni
459
Puan
829
Ticaret Puanı
0
Merhaba arkadaşlar. player tablosuna eklediğim kisisel_puan satırının değerlerini değiştirebiliyorum güncelleyebiliyorum. fakat güncelledikten sonra bu kisisel_puan değerini çekip değişkene atamama rağmen if döngüsünde kullanamıyorum. Google'da çok araştırmama ve forumlara bakmama rağmen sorunu çözemedim. Muhtemelen yaptığım küçük bir hatadan kaynaklanmaktadır. Kullandığım kod aşağıda paylaştıklarım gibidir.
quest kod bloğu:
Genişlet Daralt Kopyala
kişinin id sine göre yaptığım güncelleme query kodu
mysql_direct_query("update player.player set kisisel_puan= 200 where id="..pc.get_player_id().."")
bu kod sorunsuz çalışıyor.

kişinin idsine göre çektiğim kisisel_puan query kodu
local puan_sayac = mysql_direct_query("select kisisel_puan from player.player where id="..pc.get_player_id().."")
kod değerleri çekmiyor be if döngüsünde çalışmıyor.
örneğin;
if puan_sayac < 200
    say("Puan 200'den az")
elseif puan_sayac > 200
    say("Puan 200'den fazla")
return end
navicata eklediğim satırın değerleri ise şöyle
type =int
lenght= 20
decimals = 0
allow null = true (allow null kısmı false kabul etmiyor. işaretli kabul ediyor sadece)

not: (tablodan çekilen puan_sayac değerini her zaman 1 kabul ediyor. ne kadar değişirse değişsin değeri hep 1 gösteriyor.)
 
Son düzenleme:
Mysql direct query 2 parametre döndürüyor diye hatırlıyorum.

Şöyle dener misiniz?
Lua (Quest):
Genişlet Daralt Kopyala
local k, puan_sayac = mysql_direct_query("select kisisel_puan from player.player where id="..pc.get_player_id().."")
 
Mysql direct query 2 parametre döndürüyor diye hatırlıyorum.

Şöyle dener misiniz?
Lua (Quest):
Genişlet Daralt Kopyala
local k, puan_sayac = mysql_direct_query("select kisisel_puan from player.player where id="..pc.get_player_id().."")
Tek parametreli ile aynı sonucu verdi. Aldığım sonuç, kisisel_puan stununda değeri olan, questin çalıştığı oyuncu id'sine sahip kişi sayısı getiriyor. where id= koşulunu silince kisisel_puan'a sahip tüm kullanıcıların toplam birey sayısını veriyor. benim almak istediğim sadece id'ye sahip olan kişinin stundaki kisisel_puan değeri.
Döngüyü farklı şekilde kurdum aslında ama hala veriyi çekebilmiş değilim. istediğim değerleri sağlayan örneğin where kisisel_puan<200 and id="..pc.get_player_id().." koşuluyla, eğer 200den küçük ise 1 değeri geliyor. büyükse sıfır. bire eşit olduğu takdirde mesaj yazdırabiliyorum sıfır da koşulun sağlanmadığını da yazdırabiliyorum. fakat oyuncunun kaç puana sahip olduğunu metin veya sayı şeklinde bir türlü vermiyor.
kod blogu:
Genişlet Daralt Kopyala
local name = mysql_direct_query("select name from player.player where kisisel_puan<200 and id="..pc.get_player_id().."")
    if name == 1 then
        ("Puanınız 200'den az")
    elseif name == 0 then
        ("Puanınız 200'den fazla")
    return end
 
Geri
Üst