w plugin_cfg() mam
SQL_PrepareQuery(hConn, "CREATE TABLE IF NOT EXISTS `data`(sid VARCHAR(35) NOT NULL, punkty INT UNSIGNED NOT NULL DEFAULT 1000, PRIMARY KEY(sid))");
w client_putinserver(id)
new data[1]; data[0] = id; SQL_FormatQuery("SELECT * FROM `data` WHERE `sid` = '%s'", steamid[id]); SQL_ThreadQuery(info, "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], elo_temp; if(!is_user_connected(id) && !is_user_connecting(id)) return; if(SQL_NumRows(query)) { elo_temp = SQL_ReadResult(query, SQL_FieldNameToNum(query, "punkty")); elo_gracza[id] = float(elo_temp); } else { SQL_FormatQuery("INSERT INTO `data` (`sid`) VALUES ('%s')", steamid[id]); SQL_ThreadQuery(info, "handleIgnore", gszQuery); } } public handleIgnore(failstate, Handle:query, error[], errnum, data[], size){ if(failstate != TQUERY_SUCCESS){ log_amx("<Query> Error: %s", error); return; } } stock SQL_FormatQuery(const szQuery[], ...){ vformat(gszQuery, charsmax(gszQuery), szQuery, 2); }
Więc gracz którego nie ma w bazie powinien dostać 1000 pkt na start, lecz ich nie otrzymuje (dostaje dopiero w następnej mapie)
dlaczego ? co należy zmienić / zrobić ?