McFree Posted April 4, 2016 Share Posted April 4, 2016 Решил проверить код на ошибки и в итоге напоролся на это, проверка логина и пароля. В чем беда понять не могу по мануалу прошелся. Вроде сравнивание String значений может идти через == но не получается, собственно сам код: DBInf = { { DBpass = nil}, { DBuser = nil}, { DBuserID = nil} } function loginHandler(username,password) dbQuery( function(qh) -- результат в переменную result local result = dbPoll( qh, -1, true ) --если result имеет в себе что-то if result then --считать колонки outputDebugString( "Получение данных SQL" ) for column, value in pairs ( result ) do DBInf.DBuser = value["Username"] DBInf.DBpass = value["Password"] DBInf.DBuserID = value["UserID"] outputDebugString( "USER:" .. tostring(DBInf.DBuser) .. " PASS:" .. tostring(DBInf.DBpass) .. " UserID:" ..tostring(DBInf.DBuserID) ) end end end, SQL, "SELECT * FROM accounts WHERE Username= ? and Password = ?", username, password ) -- проверяем username и password на правильность outputDebugString( "Проверка данных" ) if DBInf.DBuser == username and DBInf.DBpass == password then -- В этой строке проблема outputDebugString( "Заход в игру" ) -- игрок успешно залогинился, так что спавним его if (client) then outputDebugString( "Авторизация прошла" ) --spawnPlayer(client, 1766, -1912, 14.5, 90) --fadeCamera(client, true) --setCameraTarget(client, client) outputDebugString( tostring(DBInf.DBuserID) ) triggerClientEvent("ChangeCharacters", getRootElement(), DBInf.DBuserID) --triggerEvent("ChangeCharacters", client, DBInf.DBuserID ) end else -- если username или password неправильны, выводим игроку соответствующее сообщение if client then triggerClientEvent ( client, "AuthERROR", client, "Не верный Username или Password @2" ) triggerClientEvent ( client, "AuthView", client ) end end end В GUI выдает ошибку: "Не верный Username или Password @2" Link to comment
Kenix Posted April 4, 2016 Share Posted April 4, 2016 Тебе нужно результат сравнивать внутри каллбека dbQuery, а не снаружи, снаружи результат ещё не готов. Link to comment
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now