Quote:
Originally Posted by Shadows Adi
Yes, there is a way, using SQL_Execute. HamletEagle explained the difference between this and SQL_ThreadQuery.
No, it won't work, because the callback is executed after the SqlGetUserIndex() function ends. Test it by yourself by adding debug messages.
PHP Code:
new VarTest
public SqlGetUserIndex(id)
{
SQL_ThreadQuery(handle, "_SqlGetUserIndex", "SELECT id FROM users WHERE authid = 'STEAM_XXXXXXXX'")
server_print("SqlGetUserIndex() function")
return VarTest
}
public _SqlGetUserIndex(fail_state, Handle:query, error[], error_code, data[], data_size)
{
// check fails, etc....
if(SQL_NumResults(query))
{
VarTest = SQL_ReadResult(xQuery, 0)
}
else
{
VarTest = -1
}
server_print("_SqlGetUserIndex() function")
}
|
if I use 'SQL_Execute' there will be some delays in the game
haven't tested it, would that work?:
PHP Code:
new VarTest[33]
public MyFunction(id)
{
// Query
SqlGetUserIndex(id)
new res = SqlReturnQuery(id)
if(res != -1)
{
// result int
}
}
public SqlGetUserIndex(id)
{
VarTest[id] = -1
new data[1]
data[0] = id
SQL_ThreadQuery(handle, "_SqlGetUserIndex", "SELECT id FROM users WHERE authid = 'STEAM_XXXXXXXX'", data, sizeof(data))
}
public _SqlGetUserIndex(fail_state, Handle:query, error[], error_code, data[], data_size)
{
// check fails, etc....
new id = data[0]
if(SQL_NumResults(query))
{
VarTest[id] = SQL_ReadResult(xQuery, 0)
}
else
{
VarTest[id] = -1
}
SqlReturnQuery(id)
}
public SqlReturnQuery(id)
{
return VarTest[id]
}
__________________