- Mesaj
- 573
- Çözümler
- 21
- Beğeni
- 450
- Puan
- 829
- Ticaret Puanı
- 0
Merhaba arkadaşlar. ChatGPT den yardım alarak güzel bir ban questi yazdım. Kodlarda sorun yok diye düşünüyorum. Fakat ben oyun içinde oyuncu nickini girdiğim zaman aşağıdaki hatayı alıyorum. Bu hatayı nasıl çözebiliriz. Quest kodlarını aşağıya bırakıyorum. Sizde sorunsuz çalışabilir. Herkese iyi forumlar.
Freebsd 13, mysql56 kullanıyorum.
Ek olarak kullandığım mysql_query kodlarını da aşağıya bırakıyorum.
Freebsd 13, mysql56 kullanıyorum.
aldığım hata:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
gm_ban.lua:
quest gm_ban begin
state start begin
when letter with pc.is_gm() begin
send_letter("GM: Ban ")
end
when button or info begin
say("Ban atılacak hesap ismini giriniz. ")
local ban_isim = input()
local ban_check = mysql_query("SELECT status FROM account.account WHERE id = (SELECT account_id FROM player.player WHERE name = '"..ban_isim.."') LIMIT 1")
if ban_check == "BLOCK" then
say("Hesap Zaten Banlanmış. ")
else
mysql_query("UPDATE account SET status = 'BLOCK' WHERE id = (SELECT account_id FROM player.player WHERE name = '"..ban_isim.."') LIMIT 1")
say("Oyuncuyu başarıyla banladınız.")
notice_all("|cffffcc00 >>BAN DUYURU<< |cffffffff Oyuncu |cffADFF2F ''"..ban_isim.."'' banlandı. ")
command("dc "..ban_isim)
send_letter("GM: Ban ")
return
end
end
end
end
Ek olarak kullandığım mysql_query kodlarını da aşağıya bırakıyorum.
mysql_query:
mysql_query = function(query)
math.randomseed(os.time())
local fi,t,out = 'mysql_data_'..math.random(10^9)+math.random(2^4,2^10),{},{}
os.execute('mysql --login-path=local -e'..string.format('%q',query)..' > '..fi)
for av in io.open(fi,'r'):lines() do table.insert(t,split(av,'\t')) end; os.remove(fi);
for i = 2, table.getn(t) do
table.foreach(t,function(a,b)
out[i-1] = out[i-1] or {}
out[i-1][a] = tonumber(b) or b or 'NULL'
out[t[1][a]] = out[t[1][a]] or {}
out[t[1][a]][i-1] = tonumber(b) or b or 'NULL'
end)
end
out.__lines = t[1]
return out
end