1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87. | public client_putinserver(id)
{
new szName[35];
get_user_name(id, szName, 34);
new data[2];
data[0] = id;
data[1] = get_user_userid(id);
SQL_FormatQuery("SELECT ID, DID, Access FROM `users` WHERE Nick='%s'", szName);
SQL_ThreadQuery(gTuple, "handleSelectPlayer", gszQuery, data, sizeof(data));
}
public handleSelectPlayer(failstate, Handle:query, error[], errnum, data[], size){
if(failstate != TQUERY_SUCCESS){
log_amx("<Query> Error: %s", error);
return;
}
new id = data[0];
if(!is_user_connected(id) && !is_user_connecting(id))
return;
new user = data[1];
if(get_user_userid(id) != user)
return;
if(SQL_NumRows(query)){
ID[id] = SQL_ReadResult(query, 0);
DID[id] = SQL_ReadResult(query, 1);
Access[id] = SQL_ReadResult(query, 3);
SQL_FormatQuery(
"SELECT `dom`.*, `users`.* \
FROM `dom` \
LEFT JOIN `users`\
ON `dom`.DID = `users`.DID");
SQL_ThreadQuery(gTuple, "handleCacheLevels", gszQuery, data, size);
}
else{
new szName[35];
get_user_name(id, szName, 34);
SQL_FormatQuery("INSERT INTO `users` (ID, DID, Nick) VALUES(0, '0', '%s')", szName);
SQL_ThreadQuery(gTuple, "handleInsertPlayer", gszQuery, data, size);
}
}
public handleCacheLevels(failstate, Handle:query, error[], errnum, data[], size){
if(failstate != TQUERY_SUCCESS){
log_amx("<Query> Error: %s", error);
return;
}
new id = data[0];
if(!is_user_connected(id) && !is_user_connecting(id))
return;
new user = data[1];
if(get_user_userid(id) != user)
return;
while(SQL_MoreResults(query)){
Ilosc[DID[id]] = SQL_ReadResult(query, 2);
SQL_ReadResult(query, SQL_FieldNameToNum(query, "DName"), Dom_Name[DID[id]], 511);
SQL_NextRow(query);
}
}
public handleInsertPlayer(failstate, Handle:query, error[], errnum, data[], size){
if(failstate != TQUERY_SUCCESS){
log_amx("<Query> Error: %s", error);
return;
}
new id = data[0];
if(!is_user_connected(id) && !is_user_connecting(id))
return;
new user = data[1];
if(get_user_userid(id) != user)
return;
ID[id] = SQL_GetInsertId(query);
} |