Jobbakhoz menne a kérdés, hogyan tudom kiolvasni egy változóba, majd ha lelép a játékos, vissza menteni SQL-be a pontját? (MYSQL csatlakozás sikeres nem azzal van a gond) (Silent ötlete volt Metal pont)
Kiolvasás: ez nem akar menni(a jelenlegihez ami SQL-be van hozzáad 48at)(include: sqlx)
Kód: new name[32], query[512] new check_metal[34] new metaldb[34][34]
public client_connect(id) { MetalCheck(id); }
public MetalCheck(id) { get_user_name(id, name, charsmax(name)) new data[1] data[0] = id formatex(query, charsmax(query), "SELECT `metal` FROM `metal` WHERE Name = ^"%s^";", name) SQL_ThreadQuery(g_SQLTuple, "QuerySelectData", query, data, 1) } public QuerySelectData(FailState, Handle:Query, error[], errorcode, data[], datasize, Float:fQueueTime) { if(FailState == TQUERY_CONNECT_FAILED || FailState == TQUERY_QUERY_FAILED) { log_amx("%s", error) return } else { new id = data[0]; new metal = SQL_FieldNameToNum(Query, "metal")
while(SQL_MoreResults(Query)) { SQL_ReadResult(Query, metal, check_metal, charsmax(check_metal)) metaldb[id] = check_metal SQL_NextRow(Query) } } }
Mentés:
Kód: public client_disconnect(id) { MetalUpdate(id); metaldb[id] = 0; } public MetalUpdate(id) { get_user_name(id, name, charsmax(name)) formatex(query, charsmax(query), "UPDATE metal SET metal = ^"%s^" WHERE Name = ^"%s^";", metaldb[id], name) SQL_ThreadQuery(g_SQLTuple, "QuerySetData", query) } public QuerySetData(FailState, Handle:Query, error[],errcode, data[], datasize) { if(FailState == TQUERY_CONNECT_FAILED || FailState == TQUERY_QUERY_FAILED) { log_amx("%s", error) return } }
|