Guten Tag,
Ich habe ein Problem und zwar wollte ich, dass bei gebannten Spielern die sich zum Server verbinden, das betreten abgebrochen wird und eine Nachricht erscheint wie lange der Spieler noch gebannt ist jedoch gibt der Server nur 'Server hat die Verbindung verweigert:' zurück und ich frage mich woran das liegt die Nachricht 'Du wurdest permanent gebannt!' wird korrekt ausgegeben.
Fehler werden keine ausgegeben.
Ich bin für alle Antworten dankbar.
Hier ist ein Bild:
https://www.pic-upload.de/view-34039531/…shot_1.png.html
Hier ist mein Code (ich weiß, hätte man kompakter und einfacher schreiben können ) :
Lua
function checkban(_,ip,_,serial)
local serialcheck = dbQuery(handler, "SELECT * FROM bans WHERE bserial=?", serial )
local ipcheck = dbQuery(handler, "SELECT * FROM bans WHERE bip=?", ip)
local ip, row = dbPoll(ipcheck, -1)
local serial, rows = dbPoll(serialcheck, -1)
if row == 1 and rows == 0 then
if ip[1].ablauf == "Permanent" then return cancelEvent(true, "Du wurdest permanent gebannt!") end
if tonumber(ip[1].ablauf) <= timestamp then return dbExec(handler, "DELETE FROM bans WHERE bserial=?", serial) end
timeban = tonumber(ip[1].ablauf) - timestamp
resttime = timeban/60/60
endtime = math.round(resttime, 1)
cancelEvent(true, "Du bist noch "..endtime.." Stunden gebannt!")
elseif rows == 1 and row == 0 then
if serial[1].ablauf == "Permanent" then return cancelEvent(true, "Du wurdest permanent gebannt!") end
if tonumber(serial[1].ablauf) <= timestamp then return dbExec(handler, "DELETE FROM bans WHERE bserial=?", serial) end
timeban = tonumber(serial[1].ablauf) - timestamp
resttime = timeban/60/60
endtime = math.round(resttime, 1)
cancelEvent(true, "Du bist noch "..endtime.." Stunden gebannt!")
elseif rows == 1 and row == 1 then
if ip[1].ablauf == "Permanent" then return cancelEvent(true, "Du wurdest permanent gebannt!") end
if tonumber(ip[1].ablauf) <= timestamp then return dbExec(handler, "DELETE FROM bans WHERE bserial=?", serial) end
timeban = tonumber(ip[1].ablauf) - timestamp
resttime = timeban/60/60
endtime = math.round(resttime, 1)
cancelEvent(true, "Du bist noch "..endtime.." Stunden gebannt!")
elseif rows == 0 and row == 0 then return end
print("Ban detected! Connection refused!")
end
addEventHandler("onPlayerConnect", root, checkban)
Alles anzeigen